W3C Developer Meetup -Tokyo
W3C Developer Meetup – Tokyoに行ってきました。写真中央のディスプレイにはリアルタイムでgoogleTranslateされた文字が表示されています。
彼らがカッコいいのはWebが好きでそのWebをもっと良くしようと思っていて、本気で世界を変えられると考えていて実際に変えているところだ。
短い時間の中でビジョンを語る姿から意思の強さが伝わってくる。
やりたい事で飯を食える人たちは凄いと思いを抱きつつ、それを実現しているのは習慣化された努力なんだと思う。
W3Cに限らず、自身が関わることでコミュニティと仕事が良いスパイラルで回っていく環境はいいね。
IT技術の進化が早い理由は様々あると思うけど、世界的なコミュニティの力もその一つだと思う。
”Webが進化するために必要なことは問題である。ワーキンググループは問題を必要としていて解決策ではない。” - Richard
Webに限らず、先人の様々な貢献(問題をみつけるひと/解決策を示すひと)の上で世の中が成り立っている。
プログラミングにしても何事もAPIで抽象化されることで効率化されてるのかもしれないけど、例えばそのアプリの裏ではOS,果てはBootLoaderまで含めて比にならない規模のコードが動いている。そして、それらは長年かけて洗練されたものである。
エンジニアというか”人は何ひとつ自分だけでモノを作れない”のだと思う。だから、謙虚の気持ちは忘れたくないなと思った。
code is native for geeks. -fumi
Objective-Cの小ネタ
ブログが短いのでObjective-Cの小ネタをひとつ。Objective-Cの好きなところはC言語が書けること。
n 個の数字の中でランダムに重複なく m 個取得したい時(なかなかないか…笑)にこんなコードを書いてしまうかもしれない。
srand([[NSDate date] timeIntervalSinceReferenceDate]);
でもこれは秒単位で取得することになってしまうので,1秒以内に繰り返し処理を行い時に乱数生成の種は同じなので結果としてとんでもない時間がかかってしまうことになる。
ちなみに,試しにやってみると n=20, m=10の場合,平均して8secもかかってしまった。
そんな時はシステムコールを使う。
#include
struct timeval tv;
gettimeofday(&tv, NULL);
srand(tv.tv_sec + tv.tv_usec);
同条件で0.000104secと高速に取得できた。
Cが書けるのは抽象化されたObjective-Cのコーディングに柔軟性を与えるという話でした。