Kaigi on Rails 2021 の発表資料です。 https://kaigionrails.org/2021/talks/Altech_2015/
![マイクロサービス・アーキテクチャと共存する Ruby on Rails のアーキテクチャ的拡張 - その事例と可能性 / Kaigi on Rails 2021](https://cdn-ak-scissors.b.st-hatena.com/image/square/ae41c324948dd964aa911b8caf6a3cd42fb2b538/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Feeea00b6abb94b70847f0c1b36642266%2Fslide_0.jpg%3F19366657)
なんとなくパターン・ランゲージ(パターンカタログ)のスタイルが懐かしくなったので、あのスタイルを思い出しながら書いてみます。 目的 特定のアプリと完全に同期していますが、機能的には独立したライブラリをアプリ内のgemとして提供するものです。 動機 アプリで使いたい機能として、ある程度の独立した機能を実装したい 単独のクラスやモジュールとして実装できるものではなく、複数のクラス等が関連して動く程度の粒度を想定する(ので、個別のファイル単位よりはもう少し大きい粒度になる) 独立した機能とアプリが渾然一体となり、気がつくと境界を侵食したり侵食されたりしてしまうことは避けたい 適用可能性 いくつかのclassやmoduleがアプリケーションに依存せず、独立した機能になっている場合 特定のRailsアプリからしか使われる予定がない(共有する必要・予定がない)場合 一定期間しか利用せず、どこかのタイミ
みなさんこんにちは。フィッツプラス開発エンジニアの福本(@terry_i_)です。 早いもので入社して半年が経ちました。普段はRailsを中心に色々と書いてます。 リモートワークが長く続いていることもあって、最近は自宅の開発環境を(過剰に)整備するのがマイブームです。先日はlogicoolのPCスピーカーを買いました。所得がゴリゴリ削られていってツラい。 さて今回は、これまで忙しくて紹介する機会のなかったフィッツプラスの事業概要や、アーキテクチャおよび使用する技術についてお話しします。 アーキテクチャに悩むエンジニアの方の参考になったり、皆さんのフィッツプラスへの事業理解が深まれば幸いです。 特定保健指導とは? アーキテクチャ モノリシック Rails ActiveModelSerializers OpenAPI Houston(プッシュ通知) Banken(権限管理) VIPER Swi
はじめに ここ一年くらいずっと Rails の何がダメでどうすれば良くなるのかを考えていました。 Rails を使ってそれなりの規模のアプリケーションを作ったことがある人なら、メンテナンスのしづらさを感じたことがあるのではないでしょうか。 メンテナンスの問題は Rails 以外の開発でも発生することですが、実のところメンテナンスしやすいアプリケーションはどうすれば作れるのでしょうか? この難問に対して私も答えを持っていませんが、考え続けています。 少なくとも、 Rails Way や Rails Tutorial をベースにしたアプリケーション開発は、業務で用いるには簡単すぎるように思います。 「レールに乗る」という言葉がありますが、私は考え方を変えました。 Rails は規模の大きいフレームワークですが、土台に過ぎません。 Rails Way の設計方針は小規模な開発では有効ですが、規模
Architecting RESTful Rails 4 API 22 Oct 2013 This is a follow-up to my previous post about Authentication with Rails, Devise and AngularJS. This time we’ll focus more on some aspects of the API implementation. One thing to keep in mind, where my previous example used Rails 3.2, I’m using Rails 4 this time around. Versioning If you are building an API which could be potentially consumed by many dif
http://tech.taskrabbit.com/blog/2014/02/11/rails-4-engines/ 3 comments | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 TaskRabbitは、modelが100+におよぶ単一のRailsアプリと、APIを介して複数のRailsアプリの構成にしたプロダクトを経験し、今回UKのプロジェクト で、複数のRails Engines を利用したアプリの開発に取り組んだ事例を紹介しています。 サンプルアプリはこちら。 APIを介した複数アプリの構成の場合、アプリをまたがるリリースが問題になる。一つのコードベースのときよりも遅くなる。各アプリに必要なgemがバージョンの問題で果てしなくコンフリクトがおきる。結合テストが相当大変。一方、複数のRails Engin
TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏
https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/ Grouponのビジネス自体はかつての盛り上がりはないですが、シンプルなRailsアプリが、事業の成長 & グローバル化に従って、アーキテクチャを変えていった過程をエンジニアブログで紹介してるので、参考になればと。 1) まとめ Grouponは、Railsのシングルコードベースを独立した20個のNode.jsアプリにアーキテクチャを変更した。 ページの読み込み時間が概ね50%改善。これはテクノロジーの効果とコードの書き直しでwebページが軽くなったのとの相乗効果。 同じトラッフィクに対してハードウェアが削減できた。 チーム間の依存関係が少なくなったので、新機能リリースのペースが早くなった 同じ機能を複数の国にそれぞれ導入するような冗長さが
DCI アーキテクチャという設計についての考え方がある。数年前から scala 界隈で盛り上がっていた記憶があるが、最近は ruby/rails 界隈でも盛り上がっている模様。 先日の札幌 ruby 会議で角谷氏が発表を行っている。 rubykaigi http://sapporo.rubykaigi.org/2012/ja/schedule/details/79.html スライド http://kakutani.com/20120916.html#p01 そこからたどって以下のような資料があるのも発見した。 objects on rails (書籍の無料公開) http://objectsonrails.com/ Clean Ruby http://clean-ruby.com/ 書籍サイト。ベータ版書籍が購入可能。$42なので電子書籍にしてはかなり高い。 DCIの講演 tog
2010.07.09 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた 2010.07.20追記: prefixを指定した運用も可能でした。ご指摘頂きありがとうございます。 2010.07.28追記: 関連記事「RailsサーバUnicornを飼いならす! 運用時の便利技」へのリンクを張りました。 Railsサーバはたくさんあってややこしいですね! 最近さらにUnicornというものが頭角を表してきたようで、Twitterやgithubも使っているようなので使ってみましたので、特徴や使い方などレポートしてみたいと思います。 このブログの他にもEngine Yardのブログ記事「Everything You Need to Know About Unicorn」やgithubの記事「Unicorn!」が非常に参考になると思いますので、
これはすごい! というわけでTwitter検索を3倍高速化したという記事を翻訳してみました。Twitter Engineering: Twitter Search is Now 3x Faster2010年春。Twitterの検索チームは、我々の増え続けるトラフィックに対応し、エンドユーザにとっての遅延を減らし、我々のサービスの可用性を向上させ、新しい検索の機能を素早く開発できるようにするため、検索エンジンを書きなおす作業を始めた。 その努力の一部として、我々は新しいリアルタイム検索をリリースし、検索のバックエンドをMySQLからLuceneのリアルタイム版に変更した。そして先週、我々はRuby-on-Railsに取って代わるフロントエンドをローンチした。我々がBlenderと呼ぶJavaサーバーである。我々はこの変更によって検索のレイテンシが3分の1になり、検索機能の開発を促進できるよう
Railsは、最初に素早く動くもの(scaffoldなど)を作って、そこからフィードバックをもらい、少しずつ動く状態を保ちながら、改良していくスタイルです。 スモールスタートを切るには最も向いているスタイルです。しかし、最初はそれで良かったものの、プロジェクトへの要求が増えるにしたがって、コードは複雑になっていき、だんだんメンテするのが大変になってきます。 これはRailsの問題ではなく、システムのアーキテクチャの問題です。 システムでやらなければならないことがたくさん増えたときでも、急にコードが複雑になることなく、きちんとメンテナンスし続ける方法があるなら、誰でも学んでみたいと思うでしょう。 その方法を教えてくれるのが、エンタープライズRailsなのです。 エンタープライズ Rails ―企業ユーザのためのWebアプリケーション設計術 作者: Dan Chak,高井直人,笹井崇司出版社/
Rails導入の背景 永らくOpenPNEベースで開発を続けていたLang-8ですが、以下のような課題を抱え続けていました。 生産性が低い → フレームワークの力を借りて生産性を上げたい ページのAjax化に一苦労 → Ajax対応フレームワークでJS周りの開発効率を上げたい デバッグがやりにくい → テスト駆動開発を低コストで導入したい もうそろそろ、何かフレームワークを導入するべきだろうと。 スケールするの? フレームワークを選定する上では、DB周りがスケールするかどうかを最重要視しました。 たとえばRailsのO/RマッパであるActiveRecordは単一DBを前提にしており、スケールさせることが難しいらしい、なんて話を聞きます。メインのDBをActiveRecordで構築しなおすのはいやだなー、と。データ移行の手間もあるし。。。SNSにとってボトルネックは常にDBなので、サイトの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く