Selective Test Execution at Stripe: Fast CI for a 50M-line Ruby monorepo
はじめに 普段 Python で uv を使っていて、最近 Ruby on Rails を始めた。 rails new で生成されたファイルを眺めていたら、ドキュメントやチュートリアルにこんな呪文が出てくる。 「rails s だけじゃダメなの?」 「bundle ってなに? exec ってなに?」 調べてみたら、これは Python の uv run とほぼ同じ思想だった。 ただし、ちょっとだけ違う。その「ちょっとだけ」を知らないと初心者はハマる。 この記事では、uv ユーザー視点で Bundler を理解する ことをゴールにする。 まず Ruby 側のバージョン管理の全体像 Python と Ruby では「バージョン管理」の階層が分かれている。
RubyKaigi 2026 参加メモ 早く書かないと忘れていくから。まずは取っていたメモからまとめておいた。ちょっと英語聞き間違えたりなどして間違えている部分があれば、コメントなどしていただけるとありがたいです。 全体を通しての所感 3日間を通していちばん残ったのは、個別のセッションで得た技術トピックはもちろん、Rubyを今まさに作っている人たちがこれほどいるんだ!という感動だった。 Day3 の「メカMatz」のジョークが象徴的だったが、Rubyに対する情熱・願い・夢は人間でなければ語り得ない(少なくとも今のところは)。コミッターの半数以上がAIを使ってコードを書く時代になっても、「Rubyをこういう言語にしたい」と言葉にして引っ張っていくのは結局のところ人間である。 また、その情熱を引き継いで言語を育てていくのは、今ステージに上がっているコミッターたちだけではない。今ステージに上がっ
はじめに株式会社mov エンジニアの渡邉(@pjocprac)です。 最近はt-wataって呼ばれることが多くなってきました💦 日頃は Ruby on Rails で口コミ一括管理ツール「口コミコム」の開発をしています。業務では積極的に型を書いており、Ruby の型エコシステムに関心を持っています! 2026年4月22日〜24日に函館で開催された RubyKaigi 2026 に参加してきました! RubyKaigi2026参加のmovメンバー(最後列の真ん中が自分、破竹の笑顔ですね^^)参加前に、Ruby の型まわりのエコシステムを自分の頭の整理も兼ねてまとめたブログを書いていまして、このブログは、その続編として、自分が聴いた型まわりの4セッションの聴講メモです。 聴いてみると、4セッションすべてで AI コーディングとの関係に何かしら触れていたのが印象的で、Matz の発言とも合わせ
Harucom は約 $20 で買えるハンドメイドのシングルボードコンピュータです。 キーボードとテレビを直接つなぐことができるので、パソコンを使わなくてもRubyのプログラミングを体験できます。 “Harucom” という名前にはいくつかの意味が込められています。 Heuristically Accessible Ruby Computer a Handmade Ruby Computer Harukasan’s Ruby Computer Harucom はプログラミングを直感的に学べるアクセシブルなコンピュータを目指しています。 現代のコンピューティングの複雑さを取り除くことで、プログラミングの本質に触れられることがゴールです。 Harucom の使い方をみる 基本的な使い方 プログラミングリファレンス PicoRabbit Harucom board を手に入れる Harucom
RubyKaigi 2026 の本屋さんで Ruby コンピューター Harucom ボードを頒布します2026年4月20日 いよいよRubyKaigi 2026 まであと2日になりました。私もさきほど函館に到着したばかりです。 今年の RubyKaigi の1日目、Small Hall (#rubyKaigiC) 16:40〜17:10 にて "Building a Standalone Ruby Programming Environment" というタイトルで登壇させていただくことになりました。このトークは Ruby が動作する小さなプログラミング環境をつくった話になっています。このトークで登場する私が作っているちいさな Ruby コンピューター Harucom のボードの量産試作品を、RubyKaigiの会場内の本屋さん "@. bookstore" にて委託頒布していただくことに
概要 高品質のコードを書くために意識する記事その1です Fat Controller 1 Fat Controller とは 簡単に言うとControllerに色々な処理を詰め込むことです なぜ、詰め込んではいけないのか? ソフトウェア開発にいくつか原則があります。具体的に原則について下記で説明しますが これら全体可読性・可用性について書かれておりFatなControllerはそれらに反しております。 実際に開発する上で詰め込んでしまうと自身・その他エンジニアの首を絞めてしまいます 2. 原則 2-1 DRY原則(Don't Repeat Yourself) コードやロジックの重複を避けるべきという開発における原則 再利用性を高めようとメソッドを一箇所にまとめることで再利用性を高めることで可読性・可用性を向上させる 2-2 SOLID原則(Single Responsibility Pri
2026年2月2日、福岡・天神のONE FUKUOKA BLDG.にて開催された「福岡県未来ITスタートアップフォーラム」。そのメインセッションでは、日本を代表するエンジニアと研究者が「AI時代に私たちはどこへ向かうのか」をテーマに、熱い議論が交わされた。モデレーターを務めたのはULSコンサルティング取締役会長の漆原茂氏。パネリストには、プログラミング言語Rubyの開発者であるまつもとゆきひろ氏、そして琉球大学教授でありH2L創業者の玉城絵美氏が登壇した。 議論は、プログラミングの在り方から、急速に進化するAIが個人や社会に与える影響、そしてその変化にどう向き合うべきかまで、進展した。 AIが変えた「つくる」行為 まつもと氏は、自身の生活に起きた劇的な変化を明かした。40年来愛用のテキストエディタEmacsを、昨年6月から「コード書きのエディタとしては封印した」という。 現在はAIエージェ
『Programming Ruby 3.3(5th Edition)』の訳書『プログラミングRuby 第5版』について、翻訳原稿のレビュアーを若干名募集します。翻訳は島田浩二( @snoozer05 )が行っています。 書籍およびプロジェクトの詳細は、こちらを参照願います: snoozer05.hatenablog.jp レビュー期間は2026年4月下旬から1.5ヶ月程度(2026年6月中旬くらいまで)を予定しております。 全体はPDF換算で約820ページ程ありますが、興味のあるトピックを中心に、全体の25%程度(200ページぶんぐらい)には目を通していただけたらと考えています。もちろん、それを超えてたくさん見ていただくのは大歓迎です :-) 日本語としての読みやすさ、わかりやすさ、Rubyの最新バージョンとの差異などについてフィードバックをいただければと考えていますので、ぜひ助けていただ
こんにちは! id:masawada です。RubyKaigi 2026の開催まで2週間を切りましたね。みなさま準備は順調でしょうか? 株式会社スマートバンクはRubyKaigi 2026でHack Space Sponsorとして、カンファレンスの合間にほっとひと息つける憩いの場を作ります。また、このHack Space内の企画として、PicoRubyを手軽に体験できるワークショップを実施します。 RubyKaigiではPicoRubyに関する発表が近年増え続けており、今年はついに5セッション(組み込みRubyも合わせると10セッション)に達しました。 rubykaigi.org そこで、セッションを聴いて興味を持ったその足で、自分でもPicoRubyを動かして遊べる場としてワークショップを準備しました。また、ワークショップの題材として、オリジナルのボードも設計しました。その名も「Boa
はじめに こんにちは。アカツキゲームスの松下です。 弊社ではRailsを用いた大規模なゲームサーバを運用しており、お客様に良い体験を届けるべく、パフォーマンス改善が常に重要事項であり続けています。そのため、RubyにおけるJITコンパイラ・高速化技術であるYJITについても、登場時から注目していました。弊社でもこれまでに何度か導入を試みてきたものの、YJITを有効化すると負荷試験中に segmentation fault(SEGV)がごく稀かつランダムな箇所で発生するという現象に悩まされており、原因の特定すら難航する、歯痒い状態が続いている状況でした。 そのため、長らく本番導入を見送らざるを得ない状況が続いていましたが、一念発起し試行錯誤を重ねた結果、YJITとpitchforkのreforkingを本番環境に導入することに成功し、大きなパフォーマンス改善を得ることができました。 本記事で
はじめに コンスタナイズー!(気さくな挨拶) ココナラのDevOpsグループCREチームのy.s.(@inu_no_hou)です。 皆さん、constantize というメソッドをご存知でしょうか。文字列からRubyの定数(クラス)を動的に解決するActiveSupportのメソッドです(ぎえー)。 私がココナラの会計システム(のちに自らマイクロサービス化することになる)のコードで初めてこれを見たとき、正直に言うと震えました。 def factory(acct_event, option = {}) klass = acct_event.event_code.gsub(/^event/, 'journal') "Accounting::#{klass.classify}".constantize.new(acct_event, option) end 「虚空? 文字列? からクラス、いや、
はじめに RailsアプリケーションでOOM(Out of Memory)が発生し、調査する中で Association Cache という概念を知りました。 この記事では、Association CacheとCollectionProxyの役割と関係を整理します。 ※本記事の動作確認はRails 7.x系を前提としています。 参考ドキュメント: Active Record の関連付け - Rails ガイド ActiveRecord::Associations::CollectionProxy - Rails API Association Cacheとは 一度ロードした関連オブジェクトをメモリに保持して、再クエリを避ける仕組みです。
なぜフロントエンドの私がRailsに挑んだのか これまでNext.jsやPrismaを用い、フロントエンドの延長としてバックエンド処理を実装してきましたが、「必要なパーツを都度呼び出す」感覚に近く、バックエンドの全体像や設計思想への理解が不足しているという課題感がありました。 そこで、以下の3点から「バックエンドの王道」であるRailsを選択しました。 「設定より規約(CoC)」による標準的な設計を学ぶため 成熟したエコシステムから長年支持される設計パターンを理解するため 実際に市場に多く案件として存在している Railsを触って見て学んだこと MVCとコンポーネント指向 RailsのMVCを学んだことで、普段触れているフロントエンドの機能群の「役割」がより鮮明になりました。 MVCの再解釈による解像度の向上 Next.jsのApp Routerに慣れていると意識しにくい「Controll
こんにちは、terandard です。 Ruby on Rails 8.1 から Job を中断・再開できる Active Job Continuation という機能が追加されました。この機能を利用すると、長時間実行される Job がデプロイなどによって中断された場合でも、再開して続きから実行することができます。 この機能は job-iteration gem から着想を得て実装されたものです。 This took a lot inspiration from Shopify's job-iteration gem. 弊社のサービスでも job-iteration gem を利用していましたが、Rails 8.1 にアップデートしたので Active Job Continuation に移行しました。 この記事では、job-iteration gem から Active Job Cont
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Why I Stopped Using Docker in Development - DevBlog by Zil Norvilis 原文公開日: 2026年03月03日 原著者: Zil Norvilis 日本語タイトルは内容に即したものにしました。 Rails: 個人開発環境のDocker化をやめた理由(翻訳) 🔗 業界標準の「ワナ」 「現代のWeb開発」的なチュートリアルのステップ1には、ほぼ確実に「まずDockerをインストールしましょう」と書かれています。 これまでDockerは、「環境のバラつきを防ぐ」のに不可欠であり、「自分のマシンでは動くのに他の人のでは動かない」という厄介な問題を解決するためにも欠かせないと言われてきました。「開発者ごとにOSが異なる」「マイクロサービスへの依存が複雑」「開発者が50人もいる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く