並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 2347件

新着順 人気順

rubyの検索結果121 - 160 件 / 2347件

  • 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
    • メモリの上に置かれているRubyの文字列を覗く - ローファイ日記

      これもフィヨルドブートキャンプの生徒さんの質問からふと思いついた、ちょっとした遊びですが。 (そして、書いてある内容に誤解があったら優しく教えてください) p Object.new => #<Object:0x000055959ddf1910> Rubyのオブジェクトのinspect表示のデフォルトで出てくる、この16進数は、このオブジェクトが置かれているメモリアドレスのことだと知られている。 では、実際にこのメモリアドレスにオブジェクトが置かれていることを確かめるには? さて、以下のコードはLinuxで動かすことにする。 String オブジェクトで試してみる。と言っても、StringのinspectはObjectに定義されたものではなく、自分のクラスで定義しているので、まずはそれを「無効にする」。以下のような方法で Object#inspect を呼ぶように変更できる。 class S

        メモリの上に置かれているRubyの文字列を覗く - ローファイ日記
      • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

        はじめに Pure Rubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika | RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPure Rubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

          SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
        • Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - ブログのおんがえし

          Runa という Ruby で Gem を使ったり複数ファイルで構成された中規模のアプリケーションを簡単に書くためのフレームワークを作っています。 Runa を作った経緯 Ruby は単独のスクリプトファイルとして実行するときは取り回しも簡単で大変使いやすい(小規模アプリケーション) が、特定の gem に依存したり複数ファイルで構成されるようなアプリケーションを作ろうとするとスタンダードな方法が用意されておらず(特に配布や共有のことを考えると)敷居が高くなってしまう(中規模アプリケーション) これが今まで余り問題にならなかったのは、Web アプリであれば Rails がその辺りも面倒をみてくれたり、コンソールアプリケーションなら gem で配布するみたいな方法でやりくりしてきた経緯がある。しかし gem で配布するには RubyGems のアカウントが必要だったり、昨今のセキュリティ問題

            Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - ブログのおんがえし
          • プログラミング言語 Ruby30 周年記念イベント レポート

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

            • Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog

              こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 Ruby や Rails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 Ruby や Rails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。Ruby や Rails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rails アップグレードガイドでは、一般的なアドバイスと、各バージョンで注意すべき変更が書かれています。 また 社内版 Rails アップグレードガイドを公開します - Timee Product Team

                Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog
              • Ruby × jemallocのすすめ - メドピア開発者ブログ

                集合知プラットフォーム事業部・エンジニアの榎本です。コロナ禍の運動不足を解消すべく筋肉体操で筋トレを続けてますが、上腕三頭筋がいい感じに成長しており継続の大切さを身に沁みて実感しております。 目次 TL;DR(三行要約) Rubyアプリケーションのメモリ肥大化問題 jemalloc を使ってみる jemalloc とは? jemalloc で改善するのか? jemalloc の設定方法 jemalloc をプロダクション導入してみた結果 まとめ おまけ:jemalloc についてMatzに聞いてみた TL;DR(三行要約) jemalloc でRubyアプリのメモリ効率改善 jemalloc でRubyアプリのパフォーマンス改善 jemalloc の導入も簡単 Rubyアプリケーションのメモリ肥大化問題 Ruby on RailsなどのRubyアプリケーションを運用する上で、メモリ使用量の

                  Ruby × jemallocのすすめ - メドピア開発者ブログ
                • Rubyを研鑽した話

                  研鑽Rubyの話 研鑽Ruby出ましたね。 レビューに参加させてもらってコメントさせてもらいました。主に実装周りと性能周り。本書についてはいくつか素敵な書評が出ているのであまり書きませんが、なるせさんが書いていた やりたいことに対していくつもの書き方がある "There is more than one way to do it" なRuby において、『研鑽Rubyプログラミング』はきっとまだ行くべき道を見定められない人の助けとなることでしょう。 という表現はまさに的を射た書評だと思います。Jeremy 流の書き方のご紹介。いろんな書き方を知るのは良い勉強になります。ただ、素直にすべて鵜呑みにするとまずそうな本だと思うので、自分や人の意見を確認しながら、批判的に読むと良いと思います。まぁ、どんな本でもそうかもしれませんが。 Ruby を研鑽した話 で、Rubyの性能に興味のあるパーソンと

                    Rubyを研鑽した話
                  • 低価格でPython他プログラミングを勉強したい人におすすめ:月額980円で技術書を読みまくろう!Ruby、Java、JavaScript、Swift他多数:Kindle Unlimited(2019)│しねんたい

                    低価格でPython他プログラミングを勉強したい人におすすめ:月額980円で技術書を読みまくろう!Ruby、Java、JavaScript、Swift他多数:Kindle Unlimited(2019) 2019/07/15. Amazon Amazon本・Kindle, Kindle非公式ゲリラセール, Python(プログラミング), プログラミング・WEB・コンピュータ, 技術書 HOMEAmazon低価格でPython他プログラミングを勉強したい人におすすめ:月額980円で技術書を読みまくろう!Ruby、Java、JavaScript、Swift他多数:Kindle Unlimited(2019)

                      低価格でPython他プログラミングを勉強したい人におすすめ:月額980円で技術書を読みまくろう!Ruby、Java、JavaScript、Swift他多数:Kindle Unlimited(2019)│しねんたい
                    • WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース

                      Ruby開発チームは、2022年12月25日にRuby 3.2.0の正式リリースを発表しました。Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっています。 WebブラウザでRubyコードをそのまま実行可能に 新バージョンであるRuby 3.2.0の最大の新機能は、WASIベースのWebAssembly版Rubyが登場したことです。 これによりWASIをサポートしたWebAssemblyの実行環境、例えばWebブラウザやNode.js、DenoなどのサーバサイドJavaScriptランタイム、Cloudflare WorkersやFastly Compute@Edgeなどのクラウドエッジ環境で、WebAssembly版のRubyを実行できるようになりました。 これらの環境でWebAssemblyの上でRubyランタイムを実行すると、Rubyで書かれたコードをそのまま走ら

                        WebAssembly版Rubyが正式に登場、YJITが実用段階に。「Ruby 3.2.0」正式リリース
                      • Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ

                        ("汚染"という言葉をあまり良く思わない方もいると後から知りました。たしかにその通りだと思います。次から気を付けようと思いますが、とりあえず本記事ではそのまま"汚染"の表現を使います。ご了承ください。) 2021年の3月、突如としてRailsのGPL汚染の話題がネット上を駆け巡りました。 リチャードストールマンがFSFへの復帰を発表した途端にこんなことが起きるなんて…。 偶然にしてはすごいタイミングですね。 GitHub Enterpriseのコードが公開されるの?と盛り上がっておりますが、果たしてどうなりますでしょうか。 さて今回は本件についてまとめていきます。技術者だけでなく法務や知財の目線でも分かるように書いていこうかと思います。 ★私は法律の専門家ではありません。この記事に法的根拠はありませんので何かあっても責任は取れません。ご理解ください。 概要(経緯) 概要はこのissueのや

                          Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ
                        • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

                          こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

                            Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
                          • ブラウザで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を動かす夢 - まめめも
                            • Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn

                              昨日は https://note.com/takuya_stmn/n/n02e627b9afc3 で会社のアップデートを書きました。プロダクト系職種の中でも、特にコロナによるフルリモートがどの会社でも当たり前になった頃から採用難易度が増してきた、Webバックエンドエンジニア、とりわけRuby on Railsエンジニアの採用の難易度が難しくなった理由について、Rubyを25年間、Ruby on Railsを18年間やってきた中、感じたことを軽く書きます。 1. オワコンである「Rubyが死んだ」「Ruby on Railsは死んだ」みたいな言葉は何度も聞きました。Ruby / Ruby on Railsを使った開発を始めたころから辛さはありましたが、一定の生産性が出るということで利用ケース数は増えていきました。一方で、コミュニティベースの進化は独特の文化を持ち合わせていることもあり、中長期

                                Rubyエンジニア採用が難しい3個の理由|Takuya @ CTO at stmn
                              • Python使いがRubyを触るために理解するべきこと - Qiita

                                概要 スクリプト言語的なものとしては、もっぱらPythonを使っていたが、 このごろRubyを初めてややガッツリ触る機会があった。 すぐ慣れるだろうと甘くみていたら、予想以上にクセが強くて苦戦したので、 Python使いの視点からRubyの特徴を簡単にメモっておきたいと思う。 まだまだ勉強不足なので網羅的な説明にはならないと思うが、 最低限これだけ把握すれば大体不都合なくRubyを読み書きできるというポイントをまとめる。 省略文化 Pythonと似たようなものだろうと思っていた自分にまず面食らわせてきたのがこれ。 イカした特徴だと思うが、慣れないと大変。 returnの省略 returnは省略可。 例: ゲッターメソッド

                                  Python使いがRubyを触るために理解するべきこと - Qiita
                                • 研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ

                                  はじめに 配属研修の課題について エンジニア新入社員研修の個人課題:「JavaScriptでの開発」 配属研修課題1:「RailsでAPIサーバのみ構築」 配属研修課題2:「Railsでフロントエンドも含めた開発」 作ったアプリケーションの概要 JavaScript・Expressで開発した時との違いに関する感想 letやconstが要らない変数定義 falsyな値の違い ブロックをそのまま変数に代入できない 暗黙のreturn 条件文の後置 フレームワークの機能が豊富 ディレクトリ構造の一貫性 リソースベースルーティング 課題を取り組みながら学んだこと OpenAPIを使ったAPI定義ファイルの作成 N+1問題対策 テストコードに関する考えの変化 おわりに We are hiring! サムネイル画像 はじめに こんにちは。2022年4月に新卒で入社しました教育事業本部サービス開発部バッ

                                    研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ
                                  • Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita

                                    Ruby on Rails Advent Calendar 2021の枠が空いていたので、あとから登録しました はじめに 個人的なプロジェクトになりますが、僕が翻訳しているRSpecの入門書「Everyday Rails - RSpecによるRailsテスト入門」を2022年前半にRails 7.0バージョンにアップデートしようと考えています。 そこでこの本の中で使っているサンプルアプリケーションをRails 7.0でゼロから作り直してみました。フロントエンド周りを中心に結構考え方が変わっている部分があったので、「ここでハマった!」とか「こういうポイントを押さえておくといいかも」という点をあれこれ書いてみます。 なお、Rails 7.0版のサンプルアプリケーションはまだ公開できる状態ではないので、公開はもうしばらくお待ちください🙏 今回作成したサンプルアプリケーションはこちらで公開してい

                                      Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita
                                    • Rubyを説明するのは難しい(仮) / ruby is difficult

                                      http://regional.rubykaigi.org/tochigi08/ とちぎRuby会議08での資料です

                                        Rubyを説明するのは難しい(仮) / ruby is difficult
                                      • 20年Rubyを触ってきて初めて踏んだattr_readerのケツカンマ問題、あるいはdefの返り値がシンボルであることの問題 - joker1007’s diary

                                        今日Rubyを書いていて、なんじゃこれと思った動作があった。 試しに以下のコードを実行してみて欲しい。 class Foo attr_reader :hoge, :fuga, def initialize(a, b) p a p b end end Foo.new 実行してみると分かるが、これには例外が出ない。 initializeで定義した必須引数はどうなったのか? よくよく見るとattr_readerの引数の末尾に,がある。 つまり、このコードは分かりやすく書くと以下の様になる。 class Foo attr_reader(:hoge, :fuga, def initialize(a, b) p a p b end) end Foo.new このコードを更に分かり易く書くとこうなる。 class Foo def initialize(a, b) p a p b end attr_rea

                                          20年Rubyを触ってきて初めて踏んだattr_readerのケツカンマ問題、あるいはdefの返り値がシンボルであることの問題 - joker1007’s diary
                                        • 薬局向けサービス”kakari”にruby-vipsを導入した話 - メドピア開発者ブログ

                                          こんにちは。 外出自粛が続き、大胸筋の育成が疎かになっているエンジニアの宮原です。 ruby-vipsという画像処理用のGemを、かかりつけ薬局化支援サービスの「kakari(かかり)」で導入してみました。 今回は、ruby-vipsとkakariに実装した画像処理の内容について紹介させていただきます。 ruby-vipsとは ruby-vipsは、画像処理ライブラリであるlibvipsのRubyバインディングになります。 こちらのGemを利用することで、Ruby on RailsのWebアプリケーションに画像処理の機能を追加することができます。 実際にruby-vipsの導入方法や、簡単な使い方は下記スライドにて紹介しておりますので、ご参照いただければと思います。 ※昨年の11月に、鹿児島Ruby会議01にてruby-vipsの使い方を紹介させていただきました。 どのような機能で利用して

                                            薬局向けサービス”kakari”にruby-vipsを導入した話 - メドピア開発者ブログ
                                          • Ruby on Railsと素のPostgreSQLで日本語全文検索 - 2020-12-22 - ククログ

                                            PostgreSQLに超高速な日本語全文検索機能を追加するPGroongaを開発している須藤です。今回はPGroongaやpg_bigmなど拡張モジュールを使わずにPostgreSQLの組み込み機能だけで日本語全文検索を実現する方法を紹介します。PGroongaを使う方法はRuby on RailsでPostgreSQLとPGroongaを使って日本語全文検索を実現する方法を参照してください。 Heroku PostgresなどDBaaSとして提供されているPostgreSQLではPGroongaを使えません。(DBaaSとして提供しているベンダーがPGroongaをインストールしてくれないから。)PostgreSQLの組み込み機能だけでは日本語全文検索を満足に実現することができないので、DBaaSのPostgreSQLを使っていると次のように日本語全文検索で困ってしまいます。 日本人のプ

                                              Ruby on Railsと素のPostgreSQLで日本語全文検索 - 2020-12-22 - ククログ
                                            • Ruby on Railsとは? 特徴・魅力・勉強法を開発者が解説 - FLEXY(フレキシー)

                                              ※本記事は2020年4月に公開された内容です。 松本瞬と申します。 私は主にフリーランスとしてスタートアップのWebサービス開発をお手伝いしています。これまでにPXITA、cakes、クックパッド料理教室、FiNCなど多数のプロジェクトに参画してきました。Ruby on Railsはすでに10年以上利用しています。 Ruby on Railsは個人の力を最大限引き出してくれる少人数開発向けのフレームワークと言えます。 本記事では開発者の思想を軸としてそんなRailsの魅力を語ります。また、初心者の方が押さえておきたいポイントもご紹介しているので、ぜひ参考にしてください。 Ruby on Rails関連の案件をお探しの方はこちらをご覧ください。 Ruby on Rails関連の案件を探す 記事の後半ではFLEXYがお取り扱いするRuby on Rails関連の求人案件もご紹介していますので、

                                                Ruby on Railsとは? 特徴・魅力・勉強法を開発者が解説 - FLEXY(フレキシー)
                                              • Rubyは死んだ、Railsはオワコンと言われていたが、復活してきた件 - paiza times

                                                これまで「Rubyは死んだ」、「Railsがオワコン」と定期的に言われて、そういった記事やSNSの書き込みにさまざまな意見が寄せられてきました。が、今年はRuby on Rails復活の兆しが見えてきました。我々paizaもRailsで開発をしているので嬉しい限りです。 【目次】 Ruby on Railsはオワコンと言われている背景 (1)他言語比較での言及数の少なさ (2)言語特性における短所を語られやすい (3)AIやデータサイエンスの普及 いい加減「Ruby on Railsはオワコン」とは言えなくなってきた背景 (1)面接リクエスト数の増加 (2)成熟した言語であり安定性がある (3)エンジニアスキルとして今でも求められている 「オワコン」は抽象的過ぎる表現 Ruby on Railsはオワコンと言われている背景 「Ruby on Railsはオワコン」という言説に関して、あえて

                                                  Rubyは死んだ、Railsはオワコンと言われていたが、復活してきた件 - paiza times
                                                • 今更RubyのRailsを使うようになったのですが、最初からRailsを学んだ人は生のSQLを書く能力が上がらないのでは?と思ったのですが、こういう考えは古いですか?

                                                  回答 (7件中の1件目) 「SQLを書く能力」って、それが必要になるまでは要らないですからね。解きたい問題の水準に合った高級言語から始めるのは合理的で正しいアプローチです。 たとえば、「Pythonで書くならその下のCレベルのメモリ管理を理解してないと」って言われたら、いやそれを言うならCの下にある機械語のニーモニックを覚えて、CPUの分岐予測が外れたらどのぐらいパイプラインがストールするかまで考えないと、って不毛な無限連鎖で返しますね、私なら。Cはかつて高級言語だったのです。 古いとかいうよりも、いままで川へ洗濯に山へ柴刈りに行っていたところへ、洗濯機や炊飯器の存在を知ってショック...

                                                    今更RubyのRailsを使うようになったのですが、最初からRailsを学んだ人は生のSQLを書く能力が上がらないのでは?と思ったのですが、こういう考えは古いですか?
                                                  • Ruby/Rails でサーバ書いてたエンジニアが、転職後数ヶ月で TypeScript/React/Redux なチームで書けるようになるまでに参考にしたこと - Qiita

                                                    Ruby/Rails でサーバ書いてたエンジニアが、転職後数ヶ月で TypeScript/React/Redux なチームで書けるようになるまでに参考にしたことJavaScriptTypeScriptReactredux 夏に転職して、それまではrubyしか書いてこなかったのですが、 転職後はそれまで全く触ってこなかった TypeScript/React/Redux/Firebase なチームに入って開発できるようになるまでに参考になったものです。 もちろん、実際にはもっと他にも色んなものを参考にしています。 また、ここに書いたものも隅々まで読んだりしたわけではないのですが、振り返ってみて役に立ったなって思い出せるのを書いてみました。 本 りあクト! りあクト! TypeScriptで始めるつらくないReact開発 第2版 りあクト! Firebaseで始めるサーバーレスReact開発 E

                                                      Ruby/Rails でサーバ書いてたエンジニアが、転職後数ヶ月で TypeScript/React/Redux なチームで書けるようになるまでに参考にしたこと - Qiita
                                                    • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                                                      プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                                                        「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                                                      • 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版】xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - give IT a try

                                                          はじめに テストダブル(Test Double)について、わかりやすく解説した技術記事はないかな〜と探していたところ、こちらのブログ記事を見つけました。 goyoki.hatenablog.com とても詳しく解説されていたので、まさに打ってつけだったのですが、ふだん僕はRubyを使っているのでサンプルコードをRubyにしてみたいな〜と思いました。 そこで今回のエントリでは、原著者の id:goyoki さんの許諾をいただいた上で、上記のブログ記事の説明文を維持したまま、サンプルコードだけをRubyに書き直してみました。(goyokiさん、どうもありがとうございます!) ただし、Ruby版のコードにあわせて説明文を改変した箇所もいくつかあります。 それでは以下がRuby版の「xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の

                                                            【Ruby版】xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - give IT a try
                                                          • Rubyのテストのややこしい失敗を直した話 - まめめも

                                                            Ruby の CI 維持業というのはこんな感じという事例紹介。 CIを観察する RubyのCIがときどき次のように失敗していました。 1) Error: TestM17N#test_object_inspect_external: Encoding::CompatibilityError: incompatible character encodings: UTF-8 and UTF-16BE /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m17n.rb:311:in `encode' /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m17n.rb:311:in `inspect' /tmp/ruby/v2/src/trunk-test-random/test/ruby/test_m1

                                                              Rubyのテストのややこしい失敗を直した話 - まめめも
                                                            • 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のDockerイメージでよく使う環境変数

                                                                Ruby向けのDockerイメージで使いがちな環境変数について整理する。 GEM_HOME RubyGemsに対して、どのディレクトリにGemをインストールするかを指定する環境変数。例えば gem install foo を実行すると、この環境変数で指定したディレクトリにfoo gemがインストールされる。 Dockerでありがちな作戦として、/gem のような適当なパスにデータボリュームをマウントしておいて、そこにGemを永続化させておくというのがある。このときGEM_HOMEを /gem に指定しておくと、gem install bundler を実行したときそこにBundlerがインストールされ、更に /gem/bin/bundle も用意される。 BUNDLE_PATH Bundlerに対して、どのディレクトリにGemをインストールするかを指定する環境変数。例えば bundle i

                                                                  RubyのDockerイメージでよく使う環境変数
                                                                • 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用ライブラリ「Rack」を学ぶために、自作のRackミドルウェアを作った話

                                                                    女性も参加しやすい(でも女性限定ではない)Ruby勉強会「TokyoGirls.rb Meetup vol.2」。Webプログラマーの塩井美咲氏が、最近気になっているライブラリ「Rack」について学ぶため、自ら「TraceHeader」というRackミドルウェアを作りました。その実装と有効性の検証について紹介します。講演資料はこちら 最近気になるライブラリ「Rack」でミドルウェアを作った話 塩井美咲氏(以下、塩井):すみません、なんの脈絡もなくRackの話をしようとしています。他意はありません。 (会場笑) 先にお伝えしておきたいことがあって、今回、発表資料の枚数がだいたい60枚ぐらいあります。私はもともとすごく早口なんですけど、今日はちょっと自分の限界に挑戦してみたいと思っています(笑)。よろしくお願いします。詳細な資料についてはのちほど共有します。 私はしおいといいます。普段はこの辺

                                                                      サーバとアプリ間をつなぐRuby用ライブラリ「Rack」を学ぶために、自作のRackミドルウェアを作った話
                                                                    • Ruby with Visual Studio Code

                                                                      Version 1.88 is now available! Read about the new features and fixes from March. Ruby in Visual Studio Code Ruby is a dynamic, open-source programming language known for its simplicity and productivity. With an expressive and elegant syntax, part of the Ruby philosophy is to make developers happy. It is often used for web development with a range of different frameworks, and for scripting, allowin

                                                                        Ruby with Visual Studio Code
                                                                      • Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet

                                                                        For the past year, the Sorbet team has been working on an experimental, ahead-of-time compiler for Ruby, powered by Sorbet and LLVM. Today we’re sharing the source code for it. It lives alongside the existing code for Sorbet on GitHub, mostly in the compiler/ folder: → https://github.com/sorbet/sorbet/tree/master/compiler/ We want to be clear up front: the code is nowhere near ready for external u

                                                                          Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet
                                                                        • Rubyの全バージョンで動くQuine - まめめも

                                                                          このプログラムは、Ruby 0.49(1994年リリース)からRuby 3.2.1(今月リリース)まで、現在確認されているすべてのCRubyで動作するQuineです。 eval($s=("t='eval($s=('+d=34.chr;s=3 2.chr+$s*i=8;v=$VERSION||eval('begin;v=V ERSION;rescue;v||RUBY_VERSION;end');f=('?'*8 +'A|'+'?'*20+'G?c'+'?'*15+'A@CXx@~@_`OpGxCxp@~pO xS|O~G?c?q?xC`AP|q?x_|C_xC_xO@H@cG?G?qA|_|_`GCpOxC|H NFccqq@`_|OF@`?q?x_@x_x_`GB`O``O~G?C@qCxCxP@D@|G~C?pO|C? pO|C?AP|A~HNN`ccxC|Q@L@B"+"GpGpc@p

                                                                            Rubyの全バージョンで動くQuine - まめめも
                                                                          • 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に名前空間サポート的なものが欲しいという話 - たごもりすメモ

                                                                              LFAを書いたときの話にあるKernel#loadの第2引数で名前空間的なものを作れるんだけど、loadした先のファイルでrequireされてたらダメなんだよね、という話の続き。ダメなんだよねー、で終わってたんだけどRubyKaigi2023で@shioyamaさんのMultiverse Rubyを聞いて、ここに仲間がいた!!! ってなって、さらにそのあとバーで飲みながらやろうやろうって盛り上がったので、なんか色々考えている。 RubyKaigiの話は別途書くとして、いまはとりあえずこっち。 後半に、こんなものが欲しい、という話、および読んだ人の意見が欲しいということが書いてあるので、このあたりに何か思うところがある人はぜひ読んでみてください。どっちかというと、自分以外のRubyユーザがどう考えているのかを、bugsに出す前にまず知りたいなと思っています。 動機 Rubyにはみなさんご存知

                                                                                ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ
                                                                              • Ruby on JetsとRDS Proxyを使ってRailsアプリをサーバレス化してみた

                                                                                2019/01/09(Thu) 20:20-20:35 AWS re:Invent Recap with Serverless in Fusic にて発表

                                                                                  Ruby on JetsとRDS Proxyを使ってRailsアプリをサーバレス化してみた
                                                                                • 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株式会社