builderscon tokyo 2019に参加してきた #builderscon
先日開催された,builderscon tokyo 2019へ参加してきた.
buildersconは
buildersconは「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭りです。buildersconではトークに関して技術的な制約はありません、特定のプログラミング言語や技術スタックによるくくりも設けません。
と書かれているように,特定の言語やフレームワーク等に縛られないテックカンファレンスです.縛りがないので,開催する二日間で様々なジャンルの話を聞くことができ,まさに「知らなかった,を聞く」というテーマにピッタリのカンファレンスとなっている.
以下,参加して気になったセッションの内容と簡単な感想を述べたいと思う.
ランチセッション「キーボードは好きですか?」
自作キーボード,最近よく聞くようになりましたね.秋葉原には遊舎工房というお店もできたぐらい.
今回は,我々が普段使っているキーボードから自作のコアな話まで50分間たっぷり聞くことができた.日本語でこれだけまとまっている資料が他にあるだろうか. ちょうど最近USキーボードに移行しようとしており,新しいキーボードをめちゃくちゃ迷ってるタイミングでの発表だったので,非常にタイムリーだった. 正直キーボードのスイッチがあんなに深いものだとは思っておらず…軸の名前(赤軸とか)は聞いたことあったけども,こんなに種類や特性があるんだなという学びを得た.
で,発表していたのが以前インターンしていたときに隣の席だった id:foostan だった.というのも,このセッションはfreeeがスポンサードしており,freeeで自作キーボードといえばfoostanなのである.
↓の記事が面白いのでぜひ
コンパイラをつくってみよう
DQNEOさんの発表.なんと,ライブコーディングで簡単なコンパイラを作成するというもの.
- Go言語を使う
- 加減算を行い,評価した値でexitする
- アセンブリを標準出力に吐き出すことで実現
というものだった.この発表はすごく良くて,1ステップずつ出来上がる過程をみることができるし,機能が追加される毎に会場では拍手が起こり,ワイワイしながら発表が進んでいった. 途中実行がエラー担った際は,客席から間違った部分の指摘が飛んできており,実質ボディビルの掛け声だった.エラーが起こっている行数を教えていた人,人間コンパイラだった.
DQNEOさんが学んだ教材は,有名なruiさんの8ccらしい.
今だとchibiccというものがよさげかも
コンパイラ作成は長い道のりになりがちで,モチベーションをどう保つのかという質問もあった.確かに難しすぎると途中で心が折れてしまいそうである.その点,chibiccは
この本では、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを本書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。
と書いてあるように,これまでのものよりはとっつきやすいのかもしれない.
非同期処理の歴史から見たコンピューティングの進化
ついつい避けがちな非同期処理の話題.正直自分も正しく答えられるかというと,自身がまったくない. 今回は,歴史的経緯も踏まえつつ,どのように非同期処理が進化してきたかという内容だった.最初の方に出てきたRunnableによる非同期,昔Androidアプリを 書いたときに使っていたなあなどと思いだして懐かしくなっていた.
もちろん文法レベルでどうやって書けば非同期処理が実現できるかがわかるのも大事であるが,それ以上にどのようにしてソフトウェアが動作しているかを意識しなければ ならないと感じた.最近書いているものは正直そのあたりを意識して書けていない(本当は意識しないといけないのだけども)ところもあり反省点である.すごい情報量の資料 なので,もう一度読み返したい.
Optimizing Ruby with JIT - 最速の言語を目指して
Ruby 2.6.0から導入されたJIT(Just In Time)コンパイラ.この発表では,JITコンパイラによる高速化をどのようなアプローチで進めていったのかといったことを聞くことができた. 正直,RubyにJITコンパイラが入りますよと言われたときはそこまで関心がなかったのだが,今回この発表を聞くとその見方も大きく変わってくる. 様々なアプローチをコードの例を提示しながらステップバイステップで最適化されていく様子は見ていてとてもワクワクした.
今回の資料ではないが,こんなものもある
レガシーサーバーを現代の技術で再構築する
社内で使用されてきた機能モリモリのレガシーなLinuxサーバを,現代の技術を使って再構築していく話.fujiwaraさんはISUCONの方で何度も 見ている人で,実際の発表を見るのは初めてだった.
Redmine, SVN, Git, IRC, Gyazoなどのサービスが1台のLinuxサーバに構築されており,そのシステムは4年周期ぐらいで手が加えられて行ったそう. 今回がちょうどその周期になっており,実際に一つ一つ改善していった点が紹介されていた.
ついついやらなければいけないことから考えがちであるが,まずは「やらないこと」というのを明確に定義したあとにやっていくことを決めて 行ったのが印象的だった.ついついいろいろなことに手を付けがちなものだが,原状を正しく把握してやることを整理できる力というのはかなり 大切であるように感じた.
それにしてもサーバが1台しか存在しなくて,それが結構な頻度で使われておりあまり落としたくないという状況下の移行は大変そう…というお気持ちに. いかにうまく移行するかがエンジニアが頑張るポイントで,更にコスト計算等も考えられるようになりたいねと思った.
入門サービスメッシュ
マイクロサービスやその周辺の技術に疎い自分ですら最近良く見かけるサービスメッシュというワード.サービスメッシュのサの字もわからないので,これを機に 入門しようということで聴講.小さなアプリケーション同士が連携し合うことでサービスを提供するマイクロサービスアーキテクチャを採用した際に生まれる
- Service Discovery
- Fault Isolation
- Observability
- Authentication
- Access Control
あたりの処理をいい感じにやってくれるソフトウェアぐらいは掴むことができた.そしてそれを実現するために,EnvoyであったりIstioが存在しておりどのように使用 されているのかも雰囲気を感じることができた.しかし,周辺知識が不足しすぎていたので,途中からだんだんわからなくなって来ており勉強不足を痛感した.
そもそもサービスメッシュの話をする前に,マイクロサービスだと何が辛いねんみたいなところがしっかりわかっていなかったところがある.でも今回自分で調べて 見たりして少しずつつかめてきたのでよしとしたい.
まとめ
テックカンファレンスはなにか特定の言語やフレームワークに限定されたものは多く開催されているが、Buildersconでは普段自分が聞かないような分野やコミュニティの 人の発表を聞くことができて、非常に充実した二日間であった。
特にDQNEOさんのセッションが印象に残っていて、あそこまで会場に一体感のある発表というのは初めてだった。すごいスピードでコンパイラが出来上がっていく過程というものを 体験することができたし、機能が追加されていく面白さみたいなものを感じることができた。
楽しかったと同時に、自分が何も知らないということを痛感した。「知らなかった、を聞く」なのである意味狙い通りとも言えるが、この先エンジニアとしてやっていく と考えると、もう少し色々考えて動かなければならないなとも感じた。でも楽しいと思えたからいいでしょう。来年から社会人、がんばっていきたいですね。
なお,本イベントに参加するにあたって,Classi株式会社のスカラシップに採用していただき,移動費と宿泊費を負担していただいた.
classi-scholarship.connpass.com
Classiは、教育におけるICT活用の重要性と今後の一層の高まりを見据え、 ベネッセとソフトバンクの強みを生かして、学校教育、家庭学習の両方の領域で、 最新のテクノロジーも活用しながら、未来を生きる子供たちに よりよい学びを提供できるよう新たな教材・サービスの開発に取り組んでまいります。
(https://classi.jp/corporate/より引用)
とあるように,新しい教育の姿をテクノロジーとの掛け算で追求している.教育系×テクノロジーという組み合わせにピンときたかたは, 直接アポイントをとってみたり逆求人等を利用することでより詳しい話が聞けるだろう.今後も学生向けのスカラシップは実施していくとの ことだったので,要チェック.
スカラシップ制度,地方に住んでいて金銭的にも都心に出るのが辛い学生にとっては本当にありがたい制度である.buildersconは去年から行きたいと思っていた イベントだったので,今回その夢を実現させることができてよかった.重ねてお礼申し上げます.