Rails アンチパターン - スケールへの壁(Scaling Roadblocks)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は5 Servicesの2つめ「Sluggish Services」についてまとめました。 waterlow2013.hatenablog.com 今回は8 S…

Rails アンチパターン - 怠けものサービス(Sluggish Services)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は7 Testingの2つめ「Lost in Isolation」についてまとめました。 waterlow2013.hatenablog.com 今回は5 Se…

Rails アンチパターン - モックにより失われた物(Lost in Isolation)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は4 Controllersの5つめ「Controller of Many Faces」についてまとめました。 waterlow2013.hatenablog.com…

【Ruby/Rails勉強法】表参道.rbに行けなかったので勝手にまとめる #omotesandorb

はじめに 2017年6月1日に表参道rbが開催されました。 https://omotesandorb.connpass.com/event/58274/ 参加したかったのですが無理だったので、自分が勉強に使っていたものと、もし勉強法についてアドバイスする機会があれば何を伝えるかということを勝手に…

Rails アンチパターン - 色んな顔を持つコントローラ(Controller of Many Faces)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は4 Controllersの4つめ「Monolithic Controllers」についてまとめました。 waterlow2013.hatenablog.com …

Rails アンチパターン - モノリシックなコントローラ(Monolithic Controllers)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は7 Testの1つめ「Fixture Blues」についてまとめました。 waterlow2013.hatenablog.com 今回は4 Controlle…

Rails アンチパターン - Fixtureの憂鬱(Fixture Blues)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は4 Controllersの3つめ「Bloated Sessions」についてまとめました。 waterlow2013.hatenablog.com 今回は7…

Rails アンチパターン - 太ったセッション(Bloated Sessions)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は10 Building for Failureの2つめ「Inaudible Failures」についてまとめました。 waterlow2013.hatenablog…

Rails アンチパターン - 無視されるエラー(Inaudible Failures)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は10 Building for Failureの1つめ「Continual Catastrophe」についてまとめました。 waterlow2013.hatenab…

Rails アンチパターン - 継続的な大災害(Continual Catastrophe)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は6 Using Third-Party Codeの1つめ「Recutting the Gem」についてまとめました。 waterlow2013.hatenablog…

Rails アンチパターン - gemを使わない(Recutting the Gem)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は5 Servicesの1つめ「Fire and Forget」についてまとめました。 waterlow2013.hatenablog.com 今回は6 Usi…

Rails アンチパターン - ファイア・アンド・フォーゲット(Fire and Forget)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は4 Controllersの2つめ「Fat Controller」についてまとめました。 waterlow2013.hatenablog.com 今回は5 …

Rails アンチパターン - ファットコントローラー(Fat Controller)

引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は2 Modelsの1つめ「Voyeuristic Models」についてまとめました。 waterlow2013.hatenablog.com 今回は4 C…

Rails アンチパターン - 覗き見モデルクラス(Voyeuristic Models)

はじめに 引き続きRails AntiPatternsという本を読んでいます。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 前回は2 Domain Modelingの1つめ「Authorization Astronaut」についてまとめました。 waterlow2013.h…

Rails アンチパターン - 使われない権限メソッド(Authorization Astronaut)

はじめに 最近Rails AntiPatternsという本を読んでいました。 https://www.amazon.co.jp/dp/B004C04QE0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1 幾つかの項目を読んだ所なかなかおもしろそうだったので一冊通して読もうと思っています。 翻訳版はない…

【LT】表参道.rbでActiveRecordのテーブル名の決め方等について発表してきました。

はじめに ActiveJobのキュー名の設定をどうするかを考えていた過程で、ActiveRecordのテーブル名の決め方を調べていました。色々と面白いところがあったので表参道.rbで発表してきました。(ただのテーブル名あてゲーです。) ActiveRecordのテーブル名の話 …

【LT】encrypted secretsについて社内LT大会でしゃべってきました。

はじめに Rails5.1で導入されたencrypted secretsについて所属する会社の社内LT大会で発表してきました。 0323社内LT大会 from Akira Ohta 内容 5分だったので大したことは書いていませんが、機能の説明以外はstaging問題やメインです。 所感(使えそう?) …

rebuild.fmのエピソード検索ができるwebサイトを作った

はじめに Rails5.1の新機能を試すために、簡単なRailsアプリを作りました。 rebuild.fmのゲストとshownoteにフィルタリングをかけて検索できるようにしたものです。 heroku: https://shielded-river-53880.herokuapp.com/ idcf: http://rebuildfm-search.wat…

