アプリケーション
223 件の記事
脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック
『脳に収まるコードの書き方』の書評。人の脳内メモリに収まるコードを書くための、実践的なプラクティスを語る一冊。認知科学の理論というより現場で培われた経験則が中心で、複雑さを避け、コードを持続可能に保つための具体的なテクニックが得られる。
Rubyのインスタンス変数とクラス変数とクラスインスタンス変数の違い
Rubyのインスタンス変数・クラス変数・クラスインスタンス変数の違いについて整理して解説する記事です。@で始まりインスタンスごとに状態を保持するインスタンス変数を中心に、それぞれの変数がどのスコープでどんな値を保持するのか、混同しやすい3つの違いを具体例とともに紹介します。
Rubyにおけるシングルトンパターンの実装方法
Rubyにおけるシングルトンパターンの実装方法についてまとめた記事です。インスタンスが1つしか存在しないことを保証するこのデザインパターンを、標準ライブラリのSingletonモジュールやクラスメソッドの活用、定数化といった手法で、スレッドセーフに唯一のインスタンスを管理する形で実装する方法を紹介します。
メタプログラミングRuby 第2版
『メタプログラミングRuby 第2版』の書評。Rubyのメタプログラミングの仕組みと使いどころを学べる一冊。オブジェクトモデルや動的な機能を通じて「Rubyの魔法」の正体に迫れるが、実際に使いこなすには相応の難しさもあると感じさせる。
Tidy First? ―個人で実践する経験主義的ソフトウェア設計
『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』の書評。Kent Beckによる、コードの「整頓」をいつ行うかを考えさせてくれる薄くて濃い一冊。結合と凝集、そしてコストと収益という観点から、整頓の判断を経験主義的に捉える。主張が端的でわかりやすい。
研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ
『研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ』の書評。入門書を一通り終えた段階で、より実践的な知識を得たい人に向く一冊。原則とトレードオフという観点からRubyらしいコードのあり方をたどりつつRubyの魅力を伝え、言語に依らない設計の考え方も学べる。
punditのコードリーディング
Rubyの認可フレームワークであるPunditのソースコードを読み解いた記録です。リポジトリをクローンして、権限ポリシー(Policy)の仕組みや、認可を適用する際に使われるメソッドの内部の動きを、コードリーディングを通して権限管理の観点から追っていきます。
irbのコードリーディング
Rubyの対話型シェルであるirbの内部構造を、コードリーディングを通して読み解いた記事です。ソースコードをクローンしてエントリポイントを起点に、irbの起動処理や履歴の読み込み、入力されたコマンドの実行といった観点から、その仕組みを追っていきます。
relineのコードリーディング
Rubyのreline(Readlineの純Ruby実装)というライブラリのソースコードを読み解いた記録です。ライブラリをクローンしてサンプルコードを動かしながら、Readlineの呼び出しや行編集、入力のバッファリングといった内部構造を、コードリーディングを通して追っていきます。
RSpecのコードリーディング
RubyのテストフレームワークRSpecの内部を、runnerの起動・テスト実行フロー・結果レポートの観点からコードリーディングで読み解きます。
Ruby コードレシピ集
『Ruby コードレシピ集』の書評。Rubyでできることやよくあるパターンを、レシピ集としてまとめた一冊。分かりやすく簡潔に書かれており、これからRubyを学ぶ初心者が引き出しを増やすのにちょうど良い。
カーソルページネーション vs オフセットページネーション:どちらを選ぶべきか
カーソルページネーションとオフセットページネーションを比較。パフォーマンス特性・使い分けの基準・SQL でのカーソルページネーション実装方法を解説します。
Sidekiqのコードリーディング
Sidekiqのアーキテクチャを、RedisベースのジョブキューやRubyアプリでのジョブ登録・実行フローの観点からコードリーディングで読み解きます。
Ruby on Railsのコードリーディング第3回-WelcomeControllerの呼び出し
Ruby on Railsのソースコードを読み解くコードリーディングの記録の第3弾です。rails newで用意したプロジェクトを題材に、ルーティングを経てWelcomeControllerのアクションが呼び出されるまで、リクエストがどのような流れで処理されていくのかを追いかけていきます。
Ruby on Railsのコードリーディング第1回-Railsの起動
Ruby on Railsの起動シーケンスを、コマンド実行からRackup、Pumaサーバーの初期化、リクエスト処理までコードリーディングで追います。
Ruby on Railsのコードリーディング第2回-Railsのリクエスト処理
Ruby on Railsのソースコードを読み解くコードリーディングの記録の第2弾です。rails newで用意したプロジェクトを題材に、Railsが1つのリクエストを受け取ってレスポンスを返すまで、リクエスト処理がどのような流れで進んでいくのかを追いかけていきます。
API設計について学べるおすすめ本
API設計について学び直そうと、数冊をピックアップして読んだ本を紹介する記事。『Web API: The Good Parts』をはじめ、API設計の基礎から設計フェーズ、テスト戦略、実践的なデザインパターンまでを学べる書籍を、おすすめの読書順でリストアップする。
TypeScriptの基本を学び直す
TypeScriptの基本を改めて学び直した際のまとめです。前提となるJavaScriptの変数スコープなどの復習から入り、TypeScriptの型システムや基本的な文法まで、重要なポイントと実践的な知見を整理します。
GoReleaserを使ってDocker Imageをbuild&pushする
GoReleaserとGitHub Actionsを使い、複数プラットフォーム向けのDockerイメージのbuild&pushを自動化する方法を解説します。
Rubyを学ぶ
PHPやGoを触ってきた自分が、Rubyを学ぶ際に取り組んだことをまとめた記事です。まずは公式ドキュメントから入り、定番の書籍やオブジェクト指向の設計パターン、実際に手を動かす実践を通じて、Rubyの基礎を身につけていく道のりを紹介します。