"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
Rubyの開発に参加している須藤です。Apache Arrowの開発中に、他のシステムでは受け付ける浮動小数点数の文字列表現をRubyでは受け付けないことを知ったので、Rubyでも受け付けるようにする?という話をしたら受け付けるようになりました。ということで、2024年12月にリリース予定のRuby 3.4.0からString#to_f/Kernel.#Floatの挙動が少し変わります。Ruby 3.4.0 preview2にも入っているので、これで試して問題がある場合は https://bugs.ruby-lang.org/ に報告してください。今ならまだこの挙動を元に戻せるかもしれません。 きっかけ Apache Arrowにはdecimalという精度を維持したまま小数を表現できる型があります。これ自体は一般的な型で、各種データベースでもサポートされていますし、RubyにはBigDec
The new Prism parser has become the default in Ruby 3.4.0 preview 2. Let’s benchmark Ruby parsers and find out how fast they are. We run benchmarks on Ruby 3.4.0 preview 2 with YJIT (ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [x86_64-linux]), on an AMD Ryzen 7 3700X 8-Core Processor and a NVMe M.2 SSD, on Linux, with frequency scaling disabled and the performance CPU governor.
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 目次 巻頭言 書いた人:るびま編集長 高橋征義 るびま編集長 高橋征義からの 0064 号発行の挨拶です。(難易度:高) FirstStepRuby Ruby をはじめるにあたって必要な情報をご紹介します。本稿は Rubyist Magazine 常設記事です。(難易度:低) Rails Girls Matsue 5th 開催レポート 書いた人:槇原 育美さん, 石川 瑞希さん 2023 年 11 月 11 日に開催された Rails Girls Matsue 5th の開催レポートです。 (難易度:低) RubyKaigi 2024 のトーク “Adding Security to Microcontroller Ruby” の日本語解説記事 書いた人
こんにちは osyoyu です。RuboCop は好きですか? B/43の開発の現場でもRuboCopは活用しており、ご多分に漏れず .rubocop.yml がすくすくと育てられていました。コードの一貫性はよく保たれていた…… のですが、 # rubocop:disable がそれなりの頻度で出現したことからも、適用されているルールが最良のものかは少しばかり疑問があった、という具合です。 そこで、今回は “unconfigurable” をウリにしているRuboCopルールセットであるStandard (standardrb/standard) を採用し、全コードをこのルールに適合するよう修正しました。Standardは少々 “強い” 名前ですが、コミュニティの中でコレ一強・一択というものでもなく、あくまでひとつのオプションという立ち位置です。 しかしそれなりに大きなコードベースではこの
Kaigi on Rails 2024 がやってきます !! アンドパッドは Kaigi on Rails 2024タイムテーブル解説会 という事前イベントを Asakusa.rb と共催するほど楽しみにしており、今回はアンドパッドの中でも一番 Kaigi on Rails に詳しいカンファレンスオーガナイザーの 福本 江梨奈 こと ぷぽ に Kaigi on Rails の楽しみ方を聞いてきました !! Ruby/Rails のコミュニティの話、意外と知られていない(?) ぷぽの会社の仕事など盛り沢山に聞いているので、ぜひご覧ください。 ぷぽ @pupupopo88 (福本 江梨奈) (X のプロフィールより) Ruby とそのコミュニティをこよなく愛する、なんちゃってサーバサイドエンジニア。 / Organizer of #kaigionrails / Director of Ni
テクノロジー部門の笹田です。寒暖差が大きく、体調が心配になる季節ですね。うちの家族は私以外が風邪ひいてしまい、いつ私にうつるか戦々恐々しています。皆様もどうぞご自愛ください。 先月 9/11-13 に Sarajevo, Bosnia & Herzegovina で開催された EuRuKo2024 でキーノートの発表をしてきたので、イベントと発表した内容について簡単にレポートします。 EuRuKo2024 EuRuKo は、ヨーロッパで行われる代表的な Ruby に関するカンファレンスです。場所と運営者を毎年交代していく(多分)珍しいカンファレンスで、これまで様々な場所で行われてきました。私は今回4回目の参加で、プラハ、ギリシャ、ザルツブルグ、そしてサラエボに参加しましたが、どれも大変良かったです(ヨーロッパはたいていどこも良いと感じるのかもしれない)。 Day 1 of #EuRuKo2
カンファレンスニュース Ruby LSPチームは、11月にChicagoで開催されるRubyConf 2024に参加します。Ruby LSPやRuby開発者の経験について幅広く話してみたい方は、ぜひご参加ください。 🔗 概要 本記事では、Ruby LSPのアドオンシステムを紹介し、これによって解決される問題や、アドオンシステムのアーキテクチャについて解説するとともに、アドオンのサンプルもいくつか紹介し、今後のアドオンエコシステムでRuby開発エクスペリエンスを強化する構想についても共有します。 🔗 Ruby LSPの概要 Ruby LSPは、言語サーバー(language server)の実装であり、Rubyコードを効率よく書けるようにすることを目的として設計されています。Ruby LSPは、エディタに機能を提供するために静的コード解析を利用します。ただしRubyエコシステムでは動的プ
RubyKaigi 2024 の Embedding it into Ruby code というトークで RBS::Inline が発表されてから、4ヶ月が経ちました。 その間にいくつかの導入事例、利用記事を見かけてきましたが、タイミーさんの 前編:YARD から rbs-inline に移行しました という記事を読んで、重い腰を上げて RBS::Inline を導入することにしました。 この記事では、RBS::Inline を導入するにあたってハマったところや工夫が必要だった箇所について紹介します。 通常の導入や文法についての説明は省きますので、そのあたりは 公式の Syntax guideやタイミーさんの記事を見てください。 どの構文を選ぶのか RBS::Inline ではコメント形式で型情報を記述します。 attr_* アクセサの型や定数の型、メソッドの型など、さまざまなものに型コメ
GVL の実体 Ruby 3.4 では rb_thread_sched が Thread の並行性制御を担っている、と思う。この辺をいじればとりあえず GVL を雑に外せるのではないか。 diff --git a/thread.c b/thread.c index 2a937ca278..684efea3bc 100644 --- a/thread.c +++ b/thread.c @@ -1445,6 +1445,7 @@ rb_thread_sleep(int sec) static void rb_thread_schedule_limits(uint32_t limits_us) { + return; if (!rb_thread_alone()) { rb_thread_t *th = GET_THREAD(); RUBY_DEBUG_LOG("us:%u", (unsigne
2024年6月20日に『深掘りRubyKaigi 2024 with kateinoigakukun & ledsun & remore』を開催しました。イベントの内容をほぼ全文文字起こし形式でお届けします。この記事は第1部です。 hey.connpass.com イベントのアーカイブはYouTubeでも公開しています。 登場人物 ゲスト kateinoigakukun/齋藤さん ledsun/中島さん remore/澤田さん STORES fujimura/藤村 大介 mame/遠藤 侑介 自己紹介 fujimura:藤村です。STORES でCTOをやっています。 mame:遠藤です。STORES でフルタイムRubyコミッターをしています。ruby.wasmはkateiさんが開発を始めた初期から話を聞いたりサポートさせてもらったりしてます。ruby.wasmはまだ仕事で使った人はほと
Posted by naruse on 7 Oct 2024 We are pleased to announce the release of Ruby 3.4.0-preview2. Prism Switch the default parser from parse.y to Prism. [Feature #20564] Language changes String literals in files without a frozen_string_literal comment now emit a deprecation warning when they are mutated. These warnings can be enabled with -W:deprecated or by setting Warning[:deprecated] = true. To dis
Ruby on Rails アプリケーションである Redmine の Wasm 化を試しました。 基本機能は動作しましたが、ディスクアクセスが必要な機能(例: 添付ファイルのアップロード)は動作しませんでした。 Mastodon in the browser demo を参考に、Redmine を Wasm 化する手順を解説します。 前田 稔です。プログラミング言語Rubyの国際会議 RubyKaigi 2024 のセッション「RubyGems on ruby.wasm」で紹介された Mastodon in the browser demo を拝見し、 Redmine も同様にブラウザ内で動作させられるのではないかと考えました。本記事では、その検証結果と Wasm 化の手順についてまとめています。 期待と検証結果 Mastodon は Ruby on Rails で開発されたアプリケーシ
タイミーでバックエンドのテックリードをしている新谷(@euglena1215)です。 タイミーでは RBS の活用を推進する取り組みを少しずつ進めています。意図はこちら メンバーと雑談していたときに「steep check でコケたときにその名前で調べても全然ヒットしないので型周りのキャッチアップが難しい」という話を聞きました。 いくつかのエラー名でググってみたところ、 Ruby::ArgumentTypeMismatch や Ruby::NoMethod など有名なエラーはヒットしますがほとんどのエラーはヒットせず、ヒットするのは Steep リポジトリの該当実装のみでした。 これでは確かにキャッチアップは難しいだろうと感じたので、Steep のエラーリファレンスを作ってみました。ググってヒットするのが目的なのでテックブログとして公開してインデックスされることを期待します。 各エラーの説
Recently I gave a talk at RailsWorld (hopefully they’ll post the video soon), and part of my presentation was about eliminating allocations in tokenizers. I presented a simple function for measuring allocations: def allocations x = GC.stat(:total_allocated_objects) yield GC.stat(:total_allocated_objects) - x end Everything in Ruby is an object, but not all objects actually make allocations. We can
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く