(1) 日本最初のLTはRubyとPerlコミュニティから日本最初のLTは、2001年5月、初台の当時アスキーの地下フロアで行われたYARPC 19101 というイベントでした。 YARPCはYet Another Ruby/Perl Conference の略称で、RubyとPerlのカンファレンスでした。主催はJUS(日本UNIXユーザー会)で、初期の頃のRubyコミュニティは小さかったので、単独ではなく先輩スクリプト言語のPerlと共催するイベントが多かった時代でした。 つまり、日本最初のLTはUNIXをベースとしたRubyとPerlのコミュニティから始まったのです。だから、少なくともRubyコミュニティの方々には、ライトニングトークスの歴史は知ってほしいと考えました。 (2) 高橋メソッドの原型は日本最初のLTで生まれた日本Rubyの会、会長高橋さんが発明した「高橋メソッド」のプレ
Posted by naruse on 25 Dec 2024 Ruby 3.4.1 がリリースされました。 このリリースではバージョン表記を修正しています。 詳しくは GitHub releases を参照してください。 ダウンロード https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz SIZE: 23152739 SHA1: dc42fe22bcdfbd30f63cd93296d893c53b1dadcc SHA256: 3d385e5d22d368b064c817a13ed8e3cc3f71a7705d7ed1bae78013c33aa7c87f SHA512: 93acc262e3b7cf86aeddebdad5b8938c187b9c44a73b0c252b6f873745964001459ae45ece73767
テクノロジー部門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 なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。 「読める」になるために 言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。 Ginza Rails27 igaiga - Speaker Deck 著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。 たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。 できることを知る るりま (Ruby リファレンスマニュアル) の Enumerable、String Rails Guides の Active Support Core Extensions 日本語
技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という
こんにちは、@tk0miya です。 そろそろ RubyKaigi 2023 の余韻も冷めてきたところなのですが、持って返ってきたお土産タスクはまだまだ山盛りなので、少しずつ調べていこうと思っています。 さて、前回は Ruby の型定義情報を使って irb の入力をリッチにする katakata_irb を紹介しました。 rbs_rails を使うと Rails アプリから型定義が自動抽出できることも学びましたよね。 katakata_irb と rbs_rails の組み合わせだけでも、かなり強力な補完をしてくれますが、これに加えて自分で定義したメソッドに型を定義することで、さらに入力補完をパワーアップすることができます。 今回は、その型を定義する準備として、環境づくりの方法を紹介します。 最新の rbs パッケージをインストールする rbs-3.1.0 で導入された rbs subtr
RubyKaigi 2023でRuby JIT Hacking Guideというタイトルで発表してきた。 speakerdeck.com JITコンパイラを書くチュートリアル 今回の発表ではJITコンパイラが書ける人間を増やすことをゴールにしていたが、 30分という短い発表枠内では雰囲気を知ってもらうことにフォーカスし、 実際に手を動かしたい人たちにはそれ用のチュートリアルを触ってもらう形を取った。 github.com JITコンパイラは実は初心者向き 独学でコンパイラの作り方を学ぶ人は、Cコンパイラなどを実装することが多いように思う。 C言語は実装対象として一見シンプルそうに見えて実は結構機能が多いので、C11をゴールに始めてもC89の範囲すら実装しきらないままエターなる人も多いのではないか。 そんな僕みたいな堕落した人間にお勧めなのがJITコンパイラ。 インタプリタと併走する特性上、
サーバーサイドエンジニアの内藤(@naitoh) です。 Rails で構築された小規模な APIサーバー(Rails の API モードで構築したもの)で、Ruby 3.2 の YJITを有効化する事で性能アップすることができましたので、喜びを分かち合いたく共有させて頂きます。 shopify.engineering We’re able to measure real speedups ranging from 5% to 10% (depending on time of day) on our total end-to-end request completion time measurements. YJIT を開発した Shopify では 5%から10%の処理速度の改善があったという事で、以前から弊社でも本番で運用を開始したかったのですが、比較的検証のし易い APIサーバーで
Rubyコミッターの須藤です。 2023年4月に「すでにRubyをよく知っている」人向けの書籍研鑽Rubyプログラミングが出版されました。私はRubyをよく知っているので読む資格があるはず! 内容 Jeremy Evansさんはもりもりコードを書いているRubyコミッターです。そんな人が書いた内容なので、上級者なら知っていそうだけど中級者は知らないかも?というレベルの情報がバンバン出てきます。初心者はついていけないでしょう。あるいは書いている内容を鵜呑みにしてしまうかもしれません。 しかし、ここに書いている内容を鵜呑みにしてはいけません。サブタイトルが「実践的なコードのための原則とトレードオフ」とある通り、一部は「原則」としてベースの考えとしてもいいものですが、そうでないものは「トレードオフ」として考えなければいけません。「トレードオフ」ということはあちらを優先するとこちらがおろそかになる
研鑽Rubyの話 研鑽Ruby出ましたね。 レビューに参加させてもらってコメントさせてもらいました。主に実装周りと性能周り。本書についてはいくつか素敵な書評が出ているのであまり書きませんが、なるせさんが書いていた やりたいことに対していくつもの書き方がある "There is more than one way to do it" なRuby において、『研鑽Rubyプログラミング』はきっとまだ行くべき道を見定められない人の助けとなることでしょう。 という表現はまさに的を射た書評だと思います。Jeremy 流の書き方のご紹介。いろんな書き方を知るのは良い勉強になります。ただ、素直にすべて鵜呑みにするとまずそうな本だと思うので、自分や人の意見を確認しながら、批判的に読むと良いと思います。まぁ、どんな本でもそうかもしれませんが。 Ruby を研鑽した話 で、Rubyの性能に興味のあるパーソンと
イントロダクション 「テストを走らせて型情報を収集すればいいんじゃない?」そのアイデア自体は話題に上がることが多かったかと思われますが、観測範囲では前例がないように見えます。そこで、実際に作ってこそ見える世界があると思い動くものを実装してみました。 Orthoses::Trace github.com orthosesはRBSを生成するための機能を作るフレームワークで、この機能の一つとしてOrthoses::Traceというミドルウェアを実装しました。 例 例題として、rack-testというgemのRBSを生成したいとします。 その場合の生成コードをOrthoses::Traceを使って以下のように準備します。 https://github.com/ksss/orthoses/blob/db80d506c5fb02dadaa0ae303e0761ba0a543f6f/examples/r
Rubyist Hotlinksにインスパイアされて始まったRubyistめぐり。第1回は高橋征義さんをゲストに迎えて、お話を聞きました。こちらは後編です。前編はこちら。 Rubyが他の言語に与えた影響 藤村:第2部、高橋さんについて聞いてみようと思います。今更ながらRubyについて聞きたいんですけど、好きな機能とかありますか? 高橋:好きな機能ですか?あんまり機能としてこれというのなくて、全体的に使い勝手がいいですね。まあでも、そういう意味でいえばオープンクラスの方がいいんじゃないの?みたいな感じがしますね。オープンクラスじゃないRubyはつらそうだって。 藤村:確かに。 高橋:つらそうというかつまらなさそうですね。オープンクラスが原因でつらいことになるのはわかるんですけど、でもあれがないんだったら他の言語でもいいよね、って。 藤村:Rubyがああじゃなかったら他の言語は今のようになって
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: New in Ruby 3.2 - Data.define - DEV Community 👩💻👨💻 原文公開日: 2022/10/06 原著者: Brandon Weaver 参考: class Data (Ruby 3.2 リファレンスマニュアル) Victor ShepelevことZverokが、RubyにData.defineという実に便利な機能をもたらしました。以下はマージ済みのプルリクです。 PR Add Data class implementation: Simple immutable value object by zverok · Pull Request #6353 · ruby/ruby Rubyでの議論は以下です。 issue: Feature #16122: Data: simple im
まとめ Ruby 30周年イベントでLTをしました https://30.ruby.or.jp/ イベント/2023/02/14/Ruby 30周年イベントLT発表一覧 - esa-pages.io 発表資料 ruby30th-lt - unasuke - Rabbit Slide Show 鹿児島Ruby会議02で「QUICをRubyの世界に持ってくる活動をしています」という発表をします https://k-ruby.com/kagoshima-rubykaigi02/ 本当は30周年LTをする前にこの記事を公開したかったのですが、色々あって今になりました。 最近やっていること 昨年末から、Rubyアソシエーション開発助成の対象として採択され、QUICプロトコルをRubyにて実装する活動をしています。具体的には、PythonによるQUIC実装 aioquic をRubyに移植するというこ
Ruby30周年イベントでLTしました プログラミング言語Ruby30周年記念イベント 先日開催されたRuby30周年イベントにおいて、厳正なる抽選によりLTする権利をゲットしました! Ruby30周年イベント、めっちゃ楽しかったです。どこかに集まってみんなで参加すればよかったなー。 初刷り 何冊買いました? 天丼芸として広く認知されている「初刷り買えます」を軸に21世紀のRubyをふりかえるLTをしました。楽しんでいただけたでしょうか。 speakerdeck.com LTの中では明示的に言わなかったけど、Rubyを速くしたり素晴らしくするのはすごい人たちに任せて、 自分としては、いま使える機構で並行に動作するプログラムを書くときの勘所みたいなことを啓蒙(←えらそう)できたらいいなあと思っています。 なにかのライブラリやフレームワークが支援してくれたとしても、そういう勘所(?)を持ってい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く