駆け出しエンジニア感
Node.js、そしてDiscord.jsのライブラリを使っててきとうに作った身内限定テキスト読み上げdiscordbotをとりま複数のサーバーで使えるパブリックなものにしようとトライして割とつまづきました。なんとかあてはついたけどやっぱりスケールすると怖い。
Node.jsのシングルプロセスで複数リクエストを扱う書き方ってコード書く時の頭の使い方の実感レベルからパラダイムが違う。JavaとPHP、ASP.NETとRubyとかより深い深淵を感じます。
過去にLambdaとかpupeteerのクローラーとかで書いたときはaync awaitベースでNode.jsの動きを意識しないように書いて、Node.jsのエンジニアに苦笑いされちゃったものなので、今回はきちんとシングルスレッドのイベントループで、負荷に対して意識してマルチプロセスにスケールするようなNode.jsの正攻法で書こうと。
負荷がくるほどアクセスこねえよ、って悲しい現実はあるので負荷テストどまりでしょうが、閾値を試すの楽しいっすよね。
ほかにもNode.jsで作りたいものもあるんで勉強すっかと。
おべんきょ
これ↓が教科書的。でも読んでるだけだとピンとこない、実際に書いてあるコード書かないとつれえ。
↓これなんかすっごい読みやすくてわかりやすくて良いです。↑とかぶってはいるのですが、アフォでもすっと頭に入ってくる文章と図。
Node.jsのゴイスーなエンジニア。実際現場で ↓の図くらい暗記しとけってNode.jsかけるエンジニアに言われました。
ところで、正しい正しくない、とかじゃなく、なんとなくの業界デファクトスタンダードな空気知りたいな、って思ってネットサーフィンして出会ったよさげな記事。言語のアップデート頻度を考えると一年半前はちょっと昔かもね。
上記のヤフーのエンジニアの方が書かれていたNode.jsの勉強の正攻法とのことが↓のドキュメントを読むこと。コアモジュールのドキュメントくらい読んどけと。
ここまで調べて、↑の著書のヤフーのエンジニアさんも言ってたけど、Node.jsは低レイヤーの習熟に長けてて、ネットにおける「C言語でハードウェア制御を習熟する」に近いものがあるのかなとか思った。