HANDAI JK Engineering Blog

HANDAI JKの技術ブログです

M1の夏にサンディエゴ(アメリカ)に1ヶ月留学して開発を行った話

皆さんこんにちは。HANDAI JKの赤沢と申します。

本日は私がM1の夏に1ヶ月間UCSD(University of California, San Diego)で開発をした時のお話をさせてもらいます。

サンディエゴ

サンディエゴはアメリカ西海岸のメキシコとの国境に位置する町です。州で言うとカリフォルニア州に属してます。 日中は日差しが強い時間帯はあるものの一年を通して暖かい気候で、雨が降ることは滅多にありません(私が滞在した1ヶ月間では一度も降りませんでした)。 "全米で住みたい町No.1(Finest Town)"に選ばれるほどの、アメリカ屈指の過ごしやすさを誇ります。あの広大なアメリカですからね。全国1位とはスケールが違います。

また、海軍や海兵隊の基地が点在し、アメリカ太平洋艦隊の軍港も設置されています(引退した空母、ミッドウェーの中に入れちゃったりします)。自然なども海や山もあり豊かで、観光地としても有名な施設や場所が多く存在します。

そんなサンディエゴに存在するUCSD(University of California, San Diego)という大学の一研究室に1ヶ月間お世話になり開発を行いました。 所属先の研究室は何と、かの有名なIdeker教授のホーム、Ideker Lablatoryでした。その中のSoftware Development Teamのメンバーの一員として開発に携わりました。

日中は研究室で開発をしていましたが、それ以外の時間では滞在先のホストファミリーと一緒にビーチでサーフィンをしたり、現地の小学生達に日本語を教えたりしました。 また、週末になると近所の家族とバーベキューをしたり、教会に赴いたりといった、日本とは異なる文化にも触れることができました。楽しかったな。

f:id:handaijk:20190527141216p:plain

f:id:handaijk:20190527154607p:plain

ホストファミリーはお父さんとお母さん、10歳の男の子と17歳のお姉ちゃん(アメリカンJK!!)がいました。私的にはお姉ちゃんともっと仲良くなりたかった()のですが、彼女は忙しそうにしていたので、10歳の弟と彼が家に連れてくる友達(家に帰ると毎日5人くらい子供達が遊んでました)と一緒にスマブラスプラトゥーンをして過ごしました。日本にいる時とやってることが変わらない...

研修内容

一言で表すと、「JupyterLabの拡張機能としてのグラフ可視化ウィジェットの開発」を行いました。

情報科学技術の日常への浸透性が高まるにつれて、デスクトップアプリケーションではなく、オンライン環境上で作業が行われる機会が増えてますね。Word、Excelを使うよりもGoogleDocument、GoogleSpreadSheetなどを使ったほうが複数人での作業や機器間のデータ移動の手間の削減といった点で便利です。

このような動きはプログラム開発においても同様です。例えばPythonの場合、エディタとターミナルで作業してもいいんですけど、オンラインでやるときにはよくJupyterLabというシステムが使われます。

一方、この世にはグラフというものが存在します。ここでいうグラフはIT業界用語としてのグラフで、辺と頂点を持ったネットワーク図のようなものだと思ってください。

このデータが入ったファイルは基本的にテキストで記述されています。「この頂点はこっちと繋がっていて、この辺はこれとこれを繋ぎます。」みたいなことがつらつら6000行くらいに渡って書かれているわけですね。(もちろんグラフの規模によって変わりますが、僕が扱ったデータはそのくらいの分量でした。)

f:id:handaijk:20190527141436p:plain:w200

これをJupyterLab上で一発で目で見て分かるようにしようっていう試みをしました。細かい実装内容は割愛しますが、成果物はこんな感じです。

f:id:handaijk:20190527154653p:plain

(ちょっとだけ専門的な話)実装にはTypeScriptとReact、UIにはMaterial-UIを使いました。それからNDExNCBI等のパブリックデータベースからもデータを取得してjsonに変換し描画することも可能となっています。

チーム開発のやり方や大学の仕組みが日本とは大きく異なり、良い刺激をもらえました。基本的にミーティングやプレゼンテーションは分からないことがあればその場ですぐに質問、話者の話を遮りながらインタラクティブに行われます。週に一回行われる研究室全体でのランチミーティングではピザやサンドイッチが提供されるのですが、これらのお金は研究室から出されてるそうです。羨ましいですね。

おわりに

今回の研修は研究面ではもちろんのこと、それ以外の面においてもアメリカの生活に触れることができて、大変有意義でした。今後の私の人生で何かしら生きてくるものになるでしょう。英語の練習も大いに捗りましたね。 それから、滞在中に結構多くの日本人と出会いました。10人くらいは会ったかな。意外と世界は狭いですね。ドリンクのカップは大きかったですが。