【LT】Railsのyaml、巨大になる前になんとかしようという内容で発表してきました!

はじめに 最近しごとで巨大なyamlを何とかするという仕事をやっていて、いろいろ思うところがありました。 これは今後の糧にしよう!とおもい、スタートアップRails勉強会で発表してきました。 そのyaml放っておくと大変なことになりますよ from Akira Ohta …

Qiitaに初投稿!「hamlでタグを改行しない方法の整理」という記事を書きました

はじめに タイトルの通り、Qiitaデビューした。前々から投稿したいと思っていたのだが、「ネタがない」「時間がない」などの言い訳をしつつ渋っていましたが、この度初投稿しました。 なんでこの記事を書いたのか 以前働いていたところでは、デザインはデザ…

bootstrapとsimple_formのチュートリアル

目的 rails newしてから、bootstrapで管理画面を作るのに一番早い方法が何かを探っていた。 rails_adminやactive_admin等もあるが、今回はある程度自前カスタマイズを想定しているので、全部ビルトインみたいな感じのものは使わない。 bootstrap系のgemとsim…

これだけ抑えればOK!権限管理のDB設計デザインパターン

目的 最近仕事で権限管理の設計をやっていたのだが、設計でかなりはまってしまった。 今後ははまらないように、DB設計や判断基準をまとめておく。 ベースとなるパターン ユーザとロールは多対1で、ロールとアビリティは多対多に関連している。 権限管理やり…

【Railsチュートリアル】慣習的に正しいコードの書き方

目的 Railsチュートリアルで「このコードは慣習的に正しくない」という記述があるが、なぜなのかを説明する。 背景 Railsを仕事で書いていく上で、モデル同士の関連の定義とその使い方をわりと意識しているのだが、いつどこで勉強したのか怪しかった。 出典…

sendgrid-rubyを使ったSendGridでのメール送信

はじめに この記事は「Sansan Advent Calendar 2016」7日目の記事です。 昨日はerikoobeさんによる「エンジニア未経験者が Ruby を学んでみた件」でした。 特に「2. 未経験者から見た、エンジニアの世界」は共感できたのと同時に、やる気のある人へのサポー…

【Ruby】【Rails】RAILS ANTIPATTERNS、chapter3 viewのまとめ

目的 RAILS ANTIPATTERNSをのchapter3(view)の箇所を読んだのでまとめました。 Rails AntiPatterns: Best Practice Ruby on Rails Refactoring (Addison-Wesley Professional Ruby Series)作者: Chad Pytel,Tammer Saleh出版社/メーカー: Addison-Wesley Pro…

【Rails】【RSpec】【shoulda-matchers】validate_uniqueness_ofのscoped_toではまったときのまとめ

目的 shoulda-matchersでモデルのバリデーションのテストを書いていたときに、Railsのアトリビュートメソッドのキャッシュの動きで若干はまったため、簡単にまとめる。 github.com shoulda-matchersの簡単な導入 shoulda-matchersはgemで、RSpecやMinitestに…

【Rails】権限管理のgem「pundit」を使ってみたときのまとめ

目的 punditというgemを使う際に「Rubyist Magazine - 権限管理のgem、Punditの紹介」を参考に作ったときのまとめ。 railsにapp/policiesディレクトリって何を入れるのかというところを前回調べたのですが、代表的なものとしてpunditというgemを使うと出て来…

【Rails】policiesディレクトリの使い方

目的 railsにapp/policiesディレクトリを作るときに、中身には何を入れるのかまとめる。 パーフェクトRuby on Railsの9章を読んでいて、コールバック・バリデーションをモデルから分離して、独立したクラスを作る方法を学びました。 パーフェクト Ruby on R…

【パーフェクトRails】バリデーションをクラスに分離する

目的 パーフェクトRuby on Railsの9章の9−2「複雑なバリデーションとコールバックを整理する」を読んでいて 「バリデーションをクラスに分離する」について、知らないことがいくつかあったのでまとめます。 パーフェクト Ruby on Rails作者: すがわらまさ…

【パーフェクトRails】コールバックをクラスに分離する

目的 パーフェクトRuby on Railsの9章の9−2「複雑なバリデーションとコールバックを整理する」を読んでいて コールバックをクラスに分離する場面ややり方がよくわからなかったのでまとめる。 パーフェクト Ruby on Rails作者: すがわらまさのり,前島真一,…