タグ

ブックマーク / idesaku.hatenablog.com (7)

  • Capistranoでタスクの実行対象サーバを絞り込む方法 - idesaku blog

    Railsアプリのデプロイツールとしてデファクトスタンダード的な位置にあるCapistranoについて。 TL;DR HOSTSとROLESではなく、HOSTFILTERとHOSTROLEFILTERを使え。 タスクの実行先制限方法 Capistranoは、デプロイ先サーバに"ロール"を設定し、特定のロールに所属するサーバ全てに対して一括でなにかしらの処理を実行させることができる。 # deploy.rb server 'webserver1' :web server 'webserver2' :web server 'dbserver', :db, :primary => true ... task :do_something, :roles => :web do ... end cap do_something #=> webserver1, webserver2に対してのみdo_so

    Capistranoでタスクの実行対象サーバを絞り込む方法 - idesaku blog
  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
    poppen
    poppen 2011/05/28
  • git-cherry-pickを掘り下げる - idesaku blog

    Gitにgit-cherry-pickという、知らなくてもなんとかなるが知っていると便利なコマンドがある。このコマンドを少し掘り下げてみた。 git-cherry-pick git-cherry-pickは、狙ったコミットの変更内容だけを現在のブランチに取り込む操作である。 例えば、つぎのような履歴を想定する。 ---A---B---C [master] \ \ ---X---Y [temp]ここで、YはCの後にコミットするほうが適切であることに気づいた。このとき、masterブランチで次のようにすると目的は達成される*1。 $ git cherry-pick YコミットYの変更内容だけをmasterのHEADに適用する、という操作である。このときXの変更内容は適用されない点がgit-mergeとは異なる。 ---A---B---C---Y' [master] \ \ ---X---Y [

    git-cherry-pickを掘り下げる - idesaku blog
    poppen
    poppen 2011/05/03
  • Vimmerなプログラマは迷わずZen-Codingしろ! - idesaku blog

    前々から気になっていた、Zen-Codingを試してみた。これはすばらしい!特にVimmer*1は迷わず使うべき。 プログラマの世界ではコピペは悪!しかし… 「"Hello."と3回表示するプログラムを書け」と言われたら、どう書く? puts "Hello."と書いて、コピペで3行にするのさ! puts "Hello." puts "Hello." puts "Hello." そんなわけない。もちろん、ループを使うだろう。 3.times { puts "Hello." } それでは、「HTMLで3項目からなるリストを書け」と言われたら? <ul> <li></li> <li></li> <li></li> </ul> ……今、liを書いてコピペして増やさなかった? こういうときも、プログラミングするときみたいに書ければなぁ。 という願望を満たしてくれるのが、Zen-Codingだ。このケ

    Vimmerなプログラマは迷わずZen-Codingしろ! - idesaku blog
  • GitのCommit中のAuthor名およびCommitter名を変える - idesaku blog

    ローカルで持っているGitリポジトリをGitHubにpushしてしまいたいなぁ、と思ったのだが、pushする直前にAuthorおよびCommitterとして自分の名を使っていることに気づいた。そういえば、Gitを使い始めたころはuser.nameに正直に名を入れていたなぁ…。 そのままでも大した問題はないのだが、ネット上ではidesakuで通すことにしているので、こいつらを修正した。その際、あまり使わないコマンドを使ったので、作業ログなど残してみる。 さて、どうすればよいか。すぐに思いついたのは、git-rebaseを使うことである。 ところで、Gitは全てのコミットにAuthorとCommitterの二つの名前を記録している。これは、オープンソース分野でよくある「パッチを書いた人(Author)と、それをリポジトリにコミットした人(Committer)が違う」ケースに対応するための措

    GitのCommit中のAuthor名およびCommitter名を変える - idesaku blog
    poppen
    poppen 2009/12/14
  • restful_authenticationを触ってみた - idesaku blog

    久々にRailsを触っていたら、認証プラグインの定番acts_as_authenticatedが、より新しいrestful_authenticationに変わっていることに気づいた。前者は今後保守されないらしいので、乗り換えは必須。新米RESTafarianとしては、RESTfulを名乗っているところにも興味を引かれる。 そういうわけで触ってみて導入手順を書いたが、RailsのREST実装についての説明も含むので、ちょっと冗長になってしまった。 2010/05/24追記。こちらも参照のこと。 最新版のrestful-authenticationはどこにある? - idesaku blog インストール まずはrailsアプリケーション作成。今回は2.0.2を使う。 $ rails authtrial create create app/controllers create app/help

    restful_authenticationを触ってみた - idesaku blog
  • ふかくていWicket第3夜 on Rails - idesaku blog

    盟友ティッシ卿が、かの連載によってこの世界に対してすばらしい貢献をしているというのに、こちらはそれを享受するだけでよいのだろうか? そういうわけで、俺も書こう、比較対象を。というわけで、ふかくていWicket第3夜の内容をRuby on Railsで実装してみることにした。これまでAJAXは軽視してきているので、まともに書いてみたことが無い。勉強半分。 準備 RoRはもう使えるという前提。モデルは使わないから、DBいらない。 プロジェクト作成 $ rails piyo_rails (なんかいっぱいできる) $ cd piyo_rails語環境向け設定 config/environment.rbのトップに次の一行を追加する。 $KCODE = 'utf8' app/controllers/application.rbを次のようにする。 この設定だと、AJAXを使ったアプリケーションを作

    ふかくていWicket第3夜 on Rails - idesaku blog
    poppen
    poppen 2007/07/19
    Ajax時計
  • 1