irbのコードリーディング
2024年10月20日概要 irbのコードリーディングをする。 準備 irbのソースコードをクローンする git clone git@github.com:ruby/irb.git エントリポイントを細工する 元の状態だとRubyインストールディレクトリにあるirbを実行してしまうので、ローカルのirbを実行するようにする。 #!/usr/bin/env ruby # # irb.rb - intera...
概要 irbのコードリーディングをする。 準備 irbのソースコードをクローンする git clone git@github.com:ruby/irb.git エントリポイントを細工する 元の状態だとRubyインストールディレクトリにあるirbを実行してしまうので、ローカルのirbを実行するようにする。 #!/usr/bin/env ruby # # irb.rb - intera...
概要 RSpecのコードリーディングをする。 準備 RSpecのリポジトリをクローンする。 https://github.com/rspec/rspec-core コードリーディング RSpecの呼び出し rspec/rspec-core/blob/main/exe/rspec#L4 エントリーポイント lib/rspec/core/runner.rb#L43 Runnerクラス...
概要 オフセットページネーションとカーソルページネーションの比較についてまとめる。 オフセットページネーションとは SELECT * FROM table LIMIT 10 OFFSET 20 のように、OFFSET と LIMIT を使ってページネーションを実現する方法。 比較的実装が容易で、任意のページに直接アクセスすることができる。全体のページ数が把握しやすいが、データセットが大きい場合、パ...
概要 Sidekiqのコードをさらっと読んでみる。 準備 sidekiqをクローン https://github.com/sidekiq/sidekiq redisを起動 docker run --name redis-server -p 6379:6379 -d redis デバッグしたいところでbinding.pryを仕込む sidekiqを起動 bundle exec ...
PostgreSQLとPgCatをローカルで実験できる環境を作った。 bmf-san/postgresql-pgcat-example PostgreSQLやPgCatのパラメータをチューニングしてローカルで負荷検証することできるようになっている。 構成は、 Web Rubyで雑APIサーバー PostgreSQL MySQLも同じだが、volumeにデータが存在するとinit.sqlが走ら...
権限管理基盤については開発事例を調べてみた。 developers.freee.co.jp - freee 権限管理基盤を開発するチームの今を語ろう! 基盤開発チームの体制について developers.freee.co.jp - freee 権限管理基盤を開発するチームのこれまでを語ろう! 基盤を設計していくうえでの課題を整理するアプローチについて共感するところが多い(自分の経験にも近しい...
概要 Ruby on Railsのコードリーディング作業を記録する。 準備 rails new RailsCodeReadingで新規プロジェクトを作成する。 Gemfileに以下を追加 gem 'pg' gem 'pry-rails' gem 'pry-doc' gem 'pry-byebug' gem ...
概要 Ruby on Railsのコードリーディング作業を記録する。 準備 rails new RailsCodeReadingで新規プロジェクトを作成する。 Gemfileに以下を追加 gem 'pg' gem 'pry-rails' gem 'pry-doc' gem 'pry-byebug' gem ...
概要 Ruby on Railsのコードリーディング作業を記録する。 準備 rails new RailsCodeReadingで新規プロジェクトを作成する。 Gemfileに以下を追加 gem 'pg' gem 'pry-rails' gem 'pry-doc' gem 'pry-byebug' gem ...