Wednesday, October 25, 2006

GREE Labs 第8回 オープンソーステクノロジー勉強会 [seminar]

第6回目,第7回目と出席できなかったので,久しぶりの参加となった GREE Labs オープンソーステクノロジー勉強会.
第8回 オープンソーステクノロジー勉強会 - GREE Labs

今日は2つとも個人的に関心のあるトピックだったので,とても楽しみにしていた.

最初の議題は,Debian Developer として著名な鵜飼 文敏氏による「プログラムが main()にたどりつくまで」という内容.Linux で "Hello world" が実行される際に,シェルから fork(2) されて execve(2) を呼び出し,waitpid(2) で帰ってくるまでの Linux のプロセス実行を,実際のソースコードを見ながら追いかけていく.具体的には,glibc の

sysdeps/unix/sysv/linux/execve.c
sysdeps/unix/sysv/linux/i386/sysdep.h
あたりから,int $0x80 (SYSCALL_VECTOR) でカーネルモードに遷移して,
sys_execve (linux arch/i386/kernel/process.c)
do_execve (linux fs/exec.c)
search_binary_handler (linux fs/exec.c)
struct linux_binfmt (linux fs/binfmt_elf.c)
load_elf_binary (linux fs/binfmt_elf.c)
と流れて ELF を load して…,みたいな話.
あとはファイルの実態とメモリ上への配置とか,readelf・objdump・ldd あたりの使い方とか.

私自身,Linux プラットフォームでの開発はここ2年近く遠ざかっているし,その頃だって OS のシステムコールを使うようなことはしていなかったので,とても興味深く聞くことができた.

ちなみに,今回のような内容をまとめた「Binary Hacks」という書籍が,近日オライリーから出版予定らしい.鵜飼氏も著者の1人で,彼によると「抽象化によって隠された計算機の本当の力を引き出すプロラミングのノウハウが満載」とのこと.


2つ目は,GREE の澤氏による「モバイル Web サービス開発 @ GREE」という話.元々,7月に GREE が KDDI と提携したということもあって注目していた議題だったが,主に GREE における「最近のモバイル事情」「開発の仕組み UI編」「開発の仕組み システム編」という内容だった.

ただ蓋を開けてみると,例えば「UI には Web デザインパターンを使っている」という話を実際の GREE のサービスを例に取ってどのパターンが適用されているかという説明や,市場調査の為に女子高生をオフィスに招き入れてヒアリングしているという話 (楽しそーだな,おい),frontend 側と backend 側を分けて business logic を分離しているという話,携帯キャリアによる挙動の違い,開発基盤の共通化にる生産性向上,みたいなことが聞けておもしろかった.


ところで今回の話を聞いたり,懇親会で GREE のエンジニアと話をしたりしていると,本当にスピード感溢れる開発をしているんだろうな,という印象を受ける (とあるサービスは,テスト込みで1週間の開発期間でリリースしたとか).「小規模で平均年齢も若いベンチャーだから」と言ってしまえばそれまでだが,それにしても意思決定が遅いどこかの大企業とは大違いだと思ったり…


例によって本日の議事録,資料,音声ファイルなどは GREE のサイトにアップされると思います.


参考:
Peace Pipe: GREE Labs 第3回 オープンソーステクノロジー勉強会 [seminar]
Peace Pipe: GREE Labs 第4回 オープンソーステクノロジー勉強会 [seminar]
Peace Pipe: GREE Labs 第5回 オープンソーステクノロジー勉強会 [seminar]


0 comments: