別にしんどくないブログ

技術のことや読書メモを書いています

関西Node学園 7時限目を開催しました #kng7

nodejs.connpass.com

LINE KYOTO様の会場をお借りして開催しました。
京都で開催するのは1年ぶりで前回もLINE KYOTO様で開催させていただきました。ありがとうございます。

当日の様子

togetter.com

登壇内容

気軽な Node.js バックエンド開発には TypeORM がちょうどいい by potato4d

speakerdeck.com

TypeORMはNode.js + TypeScriptで使えるORマッパーのライブラリです。

github.com

Node.jsでは他にSequelizeやBookshelf.jsなどがあります。
TypeORMはTypeScriptで開発されているのでTypeScriptで使うときにも型がきちんとあたるところや自動マイグレーション機能、ActiveRecord/Repositoryパターン両対応といったメリットがある話をしていただきました。
日本語情報が多いSequelizeを選択しがちだったのですが、話を聞いてTypeORM便利そうだなと感じました。最近はNode.jsもTypeScriptを使うケースが増えていると思うので、型がはまってくれるのは嬉しいです。

ReactDOMでDOM以外を操る by mochiya98

docs.google.com

canvasを例にReactDOMでDOM以外を操る話をしていただきました。サンプルコードはこちらにあります。

github.com

発表資料だけでなくサンプルコードを読んだほうが具体的にわかるかと思います。npx parcel serve src/index.htmlで動かせます。
このリポジトリでコードを追うことでReact HooksやContext APIの勉強にもなるかと思います。
Reactでcanvasを使ったことがなかったので勉強になりました。

しくじり先生 〜俺みたいになるな!〜 メモリリーク編 by plum_shiga

speakerdeck.com

メモリリークの基本とV8(ChromeやNode.jsのJavaScriptエンジン)でのメモリリーク発生時の原因特定方法について話していただきました。
発表でも紹介されていました--expose-gc--trace-gc-verbose以外にもガーベッジコレクションに関するオプションあるのでターミナルで以下のNode.jsのコマンドを実行して確認してみてください。

node --v8-options | grep gc

発表中に便利なツールとして紹介されていたnode-heapdumpはこちらです。

www.npmjs.com

Node.jsでのメモリリークについては古川さん(@yosuke_furukawa)も過去に記事を書いています。 こちらも大変参考になります。

yosuke-furukawa.hatenablog.com

知ってました? Firebase Cloud Functionsで TypeScriptが使えるよ! by Daikids2

https://speakerdeck.com/daikids2/zhi-tutemasita-firebase-cloud-functionsde-typescriptgashi-eruyospeakerdeck.com

Firebase Cloud FunctionsでTypeScriptを使うことができる紹介をしていただきました。
公式にもJavaScriptまたはTypeScriptで記述することができると書いています。

firebase.google.com

また、TypeScriptでCloud Functionsを使い方については公式ページも存在するので参考にしてみてください。

firebase.google.com

最後のページにもありましたTSLintへの言及については以下TypeScriptのissueにありますようにTSLintはアーキテクチャに問題がありパフォーマンスに影響があるとされています。

github.com

そのため、TypeScriptはESLintを使っていくことを発表しています。ESLintチームがTypeScriptチームが協力してtypescript-eslintを開発しています。

github.com

Firebase Cloud Functions自体を久しく使っていないためTypeScriptが使える話は僕は知りませんでした。firebase-toolsから簡単に使えるようになっているのは大変便利そうで勉強になりました。

懇親会

LINE株式会社様から懇親会スポンサーをしていただけることになっていたので、久々に懇親会を行いました。

スポンサー紹介

今回は@tech_manyさんを始めとしたLINE株式会社様に全面協力していただきました。LINE様ありがとうございました。

関西Node学園ではスポンサーしていただける方、会場提供していただける方を募集しています。次回は未定ですが、Node.js v12がLTSになりv13がリリースされる予定の10月末前後に開催できればいいなと考えています。

最後までお読みいただきありがとうございました。質問や不備については@shisama_までお願いします。
関西Node学園への要望なども気軽にしていただけると幸いです。