概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The design decisions and evolution of a method definition - Ruby case study 原文公開日: 2024/06/14 原著者: zverok 日本語タイトルは内容に即したものにしました。また、主にRuby以外のユーザーに向けたサイドストーリー的なパラグラフは囲みスタイルにしています。 本記事は、新シリーズ記事のパート1であり、おそらく書籍の一部として収録されることが見込まれています。Rubyプログラミング言語が設計されたときのさまざまな決定事項と、それらが時とともにどのように進化したか、より広い文脈ではどのように捉えられるかについて研究します。 今回はメソッド定義(method definitions)、つまりメソッド定義の一般的な形と、引数の指定方法を扱います
note株式会社は、Railsガイドに協賛をします。 2014年のサービス開始から今までRailsで開発をしてきまいた。これまですばやくリリースをし、サービス拡大を持続できているのも、Railsのレールの上を走ってこられたからです。エンジニアが開発にすぐに着手できるスピード感は、他のフレームワークにはない強みだと考えています。 Railsで開発を続けている企業にとって心強いのがRailsガイドの存在です。定期的に迅速に改善されていく日本語ドキュメントがあるのも、Railsが愛される理由の一つでしょう。 そんなRailsガイドに少しでも恩返しできるように、協賛という形で支援をしたいと思っております。 ▲Railsガイドを運営するYassLab 株式会社さんにも記事にしていただきました Railsガイドの概要RailsガイドはRuby on Railsに特化した1,600ページ超えの大型リファ
RubyのJava実装「JRuby」、大口スポンサーのRed Hatが離脱で新たなスポンサーや寄付を募集。有償サポートも開始 Ruby言語のJavaによる実装である「JRuby」の開発者が、新たなスポンサーや寄付などを募集していることを明らかにしました。 これは長年にわたってJRubyの大口スポンサーであったRed Hatから、支援の停止の通知を受けたことがきっかけとなっています。 There’s big news in the JRuby world: tomorrow is JRuby’s Independence Day! Developer @headius has committed to fighting for JRuby users and he needs your help. Read his post to the JRuby Blog and follow your
こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで本番運用をしているアプリケーションの1つであるやくばと for Clinicにて、Ruby 3.2からRuby 3.3にアップデートを行った際のパフォーマンスの変化を計測しました。 Ruby 3.3ではYJITの大幅な改善が含まれているので、これによるアプリケーションへの影響を確認していきます。 www.ruby-lang.org gihyo.jp 前提 本記事に記載されたデータは以下の条件で計測をしています。 Rails: 7.1.3.4 YJIT有効化時のオプションは特に付与していない状態(Dockerfileから環境変数を与えて有効化) 3.2.4(+YJIT)から3.3.1(+YJIT)へのアップデート 有効化前後の1週間を比較 パフォーマンスの変化 やくばと for Clinicではモノレポのアプリケ
こんにちは、みてねプロダクト開発部 プラットフォームグループ SREチームの kohbis です。 『家族アルバム みてね』(以下、みてね)では、ほとんどのサーバーサイドをRuby on Railsアプリケーションで展開しています。 そしてタイトルの通りですが、2024年6月時点でみてねのアプリケーションのすべてにおいてRuby 3.3.3へのアップグレードが完了したので、その結果について紹介したいと思います。 Ruby 3.3アップグレードの結果以下はみてねの主なAPIを提供しているアプリケーションのグラフ(平均)です。 Ruby 3.3リリースのタイミングで大幅にレスポンスタイムが改善していることがわかります🙌
こんにちは!メドピアの伏見(@fussy113)です! メドピアでは、Rubyの父でありメドピアの技術アドバイザリーを務めていただいているMatzさん(@yukihiro_matz)をお招きして、オンライン会議を開催しています。 そのオンライン会議にて、5月に開催されたRubyKaigi 2024に参加したエンジニアからの共有会を実施しました。 この記事ではその共有会のレポートをお届けします! RubyKaigi 2024 と メドピアのスポンサーの運用 RubyKaigiのプロポーザルを通したい。 ruby.wasm 最前線 2024 - wasmでMockServerをつくる Improved REXML XML parsing performance using StringScanner 終わりに RubyKaigi 2024 と メドピアのスポンサーの運用 1人目はVPoTの平川
テクノロジー部門で Ruby インタプリタ開発をしている笹田です。 Ruby ではメソッドを駆使してプログラミングをします。そんな Ruby を使っていると、一番使われているメソッド や 一番定義されているメソッド を知りたいと思ったことはありませんか? 私はありませんでした。 が、ものは試しと調べてみました! 調査は、あるタイミングの Ruby の RubyGems で取得できるすべての Gem (の各 Gem の最新版)を集めてきて、その中の .rb ファイルをすべて読み込み、字面上で呼び出されているメソッドと、定義されているメソッドを集計したものです。実際に動かしたときに呼ばれたり定義されたりするメソッドの数の集計ではないことに注意してください(それは、実行しないとわからないので、網羅的な調査は難しいのです)。 ちなみに、この記事は、Ruby のメソッド定義時に仮引数があるとき、それ
I previously wrote a quick intro to the endless method in Ruby and now I will try to use it to name transaction blocks in Rails. This is a technique Kasper Timm Hansen shared in a reply to my previous post. I will try to refactor some examples from two open-source Rails repositories just to explore how the code looks. This open-ended exercise is a playground for experimenting with the code shape a
RubyでSlackのボットを書くには、slack-ruby-client gemやruboty gemなどを使うのが一般的だと思います。 しかし個人的には、Slackボット程度でgemを使うのは好みでないので、なるべく素のRubyだけで書くようにしています。 その方法をまとめておきます。 Slack appを登録する まず、https://api.slack.com/appsで"Create New App"して、適当に設定をします。 次のYAMLを"App Manifest"に貼ってSave Changesすると一気に設定できます。 display_information: name: Sample Slack App features: bot_user: display_name: Sample Slack App always_online: true oauth_config:
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やX.comでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Better error message, opt-i
Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu
Posted by k0kubun on 12 Jun 2024 Ruby 3.3.3 has been released. This release includes: RubyGems 3.5.11 Bundler 2.5.11 REXML 3.2.8 strscan 3.0.9 --dump=prism_parsetree is replaced by --parser=prism --dump=parsetree Invalid encoding symbols raise SyntaxError instead of EncodingError Memory leak fix in Ripper parsing Bugfixes for YJIT, **{}, Ripper.tokenize, RubyVM::InstructionSequence#to_binary, --wi
rubocopをRBSファイルにも効かせたい - スペクトラム で作ってたものが大体できてきて、rbs v3.5もリリースされたので公開できるようになりました。 これでRuboCopをRBSファイルにも使用できるようになりました。 github.com 例えば class Foo def foo: () -> void end というRBSをレビューする時「インデント入れてね」と指摘したくなりますよね。Rubyファイルならrubocopでできるのに、RBSファイルではrubocopで指摘できないという問題がありました。あるんです。きっと。というわけで、できるようにしました。 とりあえず初期バージョンでは20以上のルールを用意しています。 autocorrect(自動修正)にも対応しているので、いつものようにrubocop -aしてあげれば class Foo def foo: () ->
こんにちは、エムスリーキャリアでエンジニアをしているakitoshigaです。 前回書いた『Ruby on Railsのモジュラーモノリス化 ~PackwerkとPacksRailsの導入~ 』に関連する施策のひとつとして、静的型解析のSorbetとTapiocaを試験導入した話をご紹介します。 SorbetとTapiocaについて Sorbetとは、Stripeが開発したRubyの静的(漸進的)型チェッカーです。 sorbet.org SorbetはRBIファイルとRubyファイルへの「sigil(s)」の記載によって機能するのですが、そのRBIファイルの作成をサポートするのがTapiocaです。 github.com ちなみにTapiocaはShopify製になります。 なぜ導入したのか 弊社で保有するプロダクトの1つであるM3Career Primeではモジュラーモノリス化に取り組ん
JetBrains からの Ruby Association 認定 Ruby プログラマー向け特別オファー! Ruby 開発者の皆様へ 弊社は Ruby Association が認定する Ruby プログラマーになるためには多大なる献身的努力が必要であることを理解しています。 皆さんの献身的な取り組みに感謝して特別なお礼をご用意しました。 Ruby Association と JetBrains は、2023 年と 2024 年の試験に合格したすべての開発者を対象に 6 か月間無料の JetBrains の RubyMine サブスクリプションを提供することになりました。 シームレスなコーディングの世界に飛び込み、RubyMine の強力な機能を無料でご利用いただけます! それだけではありません! 無料サブスクリプション終了後の RubyMine ライセンス更新時には 20% 割引価格で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く