http://blog.hatena.ne.jp/a666666/ で id:a666666 のメインのはてなブログにジャンプするらしいので blog でスマートキーワードを設定した。
プロフィール画像変更のユーザーインターフェースあれこれ
いくつかのソーシャル系サイトで使っているプロフィール画像を変更したのだけど、一度に作業するとそれぞれの違いがわかって面白かったのでスクリーンキャプチャを撮ってみた。
ごくごくオーソドックスなフォームアップロード。アップロード後の画像切り取りもないので自分で正方形に加工する必要がある。縦長の画像をアップロードしたら自動的に中央部分が切り取られて顔の上下が欠けた。天下の Twitter にしてはずいぶんそっけないつくり。 Twitter はあんまり画像には関心がないようだ。
アップロードボタンはふつうのフォームで、こちらも天下の Facebook がドラッグ&ドロップもできないのかとちょっと驚いたけど、アップロード後はおなじみの波打つプログレスアニメーションで快適な待ち時間を演出。あと特筆すべき点として、 Facebook は縦長の画像をアップロードできる(正方形に切り取る必要がない)これは他のサイトだとできないところが多いので加工の手間がはぶけるぶんありがたい。
Google+
ドラッグ&ドロップで画像をアップロードできる。まぁ天下の Google なんだから当然といったところか。でもアップロード後は正方形に切り取らなきゃいけなくてちょっと悲しい。ここまでのソーシャル御三家のなかでは一番直感的なインターフェースだと感じた。デザインも好みだ。ただし Google+ の場合の話だが(Gmail や Google Groups まで一緒にすることはないよね・・・)
Quora
意外にやるなぁと思ったのが Quora で、もともと「Facebook アカウントでログイン」とかでサインアップするので連携先のサイトから画像を引っ張ってきてくれるのだけど、変更時も改めて新しいプロフィール画像を引っ張りなおせるようになっていた。これはものすごく楽だし合理的でとても良いと思う。正方形の切り抜きも crop 済みの画像をいくつか提示してその中から選ばせるようになっていて作業の手間が少ない。そういう類のソーシャル系サイトをあんまり使ってないのでこれがふつうのことなのかどうかわからないけど、今後そういうサービスは全部こうなってたら楽でいいなぁ。
30days Album における MogileFS
mysql> select fid from file order by fid desc limit 3; +-----------+ | fid | +-----------+ | 529889169 | | 529889167 | | 529889166 | +-----------+ 3 rows in set (0.00 sec) mysql> desc file; +----------+----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------------------+------+-----+---------+-------+ | fid | int(10) unsigned | NO | PRI | NULL | | | dmid | smallint(5) unsigned | NO | MUL | NULL | | | dkey | varchar(255) | YES | | NULL | | | length | int(10) unsigned | YES | | NULL | | | classid | tinyint(3) unsigned | NO | | NULL | | | devcount | tinyint(3) unsigned | NO | | NULL | | +----------+----------------------+------+-----+---------+-------+ 6 rows in set (0.00 sec) mysql>
がんばります
任意のコマンドの実行時間を計測する p5-stopwatch.pl というプログラムを書いた
任意のコマンドの実行時間を計測する p5-stopwatch.pl というプログラムを書いた。 Time::HiRes モジュールが必要です。
kyanny/p5-stopwatch.pl - GitHub
使い方。
$ ./stopwatch.pl \ --initialize 'curl -O http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz' \ --before 'tar xzf memcached-1.4.9.tar.gz' \ --main 'cd memcached-1.4.9 && ./configure && make' \ --after 'cd memcached-1.4.9 && make clean' \ --finalize 'rm -rf memcached-1.4.9 && rm memcached-1.4.9.tar.gz' \ --count 10
実行結果。
Trying 10 times... initializing... 1: run before hook... 1: run main... 1: Elapsed: 11.714476 1: run after hook... 2: run before hook... 2: run main... 2: Elapsed: 11.692463 2: run after hook... 3: run before hook... 3: run main... 3: Elapsed: 11.668393 3: run after hook... 4: run before hook... 4: run main... 4: Elapsed: 11.462474 4: run after hook... 5: run before hook... 5: run main... 5: Elapsed: 11.932532 5: run after hook... 6: run before hook... 6: run main... 6: Elapsed: 11.123197 6: run after hook... 7: run before hook... 7: run main... 7: Elapsed: 11.241909 7: run after hook... 8: run before hook... 8: run main... 8: Elapsed: 11.380771 8: run after hook... 9: run before hook... 9: run main... 9: Elapsed: 11.41942 9: run after hook... 10: run before hook... 10: run main... 10: Elapsed: 11.477144 10: run after hook... finalizing... Total: 115.112779
memcached のコンパイルにどれくらい時間がかかるかベンチマークをとりたくなったときなどにご利用ください。