Fellow at Henry, Inc. Tech SaaSのPdM、スタートアップ取締役CTOや外資スタートアップのIC等を経て現任。好きな言語はGoとPerlと中国語で雑なOSSを200以上量産している。3 times ISUCON winner. 著書「みんなのGo言語」共著他。Podcast: https://oss4.fun/

はじめに Render.comでRailsアプリケーションをデプロイしようとした際、starterプラン(512MB)ではメモリ不足でアプリが正常に動作せず、月額$25のプランにアップグレードすることになりました。 しかし、適切な最適化を行うことで、メモリ使用量を大幅に削減し、starterプランでも快適に動作させることができるようになりました。この記事では、その具体的な方法とコスト削減効果について解説します。 問題:starterプランでのメモリ不足 発生した問題 Railsアプリケーションの動作が極端に遅い(トロトロ状態) メモリ使用量が512MBの制限を超過 アプリケーションが頻繁にメモリ不足でクラッシュ 一時的な対応 メモリ不足を解決するため、一時的に月額$25のプランにアップグレードしました。これにより動作は安定しましたが、ランニングコストが気になる状況でした。 解決策:メモリ使
⚛️ Client SDKProvides a React component and Web Component for easy frontend integration. Render interactive UI resources and handle UI actions effortlessly. 🛠️ Server SDKsPowerful utilities to construct interactive UI for MCP servers. Create HTML, React, Web Components, and external app UI with ergonomic APIs for Typescript and Ruby.
RubyKaigi 2025 キーノートレポート まつもとゆきひろさん「Programming Language for AI age」 ~RubyKaigi 2025 3日目キーノート 2025年4月16日(水)から 18日(金)まで、愛媛県民文化会館にてRubyKaigi 2025が開催されました。最終日のキーノートはRubyの生みの親であるまつもとゆきひろさんが登壇し、「Programming Language for AI age(AI時代におけるプログラミング言語)」について話しました。 登壇の際に舞台のせり上がりからまつもとさんが登場し、会場は大いに盛り上がりました。そして、「 他のテックカンファレンスではAIについての話題で持ちきりですが、(RubyKaigiでは)誰もAIについて話してないのでこのタイトルに決めました」と話し始めました。 AIに対する逆アルファシ
Railsでよく使われるテンプレートエンジンとしてerb(erubi)、haml、 slimがあります。パフォーマンスの観点だけをとりあげたとき、約5年前に パーフェクトRuby on Rails【増補改訂版】 を書いたときには、速い実装を選べば速度差は特にないという認識でした。それを裏付けるベンチマークはこちら↓。 当時のベンチマーク結果 2025年でも結果は変わらないかな?と思い新しくベンチマークを取ってみた結果が次のとおりです。M1 max MBPでベンチマークを取っています。 前提として、hamlのv6以降、hamlitがhamlになったのでhamlitは入れていません。あと個人的に注目しているPhlexを追加しています。 ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [arm64-darwin24] Warming up -
こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 またまた「ClinPeerアプリ開発の裏側連載記事」です。 tech.medpeer.co.jp 今回はClinPeerで活用しているRailsの ActiveSupport::ErrorReporter についてご紹介します。 目次 ActiveSupport::ErrorReporter とは なぜ ActiveSupport::ErrorReporter を使うのか 実行コンテキストの注入 なぜ ActiveSupport::ErrorReporter を使うのか(本当のメリット) Rails内での利用例 Rails以外の利用例 おわり ActiveSupport::ErrorReporter とは Railsに標準添付されているエラー管理の仕組みです。 ↓これが begin do_something res
こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近は、社内の謎解きが好きな人たちとリアル脱出ゲームに参加しています。 10人ほど必要なイベントでもすぐに人数が集まるので、社内にコミュニティーがあるのはありがたいですね。 さて今回は、Eightで昨年末から取り組み始めたRubyへの型導入について紹介します。 目次 背景 静的型付けブーム 型チェッカーと関連ツールの概要 SteepとSorbetの実導入による比較検証 比較の結果 採用にあたり気になるポイント まとめ 背景 EightのバックエンドはRuby on Railsで構築されています。 10年以上にわたって開発が続けられてきたこともあり、コードベースは非常に大きく、コードの挙動や開発者の意図を読み解くのに時間がかかる場面も増えてきました。 もちろん、定期的にリファクタリングや不要な機能の
[edit] コマンドラインオプション インタプリタ行の解釈 Rubyインタプリタの起動は以下の書式のコマンドラインにより行います。 ruby [ option ...] [ -- ] [ programfile ] [ argument ...] ここで、option は後述のコマンドラインオプション のいずれかを指定します。-- は、オプション列の終りを明示するために使用できます。programfile は、Ruby スクリプトを記述したファイルです。これを省略したり`-' を指定した場合には標準入力を Ruby スクリプトとみなします。 programfile が `#!' で始まるファイルである場合、特殊な解釈が行われます。詳細は後述のインタプリタ行の解釈 を参照してください argument に指定した文字列は組み込み定数 Object::ARGV の初期値として設定されます。標
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Railsmas on Mars: 12 Days of Mandatory Developer Joy and Challenge—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2024/12/31 原著者: Svyatoslav Kryukov(バックエンドエンジニア)、Artur Petrov(バックエンドエンジニア)、Travis Turner (技術編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルや見出しは内容に即したものにしました。
entity_expansion_text_limit=(val)[permalink][rdoc][edit] 実体参照の展開による文字列の増分(テキストのバイト数)の最大値を指定します。 展開によって増分値がこの値を越えると例外を発生させ、処理を中断します。 実体参照の展開処理を使った DoS 攻撃に対抗するための仕組みです。 デフォルトは 10240 (byte) です。 [SEE_ALSO] REXML::Document.entity_expansion_text_limit http://www.ruby-lang.org/ja/news/2013/02/22/rexml-dos-2013-02-22/
Posted by naruse on 25 Dec 2024 Ruby 3.4.0 が公開されました。Ruby 3.4では、ブロックパラメータ参照の it の追加、 デフォルトパーサーのPrismへの変更、Socket ライブラリの Happy Eyeballs Version 2 (RFC 8305) 対応、YJITの改善、 Modular GCの導入など様々な改善が行われています。 it の追加 ブロックパラメータに名前をつけずに参照する it が追加されました。 [Feature #18980] ary = ["foo", "bar", "baz"] p ary.map { it.upcase } #=> ["FOO", "BAR", "BAZ"] it は _1 とほとんど同じように動作します。ブロック内で _1 のみを使用する意図がある場合に _1 を使うと、_2 や _3 な
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: 37signals Dev — A vanilla Rails stack is plenty 原文公開日: 2024/12/20 原著者: Jorge Manrubia -- 37signalsの首席エンジニアです 日本語タイトルは内容に即したものにしました。 今の世の中で、Railsアプリを新しく作るゆとりに恵まれているならば、バニラアプリとして作る1、すなわち依存関係を何も足さないのが、私たちからのオススメです。 Rubyの依存関係は、よほどの理由がない限りRailsに追加しない。 Railsで生成したGemfileは、極力手つかずのままにしておく。 JavaScriptの依存関係をRailsに追加するのは、Ruby依存関係の場合以上に慎重に検討する。 Reactなどのフロントエンドフレームワークも、それらにJSONを送り込
みなさんが学習していて最も心折れたプログラミング言語やフレームワークについて知りたいです。どういったところに辛さがあったのでしょうか? 僕の場合は Ruby かもしれません。僕は Ruby が好きなのですが得意ではないのです。GitHub に置かれている色々なプログラマが書いた Ruby のコードを見ても自分のコードが良く書けているという感想になれません。これは今もそうです。 もちろん人のソースを読んでコピペしたコードは当然ながら自分の頭から出てきたコードではないので比較の対象になるものではなく、とにかく一から自分で考えてコードをひねり出すのに時間が掛かり、そして出したコードがセンスないのです。 おそらくこれは、Ruby の文法の、寛大さが理由になっている気がしています。僕は型付き言語が好きで普段から型のあるプログラミング言語ばかりを触っています。Ruby はある一定以上のコードの、ある一
DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024 9月26日と27日の2日間、カナダのトロントで開催されたRails World 2024の基調講演で、Ruby on Rails(以下Rails)の作者であるDHH(David Heinemeier Hansson)氏が「Rails 8」の主な新機能を紹介しました。 The #RailsWorld 2024 Opening Keynote with @dhh is now online. Rails 8 beta shipped with Authentication, Propshaft, Solid Cache, Solid Queue, Solid Cable, Kamal 2.0, and Thruster. #NoPaaS needed in
React Notes: MarkdownエディタのUIを作る 「React Notes」というReact Server Components(RSC)が発表された時期にReactチーム[1]やVercel[2]が公開していたブログ投稿デモサイトがあって、それをHotwireとHono/JSXで作ってみることでRSCなしに似たようなUXが作れるっていうのを示せるのではと思って、今クローンを作ってみています 現在はテキストエリアにMarkdownを入力するとプレビューをしてくれて、保存→更新の画面遷移がひととうりできるという部分のUIだけ先に試しに書いてみて以下にデプロイしました ソースコードがここにあります SSRな部分をHono/JSXのテンプレート処理系に寄せて クライアントサーバー通信と画面更新のコードはHotwire/Turboで簡略化 イベントハンドラな部分はHotwire/St
テーマは「動的型付け言語と大規模開発」まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞きたいんですけど」ということで設定されたんですね。 「動的型付け言語と大規模開発」。例えばRubyとか、Ruby on Railsとかで開発をし
以下の過去記事で、Gemfile内に記述するRubyバージョン指定をゆるくすることを推奨したことがあります。これは現在でも価値のある方法ですが、それとは別にほとんどの場合でうまく動く方法を紹介します。 参考: Use Loose Ruby Versioning in Your Gemfile - Andy Croll この便利なワンライナーを教えてくれたEmmaに感謝します。 chrubyなどのRubyバージョンマネージャは、個別のアプリケーションのrootディレクトリ内に置かれている.ruby-versionファイルを探索することで、アプリケーションで指定のRubyバージョンが必ず使われるようにします。 アプリケーションで必要なRubyバージョンをこの.ruby-versionファイルで指定すると、バージョンマネージャは環境を自動で切り替えて指定のRubyバージョンを使うようにします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く