こんにちは。LINE FukuokaでiOSエンジニアをしているはるふです。
去る6月22日(金)、新しくオープンしましたLINE KYOTOにてLINE Developer Meetup #38を開催しました。
テーマは「ニッチ言語」ということで、Swift(Server-side), Elixir, Clojureという3つの言語について、実際に使っている方々からの、紹介を兼ねてのセッションでした。
自分も参加してきましたので、そのレポートをお届けします。
LINE KYOTO
LINE KYOTOは、東京、福岡に続く、国内第三の開発拠点として、6/13にオープンしました。
執務スペースだけでなく、今回のイベントを開催したようなイベントスペースや、メンバーが開発したIoT機器が設置されていたりします。プレスリリースでオフィスのイメージ図が公開されていましたが、全くそのままのものができていて驚きました。
実際の様子について、詳しくは、LINE KYOTO OPENING MOVIEなどをご覧ください。
中でもご紹介したいのは、入り口にあるこちらの設備です。何だかわかりますでしょうか?
実はこちら、フォトブースになっております。
机上のClova Friendsに向かって、「Clova, カメラを起動して」と話しかけると、中央付近に見えているiPhoneで写真を撮影してくれます。さらにその写真はLINEアカウントを通じて受け取り、持ち帰ることができます。京都オフィスにお立ち寄りの際には是非試してみてください!
そしてスタートは、このフォトブースのアーキテクチャに関する話でした。
セッション
サーバーサイドSwiftを利用した開発事例のご紹介 / Ueno Kenichi (LINE KYOTO)
上にあるようなフォトブースのシステムは、複数台のサーバーとClova、そして実際に撮影を行うiPhoneアプリから構成されています。
iPhoneアプリはもちろんのこと、サーバーの一部はフレームワークKituraを用いて、Swiftで実装されているそうです。
セッションの中では、KituraとDockerを使ってデプロイする方法や、Linux版とMac版のライブラリ違いなどから苦労した点、
Bonjourやsocket.ioといったプロトコルも含めた実際のアーキテクチャの全体像などを紹介されています。
詳しくはスライドをご覧ください。
Slink into Elixir / Adam Millerchip (LINE KYOTO)
当日唯一の、英語でのセッションでした。
Elixirは会場のほとんどの人にとって書いたことのない言語でしたが、データが変更不可能な点、ループがない点、関数の外側に状態がない点など、前提からわかりやすく解説してくれるセッションでした。
かなりデモも多く、書いたことのない自分でも理解しやすかったです。
その他、PatternMatchingやPipeといった言語固有の記法なども、実例交えながら紹介していました。
オブジェクト指向とはまったく違うClojureの世界と実際のWeb開発 / 矢野 勉 (株式会社シェルフ代表取締役/株式会社ユーザベースSPEEDA Japan Company開発者)
Clojureをメインに実際に業務を行っていらっしゃる矢野さんによる、Clojureに関するセッションでした。
Clojureのバグを見つけたりパッチを送ったりもしているそうです。
Clojureも同様にほとんどの人にとってあまり馴染みのない言語でしたが、前のセッションのElixirと同じ、いわゆる関数型言語のため、頭の中で比較しながら大変面白く聞いていました。
カッコが多いイメージがあるClojureですが、解説されてみると確かに普通の言語と変わらない気もしてきます。
言語の思想や、フレームワーク、遅延シーケンス、IDEやよく使われるテクニックなど、経験豊富な人ならではのことを多くのことをお話されていていたので、スライドを参照いただければと思います。
懇親会
セッション後の懇親会では、弊社(ビール)サーバーサイドエンジニアも含めて(ビールの)負荷テストに奔走しつつ、わいわいと飲みながら、開発についてやオフィスについて話しました。
途中、Clovaと参加者でじゃんけん大会を行いました。
連勝したお二人。プレゼントが何だったのか、気になります。
おわりに
LINEでは、ニッチ言語大好きなエンジニアはもちろん、幅広くエンジニアを募集しています。
詳細は以下のリンクからご参照ください。