サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
techracho.bpsinc.jp
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Replace aasm with Rails Enum today | Arkency Blog 原文公開日: 2024/03/29 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 参考: ステート・マシン - IBM Documentation Railsアプリには、いわゆるステートマシン実装を提供するgemが含まれていることがよくあります。それがaasmというgem(旧名acts_as_state_machine)である可能性はさらに高いでしょう(ところでacts_as_hasselhoffというジョークgemがあったのを覚えている人っていますか?)。 それはともかく、このaasm gemをActiveRecordモデルにincludeすると、かなりいろいろなことができるようになります
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Do you tune out Ruby deprecation warnings? | Arkency Blog 原文公開日: 2024/03/26 原著者: Piotr Jurewicz 日本語タイトルは内容に即したものにしました。 訳文ではキャプションの位置を読みやすく変更しています。 アプリケーションで非推奨警告(deprecation warning)が出力されていないかどうかをチェックする習慣は、技術スタックを最新の状態に保つうえで欠かせません。Railsの場合、環境ごとのコンフィグファイルで明示的にActiveSupport::Deprecationが設定されるので、表示された非推奨警告に対応することは一般に行われています。しかしRailsはそれでよくても、Ruby自体が表示する非推奨警告に対応するよう適切に設定し
前文 競合状態は、バグの中で最も厄介な部類と言ってよいでしょう。ActiveRecord のupdate_counterメソッドは、データベース内で値の増減の競合状態を回避するときに便利な方法を提供します。本記事ではJonathan Miles氏が同メソッドの利用法、実装方法、そして競合状態を避ける他のアプローチについて解説します。 Railsは大規模なフレームワークであり、特定の状況に対応できる便利ツールが多数組み込まれています。本シリーズでは、Railsの大規模なコードベースに隠れている、あまり知られていないツールを紹介します。 今回紹介するのはActiveRecordのupdate_countersメソッドです。また、マルチスレッドプログラムにありがちな「競合状態」の罠と、このメソッドで競合状態を防ぐ方法についても見ていきます。 🔗 スレッドについて プログラミングでコードを並行し
概要 原著者Chris Salzbergさんの許諾を得て翻訳・公開いたします。 英語記事: A Packwerk Retrospective | Rails at Scale 原文公開日: 2024/01/26 原著者: Gannon McGibbon、Chris Salzberg 日本語タイトルは内容に即したものにしました。また、一部のパラグラフを分割しています。 CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons Rails: モジュール化強制ツールPackwerkの導入を振り返る(翻訳) 2020年、ShopifyのチームはPackwerkという名前のRuby gemをリリースしました(関連記事)。Packwerkは、Railsアプリケーション内で境界を強制的に定めてモジュール化するツールです。Packwerk
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 2要素認証のブルートフォーステストをRubyで書く(Ruby Weeklyより) 元記事: Brute-forcing 2FA with
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Retry known idempotent SE
RailsのActive Recordは、意味のあるデータを確実に得られるようにするためのバリデーション機能をActive Modelライブラリ経由で提供しています。 ユーザーにメールを送信可能であることを確認する処理は、アプリケーションを正しく設定するうえで非常に重要なので、既に皆さんもUser#email属性でバリデーションを行っていることでしょう。 🔗 以下の方法ではなく 手作り正規表現や、Railsの古いAPIドキュメントにあるものを使う。 class User < ApplicationRecord validates :email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i }, presence: true, uniqueness: { case_insensitive: true } end
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Care beyond code: 7 best design practices for frontend developers—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/11/28 原著者: Nina Torgunakova(フロントエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。 本記事では原則としてdesignは「デザイン」としています。
以下の過去記事で、Gemfile内に記述するRubyバージョン指定をゆるくすることを推奨したことがあります。これは現在でも価値のある方法ですが、それとは別にほとんどの場合でうまく動く方法を紹介します。 参考: Use Loose Ruby Versioning in Your Gemfile - Andy Croll この便利なワンライナーを教えてくれたEmmaに感謝します。 chrubyなどのRubyバージョンマネージャは、個別のアプリケーションのrootディレクトリ内に置かれている.ruby-versionファイルを探索することで、アプリケーションで指定のRubyバージョンが必ず使われるようにします。 アプリケーションで必要なRubyバージョンをこの.ruby-versionファイルで指定すると、バージョンマネージャは環境を自動で切り替えて指定のRubyバージョンを使うようにします。
こんにちは、hachi8833です。xzの脆弱性対策をお忘れなく。 “XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog” https://t.co/QYpX58DweW — 徳丸 浩 (@ockeghem) April 1, 2024 sshの0.5秒の遅延からxzのバックドアを発見し大惨事を未然に防いだAndres Freundの功績を讃えるMicrosoft CEO https://t.co/FwVEVIZg6p — Haruhiko Okumura (@h_okumura) April 1, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: First steps with ruby.wasm: or how we built Ruby Next Playground—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2024/02/06 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita はじめに 当初はHTMLやCSSのレンダラーに過ぎなかったWebブラウザは、やがて洗練された実行環境へ
社内でRailsコードのレビューをしていて、 Dockerfile に環境変数で SECRET_KEY_BASE="dummy" のようにベタ書きしているのを見つけました。これはまずいよね、多分任意のセッション改ざんによるなりすましなどがし放題になりそうだよね、と思ったものの、これまで雰囲気で使っていて確かなことが言えなかったので、良い機会ということで少し調べてみることにしました。 🔗 secret_key_baseについて 🔗 secrets と credentials, RAILS_MASTER_KEY ってなんだっけ 🔗 secrets Rails 4.1で secrets.yml が登場して、environmentごとの認証情報を平文で保存していました。その後Rails 5.2で secrets.yml.enc が登場して、 RAILS_MASTER_KEY または secr
こんにちは、hachi8833です。 Railsの作者として有名なDHH氏がMacを捨ててWindows+WSL環境に変える宣言をしたのが話題になってるな。AppleのEUにおける一連のふぁっきんな対応にブチ切れたらしい😅 RubiestならばMacという雰囲気があったが、これでどうなることやらw / Committing to Windows https://t.co/IMl32lPwQa — AOE Takashi (@aoetk) March 7, 2024 つっつきボイス:「Macを使わなくなるわけではなくてメインマシンをWindowsにするということみたい」「ところでDHHって最近までエディタにTextMate使っていたのね: 遠い昔にDHHが初めてRailsをお披露目したときの有名な動画↓でTextMateを使っていたこともあって、Macユーザーで使ってた人も割といた印象があ
こんにちは、hachi8833です。 今年は現地参加のみで、録画は後日公開ですね。https://t.co/AUga53JSRL > RubyKaigi 2024 is an in-person only conference RubyKaigi 2024 doesn't offer remote attendance option and live streams. But as usual, we'll record all sessions and will upload to YouTube after the conference. — NAITOH Jun (@naitoh) March 6, 2024 つっつきボイス:「今年のRubyKaigi 2024はライブ中継ないのか〜」「Super Earlybirdはもう売り切れなんですね」 週刊Railsウォッチについて 各記事冒
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: The most underused pattern in Ruby | Arkency Blog 原文公開日: 2023/08/31 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 最近私たちのRailsEventStoreユーザーが、issue #1650を投稿しました。PostGIS拡張を利用しているPostgreSQLデータベースでRailsEventStoreを使いたいが、イベントやストリームで使うテーブルをセットアップするマイグレーションがUnsupportedAdapterで失敗するとのことでした。 これまでRailsEventStoreでは、PostgreSQLアダプタとMySQL2アダプタとSQLiteアダプタをサポートしていました。しかしPostgreSQLでこのPost
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Six ways to prevent a monkey-patch drift from the original code | Arkency Blog 原文公開日: 2023/09/13 原著者: Paweł Pacana 日本語タイトルは内容に即したものにしました。 モンキーパッチ(monkey-patching)を手短に説明すると、直接管理されていない外部のソースコードを、プロジェクトの目的に沿って改変することです。長年動いている「レガシー」プロジェクトのフレームワークを一新する場合や、依存関係をまだアップグレードできない事情がある場合、あるいは多数のコードブロックを移動する必要が生じた場合にモンキーパッチが必要になることがよくあります。 モンキーパッチは手っ取り早く作業を進めるための短期的なソリューションです。モンキ
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Enhanced assert_broadcast
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: “Useless Ruby sugar”: Endless (one-line) methods 原文公開日: 2023/12/01 原著者: zverok 日本語タイトルは内容に即したものにしました。 endlessは一部を除き「endレス」としました。 本記事は、最近のRubyで出現した"無用な"(さもなければ物議を醸す)構文要素を扱うシリーズ記事の一環です。本シリーズの目的は、そうした機能を擁護することでも批判することでもなく、その機能が導入された理由、設計、そして新構文を使うコードに与える影響を分析するための一種の「思考のフレームワーク」を皆さんと共有することです。本シリーズのあらまし記事もご覧ください。 今回は、コミュニティでも賛否が大きく分かれた(ともするとナンパラのときよりも著しかった)機能である1行メソッド定義(o
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Performance impact of the memoization idiom on modern Ruby | Rails at Scale 原文公開日: 2024/02/14 原著者: Jean Boussier(byroot) Ruby 3.2における主要な内部変更のひとつに、オブジェクトシェイプ(object shape)の導入があります。 本記事では、オブジェクトシェイプが導入された理由、仕組み、制限事項について解説します。 🔗 オブジェクトのインスタンス変数はどのように保存されるのか Rubyは非常に動的な言語なので、インスタンス変数へのアクセスという単純な操作でも多くの作業を伴います。 Rubyオブジェクトは、ほとんどの場合インスタンス変数を「参照の配列」に保存します。 たとえば、インスタンス変数を2個持つ
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: “Useless Ruby sugar”: Argument forwarding 原文公開日: 2023/11/24 原著者: zverok 日本語タイトルは内容に即したものにしました。段落編成を若干変更し、訳文の一部に強調を加えています。 forwarding(転送)は本記事では英ママとしました。anonymousは「無名」としました。 参考: プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ 本記事は、最近のRubyで出現した"無用な"(さもなければ物議を醸す)構文要素を扱うシリーズ記事の一環です。本シリーズの目的は、そうした機能を擁護することでも批判することでもなく、その機能が導入された理由、設計、そして新構文を使うコードに与える影響を分析するための一種の「思考のフレームワーク」を皆さんと共有すること
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Rails World CFP, ActiveRe
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails 🔗 Solid QueueをDocker開発とHerokuで利用する(Ruby Weeklyより) 元記事: Using Solid Que
小ネタです、タイトルにはnpm installと書きましたがもちろんnpm startなどにも使えます。 TL;DR npx --package=node@16.20.2 --package=npm@8.19.4 -- npm install 説明 最近はNodeインストール時にデフォルトで一緒にインストールされるnpx、これは例えば npx create-next-app@latest (https://nextjs.org/docs/app/api-reference/create-next-appより など、その場で手軽にnodeパッケージを実行する時に使われたりします。 ところでこのnpxは実行したいコマンドのパッケージのバージョンを指定するオプションがありますが、さらに 実行したいコマンドと別にパッケージのバージョンを指定できる、しかも--packageの書式なら複数OK という
こんにちは、hachi8833です。 情報IIの教科書、普通にscikit-learnで機械学習してるし、クラスタリングしてるし、SQLite3でRDBMSしているし、やばいんですよ https://t.co/AQ9oXPHVU5 pic.twitter.com/XsDutAhLC8 — ところてん (@tokoroten) February 14, 2024 面白いからみんなも斜め読みするといいよhttps://t.co/x2fuiVwBXH — nishio hirokazu (@nishio) February 15, 2024 つっつきボイス:「そういえば高校の情報IIは選択科目だったかな」「情報Iが必須でしたっけ」「国公立大学入試も最近は共通テストって言うみたいですね」「いろいろ変わってきているな〜」「教えられる先生どのぐらいいるのか心配...」 令和4年度より、新しい高等学校学
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Rails 8 introduces a built-in rate limiting API - BigBinary Blog 原文公開日: 2024/02/13 原著者: Yedhin Kizhakkethara 参考: 週刊Railsウォッチ20240123: レート制限APIを追加 Web開発の動的な世界では、リクエストのフローを管理することがアプリケーションの応答性と信頼性を維持するうえで重要です。レート制限(rate limiting)はAPIの交通整理巡査として機能する強力な技術であり、リソースへの正当なアクセスを確保して潜在的な混乱を防ぎます。レート制限を一言で言うと、「ユーザー」「デバイス」「アプリケーション」が一定の時間枠内で許されるリクエスト数(レート)を制御することです。 本記事では、レート制限の概念を詳
本記事は、最近のRubyで出現した"無用な"(さもなければ物議を醸す)構文要素を扱うシリーズ記事の一環です。本シリーズの目的は、そうした機能を擁護することでも批判することでもなく、その機能が導入された理由、設計、そして新構文を使うコードに与える影響を分析するための一種の「思考のフレームワーク」を皆さんと共有することです。本シリーズのあらまし記事もご覧ください。 今回取り上げるトピックは小さなものですが、ハッシュ1 やキーワード引数の値を省略可能にする機能は、複雑な心境を大いにかきたてました。 🔗 値省略とは何か Ruby 3.1から以下のコードが動くようになりました。 x = 5 # ハッシュを構築する h = {x:} # `h = {x: x}`と同じ #=> {x: 5} def distance_to(x:, y:) # ... end # `x: 5`を暗黙で渡す distan
こんにちは、hachi8833です。技術評論社のRuby 3.3記事、まだまだありました🙇。 > 新しいIRBでは行末に;をつけると出力を抑制できます。 知らなかった。便利すぎる。;を付けなくてもデフォルトで抑制できるオプションとかありそう。 というかirb & debugを極めるとめちゃくちゃ生産性上がりそう。今度リファレンスマニュアル眺めてみよう。https://t.co/1btnbrfXPL — Masafumi Koba 🇺🇦 (@ybiquitous) January 25, 2024 Ruby 3.3リリース! 新機能解説 「M:Nスレッドによる軽量な並行処理への挑戦」 公開 https://t.co/Atv0p8wFpx — gihyo.jp (@gihyojp) January 30, 2024 Ruby 3.3リリース! 新機能解説 「徹底解説! default g
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Rails 7.1 comes with an optimized default SQLite3 adapter connection configuration - BigBinary Blog 原文公開日: 2023/10/30 原著者: Vishnu M 参考: 週刊Railsウォッチ20231004: SQLite3アダプタのコネクション設定のパフォーマンスチューニング Rails 7.1では、Active RecordのSQLite3アダプタのコネクション設定が現代のRailsアプリによりふさわしい形で更新されました。 設定の変更について説明する前に、PRAGMA(プラグマ)について理解しておきましょう。PRAGMAは特殊なSQLステートメントで、データベースのさまざまな振る舞いや設定をクエリまたは操作するのに用いら
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Solid Queue & understanding UPDATE SKIP LOCKED - BigBinary Blog 原文公開日: 2024/01/23 原著者: Chirag Shah サイト: BigBinary Blog 日本語タイトルは内容に即したものにしました。 参考: 週刊Railsウォッチ20240117: Solid Queue: 37signalsによるActive Job向けDBベースのジョブバックエンド 🔗 Solid Queueについて 最近になって、37signalsがSolid Queueをオープンソースとして公開しました(関連記事)。 Solid QueueはActive Jobで利用できるクエリバックエンドであり、データベース上に構築されます(これと対照的に、SidekiqやResqu
次のページ
このページを最初にブックマークしてみませんか?
『TechRacho|BPS株式会社のRuby on Rails開発情報サイト』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く