並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 336件

新着順 人気順

singletonの検索結果1 - 40 件 / 336件

  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には本当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

      現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
    • ソフトウェア設計・アーキテクチャの学び方 - Qiita

      はじめに この記事はHow to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Mapを翻訳したものです。 翻訳がおかしい箇所などあればご指摘頂けるとありがたいです。 元記事の著者: Khalil Stemmler(@stemmlerjs) 設計、アーキテクチャ、フロントエンド、ブロックチェーンに興味ある方是非Twitter(@show_clements)フォローしていただけると嬉しいです! 設計に関する記事 ソフトウェアデザインとアーキテクチャは、DevOpsやUXデザインのように、コンピューティングの領域の中でも独自の研究分野となっています。ここでは、クリーンコードからマイクロカーネルまで、ソフトウェアデザインとアーキテクチャの幅広さを説明するマップを紹介しま

        ソフトウェア設計・アーキテクチャの学び方 - Qiita
      • DDD本を読むためには前提知識が非常に多いよ - Qiita

        初めに きっかけ 新人研修中にDDDとか、PoEAAとかの話が少しだけ出ました。 ただ、イマイチわからないとの声が多数。 理由 なぜなら予備知識がたくさん必要だからです。(ほんとに多い) これはわからなくて当然。 そこで 独断と偏見で、予備知識となる用語を解説します。 偏見多いので、より正確な情報は、書籍やWebで調べてね。 この辺を説明します UML クラス図/シーケンス図 デザインパータン GoF/PoEAA 階層化アーキテクチャ DDD本のサマリ 知らなきゃいけない知識が多くて面倒だね。 説明しないけど、オブジェクト指向やデータベースとかの知識も必要だよ。 説明前にDDD本のページを見てみよう!!! DDD本の最初のページ 「エリック・エヴァンスのドメイン駆動設計」より ??? よくわからないね さっきの図って何? 灰色の中心部分はソフトウェア設計のモデリングを表しています。 モデリ

          DDD本を読むためには前提知識が非常に多いよ - Qiita
        • 2023年の話題&ベストセラーをまとめて紹介! Udemyで今年最大級のセール開催、生成AIなど対象講座が1,200円より - はてなニュース

          世界中を席巻した生成AIは、ブームに終わることなく着実に社会のさまざまな場面で利用が進んでいます。特にChatGPTを始めとするテキスト生成はビジネスシーンですぐに適用可能なケースも多く、使いこなす人とそうでない人には大きな差が生じつつあります。 使いこなすノウハウにも一定の知見が貯まっており、定番となるセオリーが整理されています。正しく学ぶことができれば一気にキャッチアップできるでしょう。Udemyの講座でも、ChatGPTを使いこなすプロンプトの作法や、アプリケーションにLLM(大規模言語モデル)を組み込むノウハウ、AIをより深く知る数学知識などに人気があります。 この記事では、2023年11月17日(金)に始まるブラックフライデーセール(24日まで)、そして26日(日)から2日間のサイバーセールの対象になる人気講座から、エンジニアリングやビジネスシーンにおいて読者の成長を助けてくれる

            2023年の話題&ベストセラーをまとめて紹介! Udemyで今年最大級のセール開催、生成AIなど対象講座が1,200円より - はてなニュース
          • テックリードがどんな活動したらよいのか考えて行動してみた話 - ZOZO TECH BLOG

            2022年6月に、Androidテックリードになった いわたん です。最近、某モンスターを育てたり図鑑を埋めたりするゲームで社内大会をやったらフルボッコにされて涙目でした。悔しくて最近は不思議な力でクラフトしたり空飛んだりして王国を救うゲームやってます。 今回はAndroidテックリードとして1年間やってみた施策の紹介と、それぞれの成果や反省点を紹介したいと思います。これからテックリードになろうとしている方やテックリードをしている方の参考になったり、こんな施策もいいよというアドバイスをもらえたら幸いです。 ZOZOのテックリードの役割と責任 実施した施策 テックリード1on1 読書会 歴史的経緯があるアプリのアーキテクチャ整理へのアプローチ ネーミングセンスを鍛える会の取り組み 案件への関わり方 横断的なコードレビュー 横断的に使う機能の実装 まとめ 最後に ZOZOのテックリードの役割と

              テックリードがどんな活動したらよいのか考えて行動してみた話 - ZOZO TECH BLOG
            • そろそろRailsプロジェクトに型を導入したい人向けの資料

              すべての説明はイチRubyユーザーの個人的で期間も限定的な観測範囲に基づきます。 「Rubyには型がない」 ある日、同僚とプログラミング言語に関する雑談をしていたときに言われた一言です。 私はその日までRubyの型機能は使っていませんでした。忙しい毎日を送り、キャッチアップを疎かにしていたのです。後日このことは猛烈に反省することになります。 「Rubyには……型があるッ……!」 火がついた私はパターンマッチの時と同様にRubyの型についてキャッチアップすることにしました。そして最高の体験が待っていました。 導入した後の世界 ぶっちゃけRubyの型を導入するとどうなるのでしょうか? メチャクチャ簡単に説明すると、エディタでバグがひと目で分かるようになります。 vscodeでの画面です。なにやら赤線がついています。 === bar === barの部分にカーソルを合わせてみましょう。 「Pos

                そろそろRailsプロジェクトに型を導入したい人向けの資料
              • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                  プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                • Flutterでそこそこ規模の大きいプロダクションアプリを作ったのでスケールする設計についてまとめる - タオルケット体操

                  あわせて読みたい FlutterでBLoCだChangeNotifierと振り回されて消耗するまえに - タオルケット体操 筆者のFlutterに対する印象は半年前にこのエントリーを書いたときから驚くほどに何も変わっていないので、逆にFlutterは非常に明快でわかりやすいライブラリなのかもしれないですね。 hachibeechan.hateblo.jp 筆者の主張の事前まとめ Reactの学習は実質Flutterの予習 クライアントアプリを設計するにあたってはActiveRecordパターンの再発明をしてはいけない 結局MVX RXSteamとはなんだったのか DDDの勉強をすると多くの示唆を得られる Remi wareを信じろ ちなみにここ以下で述べるActiveRecordパターンはPoEEAとRoRのものの混合があるかもしれませんが、利用すべきじゃないという点において同一なので特に

                    Flutterでそこそこ規模の大きいプロダクションアプリを作ったのでスケールする設計についてまとめる - タオルケット体操
                  • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

                    技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

                      プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
                    • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

                      安全なウェブサイトの作り方を読んだので、理解した内容を自分なりにまとめておきます。資料 上記は3章構成になっていてそれぞれ長めの内容なので、ここでは3章の『失敗例』について、Ruby on Rails ではどうするかについてをまとめます。 SQL インジェクション OS コマンドインジェクション パス名パラメータの未チェック例(ディレクトリトラバーサル) 不適切なセッション管理例(セッション ID の推測) クロスサイト・スクリプティングの例(エスケープ処理) CSRFの例 HTTP ヘッダ・インジェクションの例 メールヘッダ・インジェクションの例 参考 SQL インジェクション 参考資料内の SQL インジェクション例を見て、Ruby on Rails ではどのように対策できるかを確認しました。 例えば、下記ような $uid, $pass をユーザ入力とし、SQL 文を動的に生成する場合

                        安全なウェブサイトの作り方~失敗例~ - goruchan’s blog
                      • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

                        SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

                          Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                        • アプリエンジニア育成プロジェクト - pixiv inside

                          アプリエンジニア育成に取り組んでいます こんにちは、ピクシブで新規事業部に所属しています、ああうえ(@_kwzr_)と申します。普段のプロダクト開発に加えて、全社的なモバイルアプリ領域の開発体験の向上に取り組んでいます。 最近モバイルアプリの世界ではネイティブなフレームワーク以外の開発手段を採用するものが増えてきましたね。 また、ネイティブアプリ開発の進化によって、iOSではUIKitからSwiftUI、AndroidではAndroid ViewからJetpack Composeが採用されることが増えてきました。 モバイルアプリ領域の中で採用できる技術が増えてきたことで、最近は採用したいエンジニアと、世の中にいるエンジニアの技術的なミスマッチが起こりやすくなってきたと感じます。 ピクシブのアプリでは、ビューアーなどの閲覧体験が重要になってくるものが多かったり、ライブ配信・視聴機能や、ドロー

                            アプリエンジニア育成プロジェクト - pixiv inside
                          • gRPC Internal - gRPC の設計と内部実装から見えてくる世界 | Wantedly Engineer Blog

                            こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 今日は、WANTEDLY TECH BOOK 6 から「gRPC Internal」という章を抜粋して Blog にします。 「WANTEDLY TECH BOOK 1-7を一挙大公開」でも書いた通り、Wantedly では WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布する事にしました。Wantedly Engineer Blogでも過去記事の内容を順次公開予定であり、この Blog もその一環となっています。 Wantedly における Go 導入にまつわる技術背景 | Wantedly Engineer Blog (本記事は Go Conference 2019 Autumn にて無料配布した冊子『WANTEDLY TE

                              gRPC Internal - gRPC の設計と内部実装から見えてくる世界 | Wantedly Engineer Blog
                            • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                              技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                                プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                              • 48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm

                                話したネタ デザインパターンとは? ソフトウェアパターン 書籍: オブジェクト指向における再利用のためのデザインパターン Gang of Four 進研ゼミみたいなもの Composite パターン デザインパターン以外のソフトウェアパターンとは? アーキテクチャパターン、アンチパターン、コンカレンシーパターン AWSクラウドデザインパターン パターンにはフォーマットがある GoFのデザインパターンはいつ頃生まれたもの? GoFのデザインパターン登場時に、ソフトウェア業界では何が起きていたのか? Ruby 20 周年記念パーティーレポート ―― プログラミング初心者の運営スタッフが見た Ruby コミュニティ C、C++、Perl、Smalltalk、Visual Basic の時代 デザインパターンには、どういうカテゴリがある? 生成・構造・振る舞い Javaのクラスライブラリにおけるデ

                                  48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm
                                • The new wave of React state management

                                  The new wave of React state managementUnderstand the core problems state management libraries need to solve. And how the proliferation of modern libraries address them in new ways. IntroductionAs React applications grow in size and complexity, managing shared global state is challenging. The general advice is to only reach for global state management solutions when needed. This post will flesh out

                                    The new wave of React state management
                                  • VuexのStore設計のTips - 薄いGetter

                                    Vue + Vuexで中〜大規模なアプリケーションの開発をするとき、どんな設計にするか未だによく悩みます。試してみては捨ててを繰り返していて、そろそろ自分の中でベターなパターンを固めたいと思いつつも固まらず、気づけば数年経ちました。 そういった前提を踏まえつつではありますが、現時点で設計時に意識していることをTips的に少しずつまとめてみようと思います。今回はVuexのGetterに関するお話です。 Getterの役割を見直す 副作用のないクエリとして実装する プロパティアクセスとメソッドアクセスを区別して命名する プリミティブでシンプルなクエリとして実装する 表示用の加工処理はComponentに実装する 例外1. 加工された値の賞味期限が長い場合 例外2. 加工処理が複数Componentで繰り返される場合 おわりに Getterの役割を見直す VuexはFluxアーキテクチャを参考に

                                      VuexのStore設計のTips - 薄いGetter
                                    • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                      テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                        プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                      • MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する - それが僕には楽しかったんです。

                                        はじめに MySQL をビルドする ストレージエンジンを自作する Example エンジンをベースにする handlerton の作成とインスタンス化 テーブルを作成する 余談・気になったところ テーブルを開く INSERT の実装 ha_tina の存在 テーブルスキャン store_lock の実装 external_lock の実装 rnd_init の実装 info の実装 extra の実装 rnd_next の実装 おわりに はじめに 卒論書くのに飽きてきて何かやりたくなったので急にストレージエンジンを書くことにしてみた。 MySQL のストレージエンジンを実装していく中で、色々できるかなと思っていたけど、やってみると MySQL の内部実装について色々知らないといけないことが多くインデックスとかトランザクションとかそういうところは実装できなかった。 github.com My

                                          MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する - それが僕には楽しかったんです。
                                        • OpenTelemetryについての現状まとめ (2020年6月版) - YAMAGUCHI::weblog

                                          はじめに こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。ここ最近は業務でOpenTelmetry関連をほそぼそとやってきたんですが、ようやくOpenTelemetryも安定版リリースのめどが立ってきたので、これまでと現状と今後を簡単にまとめておこうと思って書き始めたら、全然簡単じゃなくて10000文字超えました。(なおこのシリーズは今後も続きそうな気がするのでタイトルに日付を振っておきました) TL;DR 分散トレースとメトリクスの計装フレームワークとしてOpenTelemetryというものがCNCF Sandboxプロジェクトとして進行中。これはOpenTracingとOpenCensusのマージプロジェクトであり、各々の正式な後継版である。 とはいうものの、まだ仕様もstableリリースになっておらず、当然各言語向けのライブラリも安

                                            OpenTelemetryについての現状まとめ (2020年6月版) - YAMAGUCHI::weblog
                                          • Flutterの実践導入で用いるBLoC Patternの全体像と押さえておくポイント|yamarkz - Kazuki Yamaguchi

                                            はじめにこんにちは!プロダクトチームの山口(@yamarkz)です。 最近はFlutterを用いたアプリケーション開発に取り組んでおり、そこで採用しているデザインパターンの1つである BLoC Pattern について、自身が調査した内容を整理し、実践導入する上で押さえておくポイントを紹介していきたいと思います。日本ではプロダクションレベルで採用されている例が少ないので、ぜひ、この記事を参考に検討してみてください。 今回紹介する内容の背景を少しご紹介すると、弊社Housmartでは定期的(3ヶ月に1度など)にLab Weekと題しまして、1週間ほど業務時間を使い、新しい技術や日頃手に届きにくい技術課題の解決に取り組む期間を設けています。 詳細は下記記事リンクを参照。 自分はこのLab Weekで、Flutterを用いた中規模アプリケーション開発に必要な設計周りの調査を行い、中でもBLoC

                                              Flutterの実践導入で用いるBLoC Patternの全体像と押さえておくポイント|yamarkz - Kazuki Yamaguchi
                                            • SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics

                                              こんにちは。@phonypianistです。 本投稿はアクロクエスト アドベントカレンダー 12月21日 の記事です。 最近、Quarkusアプリを本番適用しました。 QuarkusはJavaアプリを作るための軽量なフレームワークで起動が速いって聞くけど、実際どれくらい速いんだろう?と気になったので、Spring Bootや、類似OSSのMicronautと比べてみました。 背景 JavaのフレームワークといえばSpringBootが主流ですが、起動が遅かったり、必要なメモリが多かったりしています。 これは、アプリ起動時にリフレクションを用いてDI(Dependency Injection)を行っているのが要因の1つです。 マイクロサービス、コンテナネイティブなアプリケーションは、負荷の状況に応じて、シームレスにスケールアウトできる必要があります。 アプリケーションの起動速度が遅かったり、

                                                SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics
                                              • プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ

                                                技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 昨日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.2.0 がリリースされました(Ruby 3.2.0 リリース)。今年も Ruby 3.2 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ プロと読み解く Ruby 3.1 NEWS -

                                                  プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ
                                                • ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog

                                                  こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 今回はミラティブのライブゲーム開発で行ったアウトゲームの設計について紹介します。 以前アウトゲーム設計に関してXでポストしたらレスポンスをいただけたのでできるだけ丁寧に解説してみました。こんな話も聞きたいよというのがあったら是非教えてください。 よくありそうなソシャゲアウトゲームの設計について今更記事化してるんだけどどれだけ需要あるんだろう。MVPの概念とかクリーンアーキテクチャライクな知識って業界的な浸透率どんなもんなんだ。— 鉄 -TETSU- (@tetsujp84) 2023年8月28日 アウトゲームについて ゲーム開発者にとっては馴染み深いと思いますが、ゲームにはインゲームと呼ばれる部分とアウトゲームと呼ばれる部分に別れます。インゲームはゲーム体験のコアでキャラクターを操作したり、アクションがあったりと

                                                    ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog
                                                  • Pythonでデータの挙動を見やすくする可視化ツールを作成してみた - Qiita

                                                    ※アンダースコアのpip install seaborn_analyzerでもインストール可能です。 インポート時はアンダースコアのimport seaborn_analyzerやfrom seaborn_analyzer となるのでご注意ください コード モジュールcustom_pair_plot.py内のクラスCustomPairPlotに、必要な処理をまとめました。 GitHubにもアップロードしています モジュール本体 import seaborn as sns import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats class CustomPairPlot(): #初期化 def __init__(self): self.df = None sel

                                                      Pythonでデータの挙動を見やすくする可視化ツールを作成してみた - Qiita
                                                    • 7 JavaScript Design Patterns Every developer should know

                                                      Design patterns in JavaScript are reusable solutions applied to commonly occurring problems in writing JavaScript web applications. It is quite appropriate to refer JavaScript design patterns as templates to provide solutions to problems but not quite to say that these patterns can replace the developers. Design patterns help combine experiences of many developers to structure the codes in an opti

                                                        7 JavaScript Design Patterns Every developer should know
                                                      • HomebrewのCaskリポジトリを介した任意コード実行

                                                        English version is available here: https://blog.ryotak.net/post/homebrew-security-incident-en/ (公式インシデント報告はこちらから読むことができます: https://brew.sh/2021/04/21/security-incident-disclosure/) はじめにHomebrewプロジェクトはHackerOne上で脆弱性開示制度(Vulnerability Disclosure Program)を設けており、脆弱性の診断行為が許可されています。 本記事は、当該制度に参加し、Homebrewプロジェクトのスタッフから許可を得た上で実施した脆弱性診断行為について解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 Homebrewに脆弱性を発見した場合は、

                                                          HomebrewのCaskリポジトリを介した任意コード実行
                                                        • Understanding design patterns in TypeScript and Node.js - LogRocket Blog

                                                          Ganesh Mani I'm a full-stack developer, Android application/game developer, and tech enthusiast who loves to work with current technologies in web, mobile, the IoT, machine learning, and data science. Editor’s note: This article was updated 27 September 2022 to include information about state patterns and anti-patterns in TypeScript, as well as to make general revisions to the article. Design patt

                                                            Understanding design patterns in TypeScript and Node.js - LogRocket Blog
                                                          • neue cc - Claudia - Anthropic ClaudeのC# SDKと現代的なC#によるウェブAPIクライアントの作り方

                                                            Claudia - Anthropic ClaudeのC# SDKと現代的なC#によるウェブAPIクライアントの作り方 2024-03-18 AI関連、競合は現れども、性能的にやはりOpenAI一強なのかなぁというところに現れたAnthropic Claude 3は、確かに明らかに性能がいい、GPT-4を凌駕している……!というわけで大いに気に入った(ついでに最近のOpenAIのムーブが気に入らない)ので、C#で使い倒していきたい!そこで、まずはSDKがないので非公式SDKを作りました。こないだまでプレビュー版を流していたのですが、今回v1.0.0として出します。ライブラリ名は、Claudeだから、Claudiaです!.NET全般で使えるのと、Unity(Runtime/Editor双方)でも動作確認をしているので、アイディア次第で色々活用できると思います。 GitHub - Cyshar

                                                            • RBS基礎文法最速マスター - pockestrap

                                                              RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語です。 この記事ではRBSの文法を駆け足で紹介します。 細かい話は飛ばしますが、この記事を読めば大体のケースでRBSを読み書きできるようになると思います。 事前準備 インストール まずは文法の前に、rbs gemをインストールしましょう。 Ruby 3を使っている場合、rbs gemはRuby 3に同梱されているため何もしなくても使えます。 Ruby 3未満を使っている場合でも、gem install rbsすれば使うことができます。 この記事では、rbs gem v1.0.0を対象に構文を紹介します。 $ gem install rbs Successfully installed rbs-1.0.0 1 gem installed $ rbs --version rbs 1.0.0 動作確認 書いたRBSは、rbsコマン

                                                                RBS基礎文法最速マスター - pockestrap
                                                              • 求人メディアGreen の Flutterの構成について - Atrae Tech Blog

                                                                こんにちは、エンジニアの @muttsu_623 です。 最近、開発を頑張っている自分へのご褒美として念願だった『左右分離型キーボード』のMISTEL『Barocco MD770 静音赤軸』を購入しました。 Mistel BAROCCO MD770 RGB メカニカルキーボード 英語配列 85キー 左右分離型 CHERRY MX RGB 静音赤軸 ブラック MD770-PUSPDBBT1 発売日: 2020/01/30メディア: Personal Computers 購入してからまだ2週間くらいなのでまだ効果を実感できているわけではありませんが、肩が開かれた状態で姿勢良く開発を行うことができるため、長期的にみればいいお買い物になったかなと思います。 さて本題ですが、先日弊社の「求人サイト Green」のAndroidアプリをFlutterで作成しリリースしました。 Flutterでアプリを

                                                                  求人メディアGreen の Flutterの構成について - Atrae Tech Blog
                                                                • オーストラリアのSF作家グレッグ・イーガンの信者です。この状況が嬉しくて..

                                                                  オーストラリアのSF作家グレッグ・イーガンの信者です。この状況が嬉しくてしかたがないです。 私たちは日常で多くの決断をします。それはリアルの人間でもフィクションの登場人物でも同じです。あのとき別の決断をしていたらどうなっていただろうと,夢想することはよくありますが,それは益体もないことです。現実は一つしかありません。私たちは決断をする権利とその結果を享受する義務があるだけです。 ですがもし,あらゆる決断について別の決断をした世界が同等のものとして存在したとしたら。私たちの決断に意味なんてあるんでしょうか。これは決して空論としての問いではありません。現在の物理学で主流の考え方の一つとなっている多世界解釈が正しいのであれば,私たちの生き方に関わる完全にリアルな問題です。 それを提示したのが2002年のイーガンの短編「ひとりっ子(Singleton)」です。彼はその中で一つの答え(意味なんかない

                                                                    オーストラリアのSF作家グレッグ・イーガンの信者です。この状況が嬉しくて..
                                                                  • 設定情報をエレガントに管理する方法(解決なし) - まめめも

                                                                    アプリケーションにはいろいろ設定があるものです。一般的な例では、production / development のようなモードや、ログレベルなど。プログラムを書くとき、こういうデータをどのように管理しますか? 大きく 2 種類の書き方があると思います。 グローバル変数(やそれに類するもの)に入れる クラス生成時にコンストラクタに引き回す どちらも一長一短があると思っています。 1. グローバル変数に入れる たとえば、$config = { mode: :development } などとするだけ。 Rubyの場合、グローバル変数だけでなく、定数に入れたり、クラスメソッドにしたり、singletonライブラリを使ったり、スレッドローカルストレージを使ったりするのもこの分類に含めます。 長所 記述がとても簡潔 設定の追加が簡単 短所 グローバル変数を使うことに罪悪感がある 1 つのプロセスで

                                                                      設定情報をエレガントに管理する方法(解決なし) - まめめも
                                                                    • [Ruby]うるう日の午前0時から9時までに起動したプロセスでのみ再現するサーバー障害

                                                                      原因調査 エラーの発生箇所の特定 このエラーIncorrect datetime valueはデータベースのdatetime columnに対して不正な値を書き込もうとしたことが原因で発生しています。通常のINSERT statementを使って、過去の時刻を書き込むことはほとんどありませんが、MySQLなどに用意されているINSERT … ON DUPLICATE KEY UPDATE statementを使って複数の行を更新するときには、過去の時間を使ったクエリが生成されます。 例えば、複数の消耗品を所持しており、1つのクエリで複数の所持数を変更するときは、下記のようになります。 // PK(user_id, item_id) SELECT * FROM items WHERE user_id = 123; user_id | item_id | quantity | created_

                                                                        [Ruby]うるう日の午前0時から9時までに起動したプロセスでのみ再現するサーバー障害
                                                                      • Rust の DI を考える — Part 1: DI とは何だったか - paild tech blog

                                                                        paild 社でお手伝いをしている yuki です。みなさんは Rust で DI をしようと思った際に困ったことはありませんか?この連載では、他のプログラミング言語で利用される DI パターンを参照しながら、Rust でそれを実装するためにはどのような工夫が必要かまでを検討します。中には Rust での実装が難しいパターンも出てくるかもしれません。その際は、なぜ難しいのかまでを検証します。 そこそこの規模のソフトウェアを実装するにあたって、ソフトウェアエンジニアが共通して利用する手法がいくつかあると思います。その中でも DI (Dependency Injection; 依存オブジェクト注入) は最もポピュラーな手法の一つであり、保守運用まできちんと耐えうるソフトウェアの設計をしたいとなったときに、まず真っ先に候補に上がる手法でしょう。 Rust ではこの DI をどのように行えばよいの

                                                                          Rust の DI を考える — Part 1: DI とは何だったか - paild tech blog
                                                                        • 実践OpenTelemetry - Classi開発者ブログ

                                                                          こんにちは・こんばんは・おはようございます、エンジニアのid:aerealです。 この記事では筆者が開発に参加しているサービスの監視フレームワークをOpenTelemetryへ移行した際の体験を紹介します。 OpenTelemetryとは OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. What is OpenTelemetry? サイトの説明にある通り分散トレースやメトリクス、ログなどの指標を扱う監視フレームワークです。 OpenTracingやOpenCensusなどを継承・統合したプロジェクトと言うと合点がいく方も多いのではないでしょうか。 OpenTelemet

                                                                            実践OpenTelemetry - Classi開発者ブログ
                                                                          • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog

                                                                            はじめに 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 3. アーキテキチャ及びディレクトリ構造 オニオンアーキテクチャを採用 オニオンアーキテクチャとは 誕生の背景 依存関係逆転の原則の活用 採用理由 参考になった記事 ディレクトリ構造 全体の構成 api schema apiとusecaseの間のデータ構造を提供する役割 schemaはパスオペレーション関数のリクエストとレスポンスの構造を提供する役割 usecase domain infrastructure core container_config exception 参考にしたもの まとめ はじめに ラクスルグループのノバセルで新卒2年目のエンジニアをしています田村(tamtam)です。 第1回では、AWS Lambda x FastAPIによるPythonモダンAPI開発を実現する上で役立つであろ

                                                                              【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog
                                                                            • CoffeeScript 辞めました - クラウドワークス エンジニアブログ

                                                                              CoffeeScript 辞めました はじめに こんにちは、CrowdWorks のジャンヌチームのエンジニア bugfire です。 CrowdWorks は歴史のあるサービスで CoffeeScript が利用されている箇所が大量にあります。 具体的には411ファイルありました。1 いまとなっては CoffeeScript を利用したコードを新たに書くことも少なくなり、改善するときに TypeScript で書き直されることも多くなってきました。しかし、個別に変換すると時間が掛かってしまうため、まとめて機械的に変換することにしました! 3行まとめ CoffeeScript より TypeScript の方に記述を移していきたい。 利用している Sprockets の CoffeeScript 変換コードを借用して全ファイルを変換しました。 確認は変換前後の出力 JavaScript コ

                                                                                CoffeeScript 辞めました - クラウドワークス エンジニアブログ
                                                                              • Railsアプリの開発環境を速くするための調査 その1 - gemの読み込み時間 - アジャイルSEの憂鬱

                                                                                その1って書いたけど、続くかは不明。 今回は使っているgemの読み込み時間を測ってみた。 Benchmark を仕込む config/application.rb でgemを読み込む前に Kernel.require を上書きして、計測する。 +require 'benchmark' +$result = {} +Kernel.singleton_class.prepend(Module.new do + def require(feature) + ret = nil + $result[feature] = Benchmark.realtime { ret = super } + ret + end +end) Bundler.require(*Rails.groups) +$result.sort_by { |_, t| -t }.take(20) + .each { |featur

                                                                                  Railsアプリの開発環境を速くするための調査 その1 - gemの読み込み時間 - アジャイルSEの憂鬱
                                                                                • Ruby Parser開発日誌 (14) - LR parser完全に理解した - かねこにっき

                                                                                  こんにちはかねこです。私はCRuby(ruby/ruby)のコミッタをやっているのですが、最近はCRubyをメインのターゲットとしてLALR parser generator Lramaの開発をしています。 現役のLALR parser generator開発者として、日頃私以上にLR parserのことを考えている人はそうはいないでしょう。 この記事を読んでいる皆さんは構文解析、なかでも特にLR parserを理解するためにいろいろな教科書や記事を読んできたと思います。 一方でどんなに調べてもどこか腑に落ちない部分が残っているのではないでしょうか。 LR構文解析を勉強すると構文解析表に出会うとおもいます。 構文解析表を作る方法そのものは教科書に説明が載っており、その通りに手を動かせばこのような表を作ることはできるでしょう。 また出来上がった構文解析表をもとに実際に構文解析する手順も理解で

                                                                                    Ruby Parser開発日誌 (14) - LR parser完全に理解した - かねこにっき