HerokuからAWS RDSを使えるようにする
HerokuでAWS RDSを使う際の方法が、これまでいろんなところで紹介されていた方法と変わっているっぽい?ので簡単にメモ。
基本的にここの流れに沿って作業する
RDSのインスタンスを作成
この辺とか参考にしました
これからRDS始める人必見!(①RDSのインスタンス起動~セキュリティグループ変更~) | クラウド工房
証明書の取得
アプリケーションルートで以下のコマンドを実行
curl https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem > ./config/amazon-rds-ca-cert.pem
HerokuアプリのDatabase path設定
heroku config:add DATABASE_URL="mysql2://username:password@hostname/dbname?sslca=config/amazon-rds-ca-cert.pem" -a <app_id>
先ほどのpemをcommitしてherokuへpushするとherokuからRDSインスタンスのDBに接続できる。
zepto-railsでlink_to :method => :deleteが効かない
Railsでzeptoを使おうとして断念した記録
背景
jquery likeで軽量なzeptoを使ってRailsアプリを作成したが、 <% link_to "hoge", hoge_path, :method => :delete %> が効かなくてハマってしまった。
原因
"jquery-ujs"に相当するものがないためらしい
代替探し
このサイトによると、 gem "rails-behaviors"を使えば良さそう。 だが、実際に導入しようとするが"そんなgemない"と怒られた(もう公開してないっぽい?)
結局
jQueryを使えば解決することなのでzeptoを諦める
他にzeptoみたいに軽量で使いやすいライブラリないものかな。。。
SublimeからAtomへ1週間変更してみた
エディターをSublimeからAtomに変更し、開発業務を1週間やってみて感じたこと
Atomを使った感想
良いところ
- Git関連のpluginが充実していて便利。
詳細にgit log --graphを表示してくれたり、merge toolが使いやすかったり。
git関連の作業はAtom上で完結しそう。
- Atom上でターミナル操作が可能。
ターミナルpluginを導入し、[alt] + [Ctrl] + [→]でサクッとターミナルを開いてちょっとした作業をすることもできる
- KeybindingがSublime Like
いまいち
- Sublimeよりは動作がもっさりとして重たい印象
- バグが多い、たまに日本語が文字化けする
- undoで戻る時点が謎 (意図しない時点に戻るのでたまにびっくりする) -> pluginいろいろ入れていたらいつの間にか改善されてた
今後解消されていくと良いのですが。。。
Atom Plugins
[cmd]+[Shift]+[p] -> "install package"と入力すると下のような画面が表示され、簡単にPluginを検索・導入することができます
(Installしたら即反映されます)
Installしたplugin
開発言語問わず、以下のプラグインは結構使えると思います
Git History
選択したcommit logとのDiffを表示します
Git Log
git log --graphを表示します
commitした人のアバターも表示されてユーザフレンドリーな感じ
Git Plus
よく使うgitコマンドのショートカット
Merge Conflicts
conflictが発生したファイルの一覧、conflictした箇所のハイライト、merge後のstagingまで
conflict解消作業が楽にできます
Task List
// TODO や // FIXME の一覧表示
Local History
ローカルファイルの変更履歴を表示します
Term2
Atom上からターミナル操作が可能
(日本語が文字化するようです。。。)
Web View
Webサイトを閲覧することができます
Ask Stack
Stack Overflowの記事を検索・閲覧することが可能!
Autocomplete Plus
デフォルトのAutocompleteは貧弱なので、これを入れておくと快適にコーディングできる
Railsで1:Nのテーブルを扱う
Gemの導入
Gemfileに以下を追加してnested form gem を導入
gem"nested_form"
bundle install
使ってみる
view
<%= nested_form_for @project do |f|%> <%= f.fields_for :tasks do |task_form| %> <%= task_form.text_field :name %> <%= task_form.link_to_remove "Remove Task" %> <% end %> <p><%= f.link_to_add "Add Task", :tasks %></p> <% end %>
"nested_form_for"を使わないと"link_to_remove"や"link_to_add"が使えないようなので注意
controller
Rails4の場合
params.require(:project).permit(:name, tasks_attributes: [:id, :name, :_destroy])
model
project
has_many :tasks
task
belongs_to :project
Viewにインデックスを表示する
view
<%= nested_form_for @project do |f|%> <%= f.fields_for :tasks do |task_form| %> <divclass="task_area"><divid="index_area" ><%= task_form.options[:index] %></div> <%= task_form.text_field :name %> <%= task_form.link_to_remove "Remove Task" %> </div> <% task_form.options[:index] %> <% end %> <p><%= f.link_to_add "Add Task", :tasks %></p> <% end %>
link_to_add時にインデックスを+1
js
$(document).on('nested:fieldAdded', function(event){ var current_order = $(this).find('.task_area').length; event.field.find('.task_area').val(current_order); })
AmazonがKindle2周年セール!
Kindleストア 2周年記念セール
対象のKindle書籍が40%OFFで買えるようです!
Code Completeやリーンスタートアップなどエンジニアによく読まれている書籍も対象となっているようなので、
いつか買おうと思っていた方はこの機会に購入してみてはいかがでしょうか
Code Complete 第2版 上 完全なプログラミングを目指して
- 作者: スティーブマコネル
- 出版社/メーカー: 日経BP社
- 発売日: 2014/04/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
Code Complete 第2版 下 完全なプログラミングを目指して
- 作者: スティーブマコネル
- 出版社/メーカー: 日経BP社
- 発売日: 2014/04/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
リーン・スタートアップ ムダのない起業プロセスでイノベーションを生みだす
- 作者: エリックリース
- 出版社/メーカー: 日経BP社
- 発売日: 2013/09/11
- メディア: Kindle版
- この商品を含むブログ (8件) を見る
日付・時刻の操作
現在時刻取得
DateTime.now
日時指定
DateTime.new(year, month, day, hour, min)
パラメータ取得
now = DateTime.now
now.year
now.month
now.day
now.hour
now.min
加算した値を返却
now = DateTime.now now >> 1 # 1ヶ月後 now + 1 # 1日後# 大小比較now = DateTime.now futue = now >> 2 now <= future # true
参考
逆引きRuby - 日付と時刻
http://www.namaraii.com/rubytips/?%E6%97%A5%E4%BB%98%E3%81%A8%E6%99%82%E5%88%BB
DateTime に月、日、時、分、秒を足す。 - こせきの技術日記
http://koseki.hatenablog.com/entry/20080527/date
RailsでBootstrap Materialを導入する
BootstrapをベースにMaterialデザインなUIを実装できるBootstrap MaterialをRailsに導入してみました
Gemfileの編集
Gemfileに以下を追加します
gem 'bootstrap3-rails' gem 'bootstrap-material-design'
Install
bundle install
application.jsの編集
"app/assets/javascripts/application.js"に以下を追加
//= require bootstrap //= require bootstrap-material-design