同一ディレクトリのファイルを一気に読み込む方法 nodejs
コードはcoffees-cript
RSRUBY with homebrew
RSRubyを導入 - たぐってつづるを参考にrsrubyを導入してみた。
環境はOSX10.8.2 ruby 1.9.3
参考URLとは違い、Rはbrew経由でinstallしたので
brew install R R_HOME=/usr/local/Cellar/r/2.15.1/R.framework/Resources gem install rsruby -- --with-R-dir=$R_HOME
となる。
How to send log to loggly JSON API in nodejs
便利なloggly JSON APIをnodejsから呼び出す方法
レースジェネレーター
こんなものつくりました。
レースジェネレーター
アイデアもと:レースの描き方メモ(SAI) on Twitpic
参考URL:ASCII.jp:HTML5のCanvasで作る、Flash不要のお絵かきツール|古籏一浩のJavaScriptラボ
基本的なお絵描きコードは参考URLを少しいじっただけ。
あとは複数のCanvasを用意して左右反転したり上下反転したり、回転させたりして出力。
回転部分はsetImageDataとputImageDataを使ってやろうとしたものの回転せずに断念。
putImageDataのときはTransformMatrixって無視されるのね。
マウスをすこし動かすごとに55回描画してるけどしかたないよね。
formtasticを使ってみた。
ruby-toolboxの"Rails FormBuilders"部門の一番人気formtasticを使ってみた。
step1 インストール
formtasticのインストール方法は簡単
gem install justinfrench-formtastic
とgemをインストールしたあと、
config.gem "justinfrench-formtastic", :lib => 'formtastic', :source => 'http://gems.github.com'
config/enviroment.rbに追加すればOK。
このformtasticは"semantic_form_for"というメソッドを追加してくれる。
これは手でformを作っていくときに非常に頼りになるメソッドだ。
準備としてモデルを作り
ruby script/generate model test string:string date:date datetime:datetime integer:integer boolean:boolean
そしてroutes.rbに
map.resources :tests
を追加する。
コントローラーを作り
ruby script/generate controller test test1
書き換える。
class TestController < ApplicationController def test1 @test = Test.new end end
view
semantic_form_for <% semantic_form_for @test do | f |%> <%= f.inputs %> <% end -%>
formtasticはl18nにも対応しているから日本語化をしてみよう。
local fileの生成は
i18n_generatorsを使って生成してみるよ。
sudo gem install amatsuda-i18n_generators
でインストール後 RailsRootで
ruby script/generate i18n ja
とやろう。
いろいろなファイルを自動で生成してくれる。
translation_ja.yml
ja: activerecord: models: test: "試験" #g attributes: test: string: "文字列" #g date: "日付" #g datetime: "日時" #g integer: "整数" #g boolean: "ブール" #g
なんて感じになっているからブラウザをリロードしてみよう。
きっとこんな画面になっているはずだ。
もちろん、attributesの一部だけを出力することも可能だよ。
semantic_form_for <% semantic_form_for @test do | f |%> inputs <%= f.inputs :datetime, :string %> input <%= f.input :integer %> <% end -%>
railsプロジェクトをgit-pushしたときに自動的にデプロイする方法
gitはとてもスマートだから標準でいろいろなイベントをhookする機能を用意してくれているよ。
これを利用して、中央リポジトリにpushすると自動的にデプロイをするようにしたいと思う。
本番サーバは慎重にデプロイする必要があるけど、テストサーバはそのとき最新の作業分を常に確認したいからね。
環境
ローカルPC「Alice」
中央リポジトリ「Bob」
テストサーバ「Carol」
やりたいこと
AliceからBobへpushすると自動的にCarolがpullし、db:migrateを行う。場合によってはサーバのリスタートやfixtureの読み込み、その他諸々を行う。
code
hookするイベントは"post-receive"、pushされたら発生するイベントだよ。
まずはRAILS_ROOTに以下のファイルを作ろう。
deploy.rb
rake("db:migrate")
そして、Bobのhooksに"post-receive"ファイルを作ろう。中身は以下の通り
post-receiv
#!/bin/sh ( cd /path/to/Carol && \ git --git-dir=.git pull && \ rake rails:template LOCATION=deploy.rb )
こうしておけば、AliceからBobへpushしたときに自動的にCarolが更新されてmigrateが走るよ。
deploy.rbはrails-templateなので簡単にrailsに関する操作ができるのも便利。