この記事は福岡Rubyist会議の登壇資料です。ひとまず資料の公開のために記事を公開します。 この記事は登壇後に編集し、登壇報告記事になります。(追記: と言っていたのですが、新しく記事を書くことにして公開しました。 Rubyの外部コマンド実行入門について発表しました - pockestrap) スライド スライド内で用いているフローチャート
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文更新日: 2024/05/28 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ
最近Rubyを学び直したり、アルゴリズムの基礎練をしたりしているのだが、debug.gemおよびvscode-rdbgが便利すぎるので紹介。 debug.gemやvscode-rdbgとは debug.gem( https://github.com/ruby/debug )とは最近のRubyのモダンなdebugger。これまでlib/debug.rbやbyebug、debaseなどがあったが、それらのいくつかの課題を解決したdebuggerとなっている。Ruby 3.1 の debug.gem を自慢したい - クックパッド開発者ブログ に背景や基本的な使い方が詳しく載っている。 またRubyKaigi 2022のruby/debug - The best investment for your productivity - RubyKaigi 2022でも紹介された。Scriptable
こんにちは、グロービスの法人開発チームでエンジニアをしている森谷です。 新卒でSIerに入りサプライチェーン管理の開発を5年弱した後、縁あってグロービスに入社し4年目となりますが、毎日楽しく開発に従事しています。 グロービスでは勉強会が多く開催されており、興味のある勉強会に自由に参加することができます。私自身もデータベース設計、ソフトウェア設計、テスト技法、スクラムなど様々な勉強会に参加してきました。 今回、Rubyコミッターの笹田さん(@koichisasada)が雑誌「WEB+DB PRESS」に連載されていた記事「Rubyのウラガワ」の勉強会を完走しましたのでご紹介します。 笹田さんに勉強会に参加していただき質疑応答する機会が得られるなど、大変貴重な経験もできましたので是非ご一読いただければ幸いです。 リモートで笹田さんにも参加頂きました!勉強会について技術顧問として参画して頂いてい
Posted by naruse on 8 Feb 2023 Translated by mame Ruby 3.2.1 がリリースされました。 これは 3.2 シリーズにおける最初の TEENY リリースになります。 詳しい変更については GitHub releases を参照してください。 ダウンロード https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz SIZE: 20448976 SHA1: aa570c9c89dc19090f623dc31083a4fa4e2b8a7b SHA256: 13d67901660ee3217dbd9dd56059346bd4212ce64a69c306ef52df64935f8dbd SHA512: f8bbff5e237b501f4042ddc70a19ac1ce74f72f147c
CTO 藤村がホストするPodcast、論より動くもの.fmの第17回を公開しました。今回はエンジニアの卜部とプログラミング言語を開発する喜びと大変さ、ソフトウェア開発のやりがい、難しいと感じることについて話しました。 論より動くもの.fmはSpotifyとApple Podcastで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 テキストで読みたい方は下記からご覧ください。 コードを書かないで済むなら、それが正義 藤村:こんにちは、論より動くもの.fmです。論より動くもの.fmは、STORES のCTO 藤村が技術とか技術じゃないことについてざっくばらんに話すPodcastです。今日はエンジニアの卜部昌平さんに来てもらいました。 卜部:よろしくお願いします。 藤村:自己紹介を簡単にお願いします。 卜部:はい。卜部と言います
Do you think dynamically typed interpreted Ruby language and statically typed compiled Rust language could be friends? Yes, they can! And actually, they are! Officially it all started when YJIT was ported to Rust and Ruby codebase has officially onboarded Rust code. This friendship matured when RubyGems 3.3.11 (with a new Add cargo builder for rust extensions feature) was released capable of compi
こんにちはCTO室の緑川です。今回はアンドバッドさんが主催しているPodcast「ANDPAD TECH TALK」のゲストに弊社の@mameが出演した記事の後半です。Podcastとしてお聞きしたい方は下記のアンドパッドさんの記事からお聴きください。 tech.andpad.co.jp 前編の記事はこちらです。 【前編】企業所属のRubyコミッター対談! 〜企業に所属するOSS開発者って何?〜 - クックパッド開発者ブログ トーク本編 櫻井:皆さま、こんにちは。アンドパッドの開発本部でエンジニアリングマネージャーをしている櫻井です。 櫻井:13回目のANDPAD TECH TALKです。ANDPAD TECH TALKはアンドパッドの開発チームの中の人をゲストに招いて、あれやこれやお話しするカジュアルなテック系Podcastなのですが、今回は前回に引き続き社外ゲストをお招きしたスペシャル
はじめに こんにちは。ニコニコ漫画の開発をしているyotaとtukiyoです。 この記事はペアブロギングによって執筆しています。 本記事ではニコニコ漫画で利用しているRubyのバージョンを3.2.0へ更新したこととYJITの有効化によるパフォーマンスの変化について紹介します。 ニコニコ漫画のインフラ構成についてにある通り、ニコニコ漫画は4つのプロダクトによって運用されています。 このうち本記事の対象となるのは、Rubyを利用している「新バックエンド」と「課金サブシステム」になります。 今回、Rubyのバージョンが3.2.0になったことでYJITが実験段階ではなくなりました。*1 ニコニコ漫画のバックエンドシステム内では複雑な処理も多く、恩恵に与ることを期待して更新を行いました。 結果として大きなパフォーマンスの向上が見られました。 はじめに 更新に関する作業 更新前後のパフォーマンス比較
こんにちは、hsbt です。先日、Podcast を収録した際に紹介した PS5 のウィッチャー3がまだ終わらずに引き続き時間を費やしています。いつになったら終わるのでしょう。 今日は前回の Ruby フルタイムコミッタになってからやったこと、の定期シリーズということで 2022年12月にフルタイムコミッタとして行った仕事の一部をご紹介します。 ソフトウェア開発におけるアーカイブの重要性 Ruby に限らずソフトウェア開発において、コードの Why と Why not を把握できる状況を維持することは、自分だけではなくソフトウェアに関わるチームメンバー全員にとって、継続的な開発を行うための重要な取り組みです。 コードには How テストコードには What コミットログには Why コードコメントには Why not を書こうという話をした— Takuto Wada (@t_wada) 2
RubyのYJITコンパイラをShopifyが本番に投入、Railsアプリを高速化。Rubyも本格的にJITの時代へ ECサイト構築サービスを提供するShopifyは、Ruby 3.2に搭載されているYJITコンパイラを同社の本番環境に投入し、Railsベースで構築された同社サービスの性能改善を実現したと明らかにしました。 YJITコンパイラはShopifyが開発を進めてきたRubyのJITコンパイラで、大規模なRailsアプリケーションにおいてより高い性能向上を目指して開発されたものです。 一昨年末のRuby 3.1でメインラインにマージされ、昨年末に登場したRuby 3.2ではさらに改善が進められて本番環境にも耐えるようになったと説明されており、今回Shopify自身がそれを実証した形になりました。 If you’re a keen Rubyist, you may have hear
Matz葉がにロボコン向けに作ったRubyによるレゴ制御、LWP.jsとRuby-Jamでしたが、その場でプログラミングしている様子を見たこどもたちにはちょっと難しそうな印象を与えてしまいました。 引いてしまう理由は、アルファベットの小文字や見慣れない記号が並ぶプログラミング言語にあると仮説を立て、作った新プログラミング言語「IchigoRuby(イチゴルビー)」。記号とタイプ量が少なくて済むRubyの文法そのままに、予約語をアルファベット大文字でも使用できるようにした、Rubyのサブセットです。 「IchigoRuby」 RubyParserで構文木(AST)を生成する200行弱のミニインタプリタ「execRuby.js」へ渡すプログラムを、まるごと小文字にしています(文字列内も変換されてしまう問題はIssueに記述)。 WHILE 1 LED 1 SLEEP 1 LED 0 SLEEP
Ruby 3.2’s YJIT is Production-ReadyYJIT, a just-in-time (JIT) implementation on top of CRuby built at Shopify, is now production-ready and delivering major improvements to performance and speed. Maxime (Senior Staff Engineer and leader of the YJIT project) shares the updates that have been made in this newest version of YJIT, and future plans for further optimization. Shopify and YJIT Back in July
国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味を仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。 仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン
こんにちは!アンドパッドの鳩です。 Podcastの配信の話に入る前に、皆さんにお知らせしたいことがあります! 2022年の #Spotifyまとめ をやってみたところ、なんと「45%のリスナーがあなたのエピソードをほとんどすべて聴きました」「あなたのポッドキャストは、世界で最も多くシェアされた番組の上位30%に入っています。」とのことで、ご愛聴&多くのシェアをいただきありがとうございました!うれしい! さて、本題です。 アンドパッド開発本部がお届けするPodcast「ANDPAD TECH TALK」第12回が配信されました! 今回は、社外ゲストをお招きしたスペシャリト対談回となっており、前編・後編と2回に渡ってお届けします! 出演 モデレーター: 櫻井 (エンジニアリングマネージャー) 社内ゲスト: 柴田(フェロー) 社外スペシャルゲスト: 遠藤侑介さん(クックパッド株式会社) Sho
前回のあらすじ Ruby Parser開発日誌 (2) - かねこにっき Error Recoveryについてまとめました。もう少し詳しくError Recoveryを説明したほうがいいと思ったので、今回は前回の内容を具体例を用いながら解説します。 最初にLR parserの仕組みについて説明し、その後Error Recoveryの仕組みについて説明します。 LR parserの仕組み 用語の解説 LR parserの仕組みの説明に入る前に、これから使う用語について簡単に説明します。 終端記号: Lexerが生み出す記号のことです。例えばRubyではkeyword_class ("class")という記号はLexerが生み出します。トークンと呼ぶこともあります。 非終端記号: Lexerが生み出さない記号です。かわりに生成規則によって定義されます。例えばprimaryという非終端記号はpr
前回のあらすじ Ruby Parser開発日誌 (1) - かねこにっき Ruby 3.3にむけてLALR parserを前提にError Recoveryを実装していくことになりました。 現在の進捗 Corchuelo et al. のサブセットを実装した error recovery tokenのsemantic valueやlocationを設定できるようにした "Repairing Syntax Errors in LR Parsers" Don’t Panic! Better, Fewer, Syntax Errors for LR Parsers も参考にしている論文に Repairing Syntax Errors in LR Parsers があります。 この論文では insertions: 現在のlookahead tokenの前に1つtokenを追加する (追加したうえ
It’s this time of the year again where Ruby is released and everyone asks: Is it faster? You will find out below! And if you are interested, you can compare the results to the previous installations of this post for the years 2016, 2017, 2020 and 2021. This christmas Ruby 3.2.0 was released, featuring improvements across the board. The YJIT just in time compiler has been ported to Rust and can now
$ bundle exec rake build . . ... error[E0425]: cannot find value `RUBY_ABI_VERSION` in the crate root --> /path/to/cargo/dir/registry/src/github.com-1ecc6299db9ec823/rb-sys-0.9.29/src/ruby_abi_version.rs:14:73 | 14 | pub const __RB_SYS_RUBY_ABI_VERSION: std::os::raw::c_ulonglong = crate::RUBY_ABI_VERSION as _; | ^^^^^^^^^^^^^^^^ not found in the crate root For more information about this error, tr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く