並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 10016件

新着順 人気順

rubyの検索結果241 - 280 件 / 10016件

  • Railsの高速化に貢献する新たなJITコンパイラを搭載したRuby 3.1プレビュー1が公開

    Ruby開発チームは、新たなJITコンパイラであるYJITを実験的に搭載したRuby 3.1プレビュー1を公開しました。 Ruby言語は以前から実行速度の向上を重要な改善項目として挙げており、Ruby 2.6では「MJIT」と呼ばれるJITコンパイラを搭載、昨年リリースされたRuby 3.0では目標としていたRuby 2の3倍の性能を達成しています。 参考:Ruby 3.0正式版リリース。「Ruby 2の3倍速」到達、型の記述、スレッドセーフな並列処理など新機能 一方でMJITはその機構上、Railsの大規模アプリケーションなどでの性能向上に十分な効果が発揮できていないとの評価もありました。 今回Ruby 3.1プレビューでマージされたのは、ECサイト構築サービスで知られるShopifyが開発を進めてきた「YJIT」と呼ばれるJITコンパイラです。 YJITは現在のところ20%から40%程

      Railsの高速化に貢献する新たなJITコンパイラを搭載したRuby 3.1プレビュー1が公開
    • Ruby の開発を支えるエコシステム

      Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability

        Ruby の開発を支えるエコシステム
      • Ruby on RailsとReactでECサイト構築 - Qiita

        Laravelで実装していた箇所は全面的にRuby on Railsの形で作り直しが必要でした。ただ、フレームワークのアーキテクチャがLaravelとRailsが似ているので、ほぼ文法の置き換えのみでいけました。 ReactはerbからReactを呼び出す部分だけ工夫が要りましたが、Laravel版で実装していたReactのコンポーネントはほぼそのまま使えました。変更が必要だったのは、Reactへの値受け渡し部分のみでした。LaravelではbladeからReactへ値を連携する際json文字列に変換し、Reactでそのjson文字からオブジェクトへとパースしてました。とこらがRuby on RailsではerbでReactに値を連携する際json文字列にせずに渡せて、Reactでもjson文字列をパースせずともオブジェクトとして受け取れている状態となっていました。内部ではRuby on

          Ruby on RailsとReactでECサイト構築 - Qiita
        • MatzにrejectされたES6風HashリテラルをこっそりRubyで使う

          ES6風Hashリテラルとは ここで言う「ES6風Hashリテラル」というのは、ES6(ES2015)でobject property shorthandとして導入された省略記法です。 最近のJavaScriptを使っている人なら見慣れた記法ですね。Rubyでもこういう風に書けると便利そう、と思う人はもちろんいるわけで、この記法を取り入れるべく過去にもbugs.ruby-lang.orgで提案がありました。が、残念ながら今のところrejectされたままです。 Feature #11105 ES6-like hash literals https://bugs.ruby-lang.org/issues/11105 Feature #15236 add support for hash shorthand https://bugs.ruby-lang.org/issues/15236 似た記法

            MatzにrejectされたES6風HashリテラルをこっそりRubyで使う
          • Ruby公式「Pythonとの違い」から学ぶ、Pythonの「Rubyとの違い」

            はじめに 隔週で開催される社内勉強会で、Python の基本的な言語仕様を紹介するために Ruby 公式の「PythonからRubyへ」というドキュメントを用いた回が意外に盛り上がったので記事にします。 Ruby コミュニティのメンバーによって運営されている Ruby 公式サイトに掲載されているドキュメントで、Python 使いが Ruby と Python の言語仕様の違いを理解するのにぴったりな内容となっています。 今回、こちらのドキュメントの「Python との違い」の章を一部「Ruby との違い」に読み替えて、Ruby 使いに向けた Python との言語仕様の比較を行いたいと思います。 Rubyと違って、Pythonは… Pythonと違って、Rubyは… 引用: PythonからRubyへ 文字列は不変です。 文字列は可変です。 引用: PythonからRubyへ Python

              Ruby公式「Pythonとの違い」から学ぶ、Pythonの「Rubyとの違い」
            • Rubyでプログラミングの楽しさを知ろう––言語の特徴と魅力について Part1

              2019年3月2日、TECH PLAY SHIBUYAにて「TokyoGirls.rb Meetup vol.1」が開催されました。女性でも参加しやすい、Ruby勉強会を目指して開催された本イベント。4人のエンジニアが登壇し、Rubyにまつわることをはじめとしたさまざまな技術の話題を語りました。プレゼンテーション「Rubyでプログラミングの楽しさを知ろう! 」に登壇したのは、よう(@youchan)氏。講演資料はこちら Rubyでプログラミングの楽しさを知ろう! よう氏(以下、よう):自己紹介します。「よう」といいます。「youchan」というIDでTwitterやGitHubをやっているので、見てください。 Rubyistで、千葉在住です。今活動している千葉のRubyコミュニティがないので、作りたいなと思っています。 あと、大事なことを忘れていました。株式会社レトリバとい

                Rubyでプログラミングの楽しさを知ろう––言語の特徴と魅力について Part1
              • 技術書典15で「AWSとRubyではじめるサーバーレス入門」という本を頒布します!(サークル名: yuuu け09) - .logbook

                11月に開催される技術書典15で「AWSとRubyではじめるサーバーレス入門」という本を頒布します。 techbookfest.org 技術書典15は以下日程で、オンライン・オフライン同時開催です! オンライン: 11月11日(土)〜26日(日) オフライン: 11月12日(日) 11時~17時 techbookfest.org 紹介する本はオンライン・オフライン(ブース: か05)どちらでも頒布いたしますので、興味を持たれた方はぜひご購入ください! 表紙 今回はタイトルの通り、Rubyを使ってAWS上にサーバーアプリケーションを構築する方法を解説しており、ツールとしてAWS SAMを使用しています。 AWS SAMは解説記事によくリスのキャラクターが用いられているので、表紙にもリスを描いてもらいました。 表紙・裏表紙 内容 前述の通り、いわゆる「サーバーレス」なアプリケーションをハンズオ

                  技術書典15で「AWSとRubyではじめるサーバーレス入門」という本を頒布します!(サークル名: yuuu け09) - .logbook
                • 他の言語経験者がRubyを使い始めると驚くこと:新刊ピックアップ

                  筆者は現在Rubyプログラマとして働いていますが,もともとはJavaやC#をメインで使っていました。今でこそRubyプログラミングを心の底から楽しめていますが,Rubyを始めた当初はそれまでやってきた言語との違いに戸惑ったものでした。これから新しいプログラミング言語としてRubyを学び始める人も,きっと当時の筆者と同じように驚いたり戸惑ったりすることでしょう。そこで,今回の寄稿記事では他の言語経験者がRubyを使い始めたときに「えっ」と驚くようなポイントをいろいろと挙げてみます。 メソッドの呼び出しの丸かっこが省略できる Rubyではメソッドを呼び出すときの丸かっこを省略できます。以下はsizeメソッドを丸かっこ付きで呼び出す場合と丸かっこなしで呼び出す場合です(ただし,状況によっては丸かっこを省略できないケースもあります⁠)⁠。

                    他の言語経験者がRubyを使い始めると驚くこと:新刊ピックアップ
                  • Ruby 2.7 と Rails 6.0 / Rails 5.2 への展望と懸念 - koicの日記

                    Ruby 3.0 に向けた Ruby 2.7 と Rails の状況がめまぐるしく変わっているようなので、現在持っている知識のスナップショットを書き残しておきます。 Rails 6.0 系と Ruby 2.7 系 昨日、Matz によって今後リリースされる Ruby 2.7.2 でキーワード引数の分離への警告出力が Ruby 本体側で取りやめになるだろう旨の投稿が Rails の Discuss フォーラムにありました。 discuss.rubyonrails.org これにより以下の組み合わせでは、キーワード引数の分離への警告が出なくなる見通しが考えられます。 Rails 6.0.3 以上と Ruby 2.7 系 Rails 6.0.2.2 までの Rails 6 系であれば Ruby 2.7.2 以上 というか警告が抑制される場合の Ruby 2.7.2 はジョーカーなので、Rails

                      Ruby 2.7 と Rails 6.0 / Rails 5.2 への展望と懸念 - koicの日記
                    • Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621の概要と発見の経緯

                      この記事はRuby Advent Calendar 2022の第20日の記事です。前日の記事は@ydahさんによる「RuboCopのバージョンを最新に保つ技術」でした。 2022年11月22日に、Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621が発表がされました。 CVE-2021-33621: HTTP response splitting in CGI RubyのCGIライブラリにHTTPレスポンス分割脆弱性があり、秘密情報が漏洩する - HackerOne CGI::Cookieクラスにおけるセキュリティ上好ましくない仕様および実装 - HackerOne 私はHackerOneを通じてこの脆弱性を報告しました。この記事では、当該脆弱性の概要と発見の経緯などについて報告します。 概要 脆弱性発見の経緯 影響を受けるアプリケーション 影響 対策

                        Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621の概要と発見の経緯
                      • Rubyのメタプログラミング問題集をブラッシュアップした話 - SmartHR Tech Blog

                        こんにちは。SmartHRでRails顧問業をしているwillnet です。以前、SmartHRでのメタプログラミングRuby読書会と、その成果物というエントリを(kinoppydさんが)書いていました。今回のエントリはその続きの話です。 実際に手を動かすと身につく 上記エントリでは メタプログラミングRuby 第2版の読書会を、単に本を読むだけでなく、毎週新しい問題を作り参加者に解いてもらう、という流れで開催したことを紹介しました。 Rubyによるメタプログラミングは、普段の仕事ではなかなか使う機会がないテクニックも多く*1、一回本を通読しただけですべてを覚えるのは難しいと感じています。しかし、その読書会では実際に手を動かして解く問題を用意したため、通常の読書会よりも内容が身につく度合いが大きかったのではないか、と感じました。 いい問題があるのでもっと活用したいぞ せっかく作った問題を活

                          Rubyのメタプログラミング問題集をブラッシュアップした話 - SmartHR Tech Blog
                        • Rubyの型システム勉強会を開催した

                          Leaner 開発チームの黒曜(@kokuyouwind)です。 週末のゾンビランドサガLIVEを楽しみに今週を生き抜いています。 Rubyの型システム勉強会 実施背景 先日のRubyKaigi Takeout 2021で機運が盛り上がったこともあり、社内で Ruby の型システムを活用していきたいよねという話が出てきました。 前回書いた記事 で RBS Collection を試したのも、実際の使用感を見てみたかったという部分があります。 一方で Ruby の型システムはシグニチャ定義を別ファイルにする必要があったり、検証用のツールが複数合ったりと独特で、そもそも全体像をつかめていないというメンバーも複数人いました。 このあたりは自分の興味分野で RubyKaigi のセッションを追いかけていたこともあり、社内で勉強会を開いて下地を固めよう、ということになりました。 勉強会で使用したアジ

                            Rubyの型システム勉強会を開催した
                          • モノリシックな Ruby on Rails サービスからの Webpacker の剥がし方 | 働くひとと組織の健康を創る iCARE

                            iCARE の提供しているサービス Carely では 2020年の 10月から半年ほどかけて Webpacker からの脱却を行いました。似たような記事はいくつかありますが、まったくの未着手から解説したものはないと思うので、記録をかねてまとめました。長めの記事になりますが同じことで困っている方の参考になれば幸いです はじめに - Carely の構成について もともとは Rails5 のスタンダードな構成だったものを、 Webpacker を導入して GraphQL + Vue2 の構成に移行。SPA ではなくエンドポイントごとにエントリーポイントがあるような構成になっています ルーティングなどは Rails に則りつつ、画面はほぼ Vue2 で構成されています。もちろん古い slim + sprockets の画面も残っているため coffee script のファイルも一部健在です

                              モノリシックな Ruby on Rails サービスからの Webpacker の剥がし方 | 働くひとと組織の健康を創る iCARE
                            • デザインパターンを 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

                                  テストを実行してRubyの型情報を集めるやつを作った - スペクトラム
                                • WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる

                                  WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる これまでリリースされてきたLinux版やWindows版、Mac版などのRubyバイナリに加えて、WebAssembly/WASI版のRubyが登場することになります。 これにより、LinuxやWindowsなどの上で実行していたRubyのアプリケーションが、これからはWebブラウザなどWebAssembly/WASIに対応したプラットフォーム上でも実行できるようになることが期待されます。 CRubyをコンパイルしてWebAssembly/WASI対応に Ruby言語のリファレンス実装となっているインタプリタのソースコードはC言語で実装されているため、一般にこのソースコードまたはその実装を「CRuby」と呼びます。 このCRubyのソースコードをコンパイル

                                    WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる
                                  • 「RubyはRailsと一緒に“峡谷”を乗り越えた」 「キャズム理論」に沿った、Rubyが広まるまでの歩み

                                    Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここでプログラミング言語Rubyの生みの親であるまつもとゆきひろ氏が登壇。続いて、ソフトウェアにおける「キャズム理論」について話します。前回はこちらから。 知られないものは存在しないものと同じ まつもとゆきひろ氏(以下、まつもと):「良いものを作れば世に広まる」という話なんですが、ビジョンを用意しました、ビジョンに従って世に問うような、未来を予測して、彼らは自覚していないけれども「こんなものがあったら顧客は本当に喜ぶ。生活が便利になるし、これはすばらしいものだ」と思って、良いものを提供しました。それで十分かというとですね、残念ながら「良ければ広まる」ということも、残念ながらあ

                                      「RubyはRailsと一緒に“峡谷”を乗り越えた」 「キャズム理論」に沿った、Rubyが広まるまでの歩み
                                    • Ruby: GemfileとGemfile.lock究極ガイド(翻訳)|TechRacho by BPS株式会社

                                      概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: The Ultimate Guide to Gemfile and Gemfile.lock | Saeloun Blog 原文公開日: 2022/08/16 原著者: Keshav Biswa サイト: Saeloun Blog Ruby on Railsの開発者なら、GemfileやGemfile.lockを知らない人はいないでしょう。この2つのファイルはRuby gemをインストールするのに欠かせませんが、仕組みを知らないままでは混乱する可能性もあります。本記事では、Gemfileとは何か、その中に何があるのか、および使い方について解説します。 最初に、デフォルトのRails 7アプリケーションを作成し、それからGemfileの各行を調べて意味を理解していきましょう。 新規作成したアプリのディレクトリには、Gemfileと

                                        Ruby: GemfileとGemfile.lock究極ガイド(翻訳)|TechRacho by BPS株式会社
                                      • Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog

                                        まえがき こんにちは、Offers を運営している株式会社 overflow CTO の 大谷旅人 です。 小ネタです。 弊社では Ruby/Rails をバックエンドの開発言語として採用しており、その柔軟性は開発の大きな助けとなっている面がありつつも、コードベース全体の規模増加や保守効率を考えて環境自体の見直しや、段階的な新環境への移行も行っています。 その中で、今回は Ruby での開発体験を向上させるために行っていた、静的型解析の導入に関してのお話です。 型安全性な環境(TypeScript,Rust,etc..)から Ruby に戻ってくるとやはりあっちは機構が勝手にチェックしてくれていいぞいいぞと思うわけで、 C#が dynamic 型で静的型言語なのに動的型付していたり, Python が type hints で型検査してたりを見ると、どうにかこうにか導入したいと日々思ってい

                                          Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog
                                        • ⚡️Ruby、オブジェクト指向、デザイン / Ruby, OOP, Design

                                          Omotesando.rb #56 https://omotesandorb.connpass.com/event/192551/

                                            ⚡️Ruby、オブジェクト指向、デザイン / Ruby, OOP, Design
                                          • Ruby World Conference 2019 rubyによる超大量データ配信

                                            社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について45分拡大版 #devsumi #devsumiBItsuki Kuroda

                                              Ruby World Conference 2019 rubyによる超大量データ配信
                                            • まつもとゆきひろさんと、なかだのぶよしさんと、Rubyについてのお話 - ポッドキャスト | Heroku

                                              永野: 私は、SalesforceでHerokuを担当している永野智です。このエピソードは、Deeply Technicalがテーマとなります。今回はゲストとして、「Rubyのパパ」、Matzこと まつもとゆきひろ さん、そして「さすらいのパッチモンスター」なかだのぶよし さん。また、Herokuのサポートエンジニア 澤光映さんをゲストにお迎えしてお送りいたします。皆さんよろしくお願いします。 Matz, Nobu, 澤: よろしくお願いします。 永野: まずは、もう皆さん知ってると思うんですが、自己紹介から始めたいと思いますので、じゃまずMatzさんから自己紹介をお願いいたします。 Matz: はい、 まつもとゆきひろ と申します。Rubyを作った人ですね。「Rubyのパパ」って名乗ってますけれども。日本では、平仮名で まつもとゆきひろ で、海外では M, A, T, Zで Matzって

                                                まつもとゆきひろさんと、なかだのぶよしさんと、Rubyについてのお話 - ポッドキャスト | Heroku
                                              • SmartHRでのメタプログラミングRuby読書会と、その成果物 - SmartHR Tech Blog

                                                エンジニアのkinoppydです、お久しぶりです。 今日は社内メタプログラミングRuby 第2版読書会を開催した話と、その成果物に関して共有しようと思います。 SmartHR社内での勉強会 社内では、いくつかの勉強会や読書会が開催されています。業務で必要な知識をみんなで揃って学習する目的であったり、単に有志で集まって自分たちの力を底上げするためにやっていたり様々な形態のものがあります。例えば直近では、大規模スクラムを実践するために、大規模スクラム Large-Scale Scrum(LeSS) アジャイルとスクラムを大規模に実装する方法をテキストにスクラム勉強会をCTOのmasato_serizawaが開いていたり、フロントのコードを書くときのメンタルモデルを学ぶためにDan AbramovのJust JavaScriptを毎週翻訳して参加者で共有する会を、フロントエンジニアのnabeli

                                                  SmartHRでのメタプログラミングRuby読書会と、その成果物 - SmartHR Tech Blog
                                                • Ruby 3.2+YJIT 本番運用カンパニーになりました #rubykaigi - Timee Product Team Blog

                                                  こんにちは。2023年1月に株式会社タイミーに入社したバックエンドエンジニアの id:euglena1215 です。 RubyKaigi 2023 がとうとう明日に迫ってきました。楽しみですね。 タイミーは RubyKaigi で初めてブース出展を行います。至らぬ点もあるかと思いますが、RubyKaigi を一緒に盛り上げていければと思っています!どうぞよろしくお願いします。 productpr.timee.co.jp 今回はタイミーが本番運用している Rails アプリケーションに対して Ruby 3.2.2 へのアップデートと YJIT の有効化を行い、パフォーマンスが大きく改善したことを紹介します。 RubyKaigi で「Ruby 3.2+YJIT 本番運用カンパニーです」と言いたいので粛々と進めている— てっぺー (@euglena1215) 2023年4月19日 前提 タイミー

                                                    Ruby 3.2+YJIT 本番運用カンパニーになりました #rubykaigi - Timee Product Team Blog
                                                  • まつもとゆきひろと考えるデータ処理の未来 RubyからStreemへ〜Ruby開発者 まつもとゆきひろ(Matz)さん【データ×まつもとゆきひろ】|株式会社primeNumber

                                                    まつもとゆきひろと考えるデータ処理の未来 RubyからStreemへ〜Ruby開発者 まつもとゆきひろ(Matz)さん【データ×まつもとゆきひろ】 ソフトウェア技術者のまつもとゆきひろ(Matz)さんが開発したRubyは、1995年のリリースから現在まで世界中のユーザーに愛され、開発に利用されてきたプログラミング言語です。一般財団法人Rubyアソシエーション運用のもと、オープンソースの言語として2012年にISO/IEC規格を取得。クックパッドやスタディプラス、huluなどのメジャーなサービスの開発に採用されてきました。実は、primeNumberのtrocco®もRubyで作られたサービス。『Ruby biz Grand prix 2022』では、ビジネスコネクション賞を受賞しました。取り組みを評価いただいた勢いで審査委員長の“Rubyのパパ”まつもとゆきひろさんに対談をお願いし、Rub

                                                      まつもとゆきひろと考えるデータ処理の未来 RubyからStreemへ〜Ruby開発者 まつもとゆきひろ(Matz)さん【データ×まつもとゆきひろ】|株式会社primeNumber
                                                    • Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp

                                                      Ruby 3.3リリース! 新機能解説 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす 2023年12月25日、Ruby 3.3.0がリリースされ、様々な新機能が加えられました。本連載では実際に携わった皆さんにその新しいRubyをご紹介いただきます。 RubyはJust-In-Time(JIT)コンパイラという機能を備えており、これを有効化すると実行時に機械語を生成して様々な最適化が行なわれ、実行が高速になります。Ruby 3.3にはYJITとRJITという2つのJITコンパイラがあり、デフォルトでは無効になっていますが、それぞれ--yjitと--rjitで有効化できます。 この回では、Ruby 3.3でYJITの性能特性が変化した点や、YJITに新たに追加された便利な機能、またRJITはどのように使うものであるかについて解説します。 YJ

                                                        Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp
                                                      • Ruby 3.1正式リリース。Shopify開発のJITコンパイラ「YJIT」をメインラインにマージ

                                                        Ruby開発チームは、2021年12月25日にRuby 3.1.0の正式リリースを発表しました。 Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっています。今回も一昨年のRuby 3.0に続いて新バージョンが登場しました。 Ruby 3.1でもっとも注目すべき新機能は、JITコンパイラの「YJIT」がメインラインにマージされたことでしょう。 大規模なRailsアプリでの性能向上を目指したYJIT RubyのJITコンパイラとしてはRuby 2.6から登場した「MJIT」がありますが、今回Ruby 3.1でマージされたYJITはMJITとは別のものです。 YJITは、ECサイト構築サービスで知られるShopifyが開発を進めてきたもので、Shopify自身が構築している大規模なRailsアプリケーションにおいて、より高い性能向上を目指して開発されてきました。 同社のブロ

                                                          Ruby 3.1正式リリース。Shopify開発のJITコンパイラ「YJIT」をメインラインにマージ
                                                        • websocket-client-simpleをruby-jpに移管した - 橋本商会

                                                          で、1年ぐらい趣味と大学での研究を兼ねて色々開発した後、やっぱりこの分野はRubyよりNode.jsでやった方が良いなと思った

                                                            websocket-client-simpleをruby-jpに移管した - 橋本商会
                                                          • 「Rubyのしくみ」 第1章 字句解析と構文解析を読んで - Hit the books!!

                                                            「Rubyのしくみ Ruby Under a Microscope【委託】 - 達人出版会」という本の第1章を読んだので、内容と感想を書きます。 この本はいろいろな人がオススメされていたので、難しそうだなと思いつつ買いました。 🗿ではじまる行と🗿🗿🗿で囲まれた部分は自分で考えたことです。 はじめに 字句解析 times.rbの字句解析の流れ Ripperを使う 構文解析 LALR構文解析アルゴリズム 例1 例2 Rubyの文法規則 Ripperを使う その2 おわりに はじめに Rubyの構文はLispやSmalltalkといった高度な言語のアイデアを採用している。 🗿🗿🗿 Lispって? https://news.mynavi.jp/techplus/article/programinglanguageoftheworld-18/ Smalltalkって? https://

                                                              「Rubyのしくみ」 第1章 字句解析と構文解析を読んで - Hit the books!!
                                                            • Ruby: "今この時期に"プログラミング言語の進化に参加することについて(翻訳)|TechRacho by BPS株式会社

                                                              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Participating in programming languages evolution during interesting times 原文公開日: 2023/02/08 原著者: zverok 日本語タイトルは内容に即したものにしました。写真はすべて元記事からの引用です。 前回の記事もご覧ください 毎年12月25日には、Rubyの新しいバージョンがリリースされます。2022年にはバージョン3.2に達しました。 私は2018年(Ruby 2.6)以来、毎年Rubyのリリース後にRubyChangesで網羅的なchangelogを公開しています。ここには、Ruby言語の主な変更点の説明に加えてコード例やリンクも盛り込まれています。 これは決して小さな作業ではなく、たいてい数週間もしくはそれ以上を要しています。また、新機能

                                                                Ruby: "今この時期に"プログラミング言語の進化に参加することについて(翻訳)|TechRacho by BPS株式会社
                                                              • 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 〜 Ruby 30周年に寄せて - pixiv inside

                                                                  こんにちは、CTOの @harukasan です。2023/02/24をもってプログラミング言語Rubyが30周年を迎えたとのこと、大変おめでとうございます。 Rubyに支えられている企業の一社として感謝を示したいと思い、この記事を書くことにしました。 ピクシブとRuby ピクシブでは多くのサービスでRuby on Railsを利用しています。2012年にリリースされた国際版pixiv β(現在は提供終了)を皮切りに、pixivコミック、BOOTH、pixiv FACTORY、pixiv Sketch、Palcy、VRoid Hub、pixiv Adsと数々のプロダクトでRuby on Railsが採用されてきました。 2012年6月にリリースされたpixivコミックはRails 3.2でリリースされ10年以上にわたり同じコードベースで開発が続けられています。余談ですが、pixivコミック

                                                                    ピクシブとRuby 〜 Ruby 30周年に寄せて - pixiv inside
                                                                  • Ruby のコードリーディング会に参加して1年経ちました - ペパボテックブログ

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

                                                                      Ruby のコードリーディング会に参加して1年経ちました - ペパボテックブログ
                                                                    • 『研鑽Rubyプログラミング』を読んだ

                                                                      研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフを読んだ。モチベーションとしては最近Rubyistの間でよく話題にされていたので気になったというミーハーな気持ちと、仕事でよく書くのはRuby(というかRailsでアプリ開発するのが多い)ので何か得られたらラッキーくらいな気持ち半々。 どんな本かについては他の著名なRubyistの方々が色々と書いておられるのでそちらを読む方が良いかもしれない。例えば「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊とかTechRachoの 『研鑽Rubyプログラミング』は英語版を買った人も買うべきとか。 またこの本を一言で表した文章としてあとがきから引用すると下記が端的。 Rubyコミュニティのリーダーをして「完璧超人か」と言わしめるような優れたプログラマーが、「読者が『すでにRubyをよく知っている』こと

                                                                        『研鑽Rubyプログラミング』を読んだ
                                                                      • Ruby の中にある解決できると嬉しい人が多分多いタフな問題 - HsbtDiary(2022-12-14)

                                                                        ■ Ruby の中にある解決できると嬉しい人が多分多いタフな問題 Ruby 開発チーム(コアチーム)には壺と呼ばれる、「これができるととても嬉しい」というネタを放り込む hackmd のページがあります。issue などにして作ったところで誰かが進めるわけでもないし、project にしても epic すぎるが、いつかは何かやりたいという大きさのものを思いついたらすぐに入れています。 今回は Ruby Advent Calendar 2022 の14日目の記事として、この壺の中から熟成された夢をいくつか取り出してご紹介します。 ライブラリのRactor 対応 Ruby 3.0 の目玉として入った Ractor ですが、Ruby のライブラリが Ractor で動くかというとまだわからない、むしろ動かないだろう、というステータスです。RubyGems や Bundler でネットワークアクセ

                                                                        • Rubyの“破壊的変更”を恐れるな! 毎日OSSに関わるRuboCopコミッターが教える傾向と対策

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

                                                                            Rubyの“破壊的変更”を恐れるな! 毎日OSSに関わるRuboCopコミッターが教える傾向と対策
                                                                          • Ruby on Rails: The Documentary

                                                                            Ruby on Rails has one of the most faithful communities online, it also has one of the most controversial, rabble-rousing creators out there, Danish programmer, David Heinemeier Hansson. Widely known as DHH, David tells us how Rails went from a crazy idea to one of the most talked-about full-stack frameworks over the course of 20 years. Get the whole spill by the people who had a front-row seat t

                                                                              Ruby on Rails: The Documentary
                                                                            • Why is building the Ruby environment hard?

                                                                              The Rubyists are facing the build error with missing libraries like openssl, libyaml and libffi issues when they install the new versions every year. Other people are facing issues of nokogiri, rmagick and others when they develop Rails application. Why we got these issues everyday? I describe the build failure case and their solution from the ruby-build maintainer's point of view. Finally, I intr

                                                                                Why is building the Ruby environment hard?
                                                                              • Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp

                                                                                CPUの世界では、内部の機構をフロントエンド(命令フェッチとデコード)とバックエンド(命令実行とメモリ)で分けることができます。つまりrailsbenchの実行においては、フロントエンドの処理がバックエンドの処理に対して間に合っておらず、全体としてCPUの性能を使い切れていないことになります。 また、RubyのプログラムとYJITが生成したコードの行き来(ジャンプ)が頻繁に行われていました。このジャンプが多いということは、それだけ実行のために参照するアドレスが多く、結果としてコードの実行パスが増えてしまいます。その結果、予測が失敗したパス(汚染されたパス)が大量に増えて、投機的実行の予測精度に影響を与えていました。 加えて初期のYJITでは、この汚染されたパスもコード生成に利用していたため、さらに問題を悪化させていました。 これらが原因となり、初期のYJITではrailsbenchのパフォ

                                                                                  Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp
                                                                                • ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ

                                                                                  プライベートでは基本的に誰の役にも立たないプログラムを作ってるんだけど、たまにうっかり MySQL Parameters みたいな役に立つものを作ってしまう。 MySQL Parameters は5年くらい前に Vue.js の勉強のために作ってみたんだけど、結局そのまま Vue.js は触らず放置状態だった。MySQL の新しいバージョンが出るたびにデータは更新してたけど。 ruby.wasm で Ruby が WebAssembly 上で動くようになり、ブラウザ上で JavaScript の代わりに使えるようになったんで、MySQL Parameters を Ruby で作り直してみた。 ruby.wasm ruby.wasm のページに載ってるけど、これだけでブラウザ上で Ruby が動く。簡単。 <html> <script src="https://cdn.jsdelivr.ne

                                                                                    ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