元RX-7乗りの適当な日々 このページをアンテナに追加 RSSフィード Twitter

RX-7(FD3S)WRX STI関連のキーワードで検索されて来られた方へ。
右サイドのカテゴリ『』をクリックすると関連する項目だけが表示されます。
日々の写真は『Flickr』で公開しています。

2008/09/30

Railsのproductionログから処理に時間がかかっている部分を探す


先日、運用環境のRailsで動いているアプリのログからレスポンスタイムを確認する機会があって、production.logをもとに、時間がかかっている重い処理を抽出しました。ちなみにRailsのバージョンは2.1系です。

このエントリは、そのメモ書きです。どの処理が遅いのかを探し出すための最初の一歩ということで参考になれば。


Railsのログ

Railsアプリをproductionモードで動かしていると、以下のようなログが各処理の最後で記録され、処理全体にかかった時間や、そのうちのレンダリング処理、DB処理の内訳なども確認できるようになっています。

Completed in 0.52340 (1 reqs/sec) | Rendering: 0.41524 (79%) | DB: 0.07341 (14%) | 200 OK [https://example.jp/hoge]

時間がかかっている処理を遅い順で並べる

logの配置してあるディレクトリにcdして以下を実行。

※もしくはgrepの実行時にパス(下記production.logの部分)を指定する。

$ grep Completed production.log | sort -nr -k 3 | head -10

結果は以下のような感じ。

Completed in 2.69093 (0 reqs/sec) | Rendering: 0.44624 (16%) | DB: 2.13887 (79%) | 200 OK [https://example.jp/hoge]
Completed in 0.98980 (1 reqs/sec) | Rendering: 0.47597 (48%) | DB: 0.02830 (2%) | 200 OK [https://example.jp/fuga]
Completed in 0.97201 (1 reqs/sec) | Rendering: 0.39922 (41%) | DB: 0.03789 (3%) | 200 OK [https://example.jp/xxx]
Completed in 0.80405 (1 reqs/sec) | Rendering: 0.65980 (82%) | DB: 0.09888 (12%) | 200 OK [https://example.jp/fuga]
Completed in 0.78754 (1 reqs/sec) | Rendering: 0.35290 (44%) | DB: 0.34467 (43%) | 200 OK [https://example.jp/xxx]
Completed in 0.78178 (1 reqs/sec) | Rendering: 0.56329 (72%) | DB: 0.03432 (4%) | 200 OK [https://example.jp/yyy]
Completed in 0.70684 (1 reqs/sec) | Rendering: 0.13841 (19%) | DB: 0.44586 (63%) | 200 OK [https://example.jp/xxx]
Completed in 0.64225 (1 reqs/sec) | Rendering: 0.00122 (0%) | DB: 0.00183 (0%) | 200 OK [https://example.jp/zzz]
Completed in 0.63974 (1 reqs/sec) | Rendering: 0.42505 (66%) | DB: 0.04362 (6%) | 200 OK [https://example.jp/zzz]
Completed in 0.61231 (1 reqs/sec) | Rendering: 0.38080 (62%) | DB: 0.14062 (22%) | 200 OK [https://example.jp/yyy]

今回の例では、上位10個を出しましたが、headコマンドの引数を変えることで、出力する数は制御可能です。

以下でも同様ですが、headコマンドを実行しなければ、全ての処理が遅い順にソートされた状態で出力されます。


レンダリングに時間がかかっているリクエストを調べる

同様に、、、

$ grep "Rendering:" production.log | sort -nr -k 8 | head -5

上記のコマンドを発行すると、、、

Completed in 0.80405 (1 reqs/sec) | Rendering: 0.65980 (82%) | DB: 0.09888 (12%) | 200 OK [https://example.jp/fuga]
Completed in 0.78178 (1 reqs/sec) | Rendering: 0.56329 (72%) | DB: 0.03432 (4%) | 200 OK [https://example.jp/xxx]
Completed in 0.98980 (1 reqs/sec) | Rendering: 0.47597 (48%) | DB: 0.02830 (2%) | 200 OK [https://example.jp/fuga]
Completed in 0.51523 (1 reqs/sec) | Rendering: 0.46443 (90%) | DB: 0.01914 (3%) | 200 OK [https://example.jp/zzz]
Completed in 0.52032 (1 reqs/sec) | Rendering: 0.45536 (87%) | DB: 0.00715 (1%) | 200 OK [https://example.jp/yyy]

こんな感じで"Rendering"の部分で時間がかかっている処理の順となります。


DB処理に時間がかかっているリクエストを調べる

同様に、、、

$ grep "DB:" production.log | sort -nr -k 12 | head -5

上記のコマンドを発行すると、、、

Completed in 2.69093 (0 reqs/sec) | Rendering: 0.44624 (16%) | DB: 2.13887 (79%) | 200 OK [https://example.jp/hoge]
Completed in 0.70684 (1 reqs/sec) | Rendering: 0.13841 (19%) | DB: 0.44586 (63%) | 200 OK [https://example.jp/xxx]
Completed in 0.78754 (1 reqs/sec) | Rendering: 0.35290 (44%) | DB: 0.34467 (43%) | 200 OK [https://example.jp/xxx]
Completed in 0.59749 (1 reqs/sec) | Rendering: 0.16830 (28%) | DB: 0.32549 (54%) | 200 OK [https://example.jp/yyy]
Completed in 0.32658 (3 reqs/sec) | Rendering: 0.00251 (0%) | DB: 0.31102 (95%) | 200 OK [https://example.jp/fuga]

こんな感じで"DB"の部分で時間がかかっている処理の順となります。


その他

ログ内全ての処理を対象に遅い順でソートし、profile.logに出力する
$ grep Completed production.log | sort -k 3 > profile.log
処理に1秒以上かかっているリクエストのみを抽出し、profile.logに出力する
$ grep "(0 reqs/sec)" production.log | sort -k 3 > profile.log

lighttpd 1.4.20 released


数度のプレリリースを経て、lighttpdの最新バージョン1.4.20がリリースされています。

多くのセキュリティ対応や不具合を修正したバージョンとなっているみたいなので、1.4系を利用されている方はバージョンアップを検討したほうが良さそうです。


続きを読む

2008/09/29

今更だけどモバイルGoogleマップがすごいね!


週末、後輩の結婚式で関西に行っていたのですが、モバイルGoogleマップが大活躍でした。

携帯電話にはGPSが付いているので、モバイルGoogleマップと連携させることで、今現在いる位置がはっきりとわかります。


http://farm4.static.flickr.com/3205/2898537026_a7f578464f.jpg

新幹線で寝てしまって、ふと目が覚めたときに今どこを走っているかすぐにわかったりするし、窓の外の風景を眺めながら、目の前に広がっている景色が何なのかが地図や航空写真からすぐにわかったりとか。


街中を歩いていて、急にラーメンが食べたくなったときも安心!現在いる位置近辺のラーメン屋さんを検索することが出来ます。

文字列検索できるので、コンビニやガソリンスタンドもすぐに探し出せて、かつ場所と現在位置が地図上に表示されるので迷いません。


http://farm4.static.flickr.com/3138/2898537134_7426161c56.jpg

先日のバージョンアップでストリートビューにも対応したので、まわりの風景なんかも確認しながら進めて、目的地まで迷わずすんなりですよ!奥さん!

# まだ地方では未対応地が多いですが。。。


http://farm4.static.flickr.com/3278/2897694455_c7543ecce0.jpg http://farm3.static.flickr.com/2190/2897694601_c724a32d99.jpg

今いる場所から目的地(地図上のとあるポイントや、文字から検索したり)までの経路検索も出来てお出かけの真っ最中に超便利に使えます。経路も地図上に表示されるので、どう進んでいくのかが確認できます。


http://farm4.static.flickr.com/3107/2897694725_8da231092e.jpg

今いる場所でボタン1つ押すだけで、↑の通り住所がわかってストリートビューや経路探索がすぐに使えます。

私の携帯電話には使いやすいポインティングデバイスが付いているので、キー操作もストレス無く快適です。


そんなモバイルGoogleマップは以下のページからダウンロードできます!

対応機種: ドコモ 903i シリーズ以降、ドコモ 706i シリーズの一部機種、Windows Mobile(使用できる機能が一部異なります)

要件: インターネット対応の携帯端末とデータ通信プラン。 通信料はキャリア各社の料金プランに応じます。

Error 404 (Not Found)!!1

余談

あと、モバイルGoogleマップとは関係ないですが、カメラの付いているモバイル機器にGPSが付いていると、撮った写真に、その場でGPS機能を使って位置情報を埋め込めるので、あとでその写真を見たときに、どこで撮影した写真なのかがすぐにわかります。


そういった意味では、携帯電話やモバイル機器にカメラとGPSがついているのは本当に便利です。

いよいよモバイル機器が手放せなくなってきました。

2008/09/28

手書きの新幹線の指定席券


わけあって、京都の稲荷駅にて東海道新幹線の指定席の予約を行ったのですが、、、指定席券が手書きのものでした。


f:id:rx7:20080929131200j:image:w480

田舎にある私の実家の最寄り駅ですら、データ端末での照会・予約だったので、目の前で駅員さんが時刻表をめくりながら、電話で座席状況の照会・予約をして、この手書きの指定席券を発行してくれたのが逆に新鮮でした。

大丈夫か不安だったりしたのですが、回数券で自動改札を通り、新幹線内にて車掌さんに、この指定席券を見せることで、いつもと同じように移動することができました。


稲荷駅って、京都から2駅(奈良線)の駅で正面には伏見稲荷大社もあったりするので、そこそこの駅だと思っていたんですが、必ずしも機器設備が充実しているというわけではないのですね。

2008/09/25

UMPCを触ってきた


最近、世間での熱がますます上がってきている気がするUMPC(ウルトラモバイルPC)ですが、↓のエントリにもあるように様々な種類があって、新しいUMPCが発表される度に、衝動買いしそうになります。


先日電気屋に行ったときに結構色々並んでいたので、今更ながら一通り触ってみました。

細かい比較については、上記のリンク先で十分に語られているので割愛しますが、前々からたまに書いている通りですが、私が気になっているのは、HPの「HP 2133 Mini-Note PC」とDELLの「Inspiron mini 9」です。


http://farm4.static.flickr.com/3015/2881801855_3418211c56.jpg

この2台を比較すると、DELLの方が写真の通りですが、思いのほか小ぶりな印象を受けました。

どちらも外面の質感はなかなかしっかりした感じで、丸みを帯びたなかなかナイスなデザインです。


キーボードについては、HPの方は見ての通り広々としていますのでタイプはそこそこしやすかったように思います。タッチ感も悪くなく良い感じでタイピングできました。DELLの方は質感・打ちやすさは、おおよそUMPCの期待通りということろで、良くも悪くも普通ですが、キー配列にクセがあり、私的にはこの時点で無いなと感じました。


また、両マシンでIEを起動したりしましたが、HPの方はスタンダードモデル(VIA C7-M ULV 1.2GHz)だったせいか、若干起動に時間がかかっていたような、いなかったような。ハイパフォーマンスモデルでは、もっと良く動くという噂ですが。それに比べてDELL(Atom N270 1.6GHz)のは、割とサクサク動いた気がします。1〜2分触っただけなので、この辺の感じ方は結構アヤシイですけど。


DELLのはストレージがSSDなので、そのあたりのパフォーマンスはかなり気にはなっています。この点については上記リンク先が参考になります。


あと、解像度ですが、やっぱりUMPCの中で群を抜いている、HPの1280x768はかなり広く感じます。とりわけ見辛いこともありませんでした。あれなら快適にブラウジングできそうです。


上記リンク先でも語られていますが、キータイプしていてやはり熱は気になりました。ずっと使っていたら汗ばんできそうな感じです。致命的ではないですが、できれば改善してほしい項目ではありますね。


ということで、私的にはやっぱり今買うなら、メモリ量にも余裕のある(2GB)HPの上位機種だな、と思ったのですが、CPUのグレードアップと熱問題が解決されてきたら、手を出そうかなというところです。


まぁ、、、HPの上位機種(\79,800)を購入するなら、Lenovoアウトレットで売られているThinkPad X61のエントリモデル(\99,960)を素直に買ったほうが幸せになれそうな気がしますw


参考

2008/09/23

RX-7(FD3S)

Oracleがクラウドの世界へ!Amazon EC2/S3上で稼動するイメージを提供


いよいよ、OracleAmazon EC2上でのOracle Databaseの提供を開始したようです。

まだ障壁はあるかと思いますが、これを機にエンタープライズの世界でもAmazon EC2が利用されるケースが増えていくかもしれませんね。EC2が正式にSLAを提示してくれれば、その勢いはさらに加速するように思います。


The Oracle Database 11g, Oracle Fusion Middleware, and Oracle Enterprise Manager can now be licensed to run in the cloud on Amazon EC2. Customers can even use their existing software licenses with no additional license fees.

Oracle Enters the AWS Cloud | AWS News Blog

"Oracle Database 11g"、"Oracle Fusion Middleware"、"Oracle Enterprise Manager"を、Amazon EC2上で利用することが出来るとのこと。これらは、Oracleが無償提供するAMI(Amazon Machine Image: EC2で稼動する仮想OSイメージ)で利用できるようです。

ライセンスについては既存のライセンスを使用することができるとのこと。

Amazon EC2上での利用によるライセンス形態については、↑の資料によると、通常利用と同様プロセッサーライセンス?のようで、8 Virtual CoreのEC2インスタンスであれば、8 * 0.5 = 4 プロセッサライセンスとみなされる模様。


Instead of budgeting for and acquiring hardware, setting it up, installing an operating system and several layers of complex packages, you can simply launch one of these AMIs on EC2 and be up and running in minutes. This is definitely no-fuss, no-muss application development and deployment.

Oracle Enters the AWS Cloud | AWS News Blog

書いてあるとおりですが、Amazon EC2を利用することで、これまで多くの時間をかけてハードウェアを準備してOSやら多数のパッケージのセットアップしていたことが、わずか数分で終わってしまうというクラウドコンピューティングのメリットを享受できるようになるわけです。


There's also a secure backup solution for database servers running on EC2 or within the corporate network. The new Oracle Secure Backup Cloud Module allows customers to use Amazon S3 as a backup destination with virtually unlimited capacity, obviating the need to deal with local backup devices. The module encrypts backups and makes use of multiple connections to S3 to maximize throughput.

Oracle Enters the AWS Cloud | AWS News Blog

また、新しいセキュアなバックアップソリューションとして、OracleのデータベースをAmazon S3上にバックアップすることの出来る"Oracle Secure Backup Cloud Module"が提供されるようです。

バックアップデータは暗号化された状態でS3に保存されるようで、"Oracle Recovery Manager"を通じて利用する他、"Oracle Enterprise Manager"からも使えるみたい。

尚、これらは「Oracle Database 9i Release2」以降に対応している模様。

詳しくは、上記のPDFに詳しく書かれています。(英字)


ディザスタ・リカバリ用途などの遠隔地へのバックアップにぴったりではないでしょうか。クラウドのサービスであるAmazon S3は利用量無制限の完全従量課金なので、利用容量や保管期限・場所を気にする必要性もなくなります。


Oracle has also unveiled a new Cloud Management Portal. This is a free, web-based way to manage Oracle software running in the cloud.

Oracle Enters the AWS Cloud | AWS News Blog

最後に、クラウド上で動くOracleのソフトウェアを管理するWebベースのツール"Cloud Management Portal"が無償で公開されているみたいですが、、、これの情報はどこだろう?


何にせよ、Oracleがクラウドに対応してきたことは、面白い動きであることには違いないですよね!

EC2上のOracle Enterprise Linuxについては、OracleとAmazonによるサポートがあるそうですので、今後これらのサービスが拡充されれば日本でのエンタープライズ用途の利用も現実味が出てくると思います。


あと、、、ライセンスについても、Amazon EC2にあわせて、完全従量課金にすれば良いのにな、と思います。コア数×利用時間とかでね。


公開されているAMIで利用できるOracle Database

現時点では、以下の4つのOracle Databaseに対応したAMIがそれぞれ公開されているようです。

  • Oracle Database 11g Release 1 Enterprise Edition - 64 Bit
  • Oracle Database 11g Release 1 Enterprise Edition - 32 Bit
  • Oracle Database 11g Release 1 Standard Edition/Standard Edition One - 32 Bit
  • Oracle Database 10g Release 2 Express Edition - 32 Bit

詳細については、以下リンク先からどうぞ。


参考



まとめ


法定点検(1年点検)


久しぶりのRX-7ネタ。といっても法定1年点検を受けてきたログなんですが。

今回、点検と一緒にお願いしたのが以下3点。


  • ミッションオイル交換
  • デフオイル交換
  • シフトカラー交換

油脂類は今回全部純正にしました。(安いし、サーキット行かないし)

で、MTオイル交換のついでにシフトカラーをR Magic製の金属製のものに交換しました。

プラグは確認してもらったところ、まだまだ使えるとのことだったので、今回の交換は見送り。高いからね、プラグ。


http://farm4.static.flickr.com/3034/2881122607_5145a4c4a7.jpg

で、まぁ点検料+αはこんな感じ。


相変わらずディーラーで点検してもらった後はFDの進みが軽い!タイヤの空気圧を調整してもらったのもあると思う。

あと、シフトカラーについては、若干カッチリした気もするけど、はっきり体感できるレベルではないね。

MTオイルを変えたせいか、変速時のショックも小さい気がするような。スムーズというか。

やっぱりMTオイルは純正が一番コストパフォーマンスが高そうだ。

松江は最高でした(裏OSC2008 Shimane)


オープンソースカンファレンス2008 ShimaneにSKIPを出展していますで書いていた通り、9/12〜9/14までは島根の松江に行ってきたのですが、せっかくなので美味しいものを食べたり温泉につかったりで島根を満喫。

あ、もちろん仕事はちゃんとしましたよ(^^


続きを読む

2008/09/22

the fastcgi-backend failed to start


lighttpd + FastCGIRuby on Railsアプリケーションを動かそうとして、今日2回も↓のエラーを見かけた。

lighttpdでRailsアプリなんて、もう2年以上運用していることもあって、もうすっかり慣れたと思っていたのだが。

2008-09-22 03:30:53: (log.c.75) server started
2008-09-22 03:30:53: (mod_fastcgi.c.1029) the fastcgi-backend /var/www/skip/public/dispatch.fcgi failed to start:
2008-09-22 03:30:53: (mod_fastcgi.c.1033) child exited with status 1 /var/www/skip/public/dispatch.fcgi
2008-09-22 03:30:53: (mod_fastcgi.c.1036) If you're trying to run PHP as a FastCGI backend, make sure you're using the FastCGI-enabled version.
You can find out if it is the right one by executing 'php -v' and it should display '(cgi-fcgi)' in the output, NOT '(cgi)' NOR '(cli)'.
For more information, check http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI#preparing-php-as-a-fastcgi-programIf this is PHP on Gentoo, add 'fastcgi' to the USE flags.
2008-09-22 03:30:53: (mod_fastcgi.c.1340) [ERROR]: spawning fcgi failed.
2008-09-22 03:30:53: (server.c.908) Configuration of plugins failed. Going down.

2回エラーが出た原因の内訳は、、、

  • 1回目は、shebangを書き間違えていた
  • 2回目は、require文を書き間違えていた

何やってんだよ、俺。。。orz


ちなみに、↑のlighttpd + FastCGIの環境のままデバッグすると非常に原因が追いづらいので、原因を切り分ける際は、一旦WebrickMongrelで稼動させながら、エラーを再現させて原因を探るのが良いと思います。

2008/09/21

クワトロ・ジャイアント(ドミノ・ピザ)

5周年


なんだかんだで気付けば今日で5周年でした。おめでとうございます。ありがとうございます。

というわけでネタではありますが、ピザとケーキをたらふく食べてみることにしました。


続きを読む

2008/09/20

AIR製のはてなハイク用クライアントツール「Hi9」


知り合い・・・友人・・・先輩・・・栗氏*1と、どう呼ぶべきか悩ましいid:chris4403氏が作った、AIRで作られているはてなハイククライアント「Hi9」が公開されています。


http://farm4.static.flickr.com/3246/2871921121_197b6ac7a9_o.png


このツールで結構面白いのは、はてなハイクのキーワード(タイトル)を考える際に、補助してくれる仕組みがあって、kizasi.jpから話題になっているキーワードや、はてなハイクのHot Keywords、reflexaTRIPITなど「Hi9」からキーワードを連想するための"ネタ"を取得しやすい仕組みになっています。


http://farm4.static.flickr.com/3148/2872751420_775f85c2d0_o.png

↑kizasiから注目の話題を取得できます。

最新の情報からキーワードを検索・取得してバリバリとはてなハイクを使われている方にはオススメです。


http://farm4.static.flickr.com/3062/2871921175_30bfc3c16a_o.png

↑Replyしたものも、こんな感じでネスト形式で表示されていて見やすいです。


その他、ページ送りもスクロールが最下部近くまですると自動で行われたりなど、使い勝手についても良く出来ていると感じました。


現在の最新バージョンは0.2.0で、次バージョン(0.3.0)ではReplyが出来るようになるとか。

まだこれからさらに発展していくと思いますので、気になった方は試してみると面白いかも!


参考

「Zipファイルのパスワードを短くするのは危険だよ!」を計算して確認してみた


仕事をしていると、何らかの形でパスワード付きのZIPファイルを受け取ることがあるのですが、そのパスワードを教えてもらったときに、思いのほかパスワードが短い(3文字とか4文字とか)ことが多くて驚きます。


何のためにパスワードをかけているのかを考えると、ちょっとした努力で紐解きにくくできるものなら、堅くしておきたいものですよね。

というわけで、短いパスワードのZipファイルがどれだけ危険かを計算してみようと思います。


パスワードに使える文字パターン

もっとたくさんある気もしますが、とりあえず前提として、よく使う半角英数字/記号文字ってことで、パスワードに用いる文字列を以下の89種類とします。

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
~@#$%^&*()_+-=[]{},.\"/?:;`

パスワードの文字数毎のパターン(重複順列)数

上記の"パスワードに使える文字パターン"を前提とすると、、、


文字数パターン(通り)
1文字89
2文字7921
3文字704969
4文字62742241
5文字5584059449
6文字496981290961
7文字44231334895529
8文字3936588805702081
9文字350356403707485209
10文字31181719929966183601

と、このような感じになります。最後のほうは桁がよくわかりませんね・・・。


ツールを使ってパスワード付きのZipファイルを解析する

使うのは、有名な「PikaZip」と呼ばれる解析ツールを使ってみます。

「PikaZip」での設定は、上記の「パスワードに使える文字パターン」の全組み合わせの総当りを実施し、"ディスクキャッシュ"(メモリ上にファイルを保持し、高速に解析できます)を利用しました。


その結果、使用したPCのスペックと、1秒あたりに解析できた文字数の表が以下となります。

尚、利用したパスワード付きZIPファイルのサイズは約350KBです。


PCスペック1秒あたりの解析数
CPU: Core2 Duo T8300(2.4GHz), Mem: 2GB約4,000,000
CPU: Pentium4 540(3.2GHz), Mem: 1GB約3,100,000

上記表1つ目(速い方)のCore2 Duo T8300(2.4GHz)のPCを1台利用した場合、上記の「パスワードに使える文字パターン」のどれかを利用して作ったパスワード付きZipファイルの解析にかかる時間は以下となります。


文字数解析にかかる時間
1文字1秒以内
2文字1秒以内
3文字1秒以内
4文字16秒
5文字1415秒 (約23分35秒)
6文字125660秒 (約34時間54分)
7文字11183493秒 (約129日)
8文字995330694秒 (31年)
9文字88584431620秒 (2809年)
10文字7884014414111秒 (25万年)

この結果からは、3文字のパスワードだと1秒以内4文字のパスワードで1〜16秒で解析されることとなります。

5文字のパスワードでも最速で16秒、最遅でも23分半以内に終了する計算です。

逆に、8文字まで長くすると、最速でも129日、最遅で31年となり、まずまず強固となっています。5文字と8文字で結構違いが出てくることが分かります。


尚、この「PikaZip」は複数台のPCを並べて、解析を並列処理することも可能となっているみたいです。

どのくらいオーバーヘッドがあるかは試していないのでわかりませんが、仮にオーバーヘッドがなかったとして、250台の上記スペックのPC(Core2 Duo T8300)を並べて解析したとしても、パスワードの文字数を11文字にしておけば、最速でも1000年かかる計算です。


尚、言い忘れていましたが、辞書に出てくるような単語を使ったり、それらを組み合わせて使うのは非常に危険です。

辞書検索を使った解析を実施すると、上記より遥かに少ない組み合わせとなりますので、すぐに解析されてしまう可能性が高くなります。


結論

今回は、よく使うであろう89文字の半角英数字/記号を対象としましたが、これに全角文字が加わるとさらにバリエーションが増す(何千字レベル)ため、より強固となりそうです。というわけで、、、


  • パスワードは少なくとも8文字以上にしたほうが良さそう
  • 全角文字はできるだけ使ったほうが良い
    • 日本語入力できない場合も、メモ帳からコピペなどで対応できる場合がある。
  • 辞書に載っている文字列を使うのは危険
    • 辞書に載っている単語による組み合わせのアタックができたりするので

以上、ご参考になれば幸いです。

まぁ、、、あれですね。もしメールでこういったやり取りをする場合は、素直にPGPとかS/MIMEでメール自体を暗号化してしまった方が良いかもしれません。


2008/09/19

lighttpdでバナー表示文字列を隠蔽(変更)する


Webサーバは大抵デフォルトのままだと、HTTPレスポンスヘッダやデフォルトで用意されているページに、プロダクト名やバージョンが記されたバナーが表示されることが多くあります。


で、諸般の事情により、これらのバナーを隠蔽したり変更したくなる場合があります。

Apacheの場合は多くの紹介エントリを見かけるのですが、lighttpdのそれは見かけなかったので、ここに記しておきます。


まず、デフォルトの設定のlighttpdを使用した場合のHTTPレスポンスヘッダ(一部)は以下の通り。


HTTP/1.x 200 OK
Date: Fri, 19 Sep 2008 10:21:11 GMT
Server: lighttpd/1.4.19

この通り、デフォルトの設定だとServerヘッダにプロダクト名バージョンが表示されています。

そこで、lighttpdの設定ファイル(ex. lighttpd.conf)に、以下の一行を追記します。


server.tag = "Unknown"

"server.tag"に代入した文字列が、Serverヘッダに記載されるようになります。

↑の設定で同様にHTTPのレスポンスヘッダを確認してみると、、、


HTTP/1.x 200 OK
Date: Fri, 19 Sep 2008 10:22:12 GMT
Server: Unknown

このように表示されます。

尚、"server.tag"の値は任意の文字列でOKです。


参考

Ubuntuで、デフォルトのランレベルを変更する方法


せっかくなので、タイトルの件をついでに書いておこう。

Ubuntuでデフォルトのランレベルを変更しようとして、"/etc/inittab"を確認しようとしたところ、、、"/etc/inittab"が無かった。おったまげた。


で、色々と探していると、"/etc/event.d/rc-default"でランレベルに関する処理をしていることがわかった。

その"/etc/event.d/rc-default"の中身が以下。


# rc - runlevel compatibility
#
# This task guesses what the "default runlevel" should be and starts the
# appropriate script.

start on stopped rcS

script
    runlevel --reboot || true

    if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
        telinit S
    elif [ -r /etc/inittab ]; then
        RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
        if [ -n "$RL" ]; then
            telinit $RL
        else
            telinit 2
        fi
    else
        telinit 2
    fi
end script

これを見る限りでは、/etc/inittabを作って、そこにデフォルトランレベルを記載してもOKみたいだ。

/etc/inittabが存在しない場合は、デフォルトではランレベルは"2"になる模様。

ここを換える or /etc/inittabを作って記載すれば良いということか。

Amazon EC2公式イメージのFedora8のランレベルがOS起動後"4"になっている


Amazon EC2の公式イメージのFedora8(ami-f51aff9c ,ami-2b5fba42 ...etc)では、OS起動後のランレベルが何故か"4"になっている。

# cat /etc/inittab | grep ":initdefault:"
id:3:initdefault:

普通に/etc/inittabを確認してみたら、3になっているのだが、、、


# runlevel
N 4

どういうわけか、OS起動後に確認してみたらランレベルが"4"だ。はて?

まぁ、あわせりゃいいだけなので、それほど差し支えは無いんだけど、、、また、何か分かったら詳しく書く。

# 何かご存知の方は教えてくださいm(_"_)m



まとめ


2008/09/17

便利に使えそうなUSB関連機器を2種類買ったので紹介


つい、Amazonでポチッと。

かなり安くなってきているみたいなので、以下2製品共にオススメですよ。


Windows ReadyBoostにも対応している高速のUSBフラッシュメモリ8GBの製品です。今ならAmazon.co.jpで送料込みで\3,000で購入できます。SanDisk製でこの価格はまずまずではないでしょうか。

最近、USBブートで色々遊ぶのが流行っているみたいなので、これで遊ぼうと思いまして。

活用方法については、また別のエントリで紹介します。


・・・で、手元で寂れつつある256MBと512MBのUSBメモリはどうしようか。。。


USB"2口"出力のACアダプタです。

iPodなどのオーディオプレイヤーや携帯電話、PSPなどの携帯ゲーム機など、USB経由で充電できる製品が2つ同時に充電できる優れものです。iPodの専用ACアダプタなどより、よほど安価汎用的に使えそうです。


この手の製品は結構たくさん有り、この製品は本日時点でAmazonで\1,481ですが、同じ2口の製品でもArvelのは\929、1口の製品だと上海問屋オリジナルで\499と、より安価な製品もありますが、この製品を選んだのは計2000mA対応の高出力で安定した供給ができることと、ノイズ等も少なく作りもしっかりしていると評判だったため、\500くらいの違いならコチラでと思いまして。


続きを読む

漢字の中にサーバルーム?


サイボウズラボ秋元さんのブログより。

Chinese Lessons for Geeks | Tech Pediaで、漢字をコンピュータ関係の絵に見立てる、というアイデアが紹介されていた。

目 - サーバーラック (server rack)

鈕 - サーバーラックと並んだクリスマスツリー (christmas tree near a server rack)

器 - コンピュータネットワーク (computer network)

明 - サーバーラックx2 (two server racks)

員 - サーバー二台 (two servers)

管 - サーバー二台の上にケーブル (two servers with wires above them)

自 - WiFiアンテナつきサーバーラック (server rack with a Wi-fi antenna)

開 - デュアルディスプレイのパソコンデスク (desktop with two monitors)

さて、字を見て意味が取れてしまう僕らは、そこに先入観なくサーバールームの姿を見ることができるだろうか?

漢字の中にサーバールームが見える | 秋元@サイボウズラボ・プログラマー・ブログ

こりゃネタとしては面白いですね。よく出来ていると思う。

「員」とか「自」とかは、どっちかっていうと僕はプリンタに見えるかな。


え?プリンタはサーバルーム内にはあまりないやろ、って?

そうですね、でも「鈕 - サーバーラックと並んだクリスマスツリー」はもっとありえんww


参考

2008/09/15

今回、飛行機に乗って学んだこと2つ


今回、東京〜島根間を飛行機で往復してみて学んだことを2つ書いてみようと思います。

このノウハウは、次に飛行機に乗るときこそ活かしたいと思いつつも忘れてしまうそうだったので。


続きを読む

2008/09/14

はてなスターいっぱい


たくさんたくさんありがとうございました。

流石にこれだけスターが並ぶと壮観ですね(^^

http://farm4.static.flickr.com/3107/2854567573_d0c0ef021a_o.png

http://farm3.static.flickr.com/2269/2855401982_d2aab2cba8_o.png

スターのアイコンを変えると、すごい絵になりそうだ。




# Thanks!!! 500000views!!!!!

2008/09/12

SKIP

オープンソースカンファレンス2008 ShimaneにSKIPを出展しています


本日(9/12)より、2日間、島根(松江市)で開催されている「オープンソースカンファレンス2008 Shimane」にてSKIPのブースを出展しています。


http://farm4.static.flickr.com/3129/2851676329_3eb78ef42a.jpg

http://farm4.static.flickr.com/3102/2851676219_8f6e87f331.jpg

興味を持って見に来てくださるお客様の対応を一人でやっているのですが、思いの他、興味をお持ちの方が多くて大変!嬉しい悲鳴です。


興味をお持ちのお客さんの層は様々ですが、やはりご年配の方(名刺の肩書きが凄い人)は、SNSの機能面、特徴とか事例が気になるようですが、若い方はシステムとか技術的な話が気になるという風に、割と関心面がはっきりしています。


取締役の方とか、事業部長の方とか、所長の方とか、色んな方々と名刺交換させていただきましたが、企業のそういった偉い方(ほんの一部かもしれないけど)が、こういったオープンソースのソフトウェアに目を向け・注目して、実際に自分の足を使って情報収集しているのを目の当たりにすると、オープンソースソフトウェアに対する注目度が高まってきているのかな、と実感しています。


SKIPについてはコチラから

2008/09/09

Tamahide STAMPS!

親子丼発祥の店「玉ひで」に行ってきた


軍鶏専門の店として、1760年に創業。

親子丼発祥の店として有名な「玉ひで」に行ってきました。

場所は人形町駅のA2出口を出てすぐのところにあります。仕事はお休みをいただいていたので、ここぞとばかりに攻めてみました。


http://farm4.static.flickr.com/3103/2842267389_7b28a0055c.jpg

ランチタイムは、11:30〜13:00までに並んだ方が親子丼にありつける模様です。

ちなみに、行列で30分以上の待ちは必至と聞いていて、12:50頃に行ったのですが、およそ10〜15分待ちでした。


http://farm4.static.flickr.com/3152/2842267179_fdb9a695ca.jpg http://farm4.static.flickr.com/3098/2843101824_dbbf982363.jpg

これらの写真は食べ終わった後に撮ったため行列は見られませんが、普段の昼間は結構並んでいることが看板からも伺えます。

ちなみに、下記のメニュー通り、土曜日は「元祖親子丼」のみの提供となっており、平日とはメニューのラインナップが異なるみたいです。


http://farm4.static.flickr.com/3170/2842266433_004b919b22.jpg

http://farm4.static.flickr.com/3245/2843100968_a0275ffd49.jpg

炙りささみの入った限定メニューの「匠親子丼」(\1,800)です。

鶏は歯ごたえも味付けもGood!で、卵もトロトロに絡んでいて、言うことありません。最高です。

昔、美味しい親子丼で超有名な京都にある「ひさご」で食べた親子丼もかなり美味しかった記憶がありますが、こちらも卵、鶏、そしてダシの旨味を余すことなく出せている印象を受けました。

余談ですが、「匠親子丼」は私がこの日最後の一品をゲットできました。12:50でよく残っていたな、と。


http://farm4.static.flickr.com/3142/2842266831_53f8a2a75f.jpg

こちらは「極上親子丼」(\1,500)。

「元祖親子丼」に鳥骨鶏の黄身をのせたものとのこと。より卵の味が強い一品で、純粋な親子丼としては、上の「匠親子丼」より、こちらの方が美味しく感じました。


これまた余談ですが、一緒に出てくるおすましと漬物もかなり上品な味付けで美味しかったです。


http://farm4.static.flickr.com/3242/2842266063_ca2dddddd5.jpg

おまけ。おてふき。



大きな地図で見る

参考

UbuntuでGoogle Chromeを動かしてみる


半分ネタではありますが、Ubuntuで今流行りの"Google Chrome"を動かしてみたくなったので。

現在、"Google Chrome"のLinux版はまだ提供されていませんので、Wineを使ってWindows版を無理矢理動かします。

ですので、日本語まわりの扱いがかなり怪しいのと、パフォーマンス面でのアドバンテージもありませんので、このやり方はオススメできません。あくまでネタ扱いで・・・。


というわけで、早速使えるようにしてみます。


Wineをインストール

Wineは、Linux上でWindowsアプリケーションを動作させるオープンソースのツールです。

詳細は、"Wine - Wikipedia"あたりをご覧ください。


Wineは、Ubuntuで提供されているパッケージに存在していますが、最新版を利用するため、以下の手順にてインストールを行います。


$ sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list
$ sudo apt-get update

上記のコマンドを実行し、最新版のWineを取得できるリポジトリを追加します。


W: GPG error: http://wine.budgetdedicated.com hardy Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 58403026387EE263
W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません

もし、"sudo apt-get update"実行時に上記ののエラーに遭遇した場合は、、、


$ wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -

上記のコマンドを実行し(実行後、"OK"と表示されます)、再度、"sudo apt-get update"を実行します。


$ sudo apt-get install wine

"sudo apt-get update"コマンドが完了した後は、上記コマンドでWineをインストールします。


$ wine --version
wine-1.1.4

インストール後、上記のコマンドを実行すると現時点(2008/09/09)の最新版(1.1.4)がインストールされていることが確認できます。


Wineを使ってGoogle Chromeをインストール

Ubuntuから、Google Chromeのダウンロードページに行っても、Linux OSを使っているとダウンロードボタンが表示されません。

なので、以下のURLからダウンロードするか、ツールを使ってRefererを誤魔化しましょう。


$ wget http://gpdl.google.com/chrome/install/149.27/chrome_installer.exe
$ wine chrome_installer.exe

上記コマンドでダウンロード&Wineを利用して実行すると、、、


http://farm4.static.flickr.com/3091/2840519310_3ddcfb16ea_o.png

↑のようなウインドウが出現するかと思います。"Google Chromeを起動"ボタンをクリックしましょう。


$ wine "$HOME/.wine/drive_c/windows/profiles/$USER/Local Settings/Application Data/Google/Chrome/Application/chrome.exe" --new-http --in-process-plugins

インストール後の起動は上記のコマンドを実行することでOKです。


http://farm4.static.flickr.com/3152/2839686269_ee96061c3c.jpg

どうも日本語まわりがおかしかったので、私はGoogle Chromeのフォントの設定で"VLゴシック"を利用して使っていますが、、、それでもまだおかしい部分があるので、まだ改良の余地はありそうです。


どちらかといえば、Wineの日本語まわりの設定っぽいのですが。。。

また何か分かれば報告します。


# デスクトップはMacっぽいですが、間違いなくUbuntuです。

# UbuntuのデスクトップをMac OSX Leopard風にするチュートリアル


参考

2008/09/07 軽井沢旅行2日目

雲場池

軽井沢へ(2日目)


昨日(軽井沢へ(1日目))に続き、軽井沢を堪能しました。

2日目のログです。


本日撮った写真の全て(フルサイズ)はコチラから
http://www.flickr.com/photos/nami73/archives/date-taken/2008/09/07/

続きを読む

2008/09/06 軽井沢旅行1日目

めがね橋(碓氷第三橋梁)

軽井沢へ(1日目)


昨年、d:id:rx7:20070811d:id:rx7:20070812で旅行に行ったときと同じ面子で今年は軽井沢へ行ってきました。

今回は、松井田妙義ICに8時半集合。関西からは5時間以上かかる道程となった様ですが、幸いなことに東京からは約2時間くらいです。


本日撮った写真の全て(フルサイズ)はコチラから
http://www.flickr.com/photos/nami73/archives/date-taken/2008/09/06/

続きを読む

2008/09/03

Ubuntu on ThinkPad X61 でセンタースクロールを使う


IBM ThinkPad X61でUbuntu(8.04)を動かし始めて、まず気になったのがセンタースクロールが使えないのが不便だということ。

というわけで、"/etc/X11/xorg.conf"で、"InputDevice"の"Configured Mouse"で定義されている部分に、以下の2行を追記して使えるようにした。

Option    "EmulateWheel"          "true"
Option    "EmulateWheelButton"    "2"

編集後は、Xを再起動すれば反映されます。

多分↑だけだと、横スクロールは実現できない・・・かも。まぁ必要になったら設定しよ。

# 今日は、xorg.confのmanを読む気力がないw


オススメ (一部は、最近読んでいる本とも言う)
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 Linux-DB システム構築/運用入門 (DB Magazine SELECTION) キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置 スケーラブルWebサイト 実践ハイパフォーマンスMySQL 第3版 ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE) SQLアンチパターン インターネットのカタチ―もろさが織り成す粘り強い世界― ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)