leo email English/Japanese

ソフトウェアエンジニア, Treasure Data

プログラミング関連

ブログ

紹介記事

2008年4月 NTTサイバー研の鬼塚さんとのインタビュー(電子情報通信学会 ニュースレター)記事。(PDF)

履歴 (CV: Curriculum Vitae)

  • 1998年4月 : 東京大学 理科Ⅰ類入学
  • 1999年9月 : 東京大学 理学部情報科学科 進学
  • 2002年3月 : 東京大学 理学部情報科学科 卒業
  • 2002年4月 : 東京大学大学院 情報理工学系研究科コンピュータ科学専攻 修士課程入学
  • 2004年3月 : 東京大学大学院 情報理工学系研究科コンピュータ科学専攻 修士課程修了
  • 2004年4月 : 東京大学大学院 情報理工学系研究科コンピュータ科学専攻 博士課程入学
  • 2005年4月 - 2007年3月 : 日本学術振興会特別研究員
  • 2007年3月 : 東京大学大学院 情報理工学系研究科コンピュータ科学専攻 博士課程修了。情報理工学博士(PhD)取得
  • 2007年4月 - 2014年2月: 東京大学大学院 新領域創成科学研究科 情報生命科学専攻 森下研究室 助教
  • 2014年3月 - 現在: ソフトウェアエンジニア, Treasure Data

論文

授賞

研究内容

  • ゲノムサイエンスのための分散計算処理機構
  • ゲノム情報処理のためのデータベースシステム
  • XMLなどの木構造データのための、データベースシステムの開発と問い合わせ最適化
  • 木構造データベースにおけるトランザクション管理

プログラミング言語遍歴

  • BASIC (MSX) 小学生くらいから。ゲームを作りたくて始める。最初の苦い経験は、各行末でEnterキーを押さないとプログラムがメモリに入力されないことを知らずに、一生懸命雑誌にあるサンプルプログラムの通りにコードを入力したけれど、RUNして何も起こらなくて泣いたこと。今は、エディタが勝手に保存してくれるので、現代っ子はきっとそんな時代を知らないはず。
  • Z80(マシン語)これも小学生の頃。BASICだけでは画面スクロール、BGM演奏など、速度が追い付かず学び始める。C9がRETとか常識。この時点で、ゲーム作りにはグラフィックとか音楽の方が大事だと気付く。 (田舎育ちでプログラミングに関しては大した情報が得られず、大学入学まで進歩なし。インターネットで情報が手に入る今の世代が羨ましいけれど、プログラムとは違うこと(絵とか音楽)に没頭できたので、それはそれでよし。)

  • C++/C (大学から。C++から始めました。C++はCを知らないと学べないなんて嘘。DMBSとかはこっちで作ります。ここで苦労したおかげで他の言語を学ぶのが怖くなくなる)

  • Scheme (大学の演習から始まり、schemeでschemeコンパイラを作れるくらいやりました。)
  • Ocaml (演習の課題をこなす程度)
  • Java (開発効率が一番いい。Web系、DBなどなんでも。速度的に越えられない一線がくるまでは使い続けたい言語。コードを書けば書くほど楽になっていくのが楽しい)
  • Perl (昔はWebサーバーをperlで書いていたけれど、Javaになってから使わなくなりました)
  • Ruby (一括処理スクリプトを書くときはもっぱらRuby)
  • Scala (2010年頃からのメイン言語. 今は完全にJavaからScalaへ移行してしまっています)
  • Scala Cookbook を書いています http://xerial.org/scala-cookbook