7. • 各サーバは独立しており、API経由で連携 • 非同期に連携処理も多数含まれる • 巨大かつ複雑になりやすい→知見 microservice ダイエット家庭教師 FiNCモール FiNC アプリ lifelog 法人向けchat ranking main
2018.10.01 週刊Railsウォッチ(20181001)Railsアップグレード記事と各種支援ツール、CLI向けRubyワンライナー集、Rubyアプリをワンバイナリ化ほか こんにちは、hachi8833です。ついにGobyのREPLを修正できました。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを社内有志でつっついたときの会話です👄 今回のつっつきは軽めでお送りします🙇。 ⚓【お知らせ】週刊Railsウォッチ「公開つっつき会」#3開催 エントリ: 週刊Railsウォッチ 公開つっつき会 第3回|IT勉強会ならTECH PLAY[テックプレイ] いよいよ今週となりました「週刊Railsウォッチ 公開つっつき会 第3回」(10月4日(木)19:30〜)引き続き応募中です(つっつき・懇
HeartRails Tech Blog ハートレイルズのエンジニア、デザイナーによるブログです。 ウェブサービス、スマホアプリ、IoT デバイスの開発に関連する技術的な情報を発信していきます。 github/scientist これは何? github が開発し、つい先日 ver1.0 がリリースされた gem です。 本番環境で新しいコードを試すためのツールです。 例えば以下のようなコードがあったとしましょう。 class Repository def pullable_by?(user) self.is_collaborator?(user) end end このコードを以下のようにリファクタリングしたい、とします。 def pullable_by?(user) has_access?(user) end しかし、新しいコードが元のコードと全く同じように動いてくれるかどうか心配。。。
ここ1年で、Trailblazerの認知度は急速に上がってますよね。 BestGemsで見てみるとここ1年でめっちゃ伸びてます。 1月時点で6万4千DLだったのが、9月現在で既に15万を突破しているので、今年だけで倍以上のダウンロードですね…! 今回はそんな要チェックなGem、Trailblazerについて簡単に見ていきたいと思います。 Trailblazerとは Trailblazerは、RailsやSinatraなどで綺麗にビジネスロジックを書くためのGemです。 ModelやControllerが肥大化してカオスになっているアプリケーションに秩序をもたらしてくれます。 …なのですが、「具体的に何をするGemなの???」ってことですよね。 Trailblazerは複数のGemから構成されています。今回は代表的なGemである Operation 、 Reform 、 Cells、 Rep
また以下のような、根ノード(親を持たないノード)や葉ノード(子を持たないノード)や世代をキーとしたmapを取得するクラスメソッドが使えるようになります。 Comment.roots # => [[隣接リスト最高!],[こんにちは]] Comment.root # Comment.roots.first と同じ # => [隣接リスト最高!] Comment.leaves # => [[シンプルでいいですよね],[入れ子集合モデルの方が良いですよ], [こんにちは。]] Comment.generations # => {0=>[[隣接リスト最高!],[こんにちは]], # 1=>[[シンプルでいいですよね],[アンチパターンですよ、経路列挙モデル使いましょう]], # 2=>[[入れ子集合モデルの方が良いですよ]]} またインスタンスメソッドでいえば、#parentで親ノード、#ances
Gemfile Rails 5.0.1の新品Gemfileに厳選gemのみを追加したものを参考までに貼ります。 元のコメント行は削除してあります。 rails newで使うのが前提なので、既存プロジェクトでは状況に合わせてGemfileに追記してください。 source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end gem 'rails', '~> 5.0.1' gem 'sqlite3' gem 'puma', '~> 3.0' gem 'sass-rails', '~> 5.0' gem 'ug
こんにちは、鈴木です。 Rails の便利なライブラリをシリーズでご紹介してみたいと思います。 今回は「N+1 問題」を検出してくれるライブラリ、bullet です。 bullet (http://github.com/flyerhzm/bullet) N+1 問題 N+1 問題とは、OR マッパーを使用しているときに発生しがちな問題です。 何かの一覧画面を作成しているときに、 一覧に表示するデータを取得するために SELECT を 1 回実行(N レコード返される) 各データの関連データを取得するために SELECT を N 回実行 データベースアクセス(SELECT)が合計 N+1 回も実行される(JOIN して 1 回の SQL で取得した方が効率的) というものです。 具体的なコードで考えてみましょう。 例として店舗の一覧画面を作成しているとします。 関係するモデルは以下の通りです
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: 7 Gems Which Will Make Your Rails Code Look Awesome 公開日: 2017/10/14 著者: Val Zavadskiy サイト: https://blog.rubyroidlabs.com/ Rubyroid Labsの別記事「Ruby on Railsで使ってうれしい19のgem(翻訳)」も合わせてどうぞ。 私たちRubyroid Labはアプリのアーキテクチャに多くの情熱を注ぎ込んでいます。手がけているプロジェクトの多くが長期にわたっているので、設計のどこかで少し油断すると、機能を1つ追加するのにプロジェクトをスクラッチからやり直す方が早い、といった事態になりかねません。こんな目には遭いたくないものです。 新しく参加したメンバーがロジック把握のためにソースコードを読みとおすだ
前置き:Rubyのキューイングシステム Rails(Ruby)で非同期にキューイングしてくれるライブラリといえばSidekiqですよねっていうくらいSidekiqが好きなんですが、世の中のシェア的にはResqueなのかな。でも、Sidekiqの方が安定的に動かせているので僕は好きです(delayed_jobは知らない)。 ShoryukenというAWS SQSを使ったキューイングシステムもあり、RedisじゃなくてSQS使いたいっていう場合は、これも良いのかもしれないですね。まぁ、ローカルの場合面倒そうな感じもありますけど。 phstc/shoryuken まぁともかくSidekiqを導入してキューイングするっていうのは、もう超絶簡単にできるわけです。できるんですけど、実際にラフに運用していくと、キューがいつの間にかこけて処理待ちで埋まってたり、レアなケースで例外投げて死んでたりするわけで
🎙️ Tune into the On Rails Podcast! From the Rails Foundation. Hosted by Planet Argon's CEO, Robby Russell. Real talk for Rails maintainers. The open source community is what makes Ruby on Rails such a powerful platform. By implementing helpful open sourced Gems, Ruby on Rails developers can adapt and build the exact features needed for a project – without wasting time building everything from scr
─質問1─ Ruby製サードパーティライブラリ、要はgemで、何が人気なのかってこと、手っ取り早く知りたいんですけど。 ─回答1─ RubyGems.orgのstatsページを見てください。 ─質問2─ えっ?これだけ?この辺は万年上位で固定でしょ。もうちょっと俺の知らないバラエティに富んだものに出会いたいんだけど。俺、Rails用ないし。 ─回答2─ カテゴリー別ならThe Ruby Toolboxがあります。 The Ruby Toolbox - Terminal Coloring ─質問3─ あんた、俺の質問ちゃんと聞いてるの?カテゴリー別なんて言ってないし。それに、ここのカテゴリーってなんか俺的に信用ないんだよね。取りこぼし多いっていうか..。俺のgem出てこないっていうか..。 ─回答3─ GitHubのTrendingでここ最近の人気リポジトリが分かります。 Trending
File Uploads with Refile | GoRails を見ての感想文です。 carrierwave の作者が作った後継 gem refile がなかなかよさそうな感じです。 S3へのブラウザからの直接アップロードのサポート サムネイルの動的生成サポート アップロード時じゃなくて、ブラウザからリクエスト来た時に生成 もちろん本番時はCDNなどと併用しないとダメです ファイルを選択したら即アップロードのサポート など、carrierwave にあったらいいなーと思っていた機能が盛り込まれています。あとは参考記事に書いてある文章を読む限りでは、ソースコードも見やすくなっているぽいですね(carrierwaveのソースコード追うのは結構辛かった記憶があります)。 次ファイルアップロード機能をつけるときには使ってみようと思います。 GoRails GoRails、スタート当初は ra
friendly_idとは 通常、railsでのルーティングは /users/1とか/posts/1などのように /users/:id と形のURLとなりますが、 /users/reizistというようなフレンドリーなURLにしたい時、ありますよね。 そんな時のためのgemです。 Why friendly_id? 正直、目的を達成しようと思えばこのgemを使わなくても実装できます。 では何故今更friendly_idなのでしょうか? それは、rails-style-guideでUse the friendly_id gemと書いてあるからです。 そして、コードの見通しが立てやすいという理由もあると思います。 自前で実装しようとすると、明確なルールが与えられないので実現方法は複数あります。 更に、コードがController, Model, routes.rbのそれぞれに散らばり、初見では
概要 みなさんこんにちはcandleです。前回からfluentd関連の記事を続けていますが、今回辺りから実用的な使い方を書いていきたいと思います。 fluentdと言えば、ビックデータで扱うようなデータを集め出力するサーバですが、これとrailsのfluent-logger gemを組み合わせてアクセスログをとってみたいと思います。 アクセスログは、別段fluentdを使わなくてもrailsログにもapacheログにも存在するのですが、いづれのログもアクセス以外のログがごちゃまぜに保存されているので、解析するためには使いづらいログです。 fluentd-loggerをうまく使えばアクセスだけを抽出してログとして残せるので後で解析が楽になります。 ちなみに、アクセスログに特化したfluentdに投げるactなんとかgemもあるのですが、そちらはカスタマイズ性が悪いので使いません。もしも手っ取
Ginza.rb.第8回を開催しました。今回は参加者の方に事前にGemfileをアップして頂き、使用しているgemについて説明をして頂く形式で実施。 Gemfileの置き場は[こちら](https://github.com/ginzarb/meetups/issues/6)。 話に上がったgemについて以下にずらずらと。 ### [gon](https://github.com/gazay/gon) Rails側の変数をJavaScriptに渡す事が出来るgem。 controllerから大量のデータをJavaScriptに渡す必要がある場合に便利。 詳細は[RailsCast](http://railscasts.com/episodes/324-passing-data-to-javascript?language=ja&view=asciicast)参照。 ### [Better E
RubyにはGemと呼ばれるサードパーティのライブラリが豊富に存在します。 Gemは大変便利なもので、こういう機能ほしいなと思った際に The Ruby Toolbox や RubyGems.org や Google で検索すると大抵誰かがその機能を持ったGemを作っていたりします。 gemを利用するのも、RubyGems.orgに登録されているものならば と入力することで利用可能となります。 Gemはだれでも簡単に開発でき、審査無しですぐに公開できるため、日々大量のGemたちがRubyGems.orgに登録されています。反面、長年保守されていないGemや品質の低いGemも大量にRubyGems.orgに登録されているのが現状です。 同じ機能を持ったGemも大量に登録されていたりして、どのライブラリを利用してよいのか迷う事も多々あります。 今回は弊社プロジェクトで実際に利用している、便利な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く