YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 1.58.1 以上) が必要になります。Rust のインストールに使う rustup については以下の公式ページなどを参照してください。 www.rust-lang.org YJIT はデフォルトではビルドされません (なので YJIT を使わないビルドであれば Rust 処理系は不要です) 。 デフォルトの YJIT なしの Ruby をビルドしている場合は --yjit オプションを渡しても、ruby: warning: Ruby was built w
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 GCコンパクションの2つのカーソル移動順序を入れ替え PR: Reverse the order of GC compaction cur
pixiv事業本部の丸山(@alitaso)です。 2022年4月よりピクシブは Ruby アソシエーションの Platinum スポンサーとして協賛を開始しました。 ピクシブ株式会社 - Ruby Association www.ruby.or.jp Ruby アソシエーションとは Ruby Associationは、プログラミング言語Rubyの普及と発展のための非営利団体です。Ruby関連のプロジェクトやコミュニティ、ビジネスの関係を強化し、Rubyの利用に関する諸問題の解決に取り組みます。 Ruby 開発及びコミュニティ支援をはじめとして、RubyWorld Conference や Ruby Prize といったカンファレンスの開催、Ruby技術者認定試験事業や事業者認定制度などを実施しています。 特に開発に関連する部分では 公募型開発プロジェクト 開発用の設備購入費用やサービス利
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Why I love Ruby: blocks - DEV Community 👩💻👨💻 原文公開日: 2022/03/01 原著者: Ary Borenszweig💻 -- Crystal言語の作者のひとりです Rubyのブロックについて既にご存じの方は、この後の「Rubyのブロックは単なる無名関数ではない」までスキップいただいて構いません。ここではご存じない方向けに簡単なチュートリアルを行います。 Rubyのブロックについての簡単なあらまし Rubyのメソッドは、ブロックを1つ受け取れます。以下は最もシンプルな例です。 def run yield end run do puts "Hello world!" end 上のコード例では、runメソッドの定義内でyieldを行っています。このrunメソッドを呼び出すと
窓の杜で取り上げていただいた後も実装は少しずつ続けていて、ひとまずブラウザ上で最新のRubyを試すのに必要な機能は一通り実装できたんじゃないかと思う。リファレンスマニュアルへのリンクを貼ってシンタックスハイライトを入れたりCtrl+Enterで実行できるようにした。(自分が書いたサンプルコードはScrapboxにあるのでコピペして試せます) https://rubyonbrowser.ongaeshi.me/ モバイルでも簡単なコードだったら書けるように色々工夫したのでちょっとしたコードを書きたいときにぜひ試してみてほしい。(Select Allボタンは結構こだわった) 他のブラウザ言語処理系と大きく違うこととして「ファイルを読み書きするAPIも使える」ということがある。元々WASIがWASMにファイルIOや通信を持せたることを目的にしたものなのでRuby WASM/WASI自体がファイル
rbsg.md [PoC] Proposal of RBS generation method using Rack architecture RBS generation problem RBS is an easy language to generate code for because of its simple syntax and lack of dependencies between files. In addition, there are currently a large number of required type definitions, so code generation for RBS is considered to be highly important. Various attempts have been made to generate RBS
ソフトウェアの内部では、データを様々な形に加工しつつ、あちこちに受け渡して再利用します。そのためのデータ構造として、RubyではHashクラスのオブジェクト(他の言語ではMapだったりDictionaryだったり連想配列だったりします)を使うことはよくあります。 単体の数値や文字列ではなく、それらを組み合わせたデータを扱う際には、Hashオブジェクトが便利です。 しかし、あらゆる場面でHashを駆使しようとすると、利便性よりも弊害が大きくなります。 典型的な症状 あちこちで同じだったりちょっと違ったりするHashオブジェクトを引き回していたりします インスタンス変数が少なく(あるいはまったくなく)、その代わりとしてメソッド引数のHashオブジェクトにいろんなデータを渡していたりします 1つのHashオブジェクトのキーとして、文字列やシンボル、さらにはそれ以外のクラスのオブジェクトが使われて
こんにちは、サーバーサイドエンジニアといいつつも最近は React をいじっていることが多い矢崎(id:Saiya)です。 去年あたりに自宅用に作っている Rails のアプリケーションから、libgd *1 の提供する C 言語向けの API を呼び出すコードを導入していたのですが、その際に使った RubyInline gem が便利だったので、(主に自分への備忘録を兼ねて)使う上での留意点や tips などを書いておきます *2。公式のサンプルにあるような簡単な利用例ではあまり迷うことはないのですが、多少凝った用途で使う上でハマった点もありましたため、備忘とご共有までに。 なお、この記事は エムスリーアドベントカレンダー 7 日目の記事です、他の記事もぜひご覧くださいませ。 RubyInline gem とは C 言語のソースの文字列を inline メソッドに渡すとコンパイルされ、R
RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応 Ruby言語のインタプリタをWebAssemblyランタイムで実行できるようにする移植作業が実現しました。WebAssembly版Rubyのバイナリファイルがプレリリース版として公開され、実際に試すことができます(ruby/ruby.wasm)。 RubyのWebAssemblyへの移植作業が始まったことは、1月に公開した記事「RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように」で紹介しましたが、この移植作業が早くも完了したことが、移植を行ったkatei (Yuta Saito)氏が公開したドキュメント「An Update on WebAssembly/WASI Support in Rub
Posted by naruse on 3 Apr 2022 Ruby 3.2系最初のプレビューリリースである、Ruby 3.2.0 Preview 1 が公開されました。Ruby 3.2では多くの機能を追加しています。 WASIベースのWebAssemblyサポート WASIベースのWebAssemblyへのコンパイルがサポートされました。これにより、ブラウザやサーバーレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになります。現在この移植版はThread API以外のbasic testとbootstrap testをパスしています。 Background もともとWebAssembly (Wasm)が導入されたのは、プログラムをブラウザの上で安全かつ高速に実行するためでした。しかし、様々な環境で安全かつ効率的にプログラムを実行するとい
こんにちは、プログラミングを勉強中のデザイナー、sugiweと申します。 福岡周辺の地域RubyコミュニティであるFukuoka.rbのロゴデザインコンペが開催され、ありがたいことに自分の提案を採択していただきました! Rubyというのは、まつもとゆきひろ氏により開発された日本産のプログラミング言語で、Rubyで書かれたRuby on Railsというフレームワークは国内外問わず非常にたくさんのサービスで活用されています。 今回ロゴをデザインさせていただいたFukuoka.rbをはじめ、RubyやRuby on Railsに関することを自主的に学ぶ勉強会や団体が数多くあり、それらは地域Rubyコミュニティ(あるいはRubyコミュニティ)と呼ばれています。 今回の記事では決定したロゴのご紹介とともに、最終的なデザインに至るまでの過程などについて書いていきます。 背景note記事で触れるのは初
春ですね。先程、子供の保育園での最終登園を終え、万感の思いです。 システム基盤部の栗原(ksss)です。 この度、開発しているプロダクトのコードにRubyの型チェック機能を導入しました。 私が導入までに工夫したことを紹介したいと思います。これを読んでいる皆様のプロダクトにおけるRBS導入の参考になれば幸いです。 プロダクトとエコシステムをWin-Winに 社内の開発者にRubyの型に興味を持ってもらい、使ってもらうことができれば、フィードバックを得ることができます。 このフィードバックから開発体制を改善し、ひいてはツールの不具合修正や機能改善を提案することによって、Rubyエコシステム全体に貢献できます。 そうすれば、さらに開発体制が良くなる好循環が生まれると目論んでいます。 つまり最初の興味が大事なのです。 より興味を持ってもらうことを目的に、社内でRBSハンズオンを開催しました。 RB
今日は主に正規表現のマッチ処理にタイマウトを設定できるようにする新機能の追加や TracePoing#enable にブロックを渡した時の target_thread のデフォルト値の変更などがありました。 [c67088dbae] Nobuyoshi Nakada 2022-03-29 09:42:00 UTC 拡張ライブラリ psych の extconf.rb にバンドルしている libyaml より外部ライブラリとしてインストール済みのものが使えるならそちらを優先するようにしています。 default gems なので他のバージョンの ruby と使っている場合の対応……かな? そういえば gem としてリリースされていた psych には libyaml のソースファイルはバンドルされてなかったのかな。 [b257034ae5] Burdette Lamar 2022-03-29
It took forever, but gem-compare hits 1.0! What is gem-compare, you ask? gem-compare is a RubyGems plugin that can compare gem versions. I originally created it to vet new gem versions I packaged for Fedora, but it’s useful for all kinds of tasks. The main use-cases for gem-compare are: checking accidental permission changes checking for files that shouldn’t make the release checking for unwanted
Ruby WASM/WASI の発表にえらくテンションが上がったので、勢いで作ったものが窓の杜で紹介されてびっくりしました。(それだけ注目されているということですね) Ruby On Browserは51行しかないHTMLでまだまだ荒削りなのでもっとちゃんとしたものを試したい方は是非TryRuby playgroundのCRuby 3.2.0dev をお試しください。 Ruby On Browser自体もまだまだ発展させていくつもりですが、現状Ruby WASM/WASIを触ってみていいなあと思ったことです。 1. 簡単に自分好みのブラウザRubyが作れる Try Rubyのようにブラウザ上でプログラミング言語が試せること自体は現在はそこまで珍しくないですが、クライアントサイドだけで(しかもとても短いコードで)動かせるのは大変魅力的です。個人のPCやイントラネット上に好みのカスタマイズを加
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く