この記事は、freee Developers Advent Calendar 2025 の 12日目の記事です。 こんにちは。freeeでエンジニアをしている高田と申します。普段はエンジニア横断組織で共通基盤・社内用共通ライブラリを開発したり、プロダクトの開発支援などを行っています。趣味はお散歩です。 今回は、サービス開始から丸12年が経過して複雑になったRuby onRails製サービスで、安全かつ効率的にデッドコードを消せるようにするために行ったことをお話します。 3行サマリ デッドコードを検出するためにcoverband gemを入れようとしたものの、入れたいサービスの規模が大きすぎて入らなかった コードの実行状況を集計するシステムを内製して、Redash+GitHubでいつでも見られるようにした MCPサーバーでデータをcoding agentにつなぎこむことで、自動的に消せない

こんにちは。CTO室データソリューションチームの開です。 この記事は「エンジニア達の人生を変えた一冊」として、弊社エンジニア達の人生を変えた本を紹介していきます。エンジニアとしてのキャリアや技術的な視点に大きな影響を与えた一冊とは?それぞれの思い入れのある本から、技術への向き合い方や成長の軌跡が垣間見えるかもしれません。 今回は私・開と、松村さん、田頭さんの3名のエンジニアが、人生を変えた一冊を紹介します。 まず私から、データエンジニアとしてのアイデンティティを確立させた一冊を紹介させていただきます。データ基盤構築の世界に深く足を踏み入れるきっかけとなった実践的な書籍です。 ■ 開功昂 / データエンジニア ■ CTO 室データソリューションチームでデータエンジニアをやっている開です。 実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウ 実践的データ基盤

Ruby開発者なら誰もが一度は「バージョン管理と依存関係」の沼にはまったことがあるかもしれません。rvm、rbenv、bundler…などさまざまなツールが存在し、最適な組み合わせを考えるのはかなり複雑な作業となります。そんな悩みに終止符を打つべく、新しいRuby管理ツール「rv」が登場しました 開発者のAndré Arko氏は、Pythonの「uv」に感銘を受け、「Rubyにも欲しい!」と自ら開発を開始します。目指すのは、rvm +bundler + gem exec + npx のいいとこ取りで、RubyGemsのSamuel Giddins氏や、rbenvの創設者Sam Stephenson氏もチームに参加し、開発は加速中です。 rvの主な特徴は次の通りです:Rubyのバージョン管理とgem依存管理を統合 複数ツールを使い分けなくてOKRust製で爆速 rvm installや

