Rails
みなさんさようなら. 2016年が終わります. 個人的に痛々しいサービスを作り始めて,そろそろ3年経ちました.運用していると,バグもあるしバージョンアップも必要だし,たまにはリファクタリングや機能追加もしないと存続できないということがよくわかりま…
みなさんさようなら. Railsの非同期処理って何使ってますか? Sidekiq?Resque?,え?DelayedJob? 個人的にはSidekiqが結構好きで,よく使っていたのですが,最近Redisのメモリが足らなくなってきて…… たまにエンキューに失敗します. もちろんインスタン…
Railsにおいて,kaminariやwill_paginateのようなページネーションライブラリは非常に強力だ. というか,あまりページネーションというものを意識せずとも使えてしまうので,便利だ. ページネーション時のカウントクエリが重い 便利ではあるのだが,すべて…
最近Capistranoを導入しました. 一般的なRailsのプロジェクトにCapistranoを組み込むのは,このあたりを参考にすると割と楽にいける.Capistrano 3系でRails4.1のデプロイ[rbenv][rvm][ruby2.1] - 酒と泪とRubyとRailsとmorizyun.github.io unicorn + rails…
Railsのassets関連の機構として採用されているSprockets.rails/sprocketsgithub.com かなり便利な上に,普段あまりこいつの機能について意識せずに使える設計となっているので,見事だなぁと思うわけですが,ちょっとだけ不満なことがありました.Sprockets…
Whalebirdを実装していた時の話. iOS向けtwitterクライアント,Whalebirdを公開しました - PartyIXh3poteto.hatenablog.com サーバ側のAPIを実装しているときに,Userstreamタスクを実装したことがあった.Userstreamは,無限ループに入るタスクである. そ…
Railsのテストを書く上で,やっぱりRSpecはめちゃくちゃ書きやすい. そんな中でも最近はcontrollerのspecはあまり書かなくて,requestのspecばかりを書いている.そもそもcontrollerのspecは単体テストで,requestのspecは結合テストなのだけれど,だいたい…
asumi.chを公開してもう1年以上たちましたね.阿澄病治療薬を作った - PartyIX 阿澄病治療薬を作った - PartyIX そろそろ時期なのかなーということで,Railsのバージョンアップをしました. というわけでメモを残しておきます. とりあえずアップデートをか…
Railsの非同期処理実行を実現するgemとして,sidekiqは非常に有用です. 有名ではあるので,一般的な使い方についてはここでは説明しません.Rails - sidekiqの使い方 - Qiita Rails - sidekiqの使い方 - Qiita この辺を見ると簡単に使えるようになると思い…
半年くらいカタカタし続けていましたけど,ようやく公開になりました.去年の4月に,iOS使いになったのですが,やっぱりtwitterを見るにはサードパーティ製のクライアントが欲しくて……. ただ,どうにもぐっとくるクライアントに出会えなかったので,自分で…
Railsにかぎらず,ある程度のフレームワークに乗っかって開発していると「できることはできるんだけど,ちょっと好みに合わせたい」みたいな要望が発生してくる.今回のも,そんな「気を使えばできるけど頑張りたくない」ときに便利なことです. Railsはjava…
Webサイトのデザインにおいて,twitter bootstrapを使ったことがある人は多いと思う.Railsに限った話ではなく,俺のようにデザインセンスが芽吹きもせずに育ってしまった人間であっても,ある程度まっとうな,キレイなサイトがつくれてしまう. それはそれ…
RailsにはActionMailerというものがあり,メールを送る場合はこいつを使う場合がほとんどかと思います.アプリケーション側はそれでいいのですが,サーバーとしてAWSを使用していると,ドメインの設定などをする都合上,サーバーのインスタンス本体からメー…
has_many,throughとかでモデルやテーブルの構成を考えるとき,どうしてもカラム名と関連づけるテーブルの名前が一致しなかったり,望み通りの命名で行けない場合がある. もちろん,一つのテーブルが,他のテーブルのレコードを複数持つだけなら,命名はス…
railsのActiveRecordのメソッドの中でも,whereはかなり頻繁に使うし,使い勝手がいい. ただ,これをさらに複雑な条件で絞り込みたいときなどに使うのが,ransackというGemである. https://github.com/activerecord-hackery/ransack 使いどころも多いので…
以前Ruby on Railsの開発で便利な,rails_config + figaroの紹介をしていたかと思います. http://h3poteto.hatenablog.com/entry/2014/04/12/232406 Railsでの開発における,環境変数の設定がラクにできるよということで,この組み合わせがすごく便利なので…
みなさんさようなら.Railsでプロジェクトをいくつか作っていくうちに,だんだん設定ファイルの管理の仕方もなれてきて,一番便利そうなところに落ち着きました.それが,rails_config + figaro の組み合わせです. rails_config 概要をまず説明しますが,ra…
CSRFとは,Cross site request forgeriesの略で,入力フォームなどで,外部からPOSTできてしまうという脆弱性を点いた攻撃です.Rails2.0以降,Railsの生成するフォームでは自動的にCSRFトークンが含まれており,POSTに関しては自動的にCSRF対策がなされてい…
Railsにはページキャッシュ,アクションキャッシュ,フラグメントキャッシュという3種類のキャッシュが使える. ページキャッシュは自由度がない代わりに,えらく速くなるのでオススメなのですが,多少なりともRailsのcontrollerを通って欲しい処理がある場…
DBから期間で絞り込んでwhereで取り出す方法。 よく紹介されているのが以下のような書き方。 from = Date.today.beginning_of_month to = Date.today.end_of_month sample = Sample.where(created_at: from...to ) Sampleテーブルから、created_atの日付が今…