並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 451件

新着順 人気順

irbの検索結果81 - 120 件 / 451件

  • dotfilesのこだわりを晒す - エムスリーテックブログ

    Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、本記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 本記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス

      dotfilesのこだわりを晒す - エムスリーテックブログ
    • Ruby Parser開発日誌 (18) - Rearchitect Ripper - かねこにっき

      Rubyのparserを語る上で忘れてはいけない存在としてRipperというライブラリがあります。 RipperはRubyのコードを構文解析するためのライブラリとしてirbやrdocなどで長く使われてきました。 一方でBug #10436のように長い間未解決のバグがあったり、Bug #18988のようにパーサーと挙動が異なる箇所があったりと完璧でない部分があります。 今回Ripperのアーキテクチャを見直すことでRipperの抱えている問題を解決することができたので、この記事で紹介したいと思います。 関連するPRとticketはそれぞれ以下のとおりです。 github.com bugs.ruby-lang.org Ripperとは RipperはRubyのパーサーライブラリです。入力されたコードに対応するS式を返すRipper.sexpを使ったことがある人もいるのではないでしょうか。 Ri

        Ruby Parser開発日誌 (18) - Rearchitect Ripper - かねこにっき
      • Ruby コードレシピ集

        2024年8月26日紙版発売 山本浩平,下重博資,板倉悠太 著 A5判/672ページ 定価3,740円(本体3,400円+税10%) ISBN 978-4-297-14403-6 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Amazon Kindle honto この本の概要 最新Ruby 3.3に対応。Rubyでやりたいことがすぐにわかる,逆引きレシピ集の決定版。 Rubyの基礎知識や実践ですぐに役立つテクニックを,目的別にまとめた逆引きレシピ集です。文法/データ操作/正規表現/文字列操作/テスト/エラー処理といったRubyの基本から,RubyGems/データベース操作/データ処理といった実践的な開発に役立つテクニックまで,やりたいことをすぐに逆引きできるように整理しました。繰り返し参照しやすい形式で構文やコードをわかりやすく掲載。

          Ruby コードレシピ集
        • binding.pryキホンのキ - SmartHR Tech Blog

          こんにちは。プロダクトエンジニアの @sugamasao です。 SmartHRのプロダクトエンジニアは中途採用で経験者を採用していますが、必ずしもRuby/Rails経験者ばかりではありません。 今回はそういった方向けに binding.pry でデバッグする際の使い方をお伝えできればなあと筆を取っております。(昨今ではdebug.gemやbinding.irbでも代用できる気配を感じていますが、それはそれということで何卒) また、以下のコードはRuby 3.0.2とPry 0.14.1で動作確認をおこなっています。 binding.pryってなに ソースコード上に binding.pry と記載してからプログラムを実行すると、該当行で処理を中断し、ターミナルから直接プロセス内の状態をpryで参照、変更することができます。 binding.pryで止まると、こんな感じの内容がターミナルに

            binding.pryキホンのキ - SmartHR Tech Blog
          • TypeProf for IDEの開発をお手伝いしました at クックパッド - kateinoigakukunのブログ

            TL;DR 8月週3クックパッドインターン フルタイムRubyコミッタのチームでTypeProf for IDEの開発 インパクトの大きい貢献チャンスはその辺に転がってるかもしれない インターンの内容 TypeProfはクックパッドでフルタイムRubyコミッタをされている@mametterさんが開発しているRubyの型プロファイラです。 Rubyのプログラムにできるだけ型注釈を入れずに抽象解釈によって型を推論する、という面白い特徴があります。 Ruby 3.0ではRBSのプロトタイプを生成するためのツールとしてRubyにバンドルされています。 github.com 今回のインターンでは、TypeProfの解析結果を利用したRubyのLanguage Serverの実装をお手伝いしました。 TypeProf for IDEについては今年のRubyKaigi Takeout 2021のKeyn

              TypeProf for IDEの開発をお手伝いしました at クックパッド - kateinoigakukunのブログ
            • rstfilter VSCode extension による新しい Ruby の開発体験のご紹介

              VSCode 用の拡張 Ruby's rstfilter extension をリリースしましたので宣伝です。 この拡張を使うと、 rstfilter を起動(Ctrl+Alt+S)するたびに、開いている Ruby スクリプトを保存して実行 各行に実行結果を表示(出力は下の OUTPUT に表示) マウスポインタをおくと式の結果を表示 という単純な機能です。ふつう、ちょっとずつ結果を確認するには、p/pp を書いたり、irb/pry/debugger などを使った REPL を使うのが一般的だと思うんですが、実行したり print を書いたりするアクションを一切せず、「保存」だけで結果を確認、しかも各行の結果がわかるのがウリです。 Ruby の結果を確認したい入門者の方 アプリやライブラリを書き始めた方 テストを書いている方 (ruby コマンドを実行するのも面倒な方) などに便利かもしれ

                rstfilter VSCode extension による新しい Ruby の開発体験のご紹介
              • 【v6プラス/OCNバーチャルコネクトでもNATタイプA】LinuxでポートセービングIPマスカレード付きの制限コーン風NAT(EIM/ADF)を動かす - turgenev’s blog

                概要 NAT動作をめぐる誤解まとめ - turgenev’s blogでは、UDPホールパンチングのしやすさとポートの節約を両立するには「Address Dependentなマッピングを保持しつつEIM風に動作するADFなNAT」が一番いいという話を書きました。これだとv6プラスやOCNバーチャルコネクトでもNintendo SwitchのNAT判定が「タイプA」になります。 この記事では、Symmetric NAT/Full Cone NATをサポートするruby製NATであるrat(GitHub - kazuho/rat: NAT written in pure ruby)を手元で動かし、またコードを少しだけ変更することで上記のようなNATを実際に動作させるところまでを紹介します。変更後のコードはGitHub - ge9/rat: NAT written in pure rubyに公開

                  【v6プラス/OCNバーチャルコネクトでもNATタイプA】LinuxでポートセービングIPマスカレード付きの制限コーン風NAT(EIM/ADF)を動かす - turgenev’s blog
                • あ~~タイガース 下剋上ならず・・でもラクビーは初の決勝トーナメントへ - S-Johnny's Garden

                  我が「阪神タイガース」の下剋上は成らず・・v(>w<)v 近本選手が打てないと、厳しいですね <(^ー^ι)  読売にだけは負けてはダメなのに・・鬼が笑っても 来年だー さて、タイガースは・・・と言う事で、 ラグビー日本代表!! スコットランドを撃破 で、初の決勝トーナメント出場(A組 1位通過) まあラグビーについては「にわかファン」と言われてしまうので、決勝トーナメントのチケット貰えませんか等と、以前の上司に言えませんが・・<(^ー^ι) 多分お願いすれば何とかなるとは思うのですが、その前に怒られそうで (笑) 元上司は、ラグビー界の「神」とも言われていた方で「IRB」国際ラグビー評議会で理事を務めた凄いお方なんです (oдO) にわかでないラグビーファンなら誰でも知っている偉大な方ですね・・。 昔は ラクビー人脈で、途轍もなく凄い方々をご紹介頂き、大変お世話になりました m(_._)

                    あ~~タイガース 下剋上ならず・・でもラクビーは初の決勝トーナメントへ - S-Johnny's Garden
                  • Rubyメソッドの実装を参照するためのいくつかの方法 - BOOK☆WALKER inside

                    こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。普段はRuby on Railsによるバックエンドの開発に携わっています。 先日とあるRubyメソッドの仕様が気になりコードリーディングに挑戦したのですが、当該メソッドがどこに何という名前で定義されているのかわからず、定義にたどり着くのに時間を要してしまいました。 同じようなポイントでつまづいた方、これからコードリーディングを始めようと思っている方のために、本記事ではRubyメソッドの実装を参照する方法をいくつかご紹介したいと思います。 pry-docで参照する リファレンスから参照する Rubyリポジトリをgit cloneしてローカルから参照する githubで検索して参照する まとめ 最後に pry-docで参照する pryにpry-docをインストールして$コマンドを使うことで、C言語で実装されたRubyメ

                      Rubyメソッドの実装を参照するためのいくつかの方法 - BOOK☆WALKER inside
                    • Ruby 2.7: ハッシュからキーワード引数への自動変換が非推奨に(翻訳)|TechRacho by BPS株式会社

                      概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Ruby 2.7 deprecates automatic conversion from a hash to keyword arguments – Saeloun Blog 原文公開日: 2019/10/07 著者: Rohit Kumar サイト: Saeloun -- Ruby on Railsのコンサルティング会社で、Rails + React開発のほかに、React Nativeによるモバイルアプリ開発も手がけています。 2019/10/31: 初版公開 2023/05/18: 更新 Rubyのメソッド定義は極端なまでに柔軟です。それを端的に表す例がMarc-André Lafortuneのブログ記事にありましたので引用します。 class C def hi(needed, needed2, maybe1 = "42

                        Ruby 2.7: ハッシュからキーワード引数への自動変換が非推奨に(翻訳)|TechRacho by BPS株式会社
                      • SolidQueue解体新書 - メドピア開発者ブログ

                        こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 さて、Railsエンジニアの皆さんは非同期処理にどのようなライブラリを利用していますか? ちなみに弊社では Sidekiq を利用するプロジェクトが多いです。 tech.medpeer.co.jp 今回はRailsでの非同期処理ライブラリの新たな選択肢として誕生した「SolidQueue」について解説します。 github.com 目次 🙋 はじめに 🙋 📝 SolidQueueとは 📝 🚀 SolidQueueの特徴 🚀 🔓 「FOR UPDATE SKIP LOCKED」 とは 🔓 🍡 3種類のアクターについて 🍡 起動方法 (おまけ)二つの起動モードについて 🚶 SolidQueue実装の歩き方 🚶 モデル アクター 🥞 SolidQueueのモデル(テーブル)🥞 Jobの状態遷移

                          SolidQueue解体新書 - メドピア開発者ブログ
                        • Ruby 2.7.0 Released

                          Posted by naruse on 25 Dec 2019 We are pleased to announce the release of Ruby 2.7.0. It introduces a number of new features and performance improvements, most notably: Pattern Matching REPL improvement Compaction GC Separation of positional and keyword arguments Pattern Matching [Experimental] Pattern matching, a widely used feature in functional programming languages, is introduced as an experim

                          • Railsの上で走る - ooooooo_qの日記

                            (2021/9/27追記: この記事の内容に色々追加した物をzennへ載せました Deserialization on Rails) この記事はRuby on Rails Advent Calendar 2019 - Qiitaの11日目です。 この記事を見ている方はRailsアプリケーションの開発をしている方が多いと思います。手元のRailsリポジトリでちょっとbin/rails routesを試してみてください。 出力結果に以下のURLは含まれていたでしょうか? rails_service_blob GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs#show rails_blob_representation GET /rails/active_storage/repr

                              Railsの上で走る - ooooooo_qの日記
                            • Ruby 3.1.0 リリース

                              Posted by naruse on 25 Dec 2021 Ruby 3.1系初のリリースである、Ruby 3.1.0 が公開されました。Ruby 3.1は3.0と高い互換性を保ちながら、多くの機能を追加しています。 YJIT: New experimental in-process JIT compiler Ruby 3.1では、Shopifyが開発した新しいプロセス内JITコンパイラであるYJITをマージしました。 2018年のRuby 2.6でMJITをマージして以来、そのパフォーマンスは年々改善され、去年にはRuby3x3を無事達成しました。比較的大規模なOptcarrotベンチマークでは輝かしい高速化を達成したMJITですが、一方で現実の業務アプリケーションの性能はこれまで改善出来ていませんでした。 近年Shopifyは彼らのRailsアプリケーションを高速化するため、Rub

                              • RubyKaigi 2023 で開催された廊下会議の紹介 - ANDPAD Tech Blog

                                こんにちは @hsbt です。ゼルダの伝説 ティアーズ オブ ザ キングダムがついに発売されたので RubyKaigi 2023 の登壇後にプレイを開始していますが、引き続き原神もアップデートがあり、さらに崩壊:スターレイルも始めてしまったので大変なことになっています。 さて、今回は 5/11-13 に長野県松本市 まつもと市民芸術館 で開催された RubyKaigi 2023 で私 @hsbt が廊下会議で何を話してきたのか、という内容をご紹介します。 廊下会議とは 本日の技術顧問業、「技術カンファレンスへ参加するときに大事にしたいのは廊下(自然発生的に起こるインフォーマルなオフライン議論の場)だ」という話をした— Takuto Wada (@t_wada) 2019年10月17日 t_wada さんが初出かどうかは定かではないのですが、カンファレンスの醍醐味は廊下、とはよく言われます。

                                  RubyKaigi 2023 で開催された廊下会議の紹介 - ANDPAD Tech Blog
                                • Ruby 3.1.0 Released

                                  Posted by naruse on 25 Dec 2021 We are pleased to announce the release of Ruby 3.1.0. Ruby 3.1 keeps compatibility with Ruby 3.0 and also adds many features. YJIT: New experimental in-process JIT compiler Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify. Since Ruby 2.6 introduced MJIT in 2018, its performance greatly improved, and finally we achieved Ruby3x3 last year. But

                                  • Kaigi on Railsに「Rubyで書かれたソースコードを読む技術」というタイトルで登壇しました - ロコガイド テックブログ

                                    こんにちは、技術部の深谷(@fukajun)です。 先日(2020年10月3日)行われたKaigi on Railsにて、「Rubyで書かれたソースコードを読む技術」というタイトルで発表しました。 発表した内容について 仕事やプライベートではメインのRubyも含めていくつかの言語にふれていますが、Rubyで書かれたコードは非常に読みやすいと日々感じています。 基本的には、Ruby/Railsのコードは複雑なロジックでもすんなり理解できることが多いです。 とはいえ、なかなか動きがわからないコードに出会うこともあります。 今回は、そういった場合に自分がやっていることを中心に紹介しました。 発表資料 当日、使用した発表資料です。 発表動画 Rubyで書かれたソースコードを読む技術 / fukajun 発表に含めることができなかった内容について ここからは、時間の都合で本編に盛り込めなかった内容を

                                      Kaigi on Railsに「Rubyで書かれたソースコードを読む技術」というタイトルで登壇しました - ロコガイド テックブログ
                                    • Ruby3.0でのパターンマッチ機能の変更点 - メドピア開発者ブログ

                                      こんにちは、メドピアのサーバサイドエンジニアの草分です。 2020年12月25日、ついに待望のRuby3.0がリリースされましたね。 以前、Ruby2.7で発表されたパターンマッチについての記事を執筆したのですが、Ruby3.0になりいくつか追加/変更が入っています。 この記事ではそれらの変更点を確認していきます。 「Rubyのパターンマッチとは何ぞや?」という方は是非前回の記事も合わせてご覧ください。 tech.medpeer.co.jp Ruby3.0を使うには rbenvなど、主要なサードパーティツールが既にRuby3.0に対応しています。 それらを使ってインストールするのが簡単でしょう。 # rbenv rbenv install 3.0.0 # rvm rvm install ruby-3.0.0 Windowsの方は RubyInstaller for Windows などをお

                                        Ruby3.0でのパターンマッチ機能の変更点 - メドピア開発者ブログ
                                      • フィヨルドブートキャンプを(11ヶ月前に)卒業したこと、楽しいことをすること - Eggshell

                                        「フィヨルドブートキャンプ Part 2 Advent Calendar 2021 - Adventar」4日目の記事です。 2021年1月にフィヨルドブートキャンプというプログラミングスクールを卒業しました。2021年1月から永和システムマネジメントという会社で働いており、スクールを卒業して就職してから11ヶ月経ちました。卒業エントリにしては時間が経っているのですが、時間が経ったから見えてくることもあるかなと思うのでこれまでのことと、これからのことをつらつらと書いていきます。 フィヨルドブートキャンプとは フィヨルドブートキャンプとは、 プログラマーとして就職を目指せるだけのスキルを身につけることを目標としたオンラインプログラミングスクールです。就職を目指せるスキルを弊社では「現場の人間にとって、戦力になるプログラマー」としています。 というプログラミングスクールです。主にRailsエン

                                          フィヨルドブートキャンプを(11ヶ月前に)卒業したこと、楽しいことをすること - Eggshell
                                        • 海外論文紹介:More Kawaii than a Real-Person Streamer - コミュニティがVTuberとどう関わり、どう認識しているか

                                          Tweet 国際会議CHI2021 にて、興味深い論文「リアルな配信者よりもカワイイ :オタクコミュニティがバーチャル YouTuber とどのように関わり、どのように認識しているか」(原題:”More Kawaii than a Real-Person Streamer: Understanding How the Otaku Community Engages with and Perceives Virtual YouTubers”)がありましたので、著者の Zhicong Lu さんに Twitter 上でご許可をいただいて日本語翻訳させていただきました。日本発祥である VTuber 文化が、現在、どのように受容されているかを垣間見ることができます。また日本の学術コミュニティにおいても、より VTuber や SNS、配信者文化に関する学術的研究が活発になる事を期待して、参考訳を掲

                                            海外論文紹介:More Kawaii than a Real-Person Streamer - コミュニティがVTuberとどう関わり、どう認識しているか
                                          • RubyKaigi 2023に参加しました & 登壇しました - shioimm || coe401_

                                            皆さんRubyKaigi 2023お疲れ様でした! あっという間で本当にたのしい3日間でしたね。わたしは一週間が経ってもいまだにわくわくした気持ちで日々を過ごしています。 今年もありがたいことにDAY2に登壇の機会をいただいたので、この記事では今回作ったものや会期中のあれこれを振り返ってみたいと思います。 今回の発表テーマを選んだきっかけ 今回はImplementing "++" operator, stepping into parse.yというタイトルにて「"MRIにインクリメント演算子を追加する"という取り組みを題材に、MRIの字句解析器(スキャナ)と構文解析器(パーサ)に親しむ」というテーマでプロポーザルを提出しました。 (今年のRubyKaigiはパーサ関連の発表が豊作だったので、思いがけず空前のパーサブームに加わることができて幸運でした) 自分自身の個人的な技術的興味はネットワ

                                              RubyKaigi 2023に参加しました & 登壇しました - shioimm || coe401_
                                            • 五輪選手への誹謗中傷に警視庁が本腰 特にネットの敗退選手への誹謗中傷はガチで対応 : 痛いニュース(ノ∀`)

                                              五輪選手への誹謗中傷に警視庁が本腰 特にネットの敗退選手への誹謗中傷はガチで対応 1 名前:牛丼 ★:2021/07/25(日) 22:00:46.74 ID:CAP_USER9 オリンピックの選手に対する誹謗(ひぼう)中傷について、警視庁は被害届が出れば対応する方針を示しました。 東京オリンピックが始まり、主に敗退した選手らを誹謗中傷するような書き込みがインターネットやSNS上に増えています。 警視庁はこうした誹謗中傷について、本人から被害届が出れば警察として真摯に対応する方針を示しました。 SNSなどでの誹謗中傷は社会問題化していて、東京地裁は5月にプロレスラーの木村花さんを中傷する書き込みをしたとして、長野県の男性に約130万円の支払いを命じる判決を言い渡しています。 https://news.tv-asahi.co.jp/news_society/articles/00022361

                                                五輪選手への誹謗中傷に警視庁が本腰 特にネットの敗退選手への誹謗中傷はガチで対応 : 痛いニュース(ノ∀`)
                                              • 知るほどに明日の試合が「高まる」はずなので少しでも伝えたい、日本と南アフリカと平尾誠二とたくさんの人の「縁」の物語。 : スポーツ見るもの語る者〜フモフモコラム

                                                知るほどに明日の試合が「高まる」はずなので少しでも伝えたい、日本と南アフリカと平尾誠二とたくさんの人の「縁」の物語。 Tweet Share on Tumblr カテゴリ:ラグビー 2019年10月19日12:00 因縁の相手との決戦が迫ってきました。 20日に行われるラグビーワールドカップ準々決勝、日本VS南アフリカ戦。数奇だな、と思います。世界にはたくさんの因縁や縁があるので、こじつけようと思えば何でもこじつけることはできますが、それにしても、と思います。日本ラグビーがその命運をかけて臨んだ今大会への長い道のり。その果てで、この10月20日という日に、南アフリカと激突するというのは、15年…いや20年…25年にも及ぶ長い道のりの総決算のように思えてくるのです。 🇯🇵 @JRFUMedia 🇿🇦 @Springboks 準決勝に駒を進めるのは…#RWC2019 #JPNvRSA

                                                  知るほどに明日の試合が「高まる」はずなので少しでも伝えたい、日本と南アフリカと平尾誠二とたくさんの人の「縁」の物語。 : スポーツ見るもの語る者〜フモフモコラム
                                                • secret_key_baseが漏れると何が起きるのか実際に試してみた|TechRacho by BPS株式会社

                                                  社内でRailsコードのレビューをしていて、 Dockerfile に環境変数で SECRET_KEY_BASE="dummy" のようにベタ書きしているのを見つけました。これはまずいよね、多分任意のセッション改ざんによるなりすましなどがし放題になりそうだよね、と思ったものの、これまで雰囲気で使っていて確かなことが言えなかったので、良い機会ということで少し調べてみることにしました。 🔗 secret_key_baseについて 🔗 secrets と credentials, RAILS_MASTER_KEY ってなんだっけ 🔗 secrets Rails 4.1で secrets.yml が登場して、environmentごとの認証情報を平文で保存していました。その後Rails 5.2で secrets.yml.enc が登場して、 RAILS_MASTER_KEY または secr

                                                    secret_key_baseが漏れると何が起きるのか実際に試してみた|TechRacho by BPS株式会社
                                                  • RubyKaigi 2024でキーノートをしてきました - tompngのブログ

                                                    丁度1ヶ月前の5月15日、RubyKaigi 2024 初日のキーノートでしゃべってきました。 タイトルは「Writing Weird Code 奇妙なコードを書くということ」 RubyKaigi, me and weird code 発表スライドはこちら drive.google.com RubyKaigiは僕にとってすごく特別なカンファレンスだし、それが地元沖縄で開催されるということで、絶対何か喋りたいと思って真面目な内容のCFPを出していたんですが、 気づいたら真面目じゃない内容のキーノートをしていました。RubyKaigi本当に楽しかったし。すごかった。 RubyKaigiが終わってしばらくは「RubyKaigi本当にすごいイベントだった」という言葉が頭の中をループしていて、その時にこのブログを書いていれば、文章の半分くらいが「やばい」で埋め尽くされていたんじゃないかなぁ。 本当に

                                                      RubyKaigi 2024でキーノートをしてきました - tompngのブログ
                                                    • Ruby 3.3で大幅に強化されたIRBの解説(翻訳)|TechRacho by BPS株式会社

                                                      概要 原著者の依頼を受けて翻訳・公開いたします。 英語記事: Unveiling the big leap in Ruby 3.3’s IRB | Rails at Scale 原文公開日: 2023/12/25 原著者: Stan Lo -- ruby/irb、ruby/reline、ruby/tracerのメンテナーです 本記事では、Ruby 3.3でIRBに導入された主な機能強化と、現時点で来年に導入が予定されている機能について詳しく解説いたします。 Ruby 3.3のIRB強化の要点: デバッグ機能強化 オートコンプリートの使用感を強化 全体的な使用感を改善 耳より情報: Ruby 2.7以降のプロジェクトであれば、Gemfileにgem "irb"を追加することで、Ruby 3.3に今すぐアップグレードしなくてもRuby 3.3と同じバージョンのIRB(v1.11.0)を利用でき

                                                        Ruby 3.3で大幅に強化されたIRBの解説(翻訳)|TechRacho by BPS株式会社
                                                      • 脆弱性から学ぶRubyの仕組み(CVE-2022-28739編)

                                                        脆弱性から学ぶRubyの仕組み(CVE-2022-28739編) 最近業務でRubyを使うようになったのだが、これまで業務で使ったことのない言語だったので日々言語仕様などを勉強している。 加えて、業務上の別件でセキュリティ周りも勉強しておきたく、良い機会なので「脆弱性の側面からRubyの仕組みについて学ぶ」という暴挙に出てみようと思う。 Ruby 言わずとしれたプログラミング言語の一種。日本発の言語。 「Rubyってなんぞ。石か?」という方はWikipedia参照。 脆弱性 コンピュータ上のバグや仕様の不具合から生じる、セキュリティ上の欠陥の総称。 予期せぬ挙動のうち、セキュリティ的によろしくない挙動を起こすものとも言える? いろんな書籍やWebサイトでいろんな説明がされているため、抽象的なニュアンスはなんとなくわかるような気がするが、どのように言語化すればより正確な説明になるのか未だにわ

                                                          脆弱性から学ぶRubyの仕組み(CVE-2022-28739編)
                                                        • 週刊Railsウォッチ(20200525前編)2020年のRailsマストgem 19個、スライド『Fat Modelの倒し方』、AR mergeのrewhereオプションを変更ほか|TechRacho by BPS株式会社

                                                          2020.05.25 週刊Railsウォッチ(20200525前編)2020年のRailsマストgem 19個、スライド『Fat Modelの倒し方』、AR mergeのrewhereオプションを変更ほか こんにちは、hachi8833です。JavaScriptが25歳の誕生日を迎えたそうです🎉。10日そこそこで最初のプロトタイプを作ったとは😳。Rubyはちょっとだけ年上なんですね。 25 years ago this month the first prototype of JavaScript was created over ten days. Most likely May 6-15, 1995. Read about how it happened in “JavaScript: The First 20 Years” https://t.co/aCMFx28GX0@Bren

                                                            週刊Railsウォッチ(20200525前編)2020年のRailsマストgem 19個、スライド『Fat Modelの倒し方』、AR mergeのrewhereオプションを変更ほか|TechRacho by BPS株式会社
                                                          • Ruby 3 JIT can make Rails faster

                                                            I’ve wondered Why Rails becomes slow with JIT for a long time. Today, I’m pleased to share my answer to the question in this article, which I spent three years of my life to figure out. RubyKaig 2018 / The Method JIT Compiler for Ruby 2.6"MJIT Does Not Improve Rails Performance"As I wrote in Ruby 3.0.0 Release Note and my previous post, we thought: it is still not ready for optimizing workloads li

                                                              Ruby 3 JIT can make Rails faster
                                                            • Rails6から採用されたZeitwerkが最高だった - Qiita

                                                              はじめに Rails6がリリースされて早3ヶ月、 先週、大きめの案件が終わって暇になったので、社内のプロジェクトを全てRails5からRails6にアップデートしました。アップデート作業に伴い Zeitwerk について調べたところ、最高のGemだったのでまとめます。 Zeitwerkとは Zeitwerk (読み方: ツァイトヴェルク) とは新しく開発されたオートロードの仕組みです。Gemとして独立しており、Railsに限らず様々なRubyプロジェクトで利用可能です。 なぜ開発されたのか? Rails で 古くから採用されてきた const_missing を利用したオートロードの仕組みには、処理順序によって発生する不具合など、エッジケースな落とし穴がいくつかありました。 Zeitwerkはそういったレガシーなオートロードの仕組みを改善する目的で開発が始まり、エッジケースの解消はもちろん

                                                                Rails6から採用されたZeitwerkが最高だった - Qiita
                                                              • プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ

                                                                2023 年 10 月 30 日に『実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう』(以下 実践プロパティベーステスト本)という本が出版されました。 プロパティベーステストというのは、テストの一手法なのですが、これまでとは違う範囲をカバーするテストです。 今回はそれを Ruby に適用するとどうなるか検証、また似ている既知との概念と対比して理解を深めました。 これは Ruby Advent Calendar 2023 15 日目の記事です。 プロパティベーステストとはどのような形式か 既知の概念との対比 普段書いているテストと、プロパティベーステスト データ(テーブル)駆動テストと、プロパティベーステスト ファジングと、プロパティベーステスト 型と、プロパティベーステスト まとめ 実践プロパティベーステスト本は 2023 年 12 月現在、テストの一手

                                                                  プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ
                                                                • RubyKaigi 2022に参加しました - BOOK☆WALKER inside

                                                                  こんにちは。 メディアサービス開発部、Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、2022年の9月8日から9月10日にかけて三重県津市で開催された、RubyKaigi 2022に現地参加したことについてお話しします1。 RubyKaigiとは 実に3年ぶりの物理開催 見に行った講演の感想など Ruby meets WebAssembly Making *MaNy* threads on Ruby Building a Lightweight IR and Backend for YJIT Towards Ruby 4 JIT Ruby debugger - The best investment for y

                                                                    RubyKaigi 2022に参加しました - BOOK☆WALKER inside
                                                                  • WebAssembly 入門してみた

                                                                    WebAssembly 入門してみた 最近こんなニュース記事を見て、 WebAssemblyに対してクラウドサービスを抽象化、そのままAWSでもAzureでもGoogle Cloudでも実行可能にする「SpiderLightning」、Deis Labsが公開、標準化も推進 いろんなOSにまたがった実行環境という意味ではJavaのJVMみたいだなと思ったり(Javaそんなに詳しくないけど)、「WebAssemblyってそんなこともできるのか...」とちょっと興味を惹かれた。 名前のちょっとした概要だけは知っている所謂「にわか勢」だったので、良い機会だし少しちゃんと調べてみる。 そもそもWebAssemblyて とりあえず公式ページを見てみると、こんな記載がある。 WebAssembly (abbreviated Wasm) is a binary instruction format fo

                                                                      WebAssembly 入門してみた
                                                                    • 8年の歴史を持つRailsアプリのRuby 3.1への道 〜そしてOSSコントリビュートへ〜 - SmartHR Tech Blog

                                                                      こんにちは。プロダクトエンジニアのkitazawaとqwyngです。 先日SmartHR基本機能のRubyバージョンを3.0から3.1にアップデートしました! SmartHR基本機能では開発をLeSSで行っていますが、Rubyのアップデートは開発チーム内の有志のメンバーで実施しています。 その際にいくつかあった問題とその解決方法について紹介しようと思います。 Ruby 3.1へのアップデートを開始 まずはじめにRuby 3.1でCIを実行してみました。キーワード引数の対応などが大変だった3.0のアップデートに比べると失敗しているテストは少なく、修正の時間はあまりかかりませんでした。 そのため、すべてのテストが成功するようになるまでは苦労することなくすんなりと進めることが出来ました。 最初の問題 CIは通るようになったので動作確認をするため、staging環境にデプロイしようとしました。が、

                                                                        8年の歴史を持つRailsアプリのRuby 3.1への道 〜そしてOSSコントリビュートへ〜 - SmartHR Tech Blog
                                                                      • IRBのアップデート 〜補完とデバッグ機能の強化 | gihyo.jp

                                                                        Ruby 3.3にはRubyのREPLであるIRB v1.11.0が同梱されました。新しいIRBでは補完機能やdebug.gemとの連携が強化されました。 この記事では、型補完の追加、補完ダイアログの色変更API、デバッグに便利な機能、その他便利な機能追加について紹介します。 なお、IRBはDefault gemsのため、Ruby 3.3.0以外のバージョン[1]でもgem update irbやbundle add irbでインストールすることで最新のIRBを利用できます。 動作確認環境 記事内容はRuby 3.3.0、IRB v1.11.1、Reline v0.4.1、repl_type_completor v0.1.2で動作確認しています。 IRBの補完機能の強化 IRBでは、型による補完機能の強化、補完ダイアログの色変更APIの追加が行われました。 型補完の導入 今までは正規表現を

                                                                          IRBのアップデート 〜補完とデバッグ機能の強化 | gihyo.jp
                                                                        • Ruby Kaigi Takeout 2021 速報記事 Day1 午後 - Tech Inside Drecom

                                                                          始めに こんにちは、enzaプラットフォーム事業本部でSREチームのエンジニアをやっている橘田です。 こちらは、RubyKaigiTakeout2021 の1日目の午後の速報記事です。 1日目の午前の速報記事はこちらをご確認ください。 Optimizing Partial Backtraces in Ruby 3 Rubyで記載されたプログラムをデバッグするためのツールのBacktraces Ruby3以前では、Backtracesの生成に関してコールスタックが深くなると生成コストが高くなるっという問題がありました。 その問題に関しては、Rubyのissueに上がっています。 この問題をいかにして解決して、そしてBacktracesの内部がどのように動作しているのかが説明されました。 Backtracesの開始ポイントからいかにしてトレースを行っていき、最適化していったか そして最適化した

                                                                            Ruby Kaigi Takeout 2021 速報記事 Day1 午後 - Tech Inside Drecom
                                                                          • 正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap

                                                                            こんにちは。正規表現でかんたんにCopを書けるRuboCop拡張を作ってみたので紹介します。 github.com 使い方 まず、ほかのRuboCop拡張と同様にgemをインストールし、.rubocop.ymlのrequireにこのgemを指定してください。 この拡張は設定をしないと何も動きません。次のように.rubocop.ymlに設定をします。 Grep/Grep: Rules: # シンプルな例。正規表現にマッチした場合に、このCopが警告をします。 - Pattern: '\bENV\b' Message: Do not refer ENV directly. # パターンはArrayにして複数の正規表現を含めることができます。 - Pattern: - 'binding\.irb' - 'binding\.pry' Message: 'Debug code remains' #

                                                                              正規表現でかんたんにCopを書けるRuboCop拡張 rubocop-grep をリリースしました - pockestrap
                                                                            • Prism in 2024

                                                                              In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as a Ruby gem). The Prism project represents many person-years worth of effort, and is the result of a collaboration between Shopify, CRuby core contributors, other Ruby implementation authors, and Ruby t

                                                                                Prism in 2024
                                                                              • リロ氏のホットサンドメーカーレシピまとめ

                                                                                リロ氏のホットサンドメーカー レシピ まとめ ご存知の方は多いと思いますけど 「ホットサンドメーカーの人」で通じてしまうようになってしまいました。 ニコニコ大百科にも載ってしまう始末w せっかくなのでこちらにレシピ等もアップしていきたいと思います。 具体的レシピは随時追記していきます…! ホットサンドメーカーは汎用性が高い シチューみたいな汁物じゃないければ割と何でも作れます。 ホットサンドメーカーは小さな両面フライパン 両面焼きの小さなフライパンみたいなものです。両面から火にかけられて蒸し焼きにできるアイテムです。 ホットサンドメーカーは焼き加減が確認しやすい 「何分くらい火にかけたんですか?」という質問が多いですが、米を炊いたりするのと違って気になったら開いて焼き加減の確認ができます。さらにひっくり返せば両面とも焼き加減の確認ができるので均等に火を通すことが簡単です。 『ひっくり返す時

                                                                                  リロ氏のホットサンドメーカーレシピまとめ
                                                                                • Ruby 3.1: error_highlight gemが追加された(翻訳)|TechRacho by BPS株式会社

                                                                                  概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Ruby 3.1 adds error highlighting gem | Saeloun Blog 原文公開日: 2022/02/09 原著者: Alkesh Ghorpade サイト: blog.saeloun.com プログラミング言語で例外やエラーが発生すると、エラーのスタックトレースを扱います。スタックトレースは、エラーの発生場所を整った書式で示し、プログラムのサブルーチンに関する情報を提供します。 Rubyを使っていると、さまざまな場所でエラーや例外が発生することに気づきます。例を見てみましょう。 # test.rb class Addition attr_reader :num1, :num2 def initialize(num1, num2) @num1 = num1 @num2 = num2 end def

                                                                                    Ruby 3.1: error_highlight gemが追加された(翻訳)|TechRacho by BPS株式会社