タグ

関連タグで絞り込む (497)

タグの絞り込みを解除

rubyに関するmas-higaのブックマーク (833)

  • Rubyで始めるAIエージェント入門 | Wantedly Engineer Blog

    こんにちは。ウォンテッドリーの Enabling チームでバックエンドエンジニアをしている市古(@sora_ichigo_x)です。 現在、Enabling チームでは技術的な取り組みを社外にも発信すべく、メンバーが週替わりで技術ブログをリレー形式で執筆しています。前回は冨永さんによる「【計画編】 スカウト機能のマイクロサービス化を辞める判断について」でした。今回はAIエージェントを実装する話をします。 2025年に入り、「AIエージェント」という言葉が急速に浸透してきています。 そしてこれは単に利用ユーザーの関心が高まっているだけではなく、サービスを提供する側にとっても無視できない話です。主要ベンダーのSDKやAPIが次々と整備され、技術的には誰もがAIエージェントを社会実装できる環境が整いつつあります。つまり、AIが当たり前になる世界で、AI機能を持たないプロダクトは競争優位を維持でき

    Rubyで始めるAIエージェント入門 | Wantedly Engineer Blog
  • 30代からプログラマー。3年でRubyKaigi登壇。塩井美咲の「驚くほど運が悪い」人生はなぜ急変したのか | LIFE DRAFT

    「驚くほど運が悪かった」人生から、30代からプログラマーになり、たった3年でRubyKaigi登壇、現在はRubyのコミッターとして国際的に活躍する塩井美咲さん。一見すると突然開けたかのようで、その実一筋縄ではない塩井さんの半生を紐解く。 「驚くほど運が悪かった」人生から、30代からプログラマーになり、たった3年でRubyKaigi登壇、現在はRubyのコミッターとして国際的に活躍する塩井美咲さん。一見すると突然開けたかのようで、その実一筋縄ではない塩井さんの半生を紐解く。 プログラミング言語Rubyのコミッターとして国際的に活躍する塩井美咲さん。プログラマーになったのは30歳になってからと遅く、そこからわずか数年で国際カンファレンス「RubyKaigi」の常連に。プログラマーとして過去二度の転職は、いずれもRubyコミュニティと深く関係している。 「それまでの人生は驚くほど運が悪かった。

    30代からプログラマー。3年でRubyKaigi登壇。塩井美咲の「驚くほど運が悪い」人生はなぜ急変したのか | LIFE DRAFT
    mas-higa
    mas-higa 2025/06/13
    いや他のブコメも見たら分かるやん。オレにもこういう時期あったわ。
  • 京都 ビール 最強 令和最新版|関西Ruby会議

    こんにちは。関西Ruby会議08実行委員長の 高田 雄大 (@ydah) です。 さて、今回は 京都 ビール 最強 令和最新版 と検索窓に入力する前に是非呼んでいただきたい記事を書きました。 私なりに京都のビール情報をまとめてみましたので、ぜひホップヘッズな皆さんに届けばいいなと思っております。 京都とクラフトビールのかかわりで言うと非常に歴史が古く、日のクラフトビール黎明期から活動が行われていました。 実は日に最初のクラフトビール(地ビール)ブームが来る前の1980年代から、小規模醸造を行なっていたのが今はなきキリンビールの京都工場でした。 その後、1994年に酒税法改正により、ビール醸造免許の年間最低製造量が大幅に引き下げられたため、全国で小規模なビール醸造所、いわゆるマイクロブルワリーが増加しました。京都も同様に多くの醸造所が誕生し、現在も沢山の素敵なビールを醸している醸造所があ

    京都 ビール 最強 令和最新版|関西Ruby会議
    mas-higa
    mas-higa 2025/05/01
    TAKUMIYA 10周年のビールは良かったね。特に伊勢角のハードセルツァーと長龍のドライスタウトはすごかった。
  • ruby/debugメンテナーが教える2025年のデバッグ便利技集(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: My Ruby Debugging Tips in 2025 原文公開日: 2025/03/13 原著者: Stan Lo -- ShopifyのRuby Developer Experience Team所属、ruby/debugやIRBなどのメンテナーです。 日語タイトルは内容に即したものにしました。 これは、私が編み出したRubyのデバッグ技と推奨事項を未完成のまま取り急ぎまとめたものです。 🔗 VS CodeのRuby LSP拡張を使ってdebug.gemに接続することも可能です。 この場合、launch.json設定をわずかに変更する必要があります(例を参照)。これによって接続時の問題に対処するためのエラー処理が改善されます。 🔗 launch.json設定ファイルで、attachの代わりにlaunchリクエスト

    ruby/debugメンテナーが教える2025年のデバッグ便利技集(翻訳)|TechRacho by BPS株式会社
  • RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog

    こんにちは。id:Pocke です。最近は並列処理の実装に頭を悩ませています。 この記事では並列処理の実装の中で得た学びについて共有しようと思います。 なお特にことわりがない限り、Rubyのバージョンは記事執筆時点で最新の3.4.1を使用します。 問題 Threadをふんだんに使ったプログラムをデバッグしていると、デッドロックが起きたときに、その原因となったスレッドがどこで停止しているのかを知りたくなることがあります。 例えば以下のようなケースを考えてみます。 # わざとトレースを深くするメソッド呼び出し def f(q) = g q def g(q) = h q def h(q) = q.pop def main q = Thread::Queue.new # `q` にはエンキューされないので、これらのスレッドは停止する th1 = Thread.new { f q } th2 = T

    RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog
    mas-higa
    mas-higa 2025/02/20
    “ふと、デッドロック時にバックトレースが表示されている光景を見たことがある気がしてきました” すごい
  • Ruby の STDOUT と $stdout - tmtms のメモ

    ちょっと前の Ruby-dev office hour で STDOUT と $stdout について話題になってたので書いてみる。 発端は Ractor で $stdout は使えるけど STDOUT は使えないというものだったようだけど、まあ Ractor についてはよくわからないんで置いておく。 Ruby には標準入出力エラー出力を表すものとして、定数(STDIN, STDOUT, STDERR)とグローバル変数($stdin, $stdout, $stderr)がある。 以下で STDOUT / $stdout と書いてるけど、STDIN / $stdin, STDERR / $stderr でも同じ。 Ruby プロセス起動直後は同じオブジェクトを指している。 STDOUT.__id__ # => 7984 $stdout.__id__ # => 7984 $stdout は変数

    Ruby の STDOUT と $stdout - tmtms のメモ
    mas-higa
    mas-higa 2025/02/03
    $stdout への代入が必用になるケースを思い付かない。出力先が $stdout に固定されてるライブラリの出力を使う場合とか?
  • Rubyのクラス宣言に書かれている角かっこ[ ]の意味を調べてみた(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Binary Solo | Box brackets in Ruby class declarations 原文公開日: 2024/12/27 原著者: Ayush Newatia 日語タイトルは内容に即したものにしました。 Railsを使ったことがあれば、作成したデータベースマイグレーションファイル内のクラス宣言で、以下の構文を見たことがあるはずです。 class CreateUserTable < ActiveRecord::Migration[7.1] def change # ... end end 正直に申し上げると、クラス定義のスーパークラス名に角かっこで[7.1]を書いても大丈夫な理由について、これまで何もわかっていませんでしたし、疑問に思ったことすらありませんでした。当時は、自分が気にする必要もないような、いかに

    Rubyのクラス宣言に書かれている角かっこ[ ]の意味を調べてみた(翻訳)|TechRacho by BPS株式会社
    mas-higa
    mas-higa 2025/01/30
    最近 Ruby のコード書いてないから忘れてたけど [] もメソッドだったね。クラスを返すクラスメソッドを呼び出してるだけだったか。
  • プロと読み解くRuby 3.4 NEWS - STORES Product Blog

    プロと読み解くRuby 3.4 NEWS テクノロジー部門技術基盤グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.4.0 がリリースされました(Ruby 3.4.0 リリース )。今年も STORES Product Blog にて Ruby 3.4 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar 2024 の記事になります。他も読んでね)。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者

    プロと読み解くRuby 3.4 NEWS - STORES Product Blog
  • ファミコンで動くRubyをつくりました - yhara.jp

    このエントリは言語実装 - Qiita Advent Calendar 2024 - Qiitaの10日目の記事です。 最近やってた「ファミコン上で動作するRuby」ですが、シンプルなゲームが実装できるとこまでできたのでいったんv0.1.0としました。 https://github.com/yhara/nesruby ゲームは先日のRubyWorld Conference 2024の弊社ブースで展示していたものです。JSNESを使ってgithub pagesにもアップロードしておきました。 https://yhara.github.io/nesruby/ 仕組み cc65というCコンパイラがファミコン向けの機械語を生成してくれるので、それを使ってmruby bytecodeのインタプリタを実装したという形です。 実装はmruby/cのソースを大いに参考にさせていただいています。ありがとうご

  • なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎 | snoozer05.org

    ダウンロードPDF(2MB)書について『Working with TCP Sockets』の翻訳版を、原著者であるJesse Storimerの許可を得て島田浩二が公開するものです。 翻訳版の書名は、同シリーズの先行書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会』に揃えて『なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎』としました。 翻訳版も原書と同様、無料でお読みいただけます。 翻訳版の原稿は、10年ほど前に刊行を目指して翻訳したものとなっています。もし現在のRubyで動かない箇所や注釈が必要な箇所があれば、snoozer.05@gmail.com まで連絡ください。 公式ハッシュタグ:#naruhotcp 改訂履歴2024-09-23: 公開謝辞Jesse Storimer Original Author@takahashim

    mas-higa
    mas-higa 2024/09/24
    [あとで読む]
  • Rubyのobject_id

    Rubyのobject_idを入口にして、Rubyの実装詳細について学びます。

    Rubyのobject_id
    mas-higa
    mas-higa 2024/08/29
    なんでこの知識が必要になったんだろう
  • Ruby研究シリーズ1: メソッド定義構文はどう決定され、どう進化したか(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The design decisions and evolution of a method definition - Ruby case study 原文公開日: 2024/06/14 原著者: zverok 日語タイトルは内容に即したものにしました。また、主にRuby以外のユーザーに向けたサイドストーリー的なパラグラフは囲みスタイルにしています。 記事は、新シリーズ記事のパート1であり、おそらく書籍の一部として収録されることが見込まれています。Rubyプログラミング言語が設計されたときのさまざまな決定事項と、それらが時とともにどのように進化したか、より広い文脈ではどのように捉えられるかについて研究します。 今回はメソッド定義(method definitions)、つまりメソッド定義の一般的な形と、引数の指定方法を扱います

    Ruby研究シリーズ1: メソッド定義構文はどう決定され、どう進化したか(翻訳)|TechRacho by BPS株式会社
  • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - GMO Flatt Security Blog

    記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根原因 CreateProcessのラッパー cmd.exeのパース規則

    Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - GMO Flatt Security Blog
  • Rubyインタプリタのむずかしいバグを直した - STORES Product Blog

    STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 最近Rubyインタプリタのとある問題の修正に成功した(と思う)ので紹介します。といっても格好良い話ではなく、とても泥臭い話です。 問題 RubyのCIで不定期に次のようなエラーが発生していました。いわゆるflaky test。 1) Failure: TestSymbol#test_inspect_under_gc_compact_stress [.../ruby/test/ruby/test_symbol.rb:126]: ":testing" expected but was ":\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"". 発生確率が絶妙で、しばしば起きるのですが、デバッグのために狙って再現しようとしても起きないという代物でした。 問題の分析 エラーが起きていた

    Rubyインタプリタのむずかしいバグを直した - STORES Product Blog
    mas-higa
    mas-higa 2024/06/03
    "しょうがないので、パーサとコンパイラの間の関連しそうなコードを気合で読みます" つらい ><
  • ISUCON13 で rbs-inline 使ってみた - カレーの恩返し

    ISUCON で型がパチパチっとハマった開発ができるとかなり開発体験変わってくるのでは?と思い、 ISUCON の過去問に型をつけていくのをやってみています。 モチベーションに対してもう少し詳しい記事はこちら euglena1215.hatenablog.jp まずは、初期実装の状態から挙動を変えずに型だけをつけてみることに取り組みます。 また、アプリケーションに対応する型は rbs ファイルは直接触らずに rbs-inline のみを使って生成することにしました。おそらく ISUCON 番でも別ファイルをいじっている余裕はないと思うためです。 ISUCON13 で rbs-inline を使って steep check が通るところまで行けたので、やっていく中で感じたことやこうだったらもっと便利なのにと思ったことをまとめてみます。ちょっとしたスクリプトに対して使ってみた記事はたまに見か

    ISUCON13 で rbs-inline 使ってみた - カレーの恩返し
    mas-higa
    mas-higa 2024/05/28
    "nil チェックをめっちゃ書く必要ある" ボッチ演算子じゃダメなんでしょうか
  • 海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに

    4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)という記事によると、Ruby on Railsの人気が再燃しているという。 4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)]という記事によると、Ruby on Railsの人気が再燃しているという。 同記事では、海外の求人サイト「Hired.com」が発表したソフトウェアエンジニアの採用状況についてのレポートを引き合いに出し、Ruby on Railsがソフトウェアエンジニアリングの役割において最も需要があるスキルであることを示している。同レポートによれば、Ruby on Railsのスキルを持つエンジニアは、約1.64倍もの面接機会を得ている。 Ruby on Ra

    海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに
  • 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
    mas-higa
    mas-higa 2024/03/15
    def がシンボル返すのは private def foo ... end とか書けるようにするためだからなぁ...
  • [Ruby]うるう日の午前0時から9時までに起動したプロセスでのみ再現するサーバー障害

    原因調査 エラーの発生箇所の特定 このエラーIncorrect datetime valueはデータベースのdatetime columnに対して不正な値を書き込もうとしたことが原因で発生しています。通常のINSERT statementを使って、過去の時刻を書き込むことはほとんどありませんが、MySQLなどに用意されているINSERT … ON DUPLICATE KEY UPDATE statementを使って複数の行を更新するときには、過去の時間を使ったクエリが生成されます。 例えば、複数の消耗品を所持しており、1つのクエリで複数の所持数を変更するときは、下記のようになります。 // PK(user_id, item_id) SELECT * FROM items WHERE user_id = 123; user_id | item_id | quantity | created_

    [Ruby]うるう日の午前0時から9時までに起動したプロセスでのみ再現するサーバー障害
    mas-higa
    mas-higa 2024/03/08
    of と in の typo か...なんでバックポートされんかったんやろ?
  • Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog

    はじめに こんにちは。リアーキテクティングチームの髙橋と申します。 この記事では、アンドパッドの施工管理サービスで利用している Ruby をバージョンアップしたときに発生したメモリ使用量の問題の発生から解決までをお話しします。 Ruby のバージョンアップ(3.0 -> 3.2) アンドパッドでは昨年 2023 に、施工管理サービスで利用している Ruby を 3.0 から 3.2 にバージョンアップしました。 バージョンアップ自体は過去に確立済みの手法(詳しくは過去記事をご参照ください)により、粛々と進められリリースされました。 ところがこのリリースから数日後、とある問題が発覚しました。 メモリ増大問題 アプリケーションのリソース使用状況を監視している SRE チームのメンバーから、以下のような連絡がありました。 Ruby バージョンアップのリリース以降、アプリケーションの利用するメモリ

    Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog
  • 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