graphql-rubyで開発中の中級者に向けた、設計判断のための実践ガイド。GraphQL Spec・Relay Spec・graphql-js・graphql-rubyの4つのレイヤーを意識しながら、実行パイプラインの内部構造から型設計、Mutation、認可、パフォーマンス、運用まで体系的に解説します。
SOLENOID(ソレノイド)は、函館西部地区の二十間坂にあるカフェ&イベントスペース。カナダ人プログラマーが運営しており、普段はオフィスとして使用していますが、毎週一晩と、スポットで不定期にオープンしています。函館の他のカフェとは一味違う雰囲気で、まるで異国の街に迷い込んだかのような空間です。 店名の「SOLENOID」は、ルーマニアの作家ミルチャ・カルタレスク(Mircea Cărtărescu)による2015年の小説から名付けられました。672ページに及ぶこの文学作品は、ルーマニアの小学校教師で挫折した作家である主人公の物語を描いた、カフカやボルヘスに比較される不条実な傑作です。2024年国際ダブリン文学賞を受賞し、国際的に高く評価されています。 同時に、ソレノイドは現代のエスプレッソマシンに必ず搭載されているバルブの名前でもあります。この小さな装置が、完璧なエスプレッソの抽出を可能
はじめに こんにちは。アカツキゲームスの松下です。 弊社ではRailsを用いた大規模なゲームサーバを運用しており、お客様に良い体験を届けるべく、パフォーマンス改善が常に重要事項であり続けています。そのため、RubyにおけるJITコンパイラ・高速化技術であるYJITについても、登場時から注目していました。弊社でもこれまでに何度か導入を試みてきたものの、YJITを有効化すると負荷試験中に segmentation fault(SEGV)がごく稀かつランダムな箇所で発生するという現象に悩まされており、原因の特定すら難航する、歯痒い状態が続いている状況でした。 そのため、長らく本番導入を見送らざるを得ない状況が続いていましたが、一念発起し試行錯誤を重ねた結果、YJITとpitchforkのreforkingを本番環境に導入することに成功し、大きなパフォーマンス改善を得ることができました。 本記事で
『Ginza.rb 第96回 - Fizzyソースコードリーディング』に参加した。会場はメドピアさん。いつもありがとうございます。 しばらく私用と重なって参加できていなかったので、第91回の開催以来5回ぶりの参加らしい。 https://ginzarb.connpass.com/event/384998/ginzarb.connpass.com 当日は 37signals 謹製のカンバンツールである Fizzy を題材に willnet さんや y-yagi さんが司会をしてくれていた。 github.com SaaS 版と OSS 版で使っている RDBMS を変えているのが面白いところ。 github.com 加えて個人的には AI を使った開発環境が珍しくなくなってきているのを感じているのと、37signals でのそのあたりの現状を AGENTS.md 周辺から垣間見えていけたのは
こんにちは、Ruby コミッタの@hsbt です。函館の後に実家に帰るついでに北海道旅行に行こうと15年ぶりくらいに十勝方面の旅程を組んでいる真っ最中です。十勝といえば豚丼、ということで楽しみにしているのですが、ここにきてインデアンのカレーが良い、という情報を入手してそんなに食べられない...となっています。 さて、今回は RubyKaigi 2026 のアンドパッドブースで実施する「立ち読み喫茶」という企画のご紹介です。 アンドパッドは RubyKaigi 2026 で Ruby Sponsor として Drinks and Local Meals と Drinkup を提供します(前編) アンドパッドは RubyKaigi 2026 で Ruby Sponsor として Drinks and Local Meals と Drinkup を提供します(後編) 立ち読み喫茶とは 喫茶店のテ
RubyKaigi 2026で発表するRuby Computer Project "Harucom"について2026年3月25日 2026年4月22日(水)から北海道函館市にある函館アリーナ・函館市民会館にて開催される RubyKaigi 2026 において "Building a Standalone Ruby Programming Environment" というタイトルで発表します。わたしの発表枠は1日目のSmall Hall (#rubyKaigiC)の16:40-17:10の枠です。 Building a Standalone Ruby Programming Environment 以下は RubyKaigi 2026 に提出した Abstract の日本語訳です。 現代のコンピューティング環境は複雑すぎて、初学者がプログラミング感覚を掴むためには難しいことがたくさんあります
I'm Hiroshi Shibata (hsbt), a Ruby committer and the maintainer of RubyGems and Bundler. TL;DR Every major package manager is adding "cooldown" — a waiting period before you can install newly released packages. RubyGems/Bundler doesn't have one yet. I've been discussing whether we should add it. Short answer: yes, as an opt-in option, but cooldown alone isn't enough. What Is a Cooldown? A cooldown
Rubyセミナー オンラインで Ruby x AI をテーマに登壇した。 www.ruby.or.jp 去年の暮れごろに 世界の shugomaeda さん からオファーをもらったのがきっかけ。 今回は Ruby アソシエーションの年度末イベントということで、RubyWorld Conference 2026 に向けたスポンサー予算の話をするつもりだったのですが、本編で言い忘れていました。 各社そろそろ来年度予算を組む時期だと思うので、もしまだであれば今のうちに決裁権を持っている人に話しておきましょう。 閑話休題。今回登壇の発端としては、Agentic Coding を含めた AIを活用したソフトウェア開発についてのオファーだったのですが、例えば Claude Code のようなコーディングエージェントツール活用事例みたいな話だと、Ruby とあまり関係のない話になりそうなのが悩みでした。
At Shopify, we want our development environments to be fast. Installing dependencies is slow, especially in an application as large as Shopify. bun and uv have dramatically improved install times for TypeScript and Python dependencies. What if we could do the same for Bundler and the Ruby community? Our team at Shopify has been working on a series of improvements to Bundler and RubyGems. Bundler d
ターン数とは、1 回のプロンプト実行中に Claude が何回 API ラウンドトリップ(ツール呼び出し → 結果受け取り → 次の応答)を繰り返したかの回数です。 v1(新規作成)の所要時間 v1 では言語間の差が大きく出ています。Python(32.9 秒)と Ruby(33.2 秒)が僅差でトップ、JavaScript(36.0 秒)が続きます。一方、Ruby/Steep は 105.0 秒と Ruby の約 3.2 倍。Lua(96.4 秒)や OCaml(80.9 秒)も遅め。 v1 は空のディレクトリからスタートするので、Cargo.toml や package.json などのプロジェクト設定ファイルを生成するコストが含まれます。Python/Ruby/JavaScript などは minigit ファイル 1 つを生成するだけで済むので、差が大きくなっている可能性があります
大戦果ですね(人数で割ったら異常値)。会期で、本屋を見る時間として休憩時間をたくさん作っていただいた&アナウンスしていただいた&会社の蔵書としてまとめて買ってくだった方がいらっしゃった、という色々な要因があったかと思います。ありがとうございました。 準備 「出雲で技術書がバーンと並んでいるところを見たい」というニーズから、実行委員長の江森さんから出店をご依頼いただきました。Amazon とかで、どこでもなんでも本が買える時代ですが、あまり注目していなかった本をパラパラながめる、というのは本屋さんにいって楽しい話です。こういうリクエストを頂けるのは大歓迎ですね。 選書と仕入れ Kaigi on Rails 2025 で残った書籍(高橋さん推薦書ばかりなので、間違いはない)に加えて、運営の皆様からリクエストいただいた書籍、それから私が売れるかなと思って仕入れた書籍を出版社様にお願いし、仕入れさ
def find(item = nil, &nil) # ここでは yield や block_given? は呼び出さない end # ブロック引数を渡すとエラーになる find { |i| i == 42 } # => ArgumentError: passing block to the method `find' that does not accept a block. 追加する理由としては『メソッド内ではブロック引数を利用しないのにメソッドを呼び出す側が誤用してブロック引数を渡してしまうのを防ぐため』 前もどこかで書いたかもしれないんですがこういうのがあると「意図せずブロックを渡してうまく動かない」みたいなのが気づきやすくはなると思うんですが逆にいうと『全部のメソッドに &nil が書いてないと効果がない』とも思うので扱うのが難しいですよね そうなると『 &nil がないとエラ
関ケ原Ruby会議01実行委員会です。 開催発表以降、多くの反響をいただきありがとうございます。 いただいた反響の狼煙に喜ぶわたしたち.jpg本日は、東西両軍を率いる「大将」の発表と、プロポーザル募集開始のお知らせです。 東西の大将のご紹介関ケ原Ruby会議01では、東軍と西軍それぞれに「大将」をお迎えすることになりました。 歴史上の関ケ原の戦いでは、東軍は徳川家康が総大将を務め、西軍は毛利輝元を総大将に戴き、石田三成が実質的な指揮を執りました。 1600年(慶長5年)9月15日に美濃国関ケ原で行われたこの合戦は「天下分け目の戦い」として知られ、家康はこの勝利によって事実上の天下人となりました。 そして2026年5月30日、関ケ原の地で新たな「天下分け目」の戦いが始まります。 2026年の関ケ原合戦の地開催にあたり、皆様に東西それぞれの大将候補への投票をお願いしておりました。多くの方にご投
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Stop using DateTime in 2026 (unless you work for UNESCO) | Arkency Blog 原文公開日: 2026年01月14日 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 追記(2026/01/28) なお、RuboCopにもDateTimeの利用を検出するStyle/DateTimeというcopがありますが、デフォルトでは無効です(複数タイムゾーンや夏時間は機械的に置き換えられない場合があるためだそうです)。 参考: Style/DateTime -- Style :: RuboCop Docs 参考: RubyDoc.info: Class: RuboCop::Cop::Style::DateTime – Documentatio
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く