PPL 2021 https://jssst-ppl.org/workshop/2021/
直感的な文法や生産性の高さから、世界中の人々に愛されるオブジェクト指向スクリプト言語Ruby。この言語には継続的に新しい機能や文法が追加されており、利便性が向上し続けています。コミッターの方々による日々の努力が、Rubyの改善を支えているのです。 コミッターのなかでも、とりわけRubyに大きな貢献をしてきたのがアカツキでフルタイムRubyコミッターを務める中田伸悦さん。(アカツキのCSRの取組みについてを記事下部参照) github.com 中田さんはRubyへのコミット数が全コミッターのなかで最多であり、通称“パッチモンスターと”呼ばれています。 今回のインタビューでは、中田さんがRubyへのコントリビューションを始めたきっかけや、印象に残る機能改修について解説してもらいました。「Rubyのことをもっと詳しく知りたい」「オープンソースソフトウェア(以下、OSS)へのコントリビューションを
こんにちは!Techpitの辻岡です。 2/15(月)に、複数の企業でシステムの全体設計や、技術顧問、新人研修設計、さらには一橋大学の非常勤講師を務めてきたRuby, Railsエンジニア五十嵐邦明氏(※以下五十嵐さん)の著書『Railsの教科書』をTechpitで公開することになりました。 https://www.techpit.jp/courses/143 そこで今回このnoteでは、公開に至った背景や公開内容をご紹介いたします。 五十嵐さんのご紹介まず、五十嵐さんのご紹介です。 五十嵐邦明さん / Kuniaki Igarashiガーネットテック373株式会社/ GarnetTech373, Inc. フリーランスのRuby, Railsエンジニア。2003年、Rubyで書かれたWeb日記アプリtDiaryを使い始めてRubyistになる。一橋大学の非常勤講師として2012年から
はじめに 2021年1月にv1.0がリリースされたWasmerにRuby Gemが存在することに触発されて調べてみました。RubyとWebAssemblyが関わっているものについてわかる範囲でまとめ、軽くどのようなものかを書いていきます。 僕自身、業務はおろかプライベートでもWASMを書いたことはなく浅い理解しかしていないですが…… WebAssembly (WASM)とは WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。 この機能はウェブプラットフォームにとって大きな意味を持ちます。 — ウェブ上で動作するクライアントアプリで従来は実現できなかった、ネイティブ水準の速度で複数の言語で記述
はじめに 最近では、機械学習関連Gemが多く開発され、Rubyでも機械学習できるようになってきました。代表的なものを、ざっくりとまとめてみました。 まとめ情報 いきなりですが、この記事は私の偏見で選んだものですので、他のまとめ情報も紹介します。もっとも大きなのがAndrei Beliankou (arbox) さんのまとめリポジトリです。色んなものが紹介されています。 Railsエンジニアにとっては、SearchkickやStrong Migrationsで有名な、Andrew Kane (ankane) さんも、機械学習関連のGemを多く作成しています。C/C++のAPIが提供されている、他言語の機械学習ライブラリを、FFI/Fiddle/Riceでラップして、Rubyで使えるようにしています。ankaneさん自身が書かれた、それらGemのまとめ記事があります。 ベクトル・行列・線形代数
お知らせ 以前このブログでもお知らせしたとおり、昨年末にRuby 3.0の新機能紹介の記事をZennに書きました。 zenn.dev QiitaではなくZennに書いたのは記事の収益をRubyアソシエーションに寄付するためです。 お気づきかもしれませんが、Part 2はQiitaではなくZennを使って書きました。 その理由は読者の方が記事に対してお金を振り込めるからです!・・・といっても僕がそのお金を独り占めするわけではありません。 2021年1月31日までに集まったお金はRubyの普及と発展のためにRubyアソシエーションに寄付する予定です。 【アウトライン版】サンプルコードでわかる!Ruby 3.0の主な新機能と変更点 - give IT a try 上にも書いたとおり、「2021年1月31日まで集まった収益を寄付する」という方針だったので、アナウンスどおり先日Rubyアソシエーショ
ruby/zlib のテストでの失敗がたまに起きていたのが、連続して発生するようになって、その原因が判明した話です。 失敗の内容 たとえば https://ci.appveyor.com/project/ruby/ruby/builds/37582820 のログによると 1) Error: TestZlibGzipFile#test_gzip_reader_zcat: Errno::EACCES: Permission denied @ apply2files - C:/Users/appveyor/AppData/Local/Temp/1/test_zlib_gzip_file_to_io20210203-1504-1h6r8z C:/projects/ruby/lib/tempfile.rb:368:in `unlink' C:/projects/ruby/lib/tempfile.r
こんにちは、広報の坂井(@hana_yonde)です! ZOZOテクノロジーズでは月に1度、技術顧問であるまつもとゆきひろさん(通称:Matz)とのオンラインミーティングを実施し、勉強会を行っています。 「社員なら誰でも参加自由!」ということで、ミーティングにお邪魔してきました!社員があれこれ聞いていたので、当日出た質問とMatzさんからの回答を抜粋してお届けしたいと思います。 Rubyの人気が低下…?日本のプログラマーのガラパゴス化についてー 最近、プログラミング言語の人気ランキングなどで「Rubyの順位が徐々に下がってきている」と感じることがあります。Rubyの人気がなくなってしまうと、日本のプログラマーがガラパゴス化するというか、世界から孤立してしまうんじゃないかなと思っているのですが、MatzさんはじめRubyを作っている方たちはどう考えていらっしゃるのでしょうか? Matz:ご質
heyのプラットフォーム本部でプログラマーを務める卜部昌平さん。また、Rubyのコミッターという顔を持ってもいます。そんな卜部さんに、heyで働く理由やこれまでのキャリアなどを聞きました。 ゲームを作るために始めたプログラミング ──これまでに受けられていたインタビューを拝見すると、大学時代ですでにRubyの開発に取り組まれていたとか。小さな頃からプログラミングをやっていたんですか? パソコンを初めて触ったのは中学の時くらいでした。当時はまだインターネットにも繋がっていないもので、父が仕事の報告書を作るために持ち帰ってきたものでした。 ──お父様のお仕事が考古学者だったというのもインタビュー記事で拝見しました。面白そうですね。 子供の頃はまれにフィールドワークに連れて行ってもらったりしました。矢尻のようなものを発掘した記憶もあります。といっても素人には区別がつかないので、まわりの方が教えて
Ruby3.0 からは、型定義を処理するための rbs gem が同梱されていて、これは外部の *.rbs ファイルに記述した内容に従って、Rubyコードの型チェックを可能にしてくれる。 github.com 最近、この RBS の型定義を TypeScript の型定義に変換できないかな〜と思い、 rbs2ts という gem を実験的に作ってる。 結構荒削りなので、細々した部分での挙動は正直怪しいが、ある程度それっぽく動くようになったので公開してある。 rubygems.org github.com Gemのいまのところの挙動 いまのところ次のような変換ができる Alias RBS type TypeofInteger = Integer type TypeofFloat = Float type TypeofNumeric = Numeric type TypeofString =
Cloud Functions, Google Cloud’s Function as a Service (FaaS) offering, is a lightweight compute platform for creating single-purpose, stand-alone functions that respond to events, without having to manage a server or runtime environment. Cloud functions are a great fit for serverless, application, mobile or IoT backends, real-time data processing systems, video, image and sentiment analysis and ev
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう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コンパイラは今後さらに改善されてい
RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語です。 この記事ではRBSの文法を駆け足で紹介します。 細かい話は飛ばしますが、この記事を読めば大体のケースでRBSを読み書きできるようになると思います。 事前準備 インストール まずは文法の前に、rbs gemをインストールしましょう。 Ruby 3を使っている場合、rbs gemはRuby 3に同梱されているため何もしなくても使えます。 Ruby 3未満を使っている場合でも、gem install rbsすれば使うことができます。 この記事では、rbs gem v1.0.0を対象に構文を紹介します。 $ gem install rbs Successfully installed rbs-1.0.0 1 gem installed $ rbs --version rbs 1.0.0 動作確認 書いたRBSは、rbsコマン
Ruby 3.0.0 がリリースされた影響でdocs.ruby-lang.orgのシステム側でいくつか対応が必要でした。 その対応が一通り終わったので、そのメモです。 主なソースコード https://github.com/ruby/docs.ruby-lang.org https://github.com/ruby/rurema-search https://github.com/rurema/bitclust https://github.com/rurema/doctree https://github.com/ruby/snap.ruby docs.ruby-lang.org の生成対象更新 まず最初に Bump version to 3.0.0 で /en/3.0.0/ と /ja/3.0.0/ が増えました。 マージ後に cap production deploy で反映する必
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く