EC2 Command-Line Tools 自分用まとめ(随時更新)
Amazon のサポートするイメージ一覧
% ec2-describe-images -o amazon
全イメージ一覧
% ec2-describe-images -x all
鍵の作成
% ec2-add-keypair <鍵名> | sed -e "1d" > <鍵ファイル名>
インスタンスの確認
% ec2-describe-instances
インスタンス起動
% ec2-run-instances <イメージID> -k <鍵名>
インスタンス停止
% ec2-terminate-instances <インスタンスID>
ポートの解放状況の確認
% ec2-describe-group
ポートの解放
% ec2-authorize <グループ名> -p <ポート番号>
ポートの解放中止
% ec2-revoke <グループ名> -p <ポート番号>
固定IPアドレスの確認
% ec2-describe-addresses
固定IPアドレスの確保
% ec2-allocate-address
固定IPアドレスの解放
% ec2-release-address
固定IPアドレスの割当
% ec2-associate-address -i <インスタンスID>
固定IPアドレスの割当解除
% ec2-disassociate-address
EC2 Elastic IP Addresses の料金
Elastic IP Addresses
No cost for Elastic IP addresses while in use
$0.01 per non-attached Elastic IP address per complete hour
$0.00 per Elastic IP address remap - first 100 remaps / month
$0.10 per Elastic IP address remap - additional remap / month over 100
■
Hadoop Map-Reduce Tutorial のサンプルコードを
Hadoop 0.16.4 API
と照らし合わせながら読む。
iモードID の取得
<img src="foo.gif?guid=ON" />
こうしておいて
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-DCMGUID}i\"" combined
こうすると、httpd のlog にiモードID を出力できる。
使い方次第で自サイト内の行動履歴をトラッキングできる。
(07/17 追記)
全キャリア対応
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-DCMGUID}i\" \"%{X-UP-SUBNO}i\" \"%{X-JPHONE-UID}i\"" mobile
プログラマがコードを書く速度は100倍差が出にくいが、コードを書ける状態にもっていくまでの速度には100倍差が出る
独りの超電波プログラマ: プログラマがコードを書く速度は100倍差が出るのか?
生産性という言葉は「コーディング」だけに掛かるものだろうか。
エンジニアの生産性というのは
- 問題の解き方を考える(設計)
- コードに落とす(コーディング)
- 正常に動作する事を確認する(テスト)
という一連の仕事(プログラミング)について語られるべきだと思う。
で、生産性に大きな影響を与えるのは、設計では無いだろうか。
独りの超電波プログラマ: 100人の囚人パズル
このパズルを10分で解ける人がいる一方で、1日かけても解けない人がいる。
ある処理のアルゴリズムを30分で思いつく人もいれば、3日間悩む人もいる。
問題の解き方さえ分かってしまえば、言語に対する習熟度によほどの差がない限り
コードを書くという行為の生産性の差は10倍にもならないだろう。
この例で言うと、比較される両者の設計(とテスト)能力には
まったく差がないことが前提となる。
どうでもいいけど、言語や環境について2〜3日の学習で
経験者と同じくらいの習熟度が求められる職場って大変そう。
Restlet からServletContext を触る方法
Servlet からファイルパスの取得でよく使う?ServletContext#getRealPath(String)だが
Restlet でも同様のことをするためにServletContext を触れないか調べてみた。
org.restlet.resource.Resource を継承したクラスで
ServletContextAdapter adapter = (ServletContextAdapter) getContext();
ServletContext servletContext = adapter.getServletContext();
String path = servletContext.getRealPath("WEB-INF/foo.xml");
とすればよい。