概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: So You Want To Remove The GVL? | byroot’s blog 原文公開日: 2025/01/29 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 GVLは「グローバルVMロック」の略ですが、「ジャイアントVMロック」とされることもあります。 参考: Rubyの(グローバル)VMロックをトレースする(翻訳) 参考: スレッド (Ruby 3.4 リファレンスマニュアル) 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかし
なんかみんなSakana AIがやらかした間違いについてワイワイ言っているんで、徹底的に検証してみたら結構面白かったし、勉強にもなったよ!という7万字ぐらいあるブログです。 最後の方にGoogle Colabで動く検証コードを置いておきます。 <お気持ち背景> 昨年の11月に「AIバブル崩壊」の足音と「AI副業」のデメリット、という話を書きました。 いくつかのAIバブルの崩壊シナリオに警鐘を鳴らさせていただいたんだけど、長くてゴメン。 個々にすごいけど、「Kaggler節」であり、その文法で銀行がお金を出ような話になっているんだろうか?どこかの山でチャンピオンになるかもしれないけど、みんなが期待するような課題解決や課題発見、課題設定になっているんだっけ?という感想があります。 例えば画像生成AI「Stable Diffusion」に例えますが、画像生成モデルみたいに無償で公開していくんだけ
DeepSeek-R1 に関する論文を Gemini Paper Summarizer で要約しました。 DeepSeek-AI, Guo, D., Yang, D., Zhang, H., Song, J., Zhang, R., … Zhang, Z. (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. 【注意】AI の説明には誤りが含まれる可能性があり、正確さは保証できません。詳細は原論文を確認してください。 DeepSeek の要約シリーズです。 AIで論文を読む: DeepSeek LLM AIで論文を読む: DeepSeek-V2 AIで論文を読む: DeepSeek-Coder-V2 AIで論文を読む: DeepSeek-V3 AIで論文を読む:
その他のRails用のアプリケーションサーバー Unicorn Mongrel Thin Rainbows など。それぞれに異なる長所があり、異なる設計思想を持っている。 Pumaの仕組み マルチスレッド 1プロセスの中で複数の処理を同時に扱うマルチスレッドで動作する。マルチスレッドによって大量のアクセスを効率的に処理することができる。 Ruby/Rackアプリケーション Puma is a simple, fast, multi-threaded, and highly parallel HTTP 1.1 server for Ruby/Rack applications. Puma は、シンプル、高速、マルチスレッドで多数の並列処理を実現できる Ruby/Rack アプリケーションの HTTP 1.1 サーバーである。 Rackは、Rubyにおけるサーバーとアプリケーション・フレームワ
ダウンロードPDF(2MB)本書について『Working with TCP Sockets』の翻訳版を、原著者であるJesse Storimerの許可を得て島田浩二が公開するものです。 翻訳版の書名は、同シリーズの先行書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会』に揃えて『なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎』としました。 翻訳版も原書と同様、無料でお読みいただけます。 翻訳版の原稿は、10年ほど前に刊行を目指して翻訳したものとなっています。もし現在のRubyで動かない箇所や注釈が必要な箇所があれば、snoozer.05@gmail.com まで連絡ください。 公式ハッシュタグ:#naruhotcp 改訂履歴2024-12-30: 訳の修正、誤植の修正、一部コードの修正2024-12-01: 誤植の修正、一部コードの修正、
ちょっとした雑なスクリプト書いてそれを常に起動しておきたいときないですか?僕はあります。 しかもめんどくさがり屋なのでghq管理化のディレクトリでgemに頼って雑に書いたスクリプトがそのまま動いてほしいんです。 systemd使えば出来るんだろうなぁと思いつつ「色々面倒くさいんだろうな」と思って手を出していなかったんだけどやってみたら拍子抜けするほど簡単だったので共有です。 雑要件定義 rubyはrbenvで管理してるんでそれそのまま使ってほしい 実行ファイルをgit&ghq管理化のディレクトリでそのまま使いたい 他の場所にインストールとかコード管理ダルい bundle exec 的なのもやって依存ライブラリもうまいことやってほしい やること systemdをユーザーレベルで使うときは ~/.config/systemd/user/にファイルを置けば良い。ディレクトリ無かったら作る mkd
「次の職場が Ruby なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。 「読める」になるために 言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。 Ginza Rails27 igaiga - Speaker Deck 著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。 たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。 できることを知る るりま (Ruby リファレンスマニュアル) の Enumerable、String Rails Guides の Active Support Core Extensions 日本語
RubyのJITコンパイラYJITを開発している弊社Shopifyでは、社内で最もトラフィックが多いストアフロントのアプリにRuby 3.3 (master) をデプロイして平均レスポンスタイムが16%高速化、社内で最も大きなアプリであるモノリスにRuby 3.2をデプロイして平均レスポンスタイムが9%高速化している。他の会社でも、YJITを本番で有効にしたら高速化したという事例をちらほら目にした。 一方で必ずしも良い報告ばかりではなく、YJITを有効化したらメモリを使い切ってしまったりだとか、遅くなったみたいな報告も目に入ることがある。こういった問題は我々も多かれ少なかれ経験しており、それぞれ適切に対処することで解決できたため、その知見を共有する。*1 メモリを使い切ってしまった時 zenn.dev YJITを有効化すると、YJITが生成する機械語に加えて、それに関するメタデータもメモリ
概要 MITライセンスに基いて翻訳・公開します。 リポジトリ: jeremyevans/rodauth: Ruby's Most Advanced Authentication Framework 英文: README.rdoc(3c3aa41) 公式サイト: http://rodauth.jeremyevans.net/ RodauthのREADMEは認証のセキュリティを考えるうえで参考になる情報が多く、ドキュメントの質が非常に高いのが特徴です。大きな概要をまず示し、必要な概念も適宜示しながら、先に進むに連れて詳細に説明するという書き方が見事です。 さらに、READMEから読み取れる筋のよい認証システム設計も参考になると思います。パスワードハッシュの保存場所を完全に隔離した上で可能な限り自由度を高めている点や、機能ごとにカラムを足したり減らしたりするのではなくテーブルを足したり減らしたり
# cat config.ru require "roda" class RodauthApp < Roda secret = ENV['SESSION_SECRET'] plugin :sessions, secret: secret # If using Rodauth in a non-Roda application # plugin :middleware # JSON API #plugin :json #plugin :json_parser plugin :rodauth do enable :login, :logout, :verify_account enable :webauthn, :otp, :recovery_codes hmac_secret secret # JSON API #enable :jwt #jwt_secret secret #only_js
By Ilya Grigorik on December 22, 2009 WebSockets are one of the most underappreciated innovations in HTML5. Unlike local storage, canvas, web workers, or even video playback, the benefits of the WebSocket API are not immediately apparent to the end user. In fact, over the course of the past decade we have invented a dozen technologies to solve the problem of asynchronous and bi-directional communi
Note: Our friends at The Hybrid Group wrote this great post on how to use WebSockets for us. Thanks guys! In this post, we’ll be covering an introduction to WebSockets, and implementing a basic WebSockets chat app using EM-WebSocket. WebSockets is one of the cooler new features in the HTML5 spec, and allows clients and servers to communicate without using AJAX requests, or HTTP long-polling(Comet)
こんにちは、サーバーグループの市川です。モバイルクライアントグループに所属していましたが、バックエンドの開発を担当することが多くなったので、サーバーグループ異動にしました。 最近、Studyplusブックというサービスをリリースしました。Studyplusアプリ内で、200冊以上の参考書が読み放題で使えるサービスです。 このサービスの開発にあたって、社内向けの管理画面を新規に構築したのですが、Rails 7から標準でインストールされるHotwireを利用することにしました。 今回はHotwireを実際に利用する上で、どういったUIを作ればいいか試作しましたので、その話を書きます。 作った画面 書いたソースコード 使った技術 解説 Turboを理解する Turbo Frameでフレーム分割する 追加フォーム (Turbo Frame) 追加処理 (Turbo Stream) 編集フォームと更
Red Data Toolsについて Red Data ToolsはRuby用のデータ処理ツールを提供するプロジェクトです。 私たちのポリシーです。 Rubyコミュニティーを超えて協力する 私たちはRubyコミュニティーとも他のコミュニティーとも協力します。たとえば、私たちは多くの言語が共通で使っているApache Arrowを使いますし、Apache Arrowの開発に参加して開発成果を共有します。 非難することよりも手を動かすことが大事 私たちは現状(RubyよりもPythonの方がたくさんよいツールが揃っているかもしれません)や既存ライブラリーの実装を非難することなどに時間を使うよりも、コードを書いたりテストをしたりドキュメントを書いたり私たちの活動を紹介したり他のプロジェクトにフィードバックをしたりといったことに時間を使います。 一回だけの活発な活動よりも小さくてもいいので継続的に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く