namespace :ridgepole do desc "Exec Apply Dry Run" task apply_dry_run: :environment do exec "bundle exec ridgepole -c config/database.yml -E #{Rails.env} -f #{Rails.root}/Schemafile --apply --dry-run" end desc "Exec Apply" task apply: :environment do exec "bundle exec ridgepole -c config/database.yml -E #{Rails.env} -f #{Rails.root}/Schemafile --apply" end end
丹内です。 掲題のとおり、SQSを簡単に使うことができるshoryuken gemを使ってみました。 前提 ruby 2.2.4 rails 4.2.5 マネジメントコンソールでSQSの作成 AWSマネジメントコンソールのSQS画面から新規にキューを作成します。 Shoryukenによる負荷が抑えられるよう、Receive Message Wait Timeの設定を忘れないようにしてください。 インストール Gemfileに以下のように書いてbundle installします。 gem 'shoryuken' group :development, :test do gem 'foreman' end あとで解説しますが、railsアプリとは別にworkerプロセスも立ち上げるので、便利になるようforemn gemもインストールしています。 Jobクラスを作成 Shoryuken::Wo
RailsAdmin で Web サービスの管理ページを実装しているんだけど、公開するにあたって、管理ページに誰でもアクセスできるのはマズイ。そこでまず考えるのは、管理ページに IP アドレスの制限をかけること。 ただ、今回は Heroku を使っているので、Apache や Nginx で制限する方法は使えない。Heroku では Rail 本体でやるしかない。ならば Rack ミドルウェアで制限してやればいいと思い、Rack::Access を使うことにした。 Rack::Access は rack-contrib に含まれているので、まず Gemfile に gem "rack-contrib", require: "rack/contrib" を記述して bundle でインストール。 あとは、config/application.rb で Rack::Access を使うように指
Railsでユーザのフォローやブロック、ミュート、あるいは記事へのいいね機能などを簡単に実装できるacts_in_relationというGemを公開しました。 インストール方法 Gemfileに以下を書いてbundleするだけで使えます。 gem 'acts_in_relation' 使い方 acts_in_relationは、(1)UserとUserといった同一モデルへの関係、(2)UserとPostといった異なるモデル間の関係、の2つの実装をサポートしています。 ここではそれぞれについて説明します。 (1) ユーザへのフォロー機能の実装 たとえばユーザ同士にフォロー機能を実装するとします。 まず、User、Follow各モデルを生成します。 $ rails g model User name:string $ rails g model Follow user_id:integer t
rack-protection とは,Sinatra 関連のコンポーネント (sinatra-contrib など) を多数作ってる rkh 氏のプロダクトの一つで,Rack に組み込むだけでいくつかの脆弱性に対する防御をしてくれる Rack middleware です。 いかがかなと思うコンポーネントもありますが,基本的にそういうのはデフォルトで無効化されてますし,FrameOptions や XSSHeader のように「とりあえず入れといても副作用ないし実効性がある」コンポーネントも多いので,とりあえずいれとくというスタンスでもよいのではないでしょうか。 使い方 ざっくりと省略。 とりあえず説明ページにあるように,config.ru に書く場合, な感じで使うことになります。この Rack::Protection を use すると,バンドルされているコンポーネント (middlew
はじめに ブラウザよりスマホのカメラを起動して動画を撮影し、その動画をアップロードするアプリを Ruby on Railsで構築する方法について調べて、サンプルを作成してみました。 以下、今回参考にさせて頂いた記事です。 Railsで動画ファイルを管理する~CarrierWave Flowplayer Railsで動画を管理する2 動画のサムネイルを作成する~CarrierWave + Flowplayer 上記の記事を参考にし、サンプルでは以下の点について主に変更しています。 ・twitter bootstrap の適用。 ・アップロードした動画のスクリーンショットを撮るときにサイズを指定。 ・ブラウザよりiPhoneのビデオが起動するように、HTMLタグを変更。 ・FlowPlayerの使用を止め、リンクをクリックした場合に、動画の再生はデバイスに任せることにした。 尚、今回は動画をア
酒と子どもと開発と 開発期間に約3ヶ月間かかっていますが、実際にコードを書いた(コミットした)のは約24日間。家に帰って夜中にやったり、週末にまとめてやったりしたので、個人サービスならこんなものかなと思います。 僕はお酒が好きでほぼ毎日家で飲んでいるのですが、ついつい飲み過ぎてコードを書くことが出来ないことがよくありました。こんなんでは個人開発であるかぎり、いつまで経ってもリリースできません。なので、事前に「今日はコードを最低3時間は書くぞ」と決めて、酒を飲む量をコントロールしました。 ポイントは、禁酒はしなかったというところです。僕は自分が意思の弱い人間(特にお酒に対して)で、禁酒なんて難易度の高いことに挑戦するよりも、ビールを1本飲みながら楽しく開発しよう!という方針のほうが継続できるということを知っているのです。という言い訳ですね。はい。 また、1歳半の子供もいるため週末の大半は家族
unicornのwokerのbusy数とidle数の比率がわからなくて、うっかりworkerが枯渇して大変なことになったので、workerの状況を返すエンドポイントを追加するrackミドルウェアを書いています。 github.com ぶっちゃけkazeburoさんのPlack-Middleware-ServerStatus-Liteのruby版です。 github.com この中で使っているkazuhoさん製のParallel-Scoreboardも移植しました。(まだREADMEがない。。。) github.com 元は下記です。 github.com Kazuho@Cybozu Labs: Parallel::Scoreboard でワーカープロセスをモニタリングする方法 使い方 config.ruに下記の用に書く。 # In config.ru use Rack::ServerSta
悩ましいseed用データ作り db/seeds.rbで利用するデータは大別すると以下の2つに分かれるかと思います。 マスタデータ(例:国名、首都、都道府県、市区町村など) 環境別の初期データ(例:開発環境の登録済みユーザアカウントなど) これらのうち、マスタデータについてはそれほど問題はないのですが、登録済みのユーザアカウントとなるとユーザーテーブルと関連するテーブルが増えるほど作成が面倒になってきます。これを解決するためにdevelopment環境でもFactoryGirlを使ってテスト用のデータを読み込むという手を使うこともできるのですが、FactoryGirlをdevelopmentで使うのを避けたいという人はいるでしょう。 seed_dumpを使ってデータベースの中身をダンプする そこで活躍するのがseed_dumpです。このgemはデータベースにあるデータをdb/seeds.rb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く