7/27に渋谷で開催されたWEBエンジニア勉強会 #08で、LT(5分)登壇をしてきました。6/26の「カイゼン・ジャーニー・ライトニングトークス」に続いて2回目のLT登壇でした。
web-engineer-meetup.connpass.com
WEBエンジニア勉強会について
WEBエンジニア勉強会は、OSCA(@engineer_osca)さんが主催している勉強会で、「初心者でも参加できる勉強会」というコンセプトで運営されています。今回で8回目となる勉強会ですが、僕は前回(#07)に聴く側で参加したのが初参加でした。
OSCAさんとは、前回のときの懇親会の他に、別のイベントでもお話をする機会があり、登壇ウェルカムと言っていただいていました。また、アウトプットメンターのカカカカック(@kakakakakku)さんからも、「WEBエンジニア勉強会参加したんですね、次回は発表しませんか?」と義務付けられ提案されていたので、今回の登壇につながりました。
ブログで有名な人に登壇を義務付けられているw #WEBエンジニア勉強会08
— Yoichiro Shimizu (@budougumi0617) 2018年7月27日
LTについて
スライド資料
テーマ
テーマは悩んだものの、AWS Lambdaを通じて少しずつ触るようになっているNode.jsについて話すことにしました。具体的な題材としてhttpモジュールを選ぶことで、「WEBエンジニア」勉強会という場にもふさわしいものにできるとも考えました。
内容としては、Node.jsのhttpモジュールの基本的なコードを読み解いていき、Node.jsの特徴を垣間見ることができれば、と考えました。httpsモジュールのサンプルコードをPromiseで書き換えるという前々回の記事の内容を掘り下げて、Node.jsの仕組みを理解し、それを共有することを目標としていました。
準備をする際に参考にした資料
準備としては、基本的にはNode.jsのAPIリファレンスを読んでいました。このリファレンスはあくまでAPIリファレンスなので、内部の実装がどうなっているかはわかりにくかったため、補う意味でGitHub上のソースコードも読むようにしていました。
また、ネット上の記事も多く参照しました。調査が難航したこともあり、非常にたくさんの記事を読んだので、全てを挙げることはできませんが、一部を下記に示しておきます。
- Node.jsでもう一段深い理解をするために参考にしたサイトまとめ - BppLOG
- node.js とは何か - I am Bad at Math
- Node js 入門
- Node.jsを学ぶ中で必ず押さえておきたいこと
- node.jsを支えるlibuvのチュートリアル"uvbook" :イントロダクション - 自由課題
書籍としては、下記のものを参照しました。古い本ですが、Node.jsの仕組みやコアモジュールについて記述が充実していたので非常に勉強になりました。
サーバサイドJavaScript Node.js入門 (アスキー書籍)
- 作者: 清水俊博,大津繁樹,小林秀和,佐々木庸平,篠崎祐輔,高木敦也,西山雄也,Jxck
- 出版社/メーカー: 角川アスキー総合研究所
- 発売日: 2014/02/27
- メディア: Kindle版
- この商品を含むブログを見る
課題と反省点
内容について(技術ネタとして)
調査をしている中で、libuvというどうやらNode.jsにとって極めて重要らしい存在にまで辿り着きました。イベントループがNode.jsの基礎にあるのですが、これを担っているのがlibuvというC言語のライブラリというわけです。となると、これを理解することはNode.jsについてより深く理解することにつながるはずだったのですが、一筋縄ではいかず、満足に調査することができませんでした。
また、httpモジュールの理解という側面ではTCP、ソケットについても多少なりとも理解できればよかったのですが、これもまともに取り組むことができませんでした。ネットワークについては基礎的な部分もきちんと理解しておきたいと思いながらも、後回しにしてしまっています。さっさと『マスタリングTCP/IP』を読まねば……
- 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー: オーム社
- 発売日: 2012/02/25
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 34回
- この商品を含むブログ (37件) を見る
形式について(アウトプットとして)
学生症候群の一言に尽きます。
今回、登壇する日程は1ヶ月前から決まっていました。準備に費やす時間はたくさんあったにも拘わらず、(技術面でのつまずきもあったものの)集中することができずに時間が経ってしまい、当日まで直し続けることになりました。
特に、発表としての準備に時間を割くことができなかったのは反省です。構成ももう少し練ることができたと思いますし、5分間という時間の制約への対応も不十分で、スーパー早口&時間オーバーとなってしまいました。
総括
正直に言って、今回のLTは、僕にとってはかなり苦い経験になりました。技術知識の伝達としても、発表としてもクオリティが低かったことを認めざるを得ません。聴き手のみなさんには申し訳ない気持ちでいっぱいです。
とはいえ、これで懲りてやめてしまっては、それこそ申し訳が立たないので、また機会を見つけて発表をしたいです。次回は、内容の固定を早期に仕上げることを意識しようと思います。
最後に
僕自身もそうですが、知識・経験に自信を持てず、「自分が人前で発表するなんて・・・」と思っている人は少なくないのではないでしょうか。しかし、「そういった人でも気軽に登壇にチャレンジできる会にしたい」というOSCAさんの思いで運営されているのがこの勉強会だと思いますので、興味が少しでもある方は登壇してみてはいかがでしょうか。
そして、最後の最後になりますが、登壇という機会を与えてくださったOSCAさん、運営に携わっていた方々、それにLTを聴いてくださったみなさん、ありがとうございました!
サーバサイドJavaScript Node.js入門 (アスキー書籍)
- 作者: 清水俊博,大津繁樹,小林秀和,佐々木庸平,篠崎祐輔,高木敦也,西山雄也,Jxck
- 出版社/メーカー: 角川アスキー総合研究所
- 発売日: 2014/02/27
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る