並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 449件

新着順 人気順

irbの検索結果41 - 80 件 / 449件

  • ブラウザでRubyを動かす夢 - まめめも

    何に使うわけでもないけど、とにかくブラウザで Ruby を動かしたかったんです。 その夢が、ついにかなった気がします。 長年の念願だった Emscripten と xterm.js でブラウザで irb を動かすやつがついに(一応)できたhttps://t.co/ubentOzj7p— Yusuke Endoh (@mametter) 2024年1月27日 振り返ってみると、ここに来るまで 6 年もかかったようです。ちょっと嬉しくなったので経緯を書き残します。 Emscripten で Ruby をビルドする 2018 年、ふと思い立って、Emscripten で Ruby をビルドできるようにしました。 Emscripten は、要するに C/C++ プログラムを JavaScript や Wasm に変換してくれるコンパイラです。C で書かれた Ruby を Emscripten でビ

      ブラウザでRubyを動かす夢 - まめめも
    • うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ

      うおおおおおおおおおおおおおおおおおおおおおおおおおお。 子育て奮闘中の @wat-aro です。 この記事は ESM Advent Calendar 2022 - Adventar 19日目の記事です。 ある日 Slack のチャンネル一覧を眺めていると #うおおおおおおおおおおおおお というチャンネルがありました。 みんなで うおおおおおおおおおおおおお しています。 うおおおおしている様子 このチャンネル見つけてから毎日 うおおおおおおおおおおおおお しているわけですが、もっと うおおおおおおおおおおおおお したいわけです。 そんなわけで うおおおおおおおおおおおおお するプログラミング言語をつくりましょう。 繰り返し同じ言葉を使えるような言語であればたくさん うおおおおおおおおおおおおお できます。 そうですね。 Brainf**k*1 ですね。 Brainf**k での Hell

        うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ
      • RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応

        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

          RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応
        • 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開発者ブログ
          • 【画像】 ユタ州の渓谷で謎の柱が発見される 当局も困惑「一体これは何なんだ?」 : 痛いニュース(ノ∀`)

            【画像】 ユタ州の渓谷で謎の柱が発見される 当局も困惑「一体これは何なんだ?」 1 名前:靄々 ★:2020/11/24(火) 19:02:42.86 ID:S52A83fB9 まさかエイリアンが、ユタ州の渓谷に鋼の柱を建てたりはしないだろう。しかし今年は2020年。何が起きても……おかしくはない。 アメリカ・ユタ州野生生物資源部の担当者らが11月18日、上空から興味深い物体を見つけた。公安局のヘリコプターでオオツノヒツジの頭数を数えていた担当者らが発見したのは、鋼でできた三角形の柱だ。高さは10〜12フィート(約3〜3.6メートル)あり、砂岩でできた渓谷の地中にしっかりと埋められていた。 この柱の写真を、公安局はInstagramに投稿。「野生生物資源部とオオツノヒツジを数えている間に、私たちはこの物体に遭遇しました。何もないところに突如として現れ、岩の中に深く埋められていたのです」と説

              【画像】 ユタ州の渓谷で謎の柱が発見される 当局も困惑「一体これは何なんだ?」 : 痛いニュース(ノ∀`)
            • キャッシュによるRubyの正規表現のマッチングの高速化の紹介 - クックパッド開発者ブログ

              9月からRuby開発チームにインターンシップとして参加している@makenowjustです。 総合研究大学院大学の学生で、普段は情報セキュリティに関する研究をしています。 インターンシップでは、キャッシュ (メモ化) を利用したRubyの正規表現の高速化を行いました。 ReDoSと呼ばれる、バックトラックが爆発することでマッチング時間が膨大になる脆弱性があります (ReDoSについては、拙作ですがWEB+DB PRESSに掲載された記事があります)。 近年、ReDoSは多く報告されており、Rubyもその例外ではありません (参考1、参考2)。 今回実装した最適化は、ReDoSを防ぐことを目的としたもので、多くの正規表現のマッチング時間が文字列の長さに対して線形となります。 ReDoSが起こる正規表現の例として、/^(a|a)*$/が挙げられます。 今回の修正の前後での実行時間を比較すると、

                キャッシュによるRubyの正規表現のマッチングの高速化の紹介 - クックパッド開発者ブログ
              • [サーバレス] Googleスプレッドシートでスクレイピング - Qiita

                スクレイピングがやりたかったんだけど、サーバの管理がめんどくさくなったので、Googleスプレッドシートの上でスクレイピングを出来るようにした。 やりたいこと 献血で、400mlAB型の血液が不足してます、A型は今大丈夫です、みたいな情報が、献血センターのwebサイトに掲載されるようになった。 たとえば 宮城県赤十字血液センターの今週の献血状況。AB型の人は成分献血にするか、次の機会にしたほうが良いらしい。 これ以外の県も、各県の献血センターに掲載されている こういう情報をオープンにしてくれたのはとてもうれしいことなんだけど、webページに掲載されたって、ぼくらがわざわざ見に行かない限り気が付かない。できればこう、SNSで「今週の献血状況」みたいなことを発表してくれるといいよね。そしたら、「あ、AB型足りない?今週は余裕があるからじゃあぼく行くね」みたいなことが出来ていいと思うのよ。 ない

                  [サーバレス] Googleスプレッドシートでスクレイピング - Qiita
                • 【夏休みの自由研究】そうだブロックチェーンを作ろう!

                  はじめに ITニュースの方でも話しましたが、ここ数日、例の本でWeb3がとても話題ですね。まあ、炎上なので良い事では無いのですが、せっかくなのでその根幹技術らしいブロックチェーン周りの自分の理解を整理してみることにしました。とりあえず、簡易なブロックチェーンを作ってNFTやスマートコントラクトについても少し考えていきたいと思います。 なお、ネタでは無く詳しくない分野なので勘違いとかあると指摘してもらえると嬉しいです。 注意 あくまで私の理解のアウトプットなので実際の挙動や仕様とは異なる可能性があります 実践的で本格的な仕様や実装ではなく、あくまで基本的な理解のためのサブセットの作成 データの自由化!とかそういう話はしません ブロックチェーンを作ろう! ハッシュ値による改ざんの困難性 そもそもブロックチェーンとは何でしょうか? 一般には改ざんに強いP2Pな台帳という理解かな、と思います。暗号

                    【夏休みの自由研究】そうだブロックチェーンを作ろう!
                  • Docker ComposeとDipで開発用コンテナを再利用可能にする(翻訳)|TechRacho by BPS株式会社

                    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Reusable development containers with Docker Compose and Dip — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021-04-21 著者: Vladimir Dementyev サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: Docker Composeファイルを管理しながら、最小限の労力で複数のDocker環境でコードを実行・テストする方法をご紹介します。YAML設定をいじくる時間を削減し、シンプルなコマンドを1つ実行するだけで任意のホストフォルダから指定の

                      Docker ComposeとDipで開発用コンテナを再利用可能にする(翻訳)|TechRacho by BPS株式会社
                    • shellでパスワードプロンプトの入力を間違えたらControl-uする理由 - yujioramaの日記

                      追記(2022/03/20) Linux限定だし概要レベルだけど包括的なドキュメントがあった。 2. Keyboard generalities キー入力したときに起きていることを説明している。 キーボードコントローラはキーボードドライバにスキャンコードを送信する (スキャンコードモードの)キーボードドライバはアプリケーションプログラムにスキャンコードを送信する (キーコードモードの)キーボードドライバはキー押下、キー離上それぞれのスキャンコードをキーコードに変換し、アプリケーションプログラムに送信する (それ以外の)キーボードドライバはキーコードでキーマップを辞書引きして、発見した文字列(エスケープシーケンスの場合もある)をアプリケーションプログラムに送信する 「アプリケーションプログラムに送信する」は、実際には「端末ドライバに送信する」に相当する。 (端末ドライバ=sttyなのかな)

                        shellでパスワードプロンプトの入力を間違えたらControl-uする理由 - yujioramaの日記
                      • Rubyist Hotlinks 【第 38 回】国分崇志 さん

                        はじめに 著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 38 回となる今回は、国分崇志さん。 では、お楽しみください。 インタビュー 聞き手 卜部さん (@shyouhei) 語り手 国分崇志さん (記事中「国分」) 野次馬 遠藤さん、村田さん、柴田さん、sorahさん 日にち 2019 年 9 月 某日 写真提供 村田さん、柴田さん 目次 はじめに インタビュー 目次 プロフィール 代表作 プログラミング経験 Rubyについて 興味ある言語 大学入学後のお話 就職 トレジャーデータ入社 今後の話 普段の生活 普段使っている計算機 将来の夢 村田さんとの関係 次のインタビュイー 若手の読者に一言 プロフィール 卜部 じゃあ録音をします。 柴田 始まり。 卜部 じゃあ、お願いします。 国分 よろしくお願いします。 柴田 おはようございます。 卜部

                        • emruby: ブラウザで動くMRI - クックパッド開発者ブログ

                          こんにちは、フルタイムRubyコミッタの遠藤です。 Ruby 3.0が出てもう4ヶ月経ってしまいました。最近のTypeProfの開発ですが、vscode拡張として使えるようにするために、一生懸命Language Server Protocolをいじって遊んでるところです。 今日の成果です。 RBS が .rb と別ファイルなのが面倒という問題、vscode 拡張をちゃんと作れば解決できそう(まだ実現可能性を調べただけで中身はありません)。 pic.twitter.com/tv6xB0Tm59— Yusuke Endoh (@mametter) 2021年4月2日 こっちのほうはまだ実験段階なので、まとまったころに説明するとして、今回は、Ruby 3.0リリース後にほそぼそとやっていたemrubyをご紹介してみます。 emrubyとは ブラウザの上で動くMRI(Matz Ruby Inter

                            emruby: ブラウザで動くMRI - クックパッド開発者ブログ
                          • 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(アンビ)
                            • Ruby 2.7正式版が登場、オブジェクトのパターンマッチ、REPLの改善など。次はRuby 3が年内登場予定!

                              毎年12月25日のクリスマスにアップデートされるオブジェクト指向スクリプト言語の「Ruby」。今回も新バージョンとなるRuby 2.7正式版が予定通り、2019年12月25日にリリースされました。 Ruby 2.7の主な新機能は、case文でのオブジェクトのパターンマッチ、コマンドラインからRubyが利用できるirbにおける複数行編集の対応、コンパクションガベージコレクタ、JITコンパイラ性能の改善などです。 Ruby 2.7の主な新機能 実験的実装による新機能として追加されたオブジェクトのパターンマッチ機能は、case文で使うことができます。 一般にパターンマッチとは文字列などの値に関するパターンの一致や不一致を思い浮かべますが、Ruby 2.7で追加されたのオブジェクトの構造がパターンと一致するかどうかが調べられ、一致した場合に処理が実行される、というものです。 これまでif分などを組

                                Ruby 2.7正式版が登場、オブジェクトのパターンマッチ、REPLの改善など。次はRuby 3が年内登場予定!
                              • mimemagicに依存しなくなったmarcelのmime type判定の変化には気をつけようって話 - Tallman

                                mimemagic gemのライセンス問題で色々ありましたね。ライセンスは法的な問題なので確認も難しい問題でした。 さて、marcelからmimemagicへの依存が無くなってmime typeの判定がApache Tikaを元にしたものになりました。 hackmd.io しかし、この変更にはmarcelのmime type判定結果が変化するものが含まれていました。 例えば、以下のsample.xlsxというファイルのmime typeの判定をMarcel: 1.0.0、0,3,3それぞれに行わせると... ❯ xxd sample.xlsx 00000000: 504b 0304 1400 0808 0800 3123 7d52 0000 PK........1#}R.. 00000010: 0000 0000 0000 0000 0000 1800 0000 786c ........

                                  mimemagicに依存しなくなったmarcelのmime type判定の変化には気をつけようって話 - Tallman
                                • 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に静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

                                    Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu

                                      いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - 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 のはてなブログ
                                      • Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題

                                        プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。前半は、なぜWebAssembly対応をするのか、そのモチベーションと経緯について。 登壇者の自己紹介とアジェンダ紹介 齋藤優太氏(以下、齋藤):いやぁ~、緊張しますね(笑)。みなさんおはようございます。 会場:おはようございます。 齋藤:「Ruby meets WebAssembly」ということで、今日は最近少し話題になっているRubyとWebAssemblyの話をしようと思います。よろしくお願いします。 (会場拍手) RubyがWebAssembly上で動くようにな

                                          Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題
                                        • Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp

                                          RubyKaigi 2022 キーノートレポート Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート 9月8日から9月10日までの3日間RubyKaigi 2022が三重県津市で開催されました。今年はRubyKaigi 2019以来、3年ぶりの現地開催で非常に盛り上がったカンファレンスとなりました。 初日のキーノートではRubyコミッターのYuta Saitoさんが「Ruby meets WebAssembly」というタイトルで発表しました。 Saitoさんはインターネット上では主に@kateinoigakukunという名前で活動しており、Swiftコミッターとしてもよく知られたエンジニアです。CRubyのWebAssembly移植を進め、2022年1月にRubyコミッターとなっています。今回のキーノートはCRubyのW

                                            Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp
                                          • 2021年にやったこと - k0kubun's blog

                                            2020年にやったこと 2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと というわけでこれ毎年書いてるんですけど、 なんか参戦したくなったので Rubyist近況 Advent Calendar 2021 24日目です。 入居者募集 記事があるくらいですし、自由に書こうと思います。メリークリスマス。 発表 1歳児がいる状況で家を留守にしたり夜に声を出したりすると家族に負担がかかるので、録画提出できるカンファレンスにしか基本参加しないことにしているのだけど、コロナが長引いていることにより今年も登壇しやすい状況が続いた。 とはいえ、ハイブリッド開催だったRubyConfに関しては、国内の渡航だけでShopifyのYJITチーム全員 (や当地のRubyフレンズ) と対面で話せる貴重な機会だったので、行けなかったのは惜しいなあと

                                              2021年にやったこと - k0kubun's blog
                                            • 久々に sinatra app を作った - id:onk のはてなブログ

                                              「いつもの」が結構ありそうなので書いておく。 app.rb ペラ 1 でツラくなったときの対策はだいたい sonots パイセンの ちっちゃくはじめておっきく育てる sinatra アプリの作り方 に書いてあって、これは今でも有効なので読んでおくと良いです。 ディレクトリ構成 REPO ├── app.rb ├── bin/ ├── config/ │ ├── database.yml │ ├── initializers/ │ └── locales/ ├── config.ru ├── Gemfile ├── Gemfile.lock ├── helpers/ ├── models/ ├── public/ └── views/ sinatra らしさをなるべく残してある 例えば config/boot.rb を用意するかは非常に悩んだのだけれど、起点は app.rb であって欲しい

                                                久々に sinatra app を作った - id:onk のはてなブログ
                                              • Railsガイドにきちんと目を通して新しい知識を得る - Active Support コア拡張機能編 - - PLAY BALL

                                                ドキュメントを読み込むのは大事、ということでRailsガイドを頭から読んでいく取り組みをしています。 各章ごとに、(Railsガイドにちゃんと書いてあるのに)知らなかった機能を雑にまとめていきます。 今回は、Active Support コア拡張の章です。 railsguides.jp deep_dup リンクはこちら dupでは、コピーした配列の中身がgsub!などで変化する場合、コピー元の配列の中身まで影響しますが、deep_dupでは影響を受けないようにできます。 このあたりは意図せぬバグを混入させてしまわないよう、きちんと理解しておく必要があるなと思いました。 try リンクはこちら &.とtryは似ていますが、存在しないメソッドを指定した際に、前者はNoMethodErrorを返し、後者はnilを返します。 &.とtry!は挙動自体は同じようです。 ただし、try!は&.と比べる

                                                  Railsガイドにきちんと目を通して新しい知識を得る - Active Support コア拡張機能編 - - PLAY BALL
                                                • RubyKaigi 2023 参加報告とちょっとエモい話 - joker1007’s diary

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

                                                    RubyKaigi 2023 参加報告とちょっとエモい話 - joker1007’s diary
                                                  • RubyKaigiとiOSDCでWasmの話をしてきた - kateinoigakukunのブログ

                                                    09/08-10に三重で開催されたRubyKaigi、09/10-12に東京で開催されたiOSDCにどちらもスピーカーとして参加してきました。 カンファレンスはしごされた方はお疲れ様でした。 RubyKaigi Keynote 初めてのRubyKaigiでの発表で、さらにキーノートで、さらにトップバッターという大変貴重な体験でした。いやー緊張した。1 当日のスライドはこちら。 Ruby 3.2でサポート予定のRubyのWebAssembly/WASI対応について話してきました。 前半でモチベーションや出来るようになったことをデモを交えつつオーディエンスと共有して、後半は実装について自分の好きなことを話す、という構成でした。 syntax_treeを使ったデモはちょっと上手くいかなかったんですが 2、 一番見せたかったIRBでSVGを表示するデモがうまくいって良かったです。IRBのデモはこち

                                                      RubyKaigiとiOSDCでWasmの話をしてきた - kateinoigakukunのブログ
                                                    • Ruby 2.7.0 リリース

                                                      Posted by naruse on 25 Dec 2019 Ruby 2.7シリーズ最初の安定版である、Ruby 2.7.0がリリースされました。 Ruby 2.7には、多くの新しい機能やパフォーマンスの改善が含まれます。 その一部を以下に紹介します。 Pattern Matching [Experimental] 関数型言語で広く使われているパターンマッチという機能が実験的に導入されました。 渡されたオブジェクトの構造がパターンと一致するかどうかを調べ、一致した場合にその値を変数に代入するといったことができるようになります。 [Feature #14912] require "json" json = <<END { "name": "Alice", "age": 30, "children": [{ "name": "Bob", "age": 2 }] } END case JSO

                                                      • Ruby のコードリーディング会に参加して1年経ちました - ペパボテックブログ

                                                        EC 事業部の akatsuura (@UVB_76) です。最近は AFTER SIX LEAGUE という企業対抗戦の Apex Legends 部門に参加していて、毎月他の企業の参加者と競っています。 ペパボではお昼休みに OSS コードリーディング会という GitHub で公開されているライブラリのコードを読みすすめる会が開かれています。私はこの会が始まった 2019 年から参加し続けています。気がついたら 50 回近くの開催となっていたのでこの機会に進め方やわかったことをここで共有します。 尚、現在の参加者は Ruby on Rails で開発を行っている人たちがほとんどで、コードリーディングの対象も gem 形式で公開されている Ruby のライブラリが中心になっています。記事の中には Ruby 固有の話も出てきますが、他の言語でも読み方自体については同じようなことができるので

                                                          Ruby のコードリーディング会に参加して1年経ちました - ペパボテックブログ
                                                        • Rubyの“破壊的変更”を恐れるな! 毎日OSSに関わるRuboCopコミッターが教える傾向と対策

                                                          Rubyはバージョンアップによって、やむなく旧バージョンとの互換性がなくなってしまうことがあります。それが破壊的変更です。静的コードアナライザーモジュールであるRuboCopのコミッターのkoic氏が、どんなときに破壊的変更が起きるのか、起きてしまったときは、どのように対応すればよいのか、その背景と対策を語ります。 Rubyの静的コードアナライザーモジュール「RoboCop」 koic氏:こんばんは。今回は「Breaking Change」というタイトルで発表します。Twitterは「@koic」というハンドルネームでやっています。永和システムマネジメントという会社から来ました。 (Rubyの静的コードアナライザーモジュールの)RuboCopは、今日も含めて何度か話に出ていると思うのですが、私はそこのコミッターをしていたり、RailsのActive RecordのOracleを使っている部

                                                            Rubyの“破壊的変更”を恐れるな! 毎日OSSに関わるRuboCopコミッターが教える傾向と対策
                                                          • 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つのコンポーネントを持っ

                                                            • Dive into Encoding

                                                              ima1zumi ESM, inc. Ruby on Rails engineer irb, reline, rurema contributor Learning about character codes out of curiosity 2 [1] 1. Japanese Ruby Reference Manual: https://docs.ruby- lang.org/ja/latest/doc/index.html Reason for talking The bug fix in reline Bug Fix※ ※Some terminals will not display correctly. 😢 Because ZWJ(U+200D) is sometimes not supported. 1. https://github.com/ruby/reline/pull/

                                                                Dive into Encoding
                                                              • JSONの小ネタと、JSONに対する拡張

                                                                JSONは最も普及したデータ形式の一つでしょう。JSONの仕様はECMA-404やRFC 8259として標準化されています。 ECMA-404 - Ecma International RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format 細かいネタ 文字コード RFC 8259では、外部と交換するJSONテキストはUTF-8でエンコードされなければならないということになっています。BOMは禁止です。昔のRFCではUTF-16やUTF-32も許容されていました。 ただし、キーや文字列の中身としては単独のサロゲート(例:"\uD800")は禁止されていません。JSONのキーや文字列はUnicodeスカラー値の列とは限らないのです。 UTF-8を前提とする実装にとっては、単独のサロゲート(不正なUTF-

                                                                  JSONの小ネタと、JSONに対する拡張
                                                                • STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog

                                                                  こんにちは、ヘイ株式会社でエンジニアをしている id:hogelog です。 2021年6月に入社し CTO 室という部署に所属しつつなんだかあちこちの部署に首を突っ込むような役割をしています。まだ入社したばかりで把握してないものも多いですが、ビジネスの勢い、人の活気、やらなきゃいけないことばかりという雰囲気をとても楽しんでいます。 さてここは技術ブログ。なので技術の話をします。今回は STORES https://stores.jp/ec を支えるなかなか大きなモノリシック Rails アプリケーションのオートローダーを Zeitwerk へと切り替えた業務について紹介します。最新技術でもなく、Rails の設定項目の一つ Rails.application.config.autoloader の値を :classic から :zeitwerk に切り替えるというだけの地味な内容ですが、

                                                                    STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog
                                                                  • SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)

                                                                    SECKUN 2021 pub.md SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版) この資料について 九州大学のSECKUN 2021/ProSec-IT(enPiT-Pro) 2021の共通カリキュラムにおいて、近藤 @udzura が担当したコンテナ概要の授業にて使用した教材です。 https://cs.kyushu-u.ac.jp/seckun/about/ https://cs.kyushu-u.ac.jp/enpit-pro/ 今回、公益性を鑑み、授業固有の連絡事項などを削除した状態で公開します。 ライセンスは Creative Commons Attribution 4.0 International Public License (CC BY 4.0) ref とします。 個人の自学、社内研修、スクールでの授業などでお使いいただけますが、内

                                                                      SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)
                                                                    • 『第8回 AMED審議会で突き付けられた「信頼」への問い 』

                                                                      第8回 AMED審議会で突き付けられた「信頼」への問い 日経バイオテクの有料会員記事、「「大坪氏問題」でAMED末松理事長が怒りの暴露」が2月4日から3回に分けて掲載された。今回の本ブログ記事、また有料記事のパクリかと思われたかもしれない。残念ながら(?)そうではない。日経バイオテクの記事も読み応えがあるが、私としては書きたいことが取り上げられていないので、あえて長文の記事をアップすることにした。日経バイオテク記事との比較、評価は読者にお任せしよう。 今回は、会議のやりとりをそのまま掲載している部分が多く、非常に長文となっていることを予めご承知おきいただきたい。しかし逆に生々しさ、息遣いを感じ取っていただけることは間違いない。 令和2年の仕事始めの週、1月9日に開催された第10回日本医療研究開発機構審議会でのやりとりが激しい。 その前に、略してAMED審議会と呼ばれるこの会議の位置づけを確

                                                                        『第8回 AMED審議会で突き付けられた「信頼」への問い 』
                                                                      • ためして分かる、N+1問題とその解決方法 - プログラミング漫遊記

                                                                        この記事はフィヨルドブートキャンプ Part 1 Advent Calendar 2022 の23日目の記事です。 昨日はpart1が penoさんのフルタイムで働く社会人が月に100時間の勉強時間を確保できるようになるまで。私なりの具体的なやり方と失敗事例 - ぺのめも、part2が uchihiroさんのVSCodeのパッケージ不適合によるエラー解決までの道のり(Byebug編)でした。 前振り フィヨルドブートキャンプを今年の4月に卒業しました。卒業生なので、近況報告などしようかなと思ったんですがDiscordや日報などで日々わーわー言ってるので自重しておきます。 その代わり?最近友達とN + 1 問題の勉強会を行ったのでハンズオン形式で理解できるような記事を書いてみようと思います。(わからないところあったらフィードバックください) Ruby on Rails でよく発生するN +

                                                                          ためして分かる、N+1問題とその解決方法 - プログラミング漫遊記
                                                                        • 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
                                                                          • Association of BCG vaccination policy with prevalence and mortality of COVID-19

                                                                            AbstractThere is some evidence that tuberculosis vaccine bacillus Calmette-Guérin (BCG) has non-specific beneficial effects against non-related infections. Here, we examined the possible association between BCG vaccination with prevalence and mortality by COVID-19 by using publicly available data of COVID-19 in 199 countries/regions and the BCG World Atlas. By using linear regression modeling, we

                                                                              Association of BCG vaccination policy with prevalence and mortality of COVID-19
                                                                            • 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
                                                                              • 2019年にやったこと - k0kubun's blog

                                                                                2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと ハイライト 会社でSREからバックエンドチームに移籍 シリコンバレーに移住し、生活の基盤を整えた RubyのJIT開発を継続し、その参考にすべくJVMの実装を少し勉強した Thanks to Arm Treasure Data and people who helped me, today I got a visa stamp to work in the US from October for 3 years.— k0kubun (@k0kubun) August 10, 2019 I published a progress report of Ruby's JIT development as of Ruby 2.7 https://t.co/iTDAyDqAbe— k0kubun (@k

                                                                                  2019年にやったこと - k0kubun's blog
                                                                                • Rewriting the Ruby parser

                                                                                  At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems downloaded from rubygems.org. We recently got approval to merge this work into C

                                                                                    Rewriting the Ruby parser