こんにちは、鈴木です。 Ruby on Rails で複数のデータベースを扱う方法をご紹介します。 establish_connection establish_connection はデータベースと接続するためのメソッドです。 通常は明示的に呼び出すことはありませんが、複数のデータベースを使用する場合は、以下のように明示的に呼び出す必要があります。 class User < ActiveRecord::Base establish_connection :adapter => 'postgresql', :encoding => 'unicode', :database => 'other_database', :pool => '5', :username => 'USERNAME', :password => 'PASSWORD', :host => 'localhost' end
TODO管理をするとして「すべてのタスクを削除したい」とか「すべてのタスクを終了にしたい」っていう要件、普通によくありますね。 これって簡単なくせに「どうあるべきなの?」と迷うことが多くて悩んでいたところ、@tkawaさんがサクッと解決してくれたのでここに残しておきます。 考え方と使われ方 すべてのリソースに対するアクションなのでDELETE /tasksとかPUT /tasksで済ませたいというREST脳が働きますね。 どうやって使いたいか、というと、こんな感じ。 app/views/tasks/index.html.erb 普段はHamlですけど、今回はERBで(手抜き) <h1>Listing Tasks</h1> <table> <thead> <tr> <th>Name</th> <th>Memo</th> <th>Done</th> <th colspan="3"></th>
ども、大瀧です。 今週金曜日にあるDocker Meetup Tokyo #2という勉強会でLTすることになりまして、大慌てでDocker触ってます。Dockerの開発は非常に活発で、新機能や仕様変更が続々と出ており刺激的なのですが、手元の開発環境として使っているMBAでのセットアップ方法が以前と変わりすぎていたので、備忘録としてまとめておきます。 Dockerの実行方法はVagrantを使う方法などいくつかありますが、今回はDocker公式ドキュメントをベースに、Homebrewで簡単にインストールする方法をチョイスしてみました。すぐに陳腐化する恐れがありますので、そこんとこオナシャス!です。 必要なソフトウェア OS X Mavericks(DockerはSnow Leopard以降をサポート) VirtualBox Homebrew VirtualBoxおよびHomebrewのインス
Postgresql 9.3でJSON関連のサポートが強化されている。 JSON型 (>=9.2) JSON演算子 (読み込み専用アクセッサ) JSONサポート関数 (JSON データ変換) 9.3リリースの目玉機能だが、使ってみた人が少ないのか一向に情報が上がってこない。 ドキュメントを見てもなんだか面倒くさそうで自分から使う気は起きない。 実際の使い勝手はどうなのか、たまたま開発で触る機会があったのでまとめておく。 PostgreSQL自体そんなに詳しいわけではないので、間違いがあったら突っ込んでほしい。 追記: PostgreSQL 9.4 のリリースで jsonb の登場するなど状況がかなり変わっている。 9.4 ついてもフォローしたので参考にしてほしい。 PostgreSQL 9.4 の JSON サポートについて PostgreSQL JSON の応用メモ テーブルデータをJS
C-t: カーソル部分のタグにジャンプ C-o: 前いた場所に戻る(tagに限らずいつも使いまくるヤツ) g C-t: タグ候補が複数ある場合に候補一覧を表示 この3つだけでクッソはかどる Xcodeとかの機能がうらやましい IDEでは当然の機能ですが、クラスやメソッドの定義に飛べるのって便利ですよね。vimやemacsでは設定すればできるんだろうけどやってる人あんまり見ない。 開いてるbuffer内のものしか飛べないとか、明示的にtag生成コマンド実行とか論外。 そんな折、Gemfileのgemを含めて保存時自動tag生成してくれるvim-tagsというpluginがとても良かったのでご紹介。 szw/vim-tags vim-tagsの設定 $ brew install ctags # ~/.vimrc: Bundle 'szw/vim-tags' let g:vim_tags_pro
はじめに Travis CI で CI のたびに bundle install が毎回走っていました。その時間がテストの時間の大部分を占めていたので短縮したかったのでした。 やりかた こちらに書いてありました。 .travis.yml に一行追加するだけです(diff 形式)。現在はプライベートリポジトリのみ対応されているようです。 language: ruby + cache: bundler rvm: - 2.1.0 ...これで push なりして CI を動かしてみると bundle install の結果がキャッシュされるようになります。べんり! 7分ほどかかってた CI が 3分ほどになりました。50%の速度改善です! もちろん差分があったら差分の分だけ install されます。仕組みの説明はこれとかこれに書いてありました。キャッシュの実体は S3 にセキュアに保存されたアー
はてなブログさんの開発フローのお話 少し前の話になるんですが、GitHubKaigiで はてなブログさんの開発フローについて発表がありました。 その中で 当初はGitHubとRedmineを併用していたが、 両ツールの連携がイマイチだったので Redmineを止めてホワイトボードでタスク管理するようにしたという内容がありました。 https://speakerdeck.com/shibayu36/hatenaburogutimufalsekai-fa-hurotogithub 「ふむふむ、なるほどなぁ」という感じで非常に勉強になったのですが、 もしかしたら 「"GitLab+Redmine" ならツール自体が連携機能を持っている」 のでもう少しマシになるのかも?とも思いました。 そこで、GitLabとRedmineを使うと 一体どういうことが出来る様になるのか?といったところを紹介してみま
ghqというレポジトリ管理ツールを使ってみた。 Installation Goがインストールされていてかつ環境変数$GOPATHが設定されている環境で、go getを使ってインストールできた。 手元の環境を調べてみると、Goのversionは1.2.1、環境変数$GOPATHは$HOME/.goに設定されていた。 $ go get github.com/motemen/ghq $ go version go version go1.2.1 darwin/amd64 $ echo $GOPATH /Users/r7kamura/.go $ cat /Users/r7kamura/.zshrc.local | grep GO export GOPATH=$HOME/.go export PATH=$PATH:$GOPATH/bin $ which ghq /Users/r7kamura/.go
pinzolo/redmine_reminderz という Redmine のプラグインを作った。 Redmineには締め切りの近いチケットを通知する redmine:send_reminders というRakeタスクがあるが、今のプロジェクトでは進捗率80%以上のチケットはレビュー待ちなので担当者にリマインダーとして送りたくないらしい。 多分 Redmine の運用方針を変えればカバーできる話だが、Redmineをそんなにガシガシと使いこなしているわけでもないし、プロジェクト的にそこまでの余裕もない。 というわけで、進捗率でフィルタできるオプションを追加したタスクをプラグインとして作成した。 タスク名を redmine:send_reminders から redmine:send_reminderz に変更するだけ(最後のsをz) 既存のオプションはそのまま使えて、進捗率を >, >=,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く