プロジェクトの立ち上げ時に入れてよかった/入れなくてもよかったgem

はじめに ここ最近趣味でrailsアプリを複数人で開発しています。 自分以外Railsは初心者 で、rails newしてgemを入れてDB初期設計やってはじめのコントローラ(API)をつくるまで位を自分でやったのですが、その後入れてよかった/入れなくてもよかったと思う…

Rails.cacheの落とし穴

はじめに 仕事で開発をしていた所、コードを動かしていてキャッシュされるべきところがキャッシュされないことがあったのでメモ。 結論 モデルをキャッシュする時、以下のようにしてもキャッシュされない。 @users = Rails.cache.fetch('user_all') do User.…

webpackerのサンプルをparcelでつかったらautoloadが効かなかった

はじめに parcelを使っていて動かすコードとしてwebpackerのreactのサンプルを使っていました。 その中で、parcelにはdefaultでautoloadの機能が備わっているのにloadされないという状態が起こりました。 ここでは原因とその対処法について書いていきます。 …

モチベーションを上げたい2〜猪子寿之の話に学ぶ〜

猪子寿之の話 https://ja.wikipedia.org/wiki/%E7%8C%AA%E5%AD%90%E5%AF%BF%E4%B9%8B かなり前の話になるのだが、テレビで以下のような話をしていた。 仕事で海外に1人出張することが多く、いろいろとつらい 海外で自分の食べたいものを食べられないのがと…

「Presentational and Container Components」を読んだメモ

はじめに さいきんちょこちょこReactやReduxをやっているのですが、いつも読んだドキュメントのことを忘れてしまうのでちょこちょこまとめて行こうと思います。 今回はReduxの作者でもある@dan_abramov氏の書いた、Presentational and Container Components…

捗る!Ruby on Railsでscaffold駆動開発

最近Ruby on Railsの開発をするときに、色々参考にするためにscaffoldを叩くようにしています。 scaffoldのコードからどういうところが学べるのかを書いていきます。 scaffoldは誰もが通る道 きっとRailsを始める人は、Railsチュートリアルなり本なりで勉強…

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. 未経験者から見た、エンジニアの世界」は共感できたのと同時に、やる気のある人へのサポー…