並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 238件

新着順 人気順

ractorの検索結果1 - 40 件 / 238件

  • Ruby 3.0.0 リリース

    Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

    • シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 | mond

      シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 フレームワークに頼って実装していると、そのフレームワークが内部でどの様な仕組みで並列または並行処理しているのかが理解できず、ただ使っているだけの状態になり得ます。 フレームワークの設計者からすると、プログラマがそれらを気にしなくても利用できるというのがプロジェクトのゴールでもあるので、それはそれで正しいのですが「並列処理」や「並行処理」を理解したいというモチベーションでは逆にそれが邪魔をしてしまうかもしれません。 並行処理や並列処理を学ぶのであれば、API サーバ等といった物ではなく、コード片で学び始めるのが良いと思います。 例えば Rub

        シングルスレッドやマルチプロセスなどの並行処理の話について、 すぐに忘れてしまいます。 どうしたらもっと知識が定着すると思いますか? 色んなライブラリーでAPIサーバーを立ててパフォーマンスの差などを見てみたりするのですが、結局よくわかりませんでした。 | mond
      • リアクティブは難しいが役に立つ - Chatwork Creator's Note

        お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac

          リアクティブは難しいが役に立つ - Chatwork Creator's Note
        • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

          技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

            Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
          • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

            技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

              プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
            • サーバーサイドエンジニアとして2021年に使った技術と来年の目標 | うなすけとあれこれ

              昨年書いたサーバーサイドエンジニアとして2020年に使った技術1の2021年版となります。 昨年と同じく、冒頭の画像はwakatimeによる2021年1月1日から12月26日までのプログラミング言語使用率です。2位はTypeScript、3位はYAML、4位はTerraformです。 立場 フリーランスで、主にRailsやAWSを使用しているサービスの運用、開発に関わっています。いくつもの会社を見てきた訳ではなく、数社に深く関わっている1都合上、視野が狭いかもしれません。(昨年と同じ) 今年公開している成果については以下です。 Agones移行物語 - Kubernetes Meetup Tokyo 42 #k8sjp|うなすけ|note なぜ我々はクラウドゲーミング基盤をKubernetesに移行したのか #CNDT2021|うなすけ|note Repro のサーバーサイド開発環境を M

                サーバーサイドエンジニアとして2021年に使った技術と来年の目標 | うなすけとあれこれ
              • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

                Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

                  Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
                • プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ

                  技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.1.0 がリリースされました(Ruby 3.1.0 リリース )。今年も Ruby 3.1 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ 本記事は新機能を解説することもさることながら、変更が入った背景や苦労な

                    プロと読み解く Ruby 3.1 NEWS - クックパッド開発者ブログ
                  • Ruby に Software Transactional Memory (STM) を入れようと思った話 - クックパッド開発者ブログ

                    技術部でRubyインタプリタの開発をしている笹田です。コロナの影響で、リモート勤務などに移行し、新しい生活スタイルを満喫されている方々がたくさんいらっしゃるんじゃないかと思います。ただ、私は以前から自主的に自宅勤務することが多かったので、正直生活がぜんぜん変わっていません。 さて、家で私が何をしているかというと、Ruby 3の準備です。その中でも、数年取り組んできた Ruby で並列処理をするための仕組みである Ractor の開発をしています(以前は Guild というコードネームで呼んでいました)。Ractor という名前は、Ruby の Actor みたいな意味で付けました。Erlang とか Elixir で有名な Actor model というアレです。厳密には、Actor model でよく言われる特性をすべて備えているわけではないのですが、並列で動く Ractor を複数作る

                      Ruby に Software Transactional Memory (STM) を入れようと思った話 - クックパッド開発者ブログ
                    • Ruby 3.1 の debug.gem を自慢したい - クックパッド開発者ブログ

                      技術部の笹田です。今日保育園に娘を送りにいったら、娘が先生に「サンタさんにプレゼントもらったよ! お母さんもプレゼントもらってたけどお父さんはもらってなかった!」と報告しており、私だけが悪い子と保育園に伝わってしまいました。 2021年は、笹田は Ruby 3.1 に導入された debug.gem (ruby/debug: Debugging functionality for Ruby)に結構長い時間をかけました(かけてしまいました)。だいたい半年で終わるだろうと思ってたんですが、終わらず。Ractor をもっとやる予定だったんだけどなぁ。ソフトウェア開発の見積もりは難しいですね。 本記事では、debug.gem について、導入の背景、簡単な使い方、それからちょっと面白い機能までご紹介します。 youtu.be (本稿では動画をいくつか載せていますが、動画作成時と記事執筆時が違うので、そ

                        Ruby 3.1 の debug.gem を自慢したい - クックパッド開発者ブログ
                      • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                        テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                          プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                        • まつもとゆきひろの技術情報収集術、そして現在の関心事を聞く - TechFeed Conference 2022スペシャルインタビュー

                          本記事は、TechFeed Conference 2022 の開催に際しての「基調講演」コンテンツです。 先日TechFeed公認エキスパートにもご就任頂いた「Rubyの父」まつもとゆきひろさんに、TechFeedならではの切り口でロングインタビューを敢行! TechFeedといえば技術情報収集ということで、今回はまつもとさんの技術情報収集術について伺いました。(後半ではRubyとコロナ禍、そしてコミュニティについて存分に語っていただきました)。 まつもとゆきひろ、情報収集術を語る – まつもとさんは具体的にどのように情報収集をしてるんでしょう? まつもと: 暇なときずっと、って感じですね。 仕事とかプログラミング以外の時間は、ずっと何かしらの情報を得ているんじゃないでしょうか。 私の情報収集はRSSリーダーがメインですが、Twitterで共有されているリンクなんかも見ますし、寝る前にKi

                            まつもとゆきひろの技術情報収集術、そして現在の関心事を聞く - TechFeed Conference 2022スペシャルインタビュー
                          • Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                            直感的な文法や生産性の高さから、世界中の人々に愛されるオブジェクト指向スクリプト言語Ruby。この言語には継続的に新しい機能や文法が追加されており、利便性が向上し続けています。コミッターの方々による日々の努力が、Rubyの改善を支えているのです。 コミッターのなかでも、とりわけRubyに大きな貢献をしてきたのがアカツキでフルタイムRubyコミッターを務める中田伸悦さん。(アカツキのCSRの取組みについてを記事下部参照) github.com 中田さんはRubyへのコミット数が全コミッターのなかで最多であり、通称“パッチモンスターと”呼ばれています。 今回のインタビューでは、中田さんがRubyへのコントリビューションを始めたきっかけや、印象に残る機能改修について解説してもらいました。「Rubyのことをもっと詳しく知りたい」「オープンソースソフトウェア(以下、OSS)へのコントリビューションを

                              Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                            • プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ

                              技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 昨日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.2.0 がリリースされました(Ruby 3.2.0 リリース)。今年も Ruby 3.2 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ プロと読み解く Ruby 3.1 NEWS -

                                プロと読み解く Ruby 3.2 NEWS - クックパッド開発者ブログ
                              • Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES note

                                Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」 このたび STORES にRubyコミッターの笹田耕一さん、遠藤侑介さんが入社されることになりました。入社に先駆けて、CTOの藤村大介さんがお二人にたっぷりとお話を聞きます。プログラミングとの出会いから STORES を選んだ理由、これからのRubyのこと、そしておふたりの「Fun」とは。 聞き手:藤村大介(CTO) PROFILE: 笹田耕一さん 大学在学時からRuby向け仮想マシンYARVを開発し、2007年に「Ruby 1.9」に採用される。以降、Rubyコミッターとして、言語処理系の高速化に従事し、仮想マシンやガーベージコレクションの性能改善などを行なう。Rubyアソシエーション理事 (2012〜現任)。博士(情報理工学)。 遠藤侑介さん 大学院修了後、大手電機メーカーで研究開

                                  Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES note
                                • プログラミング言語 Ruby30 周年記念イベント レポート

                                  プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                  • Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社

                                    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Future Shape of Ruby Objects 原文公開日: 2021/09/10 原著者: Chris Seaton RubyKaigi Takeout 2021: The Future Shape of Ruby Objects by Chris Seaton - RubyKaigi Takeout 2021 日本語タイトルは内容に即したものにしました。本記事はRubyKaigi Takout 2021 Day2キーノートのスピーチ原稿につき、最終的な発表内容はこのとおりでない部分もあります。流れを把握するために必要と思われる部分については訳注で補足いたしましたが、わかりにくい場合は動画と合わせてご覧ください。 本記事ではshapeの仮訳として「シェイプ」を採用しています。 なお、本記事公開後にCRuby 3

                                      Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社
                                    • Ruby 3.0.0 Preview 1 Released

                                      Posted by naruse on 25 Sep 2020 We are pleased to announce the release of Ruby 3.0.0-preview1. It introduces a number of new features and performance improvements. RBS RBS is a language to describe the types of Ruby programs. Type checkers including type-profiler and other tools supporting RBS will understand Ruby programs much better with RBS definitions. You can write down the definition of clas

                                      • Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ

                                        私たちは Ruby on Rails の主要なマルチテナントライブラリ apartment を使ってサービスを提供しています。 Ruby のバージョンを 3.1 系から 3.2 系に上げたときに CSV ファイルを処理する部分でこのテナントの切り替えが意図通りに動作しませんでした。 この事象が興味深かったので共有します。 現在はこの事象に対応済で、私たちの環境は Ruby3.2 系で動作しています。 apartment ではマルチテナント対応部分をほとんど吸収してくれるので、アプリケーションのコードのほうにはあまりマルチテナント特有の処理が出てこず、個別処理のコードに集中できるメリットがあります。 事象が発生したコードは以下のような形式でした。 CSV.parse(filename, headers: true, header_converters: ->(header) { curren

                                          Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ
                                        • RubyでHTTPサーバーをゼロから手作りする(翻訳)|TechRacho by BPS株式会社

                                          概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Ruby HTTP server from the ground up 原文公開日: 2021/07/03 原著者: Dmitry Ishkov 何かを始めるときはとりあえず動かしてみることが大事ですが、プログラミングをレベルアップするには、それまで慣れ親しんできた抽象概念より数段下の裏舞台を知っておくことも肝心です。 Web開発ではHTTPのしくみを理解しておくことが重要です。そのためにはHTTPサーバーを自作するのが一番です。 そもそもHTTPとは HTTPはTCP上で実装されたプレーンテキストのプロトコルなので、リクエストの内容を調べるのも簡単です(HTTP/2は実際にはプレーンテキストではなく、効率化のためバイナリになっています)。リクエストの構造を見る方法のひとつは、以下のようにcurlコマンド に -v(verbose

                                            RubyでHTTPサーバーをゼロから手作りする(翻訳)|TechRacho by BPS株式会社
                                          • エクストリームプログラミングの成功にRubyは欠かせない 角谷信太郎氏が語る『研鑽Rubyプログラミング』にかける想い

                                            「初学者から上級者までが楽しめるWeb系の技術カンファレンス」、Kaigi on Rails。ここでKakutani氏が、「Polishing on "Polished Ruby Programming" 」をテーマに登壇。『Polished Ruby Programming』という書籍について紹介しました。 今回のセッションで伝えたいこと 角谷信太郎氏:みなさんこんにちは。角谷と言います。Rubyist-istをやっています。 Rubyist-istとは、Rubyistが好きな人のことです。この話は4年前に島根のRubyWorld Conferenceでして、YouTubeに動画とかもあるのでよかったら見てください。 いいカンファレンスで2021年もあるので、ぜひ3万円の松葉ガニを買って、一緒にカニを食べながら楽しみましょう。 『Polished Ruby Programming』という

                                              エクストリームプログラミングの成功にRubyは欠かせない 角谷信太郎氏が語る『研鑽Rubyプログラミング』にかける想い
                                            • 設定情報をエレガントに管理する方法(解決なし) - まめめも

                                              アプリケーションにはいろいろ設定があるものです。一般的な例では、production / development のようなモードや、ログレベルなど。プログラムを書くとき、こういうデータをどのように管理しますか? 大きく 2 種類の書き方があると思います。 グローバル変数(やそれに類するもの)に入れる クラス生成時にコンストラクタに引き回す どちらも一長一短があると思っています。 1. グローバル変数に入れる たとえば、$config = { mode: :development } などとするだけ。 Rubyの場合、グローバル変数だけでなく、定数に入れたり、クラスメソッドにしたり、singletonライブラリを使ったり、スレッドローカルストレージを使ったりするのもこの分類に含めます。 長所 記述がとても簡潔 設定の追加が簡単 短所 グローバル変数を使うことに罪悪感がある 1 つのプロセスで

                                                設定情報をエレガントに管理する方法(解決なし) - まめめも
                                              • Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた 2021年12月25日にリリースされたばかりのRuby 3.1では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさん、ko1さんに詳しくうかがいました。 プログラミング言語Rubyでは2013年の2.1.0以降、毎年クリスマス(12月25日)にメジャーバージョンアップが行われています。2021年も無事にバージョン3.1.0がリリースされました。 ▶ Ruby 3.1.0 リリース Ruby 3.1は、言語機能の面では全体的に穏やかなリリースにも見えますが、新しい方式のJIT(just in time)コンパイラ、標準の新デバッガー、事前アナウンスでも好評だったエラーメッセージの改善な

                                                  Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                • OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab

                                                  お店のデジタル化を支援するSTORES 株式会社(以下、STORES)は、Rubyコミッターの笹田耕一(@koichisasada)さんと遠藤侑介(@mametter)さんの両名を社員として採用しました。笹田さんと遠藤さんはフルタイムのRubyコミッターとして STORES に入社し、Rubyの機能改善や品質向上のための仕事に専念します。 どのような経緯で、両名は STORES への転職を決めたのでしょうか。そして、今後の具体的な活動内容とは。笹田さんと遠藤さんにお話を伺いました。 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 笹田さんが取り組む並列並行処理の改善 遠藤さんが取り組む静的型解析 世の中のニーズと本人のモチベーションが合致して生まれる、奇跡的なキャリア 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 ――転職活動どうもお疲

                                                    OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab
                                                  • irb に show_source があることをもっと知らしめたい - id:onk のはてなブログ

                                                    要は以下の記事の繰り返しなのだが。 k0kubun.hatenablog.com Kaigi on Rails _2022_ new というイベントの LT で、メソッド定義を探ろうという話があった。 speakerdeck.com Rails のソースをシュッと眺めに行くという、非常に尊い良い発表でした。 Object のことは Object に聞け、は Ruby の非常に面白いところなので、Method を取り出して source_location を尋ねるのは一度体験して感動して欲しいんだけど、実務だとタイプ数の少ないやり方も知っておくと更に便利に使えるのでご紹介。 irb の show_source も武器に加えてあげたい #kaigionrails— Takafumi ONAKA (@onk) October 9, 2022 Pry の $ https://github.com/

                                                      irb に show_source があることをもっと知らしめたい - id:onk のはてなブログ
                                                    • M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp

                                                      STORES株式会社でRubyインタプリタ開発をしている笹田です。お正月に新年早々おでんを腐らせてしまったので、今年は作ったらさっさと食べることを目標にしたいと思います。 この記事では、主に私が開発している、Ruby 3.3で導入されたM:Nスレッドについて紹介します。 M:Nスレッドはスレッドの性能向上のために導入されました。M個(大きな数)のRubyスレッドをN個(十分小さい数)のネイティブスレッドだけで実行するというモデルで、スレッド管理のオーバヘッドを抑えられる方法として知られており、ほかにもGo言語などで利用されています。今後、大量のネットワーク接続を処理するといったことをRubyで記述することを検討したい場面が出てくるしれません。そのようなときにRubyでスイスイとプログラムが書ければいいなと思っており、その一貫です。最終的には、Ractorを用いた軽量な並列・並行アプリケーシ

                                                        M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp
                                                      • キャリアのスタートはコールセンター?!プログラミングに出会ってからRubyKaigiに登壇するまでの波乱万丈な人生【Rubyistめぐりvol.3 しおいさん 前編】 - STORES Product Blog

                                                        Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第3回はしおいさん(塩井美咲さん)をゲストに迎えて、お話を聞きました。こちらは前編です。 hey.connpass.com 後編は下記からご覧ください。 私の好きなRubyで世の中に価値を届ける、わからないものをわかるための距離のつめ方【Rubyistめぐりvol.3 しおいさん 後編】 - STORES Product Blog しおいさんの幼少期、波乱万丈な人生の幕開け 藤村:Rubyistめぐりにお越しいただきありがとうございます。今回はみなさんもご存知、しおいさんに来ていただきました。僕個人としても、一体なぜしおいさんがしおいさんになってしまったのか、大変興味があるので今日はお話するのを楽しみにしておりました。 しおい:ありがとうございます。よろしくお願いします。 藤村:よろしくお願いいた

                                                          キャリアのスタートはコールセンター?!プログラミングに出会ってからRubyKaigiに登壇するまでの波乱万丈な人生【Rubyistめぐりvol.3 しおいさん 前編】 - STORES Product Blog
                                                        • RubyKaigi 2023 参加報告とちょっとエモい話 - joker1007’s diary

                                                          RubyKaigi 2023に参加してきました。 今回は長野県の松本での開催でした。 全体的な感想 今回は、会場のスポンサーブースの数や来場者が去年より格段に多く、かつてのRubyKaigiが戻ってきたことを強く感じました。 4, 5年ぶりぐらいに会う人も沢山居て、会う人会う人に「うおー、久しぶりです!」って言って回ってた気がします。 久しぶりに会う人と直接近況をやり取りできるのは、とても嬉しいことですね。 自分はあんまり写真撮らないタイプなのですが(食べ物と酒は除く)、今回は割と多くの #rubyfriends 写真を撮った気がする。 それぐらいはしゃいでいたと言えるのかもしれない。 (撮った写真を了解無く上げるのは、ちょっと気になったので写真は割愛) とにかく、色々な人にまた会えたのが嬉しかった。そういうRubyKaigiでした。 セッションについて 今回は、パーサー周りのトークが妙に

                                                            RubyKaigi 2023 参加報告とちょっとエモい話 - joker1007’s diary
                                                          • Ruby の中にある解決できると嬉しい人が多分多いタフな問題 - HsbtDiary(2022-12-14)

                                                            ■ Ruby の中にある解決できると嬉しい人が多分多いタフな問題 Ruby 開発チーム(コアチーム)には壺と呼ばれる、「これができるととても嬉しい」というネタを放り込む hackmd のページがあります。issue などにして作ったところで誰かが進めるわけでもないし、project にしても epic すぎるが、いつかは何かやりたいという大きさのものを思いついたらすぐに入れています。 今回は Ruby Advent Calendar 2022 の14日目の記事として、この壺の中から熟成された夢をいくつか取り出してご紹介します。 ライブラリのRactor 対応 Ruby 3.0 の目玉として入った Ractor ですが、Ruby のライブラリが Ractor で動くかというとまだわからない、むしろ動かないだろう、というステータスです。RubyGems や Bundler でネットワークアクセ

                                                            • Ruby 3.3.0 リリース

                                                              Ruby 3.3.0 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 Prism default gemとしてPrismパーサを導入しました。 Prismは、Ruby言語のためのポータブルで、エラートレラントで、保守可能な再帰下降パーサです。 Prismは本番環境で使用する準備が整っており、積極的にメンテナンスされています。Ripperの代わりに使用することができます。 Prismの使用方法については、詳細なドキュメンテーションがあります。 Prismは、CRubyに内部的に使用されるCライブラリと、Rubyコードを解析する必要がある任意のツールに使用できるRuby gemの2つのコンポーネントを持っ

                                                              • gist:3ef8747868ac126c30f94888425eb56d

                                                                gistfile1.md yjit についてメモ書き MRI に組み込まれた JIT 実装 Shopify で Maxime Chevalier-Boisvert さんが中心となり開発された 日本語だと https://techracho.bpsinc.jp/hachi8833/2021_11_02/112909 が詳しい めちゃ速い $ for opt in '' '--jit' '--yjit'; do echo "opt": $opt; time ./miniruby $opt -e 'def fib(n); return n if n < 2; fib(n - 1) + fib(n-2); end; fib(35)'; done opt: real 0m1.050s user 0m0.971s sys 0m0.036s opt: --jit real 0m0.755s user 0

                                                                  gist:3ef8747868ac126c30f94888425eb56d
                                                                • ruby/ractor.ja.md at ractor · ko1/ruby

                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                    ruby/ractor.ja.md at ractor · ko1/ruby
                                                                  • kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog

                                                                    2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun ~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。 自己紹介 fujimura:皆様、今日はお集まりいただきありがとうございます。今日はゲストにkateinoigakukunさんと、笹田さんをお迎えしております。プログラムとしては、前半でkateiさんにWasmの話を聞いて、後半に笹田さんに並列並行のところを聞くというようなコンテンツでやっていきます。 さっそく始めていこうと思うのですが、僕らの自己紹介と、kateiさんの自己紹介から始めようかな。僕は STORES でCTOをやってる藤村と申します。RubyKaigiもリアルで参加して、非常に楽しかったです。じゃあ、hogelogさん。 h

                                                                      kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog
                                                                    • Ruby 3.0正式版リリース。「Ruby 2の3倍速」到達、型の記述、スレッドセーフな並列処理など新機能

                                                                      Ruby開発チームは、2020年12月25日にRubyの最新版となる「Ruby 3.0.0」正式版をリリースしました。Rubyは毎年12月25日に最新版がリリースされてきましたが、今回は2013年にRuby 2.0が登場以来7年ぶりのメジャーバージョンアップとなります。 Rubyは以前から実行速度が遅いことが指摘されていたため、Ruby 3はRuby 2の3倍の実行速度を目指す「Ruby 3x3」(ルビースリーバイスリー)構想の下で開発が進められてきました。 そして今回リリースされたRuby 3では、「Optcarrot」と呼ばれるファミコンのエミュレーションによるCPU負荷中心のベンチマークで3倍の性能が達成されたことが示されました。 この性能向上は、ランタイムがインタプリタからJITコンパイラに刷新されたことが大きな役割を果たしています。 そしてJITコンパイラは今後さらに改善されてい

                                                                        Ruby 3.0正式版リリース。「Ruby 2の3倍速」到達、型の記述、スレッドセーフな並列処理など新機能
                                                                      • 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 3.0.0 Released

                                                                          Posted by naruse on 25 Dec 2020 We are pleased to announce the release of Ruby 3.0.0. From 2015 we developed hard toward Ruby 3, whose goal is performance, concurrency, and Typing. Especially about performance, Matz stated “Ruby3 will be 3 times faster than Ruby2” a.k.a. Ruby 3x3. With Optcarrot benchmark, which measures single thread performance based on NES’s game emulation workload, it achieved

                                                                          • RubyKaigi Takeout 2021でしゃべった - たごもりすメモ

                                                                            RubyKaigi Takeout 2021の途中ではあるけど、とりあえず自分の発表終わったのでメモ。 Ractor's speed is not light-speed from SATOSHI TAGOMORI Ractorをワーカーとして使うアプリケーションサーバを作ったよ! という話なんですが、まあこれは話の入りというかそういうもので、実際の内容の中心はRactorではどういうコードが動かないのか、どうすればよいのか、みたいな話です。 で、Ractorで動かないコードは全体的には直していきたいよねということになると思いますが、そうはいっても動かしてみないと確認もできないじゃんということで、主な問題であるところのWebアプリケーションを実際にRactorの上で動かして確認できるようにしておきましたよ、というのが今回作ったright_speedです。 github.com 本当はRac

                                                                              RubyKaigi Takeout 2021でしゃべった - たごもりすメモ
                                                                            • RubyKaigi 2024 参加レポート - ZOZO TECH BLOG

                                                                              こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot

                                                                                RubyKaigi 2024 参加レポート - ZOZO TECH BLOG
                                                                              • Ruby3 さみっと online 開催報告 - クックパッド開発者ブログ

                                                                                Ruby インタプリタの開発をしている技術部の笹田です。以前から自主的にリモートワーク状態だったので、あまり仕事環境は変わっていません。が、子供の保育園の登園を自粛しているため、色々大変です(主に育休中の妻が)。日常がはやく戻ってくれることを祈るばかりです。 さて、去る 4/17 (金) に、Ruby3 さみっと online というウェビナーイベント(オンラインイベント)を開催しました(Ruby3 さみっと online - connpass)。今年の12月にリリースされると言われている Ruby 3 に関するトピックに絞った発表会です。本稿では、このイベントについてご報告します。 RubyKaigi 2020 が、4月から9月に延期されたので、Ruby 3 開発のマイルストーンがちょっと宙ぶらりんになってしまいました。 そこで、一つお披露目する機会を作ろうと企画したのがこのイベントです

                                                                                  Ruby3 さみっと online 開催報告 - クックパッド開発者ブログ
                                                                                • Ruby 3.0.0RC1が登場、型の記述や静的型推論ツールなど新機能。12月25日の正式リリースに向け

                                                                                  Ruby 3.0.0RC1が登場、型の記述や静的型推論ツールなど新機能。12月25日の正式リリースに向け Ruby 3では、型の記述や静的型推論ツール、並列処理などの新たな機能が追加されます。 型の記述では、型情報を記述するための「RBS言語」が用意されるようになりました。このRBSで型情報のコードを記述しておくことで、Rubyのコード中のクラスやモジュールに対して型情報を与えることができるようになります。 静的型推論ツールとしてバンドルされる予定なのがTypeProfです。Rubyのコードをこのツールに入力すると、推論の結果としてRBSで記述された型情報のコードが出力されます。 これによりRubyコード内のバグを発見する助けになるほか、出力されたRBSコードをそのまま、あるいは改変して型情報を与えるためのRBSコードとして用いることなども可能です。 ただしまだTypeProfは実験的な段

                                                                                    Ruby 3.0.0RC1が登場、型の記述や静的型推論ツールなど新機能。12月25日の正式リリースに向け