知らなかったを聞くでおなじみのbuildersconに今年も行ってきました。なんと今年は母校の東京電機大学での開催です(卒業と同時に移転だったけど実質2ヶ月ぐらいしか新校舎はいなかったけどね)。
https://builderscon.io/tokyo/2019builderscon.io
苦い問題もおきましたが全体的にやはりここでしか聞けない話がとても貴重で、やはりこういうカンファレンスは必要だなと思う次第です。
前夜祭
前回の前夜祭が最高に楽しかったので今年も期待していたのですが、今年はちょっとジェンダー周りの問題が出てきてちょっと後味が悪かったですね。
HoloLensでドローンを操る話は普段なかなか知る機会のないHoloLensの楽しい使い方についてしれたのが良かったですし、MySQLでケーキを焼く話はissue tracker由来の試みだったのが面白かったです。布団をダジャレでふっとばす装置も実際に動いている映像が見れて楽しかったです。
問題の発表は装置の仕組みは興味深く、一応ちゃんと配慮もされていたのですが、やはりその性質上あの場にはふさわしくなかったのかなと思います。
この問題に触れるには色々知識不足なめんもあり、おいそれと触れられない(それ自体問題だと思いつつ)話題なのであまり自分からは言うことはありませんが、こういう発表をすると問題であるということから議論が始まりどうすればみんなが気持ちよくbuildersconを楽しめるか議論があるといいなと思いました。
一日目
一日目は
- https://builderscon.io/builderscon/tokyo/2019/session/1f34d023-591e-4674-98eb-b2201c8a28be
- https://builderscon.io/builderscon/tokyo/2019/session/e6ed1194-9a40-4a8c-92fb-b60f39cd18dd
- https://builderscon.io/builderscon/tokyo/2019/session/5acc1604-0f1f-493b-8025-364042db7123
- https://builderscon.io/builderscon/tokyo/2019/session/77d38939-c3eb-470e-bbbd-93ff138399e3
を見に行きました。
ゲームの話は将棋の話から始まり、ゲームのモデリング、良いフレームワークとはと繋がっていきまさに知らなかったことをしれたセッションでした。
特に将棋の話は本当に興味深く、ルールの穴をついた詰将棋の存在は思わずうなりました。フレームワークの話で紹介されていたboardegame.ioはゲームを作るフレームワークとしてかなり優れているようなので触ってみたいと思いました。
コンパイラの話はまさかのライブコーディングでコンパイラを作り始めるセッションで、最終的に足し算ができるところまでライブコーディングされていました。
コンパイラ作成は割と泥臭く大変そうなイメージを持ちましたが、ご本人がおっしゃっているようにコンパイラを作りきるまで何もしないぐらいのストイックさで望めば誰でもできそうな気がしました。そのストイックさを持つのが大変だなと思いつつ・・・。自分もコンパイラを作ってみたいと思ったことはあったので、そろそろやりどきなのかもしれません。
Rubyのお話は設計の話でした。設計は問題に対して解決となるような構造を与えるという言葉が大事で、この言葉を軸にしてRailsでの破綻しにくい設計を解説していました。
ここで自分は「自分が問題だと感じていない恐れもあるが、現状問題を感じていないのにそういう設計にすべきか」と言うような質問を行ったところ、「まず問題とそれを解決する手法を知っておくこと、それを知った上で現状問題がないようであれば無理にその手法を使う必要はない」というような回答を得ました。
設計に関してはこうした方がいい、ああするべきのような議論が多く、そういう設計ってそんなに必要なの?と疑問に思っていた自分にとっては目の前が開けるような思いがしました。まずは問題とそれを解決する手法を集めることから始めようと思いました。
Kyashのアーキテクチャの話はKyashのマイクロサービスとそれを支えるインフラ設計のお話でした。メッセージバスを中心にしたイベント駆動の設計を行っており大変刺激的でした。自分が考えたこともないような設計を見るのは大変面白いものです。
ここで自分は「たくさんマイクロサービスがあるが開発時のローカル開発環境はどのように構築しているか」という質問を行ったところ、
「ローカル用のリソースがAWS上で作られそれで開発している」というような回答を得ました。
結構丘な掛かりそうだなと思ったことをTwitterに書いたら補足としてここのCPUやメモリのリソースはそれほど大きくはなく、意外と安くすんだということを教えていただきました。
自分も心配してたのですが、リソースの数は多いものの個々に消費するCPU、メモリリソースはとても小さいので、意外とそうでもないみたいです。goでやっている大きな理由もそこでして…
— iwado (@k315k1010) 2019年8月31日
ローカルでの開発程度であれば恐れずやってもいいのかもしれません。
二日目
二日目は
- https://builderscon.io/builderscon/tokyo/2019/session/39cc0447-3f4d-40ef-aab0-039b59750bc8
- https://builderscon.io/builderscon/tokyo/2019/session/5e4eb13c-4efd-42ee-b22c-5ccb37c0854e
- https://builderscon.io/builderscon/tokyo/2019/session/2c1c0bcd-960c-11e9-a530-42010af01081
- https://builderscon.io/builderscon/tokyo/2019/session/d6fc1b22-b1ed-490e-bb2d-7c9652d52beb
- https://builderscon.io/builderscon/tokyo/2019/session/1a239003-960c-11e9-a530-42010af01081
を見に行きました。
protocolbufferの話はプログラムからprotocを使うのが興味深かったです。普段protocでコンパイルしたライブラリを使って開発を行っているので、自分でprotocをどうにかするという発想がなかったです。どう使うかはちょっと悩みますが知っておいて損はない技術だと思います。
Elixirの話はErlangの話でもあったのですが、内部でどういう動きをしているかを知ることができました。これに関しては自分の勉強不足が原因で後半はさっぱりわかりませんでしたが、またElixirを触ってみたいモチベーションにはつながりました。やりたいことがいっぱいあって困ります。
スーパーカミオカンデの話はまさにbuildersconらしく本当に知らなかったことを聞けたのが良かったです。
ニュートリノとは何か、ニュートリノを検出する装置にどういうつらみがあるのか、桁外れの情報をどう処理するのか。どの話も刺激的でした。自分たちが普段扱っているスケールとは全く違うのですごい世界だなと思うことばかりでした。
面白かった点としては最初の頃は自分たちではんだ付けしていたりとか、光電管は一つ一つ職人が吹いて作っているとか、桁外れのことをやるにはまだまだ職人技が必要なのだなと思いました。スーパーカミオカンデは見学できるツアーもあるようなので行ってみたいですね。
サービスメッシュの話はサービスメッシュの概念はk8sありきのものではないんだよというメッセージと、どういう変遷があって今どういうものがあるのかという基礎的な発表でした。知識としてはなんとなくあったけど実はあんまり良くわかってなかったので歴史をしれたのは良かったです。そういうものが必要になるのもサービスが多く複雑になってきたらということなので、そこは肝に銘じたいですね。
Oxygen Not Includedの話はどういう理由でOxygen Not Includedがデザインされているのかを聞くことができました。ゲームのデザインで熱力学が重要な意味を持っていたり、セル・オートマトンで実装されていたりと興味深いゲームデザインの話を聞くことができました。
それと科学を遊びながら体験しリアルな世界に持っていってもらおうという試みは心が震えました。ゲームにもそういう役割ができるのだと、ちょっと感動しました。
聞いたからにはOxygen Not Includedをやらねばならないという気持ちで一杯になったので、とりあえずSteamで買おうと思いました。ちなみにチーム内でOxygen Not IncludedはONIと呼ばれているそうです。
おわりに
今年のbuildersconも知らないことを聞けたし、ためになるセッションもたくさんありました。本当によいカンファレンスだと思います。
自分も登壇できればと思いますが、自分があそこで登壇できるほど強くなるにはどうしたらいいんだと頭を抱えるばかりです。とりあえず目の前の仕事や趣味開発で知見を得ていきたいですね。
前夜祭のこともあり苦い思いがあることも事実ではありますが、こういうジャンルの違ういろいろな人が知見を持ち寄るカンファレンスはそうないので乗り越えていってもらいたいと思います。