CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
The product https://joinmastodon.org Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, and video. All Mastodon servers are interoperable as a federated network. Open source The project is open source at https://github.com/mastodon/mastodon License
先日、携わっているサービスで一番大きいRailsアプリをRuby 3.2にアップデートし、YJITを有効化できました。 方針を検討した結果、今回はRails 6.1およびPsych 3系のままRuby 3.2にアップデートする戦略をとったため、その手順をまとめます。 先週にメインのサービスをRuby 3.2にしてYJITを有効にできました! 実際に速くなったし嬉しい大YJIT記念日だ🎉 https://t.co/Wkhc6fDfj9 — Hiroshi Shimoju (@shimoju_) July 19, 2023前提#今回のRailsアプリはサービスの機能がほぼすべて詰まっているモノリスで、歴史も8年と比較的長いです。 アップデート前のバージョンはRuby 3.0、Rails 6.1で、Psychは3系。 正攻法では、おおむね以下の手順でアップデートを進めていくことになります。 R
While these fixes moved the needle, they had limitations. By analyzing our database traffic, we learned that writes— like gathering, updating, or deleting data—contributed to a significant portion of database utilization. Additionally, not all reads or data fetching could be moved to replicas due to application sensitivity to replication lag. So, from both a read and write perspective, we still ne
AASM - Ruby state machines ここを参考にしました。 https://github.com/aasm/aasm/blob/master/README.md https://github.com/aasm/aasm/blob/master/CHANGELOG.md ※2014年に本記事を投稿してから、細々と継続的にアクセスがあるようです。AASMの仕様は投稿当時と最新版でもそれほど変わっていないようですが、ご利用にあたっては必ず上記GitHubのREADMEとCHANELOGの確認をお願いします。 概要 AASMはRubyのclassに有限オートマトンを追加するライブラリ。2014年10月現在でも精力的に開発が進められている。以下の内容は gem version ~~~3.4.0~~~ 4.9.0 に準拠する。 http://techblog.heartrails.c
広島Ruby勉強会 #034で使用したネタの文に書きなおしました。 「Rails の自動読み込み規約を支える技術」と若干煽っておりますが 以下の内容はソースコードを読んで判断したことですべて正しいとは保証できないので参考にする程度にお願いします。 というわけで、Rails の自動読み込みの話をしたいと思います。 ### Rails のファイル読み込みの規約 Rails には[設定より規約](http://ja.wikipedia.org/wiki/%E8%A8%AD%E5%AE%9A%E3%82%88%E3%82%8A%E8%A6%8F%E7%B4%84) という設計パラダイムが採用されています。 ファイルの自動読み込みの規約は > 読み込みされていないクラス/モジュールがあった場合、名前から読み込みするファイルを判断できる というような規約があります。 例えば ``` Hoge -> '
Reflection in ruby is a powerful thing. Like many powerful things, it can be dangerous if used incorrectly. I recently discovered vulnerabilities in ActiveRecord’s mass assignment code that relate to the use of ruby’s reflection methods, and since I think that many ruby users are unaware of the issues, it would be helpful to explain the problem and detail the solution that Sequel has used for over
Railsの勉強記録。 仕事で社内の情報をTracなど Webベースのアプリケーションで扱うようになって、それらのURLを示すのに短縮URLを使えるといいんだけど bit.lyなど外部サービスを使うのはちょっとアレだよね、ということで URL Shortenerを作ってみることにした。ベースはRails 2.2.2。 仕様の検討 要求事項としては、 画面は登録を行うための 1ページだけ http://hoge.local/s/XXXXXX などにアクセスすると、登録したページにリダイレクトする といったところ。 まずモデルについて考えてみる。URLと短縮名のペアを管理するモデルがまず必要。それを Urlpairと名付ける。ユーザー認証などは今のところ必要ないし、今のところはこれ一つだけでいいだろう。 リダイレクトの仕組みはルーティングを工夫すれば何とかできそうだし、登録作業を1ページで済ま
== Welcome to Rails Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Control pattern. This pattern splits the view (also called the presentation) into "dumb" templates that are primarily responsible for inserting pre-built data in between HTML tags. The model contains the "smart" domain objects (such as Acco
ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload| PageRequest.create! do |page_request| page_request.path = payload[:path] page_request.page_duration = (finish - start) * 1000 page_request.view_duration = payload[:view_runtime] page_request.db_duration = payload[:db_runtime] end end ActiveSupport::Notifications.subscribe "products.searc
ruby on railsでバックグラウンド処理を行うためのプラグイン「backgrounDRb」が使いたくて調べてみました。 このプラグインは結構前から存在しているみたいでWeb上でも情報はたくさん存在しているんですが「backgrounDRb」自体のバージョンアップに伴う仕様変更が大きいみたいで昔の情報だとうまく行かないパターンが多く苦労しました。 今回はハマったポイントをふまえつつ、「backgrounDRb」についてまとめてみたいと思います。 backgrounDRbとは ruby on rails上でバックグラウンド処理を行うためのプラグインです。例えば、web上から何かの操作をした際にメールを送りたいことがありますよね?このときに添付ファイル付きの大きなメールだと送信が完了するまで画面遷移は発生せず「待ち」の状態となってしまいます。backgrounDRbを使用すると「メールを
おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) さて、Vim導入メモを書いてから、早いものでもう一ヶ月経ってしまいました。 ようやく使い方にもそこそこ慣れてきたので、今回はVim導入の一番の目的でもあったRails開発についてまとめてみたいと思います。 Rails開発に役立つVimスクリプト(必須) Vim/Ruby Vim/Ruby Configuration Files これはVimでRubyを扱う際の最も基本的な拡張機能と思います。 .rb(ruby)と.rhtml(eruby)のファイルでシンタックスハイライトが有効になるほか、オムニ補完(<C-X><C-O>で表示される自動補完)も使えるようになります。 omni補完 - モデル内で「has」と入力
ActiveRecord Hacksでは、ActiveRecordの面白いメソッドを紹介しながら、どうやって実装しているのかをソースコードを見ながら検証してみます。 ActiveRecordにはDyanamiFinderという機能が実装されています。 (静的言語を主に使ってる人にとっては、これはもうマジックすね。) Dyanamic Finderは、読んで文字のごとく動的なレコード検索機能を提供します。例えば、こんなスキーマがあったとします。 CREATE NOT IF EXIST TABLE drecoms( id INT AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(100), );
Posted by masuidrive Tue, 28 Feb 2006 23:20:00 GMT Scott Raymond氏が、ChangeLogなどを元にRails 1.1に搭載される予定の機能をWhat (will be) new in Rails 1.1 にまとめて公開しています。 氏に許可を頂いたので、ここで翻訳したいと思います。私は英語が苦手で勉強をしつつ翻訳なので、間違いもあると思います。気がついた事があれば、コメントをお願いします。 できた所からアップしていますが、自信がなかった部分については、英文も残してありますので、おかしい部分があったら、これもコメントお願いします。 追記 2006/03/03 22:00 遅くなりましたが、やっと終わりました。どーしても訳せなかった文がいくつかあるので、誰か教えてください。翻訳は初めてやったんですけど、ホント難しいですね。 追記
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) Ruby on Railsとは? Ruby on Rails(ルビーオンレイルズ:RoRと略されることもある)は圧倒的な開発効率を誇るWebアプリケーション開発のためのWebフレームワークです。Railsの用意した道のりに沿って開発することで、短時間で高機能なWebアプリケーションを構築することができます。 Javaのサーバサイドアプリケーション開発に慣れた人であれば、MVC(Model-View-Controller)フレームワークであるStrutsとO/RマッピングフレームワークのHibernate、Dependency Injection(DI)フレームワークであるSpringの
何ですか ? 昨年末、待望の 1.0 がリリースされた Ruby on Rails。それを利用したウェブアプリケーション製作記であり、個人的な覚書。 各所のチュートリアルを済ませた後、何か簡単なものを作ろうと思っていたが、これがなかなかいい題材がない。そんな折、 perl 版 Rails とも言える Catalyst を使って、task*pad.jp を実装しているページを見つけ、これを参考にしつつ Rails で実装してみた、その経過である。 task*pad.jp の簡易版ということで、プロジェクトネームは Task とした。 各ソフトウェアのバージョン 今回使用した各ソフトウェアのバージョンは次の通り。 ruby 1.8.4 / rails 1.0 を install すれば、下記と同じになるはずだ。 [ys@humming]-[02:15 PM]-[~/tmp/rails/Task
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く