サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
セキュリティ
techracho.bpsinc.jp
概要 CC BY-NC-SA 4.0 International Deedに基づいて翻訳・公開いたします。 英語記事: Using Perfetto in ZJIT | Rails at Scale 原文公開日: 2026年03月27日 原著者: Max Bernstein CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 Ruby: ZJITをPerfettoプロファイラでグラフ化して分析する(翻訳) ご覧ください!ベンチマークに遅いイベントが表示されています。画像をクリックすると拡大されます。 図1: トレース結果を少しだけお見せします。 それでは、「遅いイベント」とは何か、そしてこのような美しいグラフを得る方法を見ていきましょう。 🔗 JITコンパイラのルール
原注 本記事は、私たちの論文『Reworking Memory Management in CRuby: A Practitioner Report』および「International Symposium on Memory Management 2025」の以下の講演を元にしています。 論文はこちらで開けます。 最初に、このプロジェクトにおいてオーストラリア国立大学との共同研究のきっかけを作ってくださった故Chris Seaton氏と、彼の貢献、先見性、そしてリーダーシップに心より感謝いたします。彼がいなければ、このプロジェクトは実現しなかったでしょう。 🔗 背景 オーストラリア国立大学(ANU)とShopifyは、メモリ管理ツールキット(Memory Management Toolkit: MMTk)をRubyに統合するプロジェクトで協力しています。私たちはこのプロジェクトを支援し、
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Why I Stopped Using Docker in Development - DevBlog by Zil Norvilis 原文公開日: 2026年03月03日 原著者: Zil Norvilis 日本語タイトルは内容に即したものにしました。 Rails: 個人開発環境のDocker化をやめた理由(翻訳) 🔗 業界標準の「ワナ」 「現代のWeb開発」的なチュートリアルのステップ1には、ほぼ確実に「まずDockerをインストールしましょう」と書かれています。 これまでDockerは、「環境のバラつきを防ぐ」のに不可欠であり、「自分のマシンでは動くのに他の人のでは動かない」という厄介な問題を解決するためにも欠かせないと言われてきました。「開発者ごとにOSが異なる」「マイクロサービスへの依存が複雑」「開発者が50人もいる
概要 CC BY-NC-SA 4.0 International Deedに基づいて翻訳・公開いたします。 英語記事: How ZJIT removes redundant object loads and stores | Rails at Scale 原文公開日: 2026年03月18日 原著者: Jacob Denbeaux CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。訳文では見出しの階層を適宜変更しています。 Ruby: ZJITでオブジェクトの冗長なロードとストアが削減される仕組み(翻訳) 🔗 はじめに Ruby 4.0に導入されたZJITの強化点を詳しく解説(翻訳) 昨年末に投稿した上の記事↑以来、ZJITはさらにいくつかの興味深い形で成長と変化を遂げ
概要 CC BY-NC-SA 4.0 International Deedに基づいて翻訳・公開いたします。 英語記事: Introducing Aliki: A Modern Theme for Ruby Documentation | Rails at Scale 原文公開日: 2025年12月22日 原著者: Stan Lo CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 Rubyドキュメントサイトに新しく"Aliki"テーマを導入しました(翻訳) Rubyはいつも書いていて楽しい言語です。しかしdocs.ruby-lang.orgにあるRubyのドキュメントはずっと前から、読んでいてそこまで楽しいものではありませんでした。 昨年私は、Ruby 3.4のドキュメン
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Getting nondeterministic agent into deterministic guardrails | Arkency Blog 原文公開日: 2026年02月20日 原著者: Łukasz Reszke 日本語タイトルは内容に即したものにしました。 AIエージェントは、指示に100%従うものではありません。本記事では、私がそのつらみを緩和したときの方法を紹介します。 背景: 私が手がけているのは12年もののRailsアプリのレガシーなコードベースです。 コードベースの現代化が現在進行中です。 巨大なActive Recordクラスの一部を分割して、それぞれのコンテキストを境界で区切りました。 イベントはコードの中でファーストクラスオブジェクトに昇格しつつあります。 コンテキストマッピングで設計された依存関
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Hotwire components that refresh themselves | Boring Rails: Skip the bullshit and ship fast 原文公開日: 2025/07/07 原著者: Matt Swanson サイト: Boring Rails 今年の初め頃、Hotwireアプリを大きく改善できると私が考えているパターンについて以下でツイートしました。 This is really the GOAT pattern for hotwire apps - Make a component for view logic - When backend does something, use turbo_stream to re-render the component with new da
概要 CC BY-NC-SA 4.0 International Deedに基づいて翻訳・公開いたします。 英語記事: Faster bundler | Rails at Scale 原文公開日: 2026年03月09日 原著者: Edouard Chin、Eileen Uchitelle CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 Shopifyでは開発環境の高速化が求められています。特にShopifyほど大規模なアプリケーションになると、依存関係のインストールにも時間がかかるものです。TypeScriptのbunやPythonのuvは、依存関係のインストール時間を劇的に改善しましたが、同じことがBundlerとRubyコミュニティでも実現可能だとしたら嬉しいで
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Prefer in? Over include? for Readable Conditions - Andy Croll 原文公開日: 2026年02月02日 原著者: Andy Croll 日本語タイトルは内容に即したものにしました。 Ruby の'include?'より Rails の'in?'の方が読みやすい(翻訳) Rubyでコレクションに値が存在するかどうかのチェックにはRubyのinclude?が使えますが、RailsのActive Supportが提供しているin?メソッドなら同じことをもっと自然に書けます。 🔗 以下のように書くよりも include?を使う(コレクション.include?(チェック対象)の順序になる)。 nsync = ["Justin", "JC", "Chris", "Joey", "L
Agent Teamsを実際に使ってみてうまくいかなかったこと なんかいい感じにやってくれるということで、まずは適当に試してみましたが、思ったよりうまくいきませんでした。 役割分担して並行作業で分業はしてくれるが、お互いに協調してくれない 並行作業として役割分担はしてくれるのですが、ただの並行作業になってしまうことがよくありました。 例えば、僕のClaude Code秘書に「Agent Teamsを起動してすべてのプロジェクトのデータソースを調査し、私の今日のタスクリストを作成して」といった命令を出すと、 GitHub調査エージェント GitLab調査エージェント Backlog調査エージェント Gmail調査エージェント などがそれぞれ起動して個別に情報収集をし、それぞれの調査エージェントが集めた情報を元に、オーケストレータが情報を整理してタスクリストを所定のMarkdownフォーマット
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: The timezone bug that hid in plain sight for months | Arkency Blog 原文公開日: 2026年02月05日 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 Rails: タイムゾーン処理の重大なバグを何か月も見落としていた話(翻訳) 私たちは最近、ある金融プラットフォームにおけるデータ同期の問題を修正しました。この問題は誰にも気づかれないまま数か月に渡ってデータの不整合を引き起こしていたのです。バグの内容は、ある意味洗練されているとも言えるレベルのシンプルさで、過去の日付を変換する時に、過去のではなく「現在の」夏時間(DST)をチェックしていたのです。 🔗 壊れていたコード 私がこの問題に気づいたのは、別の同期問題を調べていた
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Making race condition tests deterministic with Concurrent::CyclicBarrier and seam | Arkency Blog 原文公開日: 2025/11/11 原著者: Łukasz Reszke 日本語タイトルは内容に即したものにしました。 参考: ロック (計算機科学) - Wikipedia ペアプログラミング中に注文を分割する機能を実装していて、アドバイザリーロック(advisory lock: 強制力を持たないロック、勧告的ロックなどとも)を使って競合状態を防ぎたいと思いました。この種のセッションを扱うときに当然思い浮かぶ疑問のひとつといえば、「このロックが本当に必要かどうかをどうやって判定するか?」です。 当初、ロックなしの場合は失敗し、ロックあり
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Don’t Build a General Purpose API (4 Years Later) - Max Chernyak 原文公開日: 2025年12月11日 原著者: Max Chernyak 日本語タイトルは内容に即したものにしました。 私は2021年に、フロントエンド向けにわざわざ汎用のAPIを構築して苦労を増やしてはいけないと呼びかける記事を書きました↓(よろしければ本記事を読む前に目を通しておいてください)。 参考: Don’t Build A General Purpose API To Power Your Own Front End - Max Chernyak この記事はHacker Newsに2度取り上げられましたが、2度目は評判がよろしくありませんでした(その分議論は白熱しましたが)。推測ですが、2
2026.02.13 Rails 8.1 + Ruby 4.0.1で作り直したenno.jpアプリをfly.ioでリリースしました こんにちは、hachi8833です。 2013年から私が運営している日本語のあからさまなエラーを検出するWebサービス、enno.jpをRails 8.1とRuby 4.0.1で完全に作り直し、2月8日からリリースしました。使い方はリニューアル前と基本的に同じですが、多数の改良を加えました。 サイト: enno | 日本語の文章のタイポ・誤字脱字検出ツール リニューアルの概要については更新情報に手短に記載してありますが、本記事ではRailsやSaaSなどについてもう少し説明します。個別について詳しくは追って記事にしたいと思います。 1: SaaSをHerokuからfly.ioに乗り換えた サイト: fly.io | Deploy app servers clo
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Typography for Rails developers | Rails Designer 原文公開日: 2025/09/11 原著者: Rails Designer -- Railsフロントエンド関連記事に加えて、ViewComponentとTailwind CSSを用いた美しいUIコンポーネントを販売しています 日本語タイトルは内容に即したものにしました。 元記事は英語圏のWebデザインを念頭に置いているため、日本語のWebデザインでは事情が異なる可能性もあります。ご了承ください。 Railsアプリでプロフェッショナルなタイポグラフィを使うようになれば、アプリの見た目が「まあまあ」から「本当のプロらしさが光る」ものへと様変わりします。この方面のトピックはそれこそ山ほどありますが、アプリを構築しているRails開発者や、
概要 CC BY-NC-SA 4.0 International Deedに基づいて翻訳・公開いたします。 英語記事: ZJIT is now available in Ruby 4.0 | Rails at Scale 原文公開日: 2025年12月24日 原著者: Max Bernstein CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 ZJITとYJITは同時に有効にできないので、ZJITを有効にする場合はYJITを無効にしておく必要があります(RUBY_YJIT_ENABLE=0環境変数を設定するなど)。 ZJITはRubyの新しいjust-in-time(JIT)コンパイラであり、Rubyのリファレンス実装であるYARVというVMに組み込まれています。ZJ
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Stylish dialogs | Fractaled Mind 原文公開日: 2025/12/18 原著者: Stephen Margheim 日本語タイトルは内容に即したものにしました。 以下のような複雑なスタイル付きダイアログをJavaScriptなしで構築できます。 https://play.tailwindcss.com/0V4LTBpdHCより Campsiteのリポジトリには、私の好きなWeb向けUIスタイルがいろいろあるので、自然と学びたい気持ちが湧いてきてソースを読んでみたところ、Reactコンポーネントがわざわざ<div>の内側で<div>をレンダリングしていることと、JavaScriptを大量に使っていることに気づきました。<dialog>要素を使えばJavaScript不要で意味も明快であるにもかかわらず
いつもの私は、このブログ記事やメーリングリストで、ほとんどの場合ソフトウェア開発(多くは一般的なプログラミング言語、特にRuby)に関して徹底的に考え抜いたものだけを扱うことにしています。 しかしここしばらくは開店休業が続いていたこともあり、今回の記事は少しばかり個人的な内容で、いつもほど突き詰めていません。 原注 私のWebサイトでこのブログをたまたま目にした方や、私のメーリングリストにサブスクしたもののメーリングリストの目的を思い出せない方へ(私が何か月も記事を書いていなかったので無理もありません!)リマインダー: 私はウクライナ出身のソフトウェア開発者兼作家であり、現在は軍に勤務しています。私の著作や各種プロジェクト、講演の内容については以下でご覧いただけます。 著作 プロジェクト 登壇とカンファレンス この2年間に私の書いた記事の多くは、まったくもって一貫性を欠いていました。そうな
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Introducing Perron: Rails-based static site generator | Rails Designer 原文公開日: 2025/10/16 原著者: Rails Designer -- Railsフロントエンド関連記事に加えて、ViewComponentとTailwind CSSを用いた美しいUIコンポーネントを販売しています 日本語タイトルは内容に即したものにしました。 PerronというRailsベースの静的サイトジェネレータ(SSG)をオープンソースで公開しましたので、晴れてここに紹介いたします。Perronの構築には数年を要しました。といってもずっと開発し続けていたわけではなく、ここ数か月の間に毎週数時間ずつ開発しただけですが、概念として何年もの間温め続けてきたものです。 試してみた
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Stop using DateTime in 2026 (unless you work for UNESCO) | Arkency Blog 原文公開日: 2026年01月14日 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 追記(2026/01/28) なお、RuboCopにもDateTimeの利用を検出するStyle/DateTimeというcopがありますが、デフォルトでは無効です(複数タイムゾーンや夏時間は機械的に置き換えられない場合があるためだそうです)。 参考: Style/DateTime -- Style :: RuboCop Docs 参考: RubyDoc.info: Class: RuboCop::Cop::Style::DateTime – Documentatio
それでは、最初にRailsアプリのapp/javascript/controllers/bridge/ディレクトリの下にkeyboard_controller.jsというファイルを作成しましょう。 このチュートリアルではiOSがメインなので、コードを省略せずに掲載します。 // /app/javascript/controllers/bridge/keyboard_controller.js import { BridgeComponent } from "@hotwired/hotwire-native-bridge" export default class extends BridgeComponent { static component = "keyboard" connect() { super.connect() this.setUpToolbarListeners() }
はじめに 突然ですがこのページを開いてCtrl+Fのページ内検索を開き、 x y z のいずれかの文字を検索してみてください。 https://codepen.io/babatakao/full/bNeBOwr このように、検索した結果がalertで表示されます。 言いたかったこと このように、ページ内検索したテキストはコンテンツJavaScriptから検知できます。 選択したテキストや、フォームに入力したテキストが検知できるのは当然なのですが、ページ内検索テキストは今まで知りませんでした。例えば得体のしれない怪しいウェブサイトで「自分のメールアドレスが漏洩していないかな」とページ内検索、などはやっては駄目なことになりますね。気をつけましょう。 仕組み こんなHTMLとJavaScriptを仕込んでいました。 <p hidden="until-found" id="x">x</p> <p
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Why choose ViewComponent over Rails partials | Rails Designer 原文更新: 2024/11/18 原著者: Rails Designer -- Railsフロントエンド関連記事に加えて、ViewComponentとTailwind CSSを用いた美しいUIコンポーネントなどさまざまな製品を販売しています 日本語タイトルは内容に即したものにしました。 Reactにインスパイアされて生まれたViewComponentが紹介されたのは、RailsConf 2019でした。ViewComponentはデータフローを改善してビューをテストしやすくし、ビューのコードを美しく整えられます。 類似のソリューションはViewComponentの前後にもいくつか登場していましたが、その中か
アプリでユーザーが項目を削除しようとしたときに確認ダイアログを表示したいとします。最新のブラウザ機能を活用して確認ダイアログをJavaScriptなしで構築するには、以下のように書きます。 <button type="button" commandfor="delete-item-dialog" command="show-modal"> Delete this item </button> <dialog id="delete-item-dialog" closedby="any" role="alertdialog" aria-labelledby="dialog-title" aria-describedby="dialog-desc"> <header> <hgroup> <h3 id="dialog-title">Delete this item?</h3> <p id="dia
Ruby 4.0.0が本日昼過ぎにリリースされました🎉。クリスマスの定期リリースです。 リリース情報: Ruby 4.0.0 Released | Ruby リリース情報: Ruby 4.0.0 リリース | Ruby Ruby 4.0.0 Releasedhttps://t.co/RBvZI32Cdb It introduces “Ruby Box” and “ZJIT”, and adds many improvements. Merry Christmas, a Happy New Year, and Happy Hacking with Ruby 4.0! — 成瀬 (@nalsh) December 25, 2025 見ての通り、今回は日本語版のリリースノートも同時に公開されています。 詳しくは上記リリース情報と、同時に公開された以下のRubyコミッターによる解説記事を参照して
Bundler 4とRubyGems 4は、ユーザービリティ・メンテナンス性・セキュリティを改善するために、非互換な変更を含むさまざまな変更が行われているので、見逃さないために以下を読んでまとめてみました。 参考: Upgrading to RubyGems/Bundler 4 - RubyGems Blog 上の公式ドキュメントに記載されているのは4.0.0の変更だけとは限らず、以前の変更に関連する記述も含まれている点にご注意ください。 利便性のため、上のドキュメントの項目順を重要度の高そうな順に再編成し、可能な限り関連プルリク/コミットも記載しました。 追記(2025/12/12) BundlerとRubyGemsのメンテナーであるhsbtさん自らの解説記事が一足先に公開されました↓。こちらもぜひお読みください。不具合があったらRubyGemsのリポジトリまで報告しましょう。 参考:
gemコマンドでお馴染みのRubyGems 4.0.0がリリースされました。Bundlerも4.0.0がリリースされました。 リリース情報: 4.0.0 Released - RubyGems Blog アップグレードに関する情報(非互換・非推奨化機能など): Upgrading to RubyGems/Bundler 4 - RubyGems Blog 詳しくは上記情報をご覧ください。さまざまな機能追加・バグ修正・パフォーマンス強化・セキュリティ強化などが行われています。アップグレード情報もチェックしておきましょう。 私的には “Add MAKEFLAGS=-j by default before compiling.” がありがたい。 / “4.0.0 Released - RubyGems Blog” https://t.co/qVBeocYnCm — Watson (@watson
morimorihogeです。今年ももう12月ですね、時の流れが速い。 今年一年を振り返るとAI活用が大きく進んだ年でした。詳細は本文にも書きますが、去年までは限定的なツールとしての活用にとどまっていたのが、今年は業務フロー全体や自分の業務の中心にAIを組み込む機会が増えました。 特にCoding Agentの登場&進化は大きなインパクトがあり、今現在でもちょくちょく新しいツールやサービスが登場しています。 本記事では、今年現時点での振り返りとして僕が今年1年間で試行錯誤してきたAI活用の取り組みや感触についてを紹介します。 10人前後の受託開発エンジニアチームの中間管理職の一例として、同じような立場の方の参考になれば幸いです。 コーディング・実装・レビュー まずはわかりやすい得意分野として、コーディング・実装に関するAI活用です。 ※特に断りがなければRailsアプリケーション開発(Ru
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Frozen String Literals: Past, Present, Future? | byroot’s blog 原文公開日: 2025/10/28 原著者: byroot -- Railsコアコミッター、Rubyコミッターです 日本語タイトルは内容に即したものにしました。 frozenは基本的に英ママとしました。 なお、Ruby 3.4以降ではRUBYOPT環境変数でRUBYOPT="--enable-frozen-string-literal"のように指定すれば、その環境で文字列リテラルをデフォルトでfrozenにできます。また、Ruby実行時に--disable-frozen-string-literalを指定すれば一時的にこの設定を解除できます。 Rubyistの皆さんなら、Rubyソースコードのほどんどのフ
次のページ
このページを最初にブックマークしてみませんか?
『TechRacho|BPS株式会社のRuby on Rails開発情報サイト』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く