Capistrano用ZSH補完関数
EC2onRails
.cap_compl
1 _cap () { 2 `cap -T | grep '^cap ' | sed 's/^cap //' | sed 's/ .*//' | sed 's/^/compadd /'` 3 } 4 5 compdef _cap cap
EC2onRails
.cap_compl
1 _cap () { 2 `cap -T | grep '^cap ' | sed 's/^cap //' | sed 's/ .*//' | sed 's/^/compadd /'` 3 } 4 5 compdef _cap cap
面白いと思ったので、抜粋して翻訳です。
原文長いですが、面白いのでぜひtryしてみてください。
http://cra
(Credit: Daniel Terdiman/C
IKEAの製品をたくさん組み立ててきたライターがIKEAの製品開発者June Deboehmler
「製品について決めるときは、まずは値段について考える。」と、Deboehmler
"When we decide about a product, we always start with the price," Deboehmler
said. "Then, what is the consumer need?"
「数えきれないトライアルの後に、やっとこれで完成だというところに行きつく。」 「デザイナーが四つん這いの状態で、"OK, これが製品だ"と言ってくる。それから(IKEA HQがある)スウェーデンに戻り、またパーツに分解するんだ。アーム部分の角度を変えればパッケージにより適するよりよい製品にできないかを決めるためだよ。」
"After many, many days of trials, we thought we had it right," Deboehmler
said. "'OK, this is the product.' Our designer was on his hands and knees. Then we got it back to (Ikea headquarte rs in) Sweden and started taking it apart again, and decided we can make it better because we can fit more in the package if we changed the arm direction. "
「紙の上では最適に見えるんだけど、でも実際手に取ると"あ、ここをこういう風に回転すると、このアーム部は7じゃなくて10取れるわ"ってわかるのよ」と、Marstonさん。
"When you see something on paper, it looks great," Marston said. "But it's not until you touch it that you say, 'Aha, if you turn it this way, we could get 10 arms out of this length of wood instead of 7."
結局Lillbergチェアはコンセプトから出荷まで10か月かかった。
The Lillberg chair took the design team about 10 months from concept to completion
, including manufactur ing time and global shipments.
Deboehmler
Deboehmler
said many, including the company's chair and sofa products, are named after Swedish towns. "So when you're driving around in Sweden," she laughed, "you suddenly see this town name that's a sofa."
「パレット(荷台)サイズは(たった)二つしかないのよ」と、Marstonさん。
"We have (only) two pallet sizes," Marston said,
「これらの工場内は暗いまま、ロボットはライトを必要としないし、それに1日に24時間働いてくれる:製品をピックアップしたり、移動したり。」
These factories, Marston said, are dark, since no lighting is needed for the robots, and run 24 hours a day, picking and moving goods around.
dovetail joint
http://en.
RaptのサブコマンドをZshで補完するためのスクリプトです。
.rapt_comp
1 _rapt () { 2 `rapt help | grep "^ [a-z:][a-z:]*" | sed 's/^ *//' | sed 's/ *.*//' | sed 's/^/compadd /'` 3 } 4 5 compdef _rapt rapt
何度か欲しいと思ったので書いてみました。
ちょっと昔のコードのRSpecをAutotest対応にした時の作業ログです。
script/spe
1 #!/usr/bin/env ruby 2 $LOAD_PATH.unshift(File.expand_pat h(File.dirname(__FILE__) + "/../vendor /plugins/r spec/lib")) 3 require 'rubygems' #追加 4 require 'spec' 5 #::Spec::Ru nner::Comm andLine.ru n(ARGV, STDERR, STDOUT, true, true) 6 ::Spec::Runner::CommandLin e.run( 7 ::Spec::Runner::OptionPars er.parse(ARGV, STDERR, STDOUT))
See Also
script/genでgenerateされるテストコードの@expectedはTMailのインスタンスらしく、生すぎなことがあります。
というわけで、お手軽にテストする方法をぐぐりました。
via http://sab
1 class SampleMailerTest < ActionMail er::TestCa se 2 tests SampleMail er 3 4 def setup 5 # テスト時に配送したメールの配列を保存する。 6 ActionMail er::Base.deliveries = [] 7 end 8 9 def test_welco me 10 to = "satoko@s21g.com" 11 sender = to 12 sender_nam e = "satoko" 13 14 SampleMail er.deliver_we lcome(to, sender, sender_nam e) 15 assert !ActionMail er::Base.deliveries .empty? 16 17 sent = ActionMail er::Base.deliveries .first 18 assert_equ al [to], sent.to 19 assert_equ al "expected title", sent.subject 20 assert sent.body =~ /^Recommende d by #{sender_nam e}. Enjoy!$/ 21 end 22 end
近々使うかもしれないので。
http://www
http://doc
(注)下記は2006年10月12日時点での記事ですが、内容がGettingSta
ここギコ!さん乙!
http://kok
defaltで用意されているイメージに自由にツールインストールできる。
ただし、インスタンスを止めてしまうと加えた変更は全て破棄されてしまう。加えた変更も併せ再現可能な状況にしようと思えば、現在のインスタンスの状況をイメージ化して登録すればよい。
大量の計算をやってもらう
Railsアプリケーション開発向けのAmazon EC2イメージ
http://www
AMIインスタンスの再起動とOSの再起動って違うんだろうか。後で調べる。
Amazon EC2を人に勧めると必ず言われるのが、「インスタンスを再起動したらディスクが消えるのが怖い」。
これは「インスタンス」を再起動であって、OSを再起動してもディスクは消えないのだが、確かに起動に必要なファイルを消してしまって、OSが起動できなくなってしまうと、確かに取り出せなくなってしまいます。
http://blog.masuidri ve.jp/inde x.php/2008 /04/14/ec2 -ersistent -storage/
ここのレビューがためになりました。ので抜粋。
http://hig
以下、自分用メモ。
例えばavg()、データをInsertする時に計算しておいて、表示するだけのほうがよい。
MYSQLだとアクセスがあったときにJOINして計算するのが普通だろうが、GAEではデータは分散されて保存されるので(+JOINがない)、そのたび計算するのだと遅くなる。
Insert時に計算はすべて終わらせて、あとはSelectだけということか。
http://hir
なんだそうです。瀧内さんいわく。
Debianで普通に入れると1.4.4.4が入るのでコマンドがなかったりして困るらしいです。
短かくてすみません。またインストール成功したらレポートします^^
追記:ついでにRailsのgitリポジトリ。
http://git
Gitを使いたいのだけど、まだインストールしてませんw
なので予習を兼ねてBest Practicesを訳。間違っているかもしれないので、ご了承ください。
http://www
名前とメールアドレスを設定しよう
1 $ git config --global user.name "Tim Pope" 2 $ git config --global user.email"foo@gmail.com"
ついでにカラーリングコマンドも
1 $ git config --global color.diffauto 2 $ git config --global color.stat us auto 3 $ git config --global color.bran ch auto 4 $ git config --global color.inte ractive auto
コミットメッセージについてのベストプラクティス。実践したほうが、ログも見やすい。下記にコミットメッセージの良いお手本を挙げる。
1 変更についての短いサマリ(50文字以内) 2 3 必要であれば詳細を書く。それでも72文字くらいで。また環境によっては、1行目emailの件名、残りはbodyになることもある。サマリとbodyを分ける空白行は必須(bodyを省力する場合は、なくてもOK); ただしrebaseのようなツールを一緒に使うとうまくいかないことがある 4 5 パラグラフは空白行の後に続けること。 6 7 - Bullet pointsもOK 8 9 - 一般的に、シングルスペースに続くハイフンやアスタリスクはbulletに使われ、それぞれのは空白行で区切られる。しかし、この辺はしきたりが異なることもあるので注意(訳間違ってるカモです) 10 11 - 手動のインデント
Rails coreに自分のコードをコミットするなら、さらに付け足し。差し当たり、URL決めて、そこに自分の投稿を公開するか、又は、下記のコマンド群を発行しfileを取得しよう。そうすることにより、gitのam(ローカルの自分の変更履歴の再構築)コマンドで誰でも簡単に適用できる(訳間違ってるカモです)。
1 $ git checkout my_funky_branch 2 $ git rebase origin/mas ter 3 $ git format-pat ch --stdout origin/mas ter.. > my_funky_p atches
さらに、最新にしておくためのtip: 最新の変更をダウンロードするなら、git pullの代わりに、git pull --rebaseを使ってみよう。マージコミットで、履歴をクラスタ化するよりは、先のコマンドによって自分の変更を最新のものに再適用してくれるのだ。1点注意することとしては、もし変更を他のリポジトリにpublishしたら、このコマンドは使わないこと。既にオリジナルコミットを取得した誰かにところで問題が起こるかもしれない。
勉強会参加者の皆様、昨日はお疲れ様でした。
今回は、事前に参加登録していただいた方々がほとんど全員お越しくださったようで、配布資料も3度増刷がかかる盛況ぶりでした。内容のほうも昨年のComet勉強会を彷彿とさせるような非常に濃い話が飛び交い、想定していた以上に勉強ができる会になりました。ありがとうございます。
全体的な振り返りとしては、大体以下のような次第でした。
非常に密度の濃い議論や意見交換ができたと思います。 内容の濃さという意味では、昨年のComet勉強会を髣髴とさせるものがありましたね。勉強会後の満足感は、参加者によるところが大きく、最高の参加者が集まった時点で今回の勉強会の成功は決まっていたといって過言ではないと思います。 ありがとうございました。
最後になりましたが、会場提供をしていただいたドリコム様、ありがとうございました。
See Also
サーバ移行中で自動トラックバックがオフになってるのを忘れていました。Googleで探して見つけ次第手動で追加しています。