並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

TruffleRubyの検索結果1 - 27 件 / 27件

  • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

    Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

      Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
    • Ruby フルタイムコミッタの仕事報告 2023年Q4 - ANDPAD Tech Blog

      こんにちは hsbt です。RubyConf Taiwan 2023 の登壇から帰国して後はバルダーズ・ゲート3をプレイして年を越すのみ...! とは行かず、Ruby 3.3.0 のリリースに向けて最後の準備作業をしている真っ最中です。 さて、今回はANDPAD Advent Calendar 2023の20日目として、今年1年私がプログラミング言語 Ruby の開発のために手を動かしてきた内容の中からテックブログやカンファレンスで発表していない内容をまとめてご紹介します。 default gems から bundled gems への変更の目的 私は数年前から Ruby に元々添付されていたライブラリ(標準添付ライブラリ)を default gems と呼ばれる gem としてもインストールやアップデートができる状態にし、そこからさらに bundled gems と呼ばれる Ruby 本

        Ruby フルタイムコミッタの仕事報告 2023年Q4 - ANDPAD Tech Blog
      • 新しいRubyパーサーPrism利用時の開発体験の変化

        この記事で扱っていること 本記事ではRuby 3.3で導入されたPrismという新しいパーサーについて扱っています Prismが持つ「パース時に問題が発生した場合でも可能な限り意味のある結果を返却する」という機能に着目して下記について話します Rubyを記述する際の開発者体験がどれくらい向上しているのか? 「可能な限り意味のある結果」をどうやって組み立てているのか? 最後に主テーマから外れますが、Prismの動かし方についても話しています はじめに こんにちはウォンテッドリーで推薦基盤の改善をやっているnasaです 去年の12/25にもRubyの最新バージョンがサンタさんから届きました。https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/ 最新バージョンのRuby 3.3.0ではPrismという新しいパーサーが導

          新しいRubyパーサーPrism利用時の開発体験の変化
        • YJIT Is the Most Memory-Efficient Ruby JIT

          This year, the YJIT team and I have gotten a paper accepted at MPLR 2023 (Managed Programming Languages and Runtimes), which is now freely available through ACM open access. The paper, titled “Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach”, goes into details of the strategy taken to evaluate YJIT’s performance in a production context. One of our key findings, when com

            YJIT Is the Most Memory-Efficient Ruby JIT
          • Prism in 2024

            In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

              Prism in 2024
            • Ruby: 2024年までのPrismパーサーの長い歴史を振り返る(翻訳)|TechRacho by BPS株式会社

              概要 CC BY-NC-SA 4.0 Deedに基づいて翻訳・公開いたします。 英語記事: Prism in 2024 | Rails at Scale 原文公開日: 2024/04/16 原著者: Kevin Newton CC BY-NC-SA 4.0 Deed | 表示 - 非営利 - 継承 4.0 国際 | Creative Commons 日本語タイトルは内容に即したものにしました。 syntax treeは「構文ツリー」と訳しています。lexerは英ママとしています。 Ruby 3.3.0では、Prismと呼ばれる新しい標準ライブラリがCRubyに追加されました。PrismはRuby言語を解析するパーサーであり、Cライブラリ版(CRubyでもオプションで利用可能)とRubyライブラリ版(Ruby gemとして利用可能)の両方が公開されています。Prismプロジェクトは多くの開発

                Ruby: 2024年までのPrismパーサーの長い歴史を振り返る(翻訳)|TechRacho by BPS株式会社
              • 週刊Railsウォッチ: Prismの歴史と現況を振り返る、Steepの"narrowing"実装の内部ドキュメントほか(20240426後編)|TechRacho by BPS株式会社

                週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) お知らせ: 来週および再来週の週刊Railsウォッチはお休みをいただき、通常記事を公開します。 🔗Ruby 🔗 Steepの"narrowing"実装の内

                  週刊Railsウォッチ: Prismの歴史と現況を振り返る、Steepの"narrowing"実装の内部ドキュメントほか(20240426後編)|TechRacho by BPS株式会社
                • Rubyが楽しくて良い言語になることが STORES の未来につながる【STORES.rb × Asakusa.rb 文字起こしレポート】 - STORES Product Blog

                  2023年9月26日に開催した『STORES.rb × Asakusa.rb』のトーク部分を文字起こし形式でお届けします。 hey.connpass.com STORES がRubyコミッターを迎えた理由 藤村:STORES.rb×Asakusa.rbにお越しいただきありがとうございます。よろしくお願いします。ご存知の方も多いと思うんですが、笹田さんと遠藤さんが STORES に入社されました!やったー!プレスリリースが9月1日に出たんですね。写真を撮りました。 www.st.inc 笹田:なんかプレスリリースに出る系エンジニアって言われました。 遠藤:入社時にプレスリリースを出すことを要求するエンジニアっていう。 一同:(笑) 藤村:こんな感じで記事も出しました、という感じで STORES に来ていただきました。 people.st.inc で、これはただの自慢なんですけど、遠藤さんが作

                    Rubyが楽しくて良い言語になることが STORES の未来につながる【STORES.rb × Asakusa.rb 文字起こしレポート】 - STORES Product Blog
                  • JRuby Prism - A new parser for a new era

                    JRuby Prism - A new parser for a new era Thomas E. Enebo - Feb 23, 2024 Introduction JRuby has added support for the new backend parser Prism via the gem: jruby-prism-parser. Installing this gem will give you access to enable Prism (export JRUBY_OPTS="-Xparser.prism"). At this stage jruby-prism-parser is at the technology preview stage but capable of running pretty much everything: Rake, RSpec, Ru

                    • 正規表現のPrettier、パーサに取り組むために読んだ本、RubyKaigi 2023で面白かった発表。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.3 - STORES Product Blog

                      2023年6月15日に『深掘りRubyKaigi 2023 with spikeolaf & makenowjust』を開催しました。イベントの内容をほぼ全文文字起こし形式でお届けします。この記事は第3部です。 hey.connpass.com 登場人物 ゲスト makenowjust/藤浪 大弥さん spikeolaf/金子 雄一郎さん STORES fujimura/藤村 大介 shyouhei/卜部 昌平 hogelog/小室 直 LramaとRaccの関係性 fujimura:ここからは質疑応答コーナーに入りますので、みなさん質問があればどしどしZoomもしくはTwitterにお寄せいただけるとありがたいです。 shyouhei:藤並さんも金子さんに質問があれば。 makenowjust:今Rubyの標準の周辺にあるパーサジェネレータとしてLramaとは別にRaccもあるじゃないで

                        正規表現のPrettier、パーサに取り組むために読んだ本、RubyKaigi 2023で面白かった発表。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.3 - STORES Product Blog
                      • 週刊Railsウォッチ: solid_queueとmission_control-jobsが正式にRailsのgemに、Rubyの"チルド"文字列ほか(20240402)|TechRacho by BPS株式会社

                        こんにちは、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ウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄

                          週刊Railsウォッチ: solid_queueとmission_control-jobsが正式にRailsのgemに、Rubyの"チルド"文字列ほか(20240402)|TechRacho by BPS株式会社
                        • RubyKaigi 2024の予習メモ・リンク集 - osyoyu.com/blog

                          間違いがあったり、他に予習したほうが良さそうなテーマがあったら教えてください。 Concurrency & Parallelism (GVL, Ractor, M:N, async) これ全部同じ項でいいのか? 並行(concurrency)と並列(parallelism) 本当に同時に実行されるのが並列(雑な説明) 並行であっても並列とは限らないが、並列であって並行でないことはない GVL (Global VM Lock) Rubyで並列に実行されるThreadの数を高々1つに制限する機構 = Rubyでは並列計算はできない ただし、I/O(ファイルの読み書きやネットワークアクセス)はこの制限を無視できる マルチスレッドプログラミングを簡単にする機構として導入されている 複数のThreadから同じ変数にアクセスしてもデータが壊れない(データレースが起きない)のはGVLのおかげ = 真に同

                          • Gradual Write-Barrier Insertion into a Ruby Interpreter

                            Gradual Write-Barrier Insertion into a Ruby Interpreter Koichi Sasada Cookpad Inc. Japan ko1@cookpad.com Abstract Ruby is a popular object-oriented programming language, and the performance of the Ruby garbage collector (GC) di- rectly affects the execution time of Ruby programs. Ruby 2.0 and earlier versions employed an inefficient non-generational conservative mark-and-sweep GC. To improve this

                            • Kevin Newton | Advent of Prism

                              Advent of Prism: Part 0 - Introduction Nov 30, 2023 Two and a half years ago, I began working on what is today known as the prism Ruby parser. This is a new Ruby parser that is now being integrated into runtimes and tooling alike. This includes CRuby, JRuby, TruffleRuby, Natalie, Syntax Tree, RuboCop, and many others. Over that time period, I’ve learned just about everything there is to know about

                                Kevin Newton | Advent of Prism
                              • The Alternative Implementation Problem

                                In this post, I want to talk about a dynamic that I’ve seen play itself over and over again in the software world. In fact, I would venture a guess that this kind of situation probably happens in the hardware world as well, but I’ll speak about software systems since this is where my experience lies. This discussion is going to touch a bit on human psychology, and outline a common trap so that you

                                  The Alternative Implementation Problem
                                • 週刊Railsウォッチ: Rails 7.0.7に含まれているRails 7.0.6のバグ修正ほか(20230823前編)|TechRacho by BPS株式会社

                                  週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — This Week in Rails - July

                                    週刊Railsウォッチ: Rails 7.0.7に含まれているRails 7.0.6のバグ修正ほか(20230823前編)|TechRacho by BPS株式会社
                                  • Tuning Performance for Deployment — Ruby on Rails Guides

                                    This guide covers performance and concurrency configuration for deploying your production Ruby on Rails application. After reading this guide, you will know: Whether to use Puma, the default application server How to configure important performance settings for Puma How to begin performance testing your application settings This guide focuses on web servers, which are the primary performance-sensi

                                      Tuning Performance for Deployment — Ruby on Rails Guides
                                    • What's new in Ruby 3.3

                                      Every year on Christmas day, the Ruby core team releases a new version of Ruby. This year will likely be no different, and we can expect Ruby 3.3 next week. This year, the primary focus of the release is performance and developer experience. There aren’t as many major changes to the language features as in previous versions, so this post is going to be shorter than usual. Here are some of the high

                                        What's new in Ruby 3.3
                                      • Unlock The Universal Parsers: A New PicoRuby Compiler - HASUMI Hitoshi - Rabbit Slide Show

                                        Page: 1 Unlock The Universal Parsers A New PicoRuby Compiler @hasumikin Monstarlab Page: 2 [AD] “n-monthly Lambda Note” Vol.4, No.1 Learning How Programming Languages Control Electrical Circuits with PicoRuby (Japanese only) 1,760 yen (tax included) Page: 3 CRuby’s parser parse.y and prism.c: human-writable parse.c: generated by Bison or Lrama prism.c: no generator needed Bison parse.c (retired) L

                                          Unlock The Universal Parsers: A New PicoRuby Compiler - HASUMI Hitoshi - Rabbit Slide Show
                                        • Omotesando.rb#93に参加しました! - motohiLog

                                          1月11日にOmotesando.rb #93に参加しました! 【オフライン開催】Omotesando.rb #93 - connpass 前回が初めてで今回は2回目の参加でした! 参加しての感想&自分で調べたことを記録しています。 間違い等ありましたらコメントいただけたら幸いです。 会場提供:wantedly様 Oshiumiさん リサさん 神速さん まいむさん Hamaさん kishimaさん SoraIchigoさん まとめ 会場提供:wantedly様 Oshiumiさん 選考前と入社後のプロダクトを作っている。 システムの多くはRuby、サービスによってGo、Pythonも。 元々がRailsができている。 Wantedly Engineering Handbook - Wantedly Engineering Handbook エンジニアを積極採用中とのことでした! リサさん

                                            Omotesando.rb#93に参加しました! - motohiLog
                                          • 最新のRubyとその開発について

                                            2023年12月にリリース予定のRuby 3.3に関する現状と、Rubyインタプリタ開発をするための基礎知識をご紹介します。 本記事は、TechFeed Experts Night#24 〜 プログラミング言語をつくる・解析する ー 言語界隈をエキスパートが語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 「最新のRubyとその開発について」というタイトルで、クックパッド株式会社の笹田が発表させていただきます。 まず自己紹介です。Rubyのインタプリタの開発を生業としています。会社としてはRubyインタプリタの開発では直接の利益は得られませんが、クックパッドでは多くのプログラムがRubyで書かれているので、将来への投資ということで、Ruby

                                              最新のRubyとその開発について
                                            • GraalVMでのTruffleRubyの使用

                                              GraalVMでのTruffleRubyの使用 GraalVMは、TruffleRubyを実行するプラットフォームです。 GraalVMをインストールすると、--nativeと--jvmの両方のランタイム構成でTruffleRubyを実行できます。 依存性 TruffleRubyを正しく実行するには、TruffleRubyの依存性をインストールする必要があります。 Community EditionとEnterprise Edition GraalVMには、オープンソースのCommunity Editionと、それよりもパフォーマンスおよびスケーラビリティに優れたEnterprise Editionがあります。比較については、Webサイトを参照してください。 ベース・イメージのインストール GraalVMは、高パフォーマンスの言語ランタイムのプラットフォームを提供するベース・イメージから始

                                              • Ruby Hack Challenge Holiday in 福岡 #1 を開催した - 虚無庵

                                                connpass.com 2023-08-05 に笹田さんをお招きして Ruby Hack Challenge を福岡で開催しました。 Ruby 処理系の説明をする笹田さん 最初に 今回、笹田さんの交通費は日本 Ruby の会にご支援いただきました。ありがとうございます。 日本 Ruby の会は今回のような勉強会だったり、海外カンファレンスの渡航費*1、国内で開催される Ruby カンファレンスの交通費などを支援してくれます。「これは支援してもらえるのかな?」と思ったらまずは Issue を作成して聞いてみましょう。 なんでやりたかったのか? 今回サポートとして id:udzura さんにご協力いただいたが、以前からうづらさんとは「恒常的に実用的な Ruby への貢献がしたい」と話していました。 コミュニティ活動としては Fukuoka.rb を運営しているものの、初学者・未経験者も受け入

                                                  Ruby Hack Challenge Holiday in 福岡 #1 を開催した - 虚無庵
                                                • EP251 大倉さんとRuby / Railsの日本語Podcast・Kaigi on Rails 2024について語る - ゆるふわPodcast

                                                  大倉雅史さん(@okuramasafumi)をゲストにお迎えして、Ruby / Railsの日本語Podcast、Podcastを始める話、Kaigi on Rails 2024などについて話しました。 ゲスト:大倉雅史(OKURA Masafumi)さん Twitter / X: @okuramasafumiWebサイト: okuramasafumi.comチャプター 00:00:00 ゲスト: 大倉雅史さん00:05:11 mkとの関係00:10:16 大倉さんのPodcast00:38:12 Kaigi on Rails 2024リンク 大倉雅史(OKURA Masafumi)(@okuramasafumi)さん / Xokuramasafumi.com - 大倉雅史についてRubyKaigi 2024事後勉強会 - connpassKaigi on Rails 2024okuram

                                                    EP251 大倉さんとRuby / Railsの日本語Podcast・Kaigi on Rails 2024について語る - ゆるふわPodcast
                                                  • [Rails]rails6から7へのバージョンアップ

                                                    '~> 3.2'はRubyのバージョン指定の一形式で、セマンティック バージョニング(Semantic Versioning)と呼ばれる規則に基づいています。この指定は一般的に、依存関係管理システムで使用されます。 セマンティック バージョニングでは、バージョン番号はMAJOR.MINOR.PATCHの形式で表されます。MAJORは主要な変更が行われるときに増加し、MINORは後方互換性がある機能追加が行われるときに増加し、PATCHはバグ修正などの後方互換性のある修正が行われるときに増加します。 '~> 3.2'は、MAJORが3であることと、MINORが2以上であり、かつ3未満であることを指定しています。つまり、3.2.x(3.2.0、3.2.1、3.2.2など)のバージョンを指定しています。一方で、3.3.0以上のバージョンは含まれません。 この指定は、依存関係を持つGemやライブラ

                                                      [Rails]rails6から7へのバージョンアップ
                                                    • Ruby プロファイラーの有効化

                                                      プロファイラーは、Datadog トレースライブラリ内で送信されます。アプリケーションですでに APM を使用してトレースを収集している場合は、ライブラリのインストールをスキップして、プロファイラーの有効化に直接進むことができます。 要件Datadog プロファイラーには Ruby 2.3+ が必要です (JRuby と TruffleRuby はサポートされていません)。 以下の OS、アーキテクチャに対応しています。 Linux (GNU libc) x86-64、aarch64Alpine Linux (musl libc) x86-64、aarch64また、pkg-config または pkgconf Linux システムユーティリティのいずれかがインストールされている必要があります。 このユーティリティは、ほとんどの Linux ディストリビューションのソフトウェアリポジトリで入

                                                        Ruby プロファイラーの有効化
                                                      • Truffule Rubyの高パフォーマンスの仕組みを調べてみた

                                                        この記事はPharmaXアドベントカレンダー2023年の15日目の記事です。 はじめに TruffleRubyは、Oracle Labsが開発した、Rubyの高パフォーマンス実装です。 Truffle言語実装フレームワークとGraalVMコンパイラを使用し、GraalVM上で動作します。 TruffleRubyはこれらの技術により、従来のMRI(Matz's Ruby Interpreter)に比べて高速な実行性能を提供します。 今回はTruffle言語実装フレームワークやGraalVMについて調査し、TruffleRubyがどのようにして高パフォーマンスを実現しているのかをまとめます。 GraalVM GraalVMとは GraalVMは、多言語対応の高性能ランタイムとして開発されたソフトウェアです。このプラットフォームは、Java Virtual Machine (JVM) ベースであ

                                                          Truffule Rubyの高パフォーマンスの仕組みを調べてみた
                                                        1