現地時間(PDT) 8/22 ~ 23、オレゴン州ポートランドで開催されたRustConfに参加してきたので、その模様を書いていこうと思います。
参加のきっかけ
Rustに関わっておられる方々がにどんな人達なのか実際に見てみたいと思い、ちょうどRustConfの開催時期に夏季休暇と有給で1週間休みがとれそうだったので、思い切っていってみることにしました。 一人海外旅行もアメリカも初めてでした。
道のり
成田空港からポートランド国際空港(PDX)まで、デルタ航空の直通便が就航しており、片道10時間程度です。時差はJST - 16時間。 会場はオレゴンコンベンションセンターで、空港からMaxLightRailという電車で20分程度の距離でした。 入国審査で、目的は観光で滞在日数は4日と答えたところ、"Very Short" と言われました。
1日目
RustConfは2日に渡って開催され、1日目は、いくつかのTraining Courseが用意されています。 あらかじめ、参加したいcourseのticketを購入しておく必要があり、今回はAsyncのcourseを選択しました。(これ以外は全て売り切れていました。)
Async Courseの内容は、Futureの概要/Conceptの説明や、async-std
のhandsonで、chatを作ってみるものでした。ちょうど、前日にasync/await
syntaxがmergeされ、rustc 1.39.0-nightly (e44fdf979 2019-08-21)
versionを利用しました。
async-book
にそって進めていったのですが、よくあるsample codeのuseが漏れていて、book通りに進めていくとcompileが通らないことがおきました。するとすかさず(おそらく)参加者の一人の方がPRを送り(それがmergeされ)、「画面をリロードしてくれ、もう直ってるから」といって、sample codeのcompileが通るようになる場面がありました。
Rustの非同期関連については、まったくわかっておらず、今回のcourseの参加をきっかけに
あたりから読んでみようと思っています。
2日目
2日目が本番といったところで、参加者の人数は1日目よりはるかに多かったです。
openingとclosingのkeynote以外は、2つの会場でSessionが行われ、各々好きなほうを聞きに行く形式でした。schedule
自分は以下のsessionに参加しました。sessionの内容はそのうちyoutubeにupされるかと思います。
- CLASS FIXES; OR, YOU BECOME THE RUST COMPILER
- Syscalls for Rustaceans
- IS THIS MAGIC!? FERRIS EXPLORES RUSTC!
- MONOTRON - BUILDING A RETRO COMPUTER IN EMBEDDED RUST
- From Electron, to WASM, to Rust (aaand back to Electron)
- BRINGING RUST HOME TO MEET THE PARENTS
- THE RUST 2018 MODULE SYSTEM
特に印象的(理解できた)だったのは
mongoDBのGUIであるcompassのschema parser部分をperformanceをだすためにjsからrust/wasmを利用する構成に書き換えた話
Facebookで、Rustの導入に取り組まれているC歴30年の方が、Rustは今までで初めて、every roleでCを置き換えられる言語だ的なことをおっしゃっていたこと
感想
実際にOpenSourceなprojectの活動に参加してみて、あらためて、こういった活動にContributeできるようなエンジニアになりたいという思いを持ちました。 (あとは、英語の冗談で笑えるようになりたい)