こんにちは。ruby-devチームの遠藤(@mametter)です。 次期バージョンのRubyでは、pathnameがRuby本体組み込みとなり、require "pathname"なしで利用可能になる予定です。Rubyで書き捨てスクリプトを書いてる自分のような人は地味にうれしいかもしれません。 Feature #17473: Make Pathname toembedded class ofRuby -Ruby -Ruby Issue Tracking System さて、pathnameの組み込みがマージされた直後、非常に興味深いバグが発生しました。 今回はそのデバッグの経緯を技術ブログとして共有したいと思います。 問題の発生:特定環境でのみ失敗するテスト コミッタのhsbtさんがpathnameの組み込み化をマージした後、なぜかRubyのCIの一部が落ちるようになりました。
概要 原著者の許諾を得て翻訳・公開いたします。英語記事: Guardrails Are Not Code Smells | byroot’sblog 原文公開日: 2025/02/09 原著者: byroot --Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかしその前に解説しておく必要があることがいくつかあります。今回は「レジリエンス(resilience: 回復力)」についてです。 数年前、unicorn-worker-killer gemには重大なコードの臭い(code smel

下記の記事の内容をRuby Gemにしました!react_router_rails_spa gem. 以下のコマンドを実行するだけで、Modern SPAをRuby onRailsに載せることができます。 #Railsのインストールrails new test_app cd test_app # gemのインストールbundle addreact_router_rails_spabundle install bin/rails generatereact_router_rails_spa:install # サーバ立ち上げ bin/rails s bin/railsreact_router:dev はじめに こんにちは!Ruby onRailsフロントエンドエンジニアを目指し、Hotwireを中心に活動しつつ、Next.jsもReactも勉強している加々美です! 202

Posted by naruse on 23 Apr 2024Ruby 3.3.1 has been released. This release includessecurity fixes. Please check thetopics below for details.CVE-2024-27282: Arbitrary memory address read vulnerability with Regex searchCVE-2024-27281: RCE vulnerability with .rdoc_options in RDoc See theGitHub releases for further details. Download https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.1.tar.gz SIZE:
これまで「Rubyは死んだ」、「Railsがオワコン」と定期的に言われて、そういった記事やSNSの書き込みにさまざまな意見が寄せられてきました。が、今年はRuby onRails復活の兆しが見えてきました。我々paizaもRailsで開発をしているので嬉しい限りです。 【目次】Ruby onRailsはオワコンと言われている背景 (1)他言語比較での言及数の少なさ (2)言語特性における短所を語られやすい (3)AIやデータサイエンスの普及 いい加減「Ruby onRailsはオワコン」とは言えなくなってきた背景 (1)面接リクエスト数の増加 (2)成熟した言語であり安定性がある (3)エンジニアスキルとして今でも求められている 「オワコン」は抽象的過ぎる表現Ruby onRailsはオワコンと言われている背景 「Ruby onRailsはオワコン」という言説に関して、あえて

こちらはTimee Advent Calendar2023 シリーズ1の25日目の記事になります。 昨日は @tomoyuki_HAYAKAWA によるSwift Concurrency AsyncStreamを使ってみる #Swift - Qiita でした。 タイミーでバックエンドエンジニアをしている id:euglena1215 です。 メリークリスマス🎄 みなさんの手元にはプレゼントは届いているでしょうか。Ruby の世界ではRuby コミッターサンタさんがクリスマスプレゼントとして新しいRuby バージョンをリリースしてくれます。 今年はRuby 3.3 ですね。個人的には 3.3 の YJIT がどれだけ速くなるのか楽しみです。 また、新しいバージョンのリリースにはアップグレードがつきものです。アップグレードせずには新しいバージョンの恩恵を受けることはできません。

Ryzenはゲーム用CPUとしては特に問題ないのだが、 ソフトウェア開発においてはIntelのCPUに比べて不便なポイントがいくつかある。 日々業務で使っていてあまりにもストレスが溜まるので、CPUをIntel Core i7に変更した。 このマシンは8年前に組んだ自作PC なのだが、使っていて不便を感じたパーツを差し替え続けた結果、 今回のアップデートで全てのパーツが当時とは違うものに変わったため、 それぞれ古い方のパーツで不便だったポイントなどを紹介したい。仕事で使う自作PC 社内のサービスをいじる時は会社から貸与されているM1MacBook Proを使うのだが、このマシンは不便である。Rubyのビルドは自分のLinuxのマシンに比べ2倍以上遅いし、Reverse Debuggingができるデバッガが存在しないし、 慣れたツールであるLinux perfも使えないし、Podman

RubyKaigi2023に参加してきました。 今回は長野県の松本での開催でした。 全体的な感想 今回は、会場のスポンサーブースの数や来場者が去年より格段に多く、かつてのRubyKaigiが戻ってきたことを強く感じました。 4, 5年ぶりぐらいに会う人も沢山居て、会う人会う人に「うおー、久しぶりです!」って言って回ってた気がします。 久しぶりに会う人と直接近況をやり取りできるのは、とても嬉しいことですね。 自分はあんまり写真撮らないタイプなのですが(食べ物と酒は除く)、今回は割と多くの #rubyfriends 写真を撮った気がする。 それぐらいはしゃいでいたと言えるのかもしれない。 (撮った写真を了解無く上げるのは、ちょっと気になったので写真は割愛) とにかく、色々な人にまた会えたのが嬉しかった。そういうRubyKaigiでした。 セッションについて 今回は、パーサー周りのトークが妙に
研鑽Rubyの話 研鑽Ruby出ましたね。 レビューに参加させてもらってコメントさせてもらいました。主に実装周りと性能周り。本書についてはいくつか素敵な書評が出ているのであまり書きませんが、なるせさんが書いていた やりたいことに対していくつもの書き方がある "There is more than one way to doit" なRuby において、『研鑽Rubyプログラミング』はきっとまだ行くべき道を見定められない人の助けとなることでしょう。 という表現はまさに的を射た書評だと思います。Jeremy 流の書き方のご紹介。いろんな書き方を知るのは良い勉強になります。ただ、素直にすべて鵜呑みにするとまずそうな本だと思うので、自分や人の意見を確認しながら、批判的に読むと良いと思います。まぁ、どんな本でもそうかもしれませんが。Ruby を研鑽した話 で、Rubyの性能に興味のあるパーソンと

この記事は、初心者、説明なしにとりあえず環境構築したい、といった方を対象にしています。 そのため、画像付きで説明しますが細かな説明は省いています。PC環境MacBook Pro (M1 Max, 2021)mac OS Monterey (ver 12.5)SSD 2TB RAM 32GB 参考記事・進め方 今回はこちらの記事を参考にさせていただき、全く同じ手順で行っています。 https://kiyobl.com/rails-docker-basic/Docker Desktop の インストール 初めに、dockerのHPからお使いのPCに合わせて、デスクトップアプリをインストールします。 https://www.docker.com/ ↑こちらをクリックすると、dockerのHPに飛びます。 ・Windows ・Mac OS(Intel Chip) ・Mac OS(Appl

スピードショップ株式会社は、Ruby onRails のパフォーマンスコンサルティング企業です。ツール、情報、トレーニングを通じて、Rails を使ったビジネスの収益を上げ、スケーリングコストを削減するためにすべてのスタック(フロントエンド、バックエンド、インフラ)を最適化します。高速なサイトは収益性の高いサイトであり、スピードは価値です。 プロダクトRuby onRails パフォーマンスアポクリファ. 近日中に正式な日本語訳を公開予定です。 サービス内容 現在、すべてのサービスは英語で提供されています。 ワークショップ 開発者のRuby やRails のパフォーマンススキルを向上させたい企業のために、日本では直接、世界各地ではリモートでのワークショップを提供しています。1 日から 4 週間、5 人から 100 人の開発者まで、世界 5 大陸の約 100 社で開催しています。あ

(インターネットやめろジェネレーターで作成)Ruby onRails生みの親であり最強の逆張りおじさんであるところのDHHが昨年あたりからしきりに脱パプリッククラウドの主張をしている。 これは彼らの会社が運用しているBasecampやHEYのインフラをAWSから自社保有のベアメタルサーバーへ移行しようとしているからで、実際に移行作業は進んでおり、今後5年間で700万ドルのサーバー費用を節約できるだろうという見込みがあるようだ。 world.hey.com world.hey.com あとタイトルに「サーバーレスをやめろ」と書いたけどDHHのファンボである筆者の誇張表現であり、サーバーレスというキーワードに関しての言及は正確には以下のポストを読んで欲しい。 world.hey.com この文章における「the computing cycles」とは、一台のコンピュータが持つ計算能力全体を

このプログラムは、Ruby 0.49(1994年リリース)からRuby 3.2.1(今月リリース)まで、現在確認されているすべてのCRubyで動作するQuineです。 eval($s=("t='eval($s=('+d=34.chr;s=3 2.chr+$s*i=8;v=$VERSION||eval('begin;v=V ERSION;rescue;v||RUBY_VERSION;end');f=('?'*8 +'A|'+'?'*20+'G?c'+'?'*15+'A@CXx@~@_`OpGxCxp@~pO xS|O~G?c?q?xC`AP|q?x_|C_xC_xO@H@cG?G?qA|_|_`GCpOxC|H NFccqq@`_|OF@`?q?x_@x_x_`GB`O``O~G?C@qCxCxP@D@|G~C?pO|C? pO|C?AP|A~HNN`ccxC|Q@L@B"+"GpGpc@p
こんにちは、hsbt です。先日、Podcast を収録した際に紹介したPS5 のウィッチャー3がまだ終わらずに引き続き時間を費やしています。いつになったら終わるのでしょう。 今日は前回のRuby フルタイムコミッタになってからやったこと、の定期シリーズということで2022年12月にフルタイムコミッタとして行った仕事の一部をご紹介します。 ソフトウェア開発におけるアーカイブの重要性Ruby に限らずソフトウェア開発において、コードの Why と Why not を把握できる状況を維持することは、自分だけではなくソフトウェアに関わるチームメンバー全員にとって、継続的な開発を行うための重要な取り組みです。 コードには How テストコードには What コミットログには Why コードコメントには Why not を書こうという話をした— Takuto Wada (@t_wada) 2

この記事はRubyアドベントカレンダー2022の15日目の記事です。 以下のような話をお送りします:AWSLambda +APIGatewayを使ってる話 LFAというWeb frameworkをガッと書いた話 LFAでLambdaの手元開発が楽になるのではという話Ruby 3.1で導入されたKernel#loadの便利機能が超便利という話Lambda関数ごとに環境変数ENVの内容を変えたいという話 最近AWSLambdaべったりな話 最近自分でサービスを作ってるんですが、サーバサイドは全部AWSLambda +APIGatewayでやっつけてます。 EC2を常時起動して管理するのもやだし、大した規模でもないからゴツいビルドパイプラインをセットアップしてコンテナイメージをビルドするのも面倒だし、みたいなことを考えると、コードをそのまま送り付けるとあとは動きつづけてくれる
今年の後半は久しぶりにRubyに機能を追加したりしており、Ruby 3.2に3つの機能(もしくは変更)をいれたので紹介したい。Ruby 3.2リリースまであと一ヶ月くらいあるので、現時点でBugなどをみつけたら教えてほしい。 1.RubyVM::AbstractSyntaxTreeにkeep_tokensオプションを追加した 名前の通りtokenの情報を保持するようにし、あとでNodeからtokenを取得できるようにするためのオプション。RubyVM::AbstractSyntaxTreeの.parse, .parse_file, .ofの3メソッドで使うことができる。 とりだすときはRubyVM::AbstractSyntaxTree::Nodeの#tokensもしくは#all_tokensでtokenを取得できる。 root =RubyVM::AbstractSyntaxTre
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く