先週の予告通り、ぬこの日にNode学園 29時限目に参加してきました。
ちょっと反省会します。
2018年2月25日日曜日
2018年2月18日日曜日
【Node.js】Node学園 29時限目に登壇してくるけど質問ある?
今週の木曜に開催されるNode学園 29時限目。
イベントが発表されたときから参加しようと思っていたのですが、先週ふと思い立ちました。
さっそく主催の2人に「LT枠空いてる?」と連絡を取ったところ、「15分枠ならね!」とお返事が。
節子、それLT枠やない。一般枠や。
いやいやそれでもせっかくのチャンス。なんとかして15分しゃべります。おたのしみに。
イベントが発表されたときから参加しようと思っていたのですが、先週ふと思い立ちました。
どうせなら登壇してやれ。
さっそく主催の2人に「LT枠空いてる?」と連絡を取ったところ、「15分枠ならね!」とお返事が。
( ゚д゚)?
節子、それLT枠やない。一般枠や。
いやいやそれでもせっかくのチャンス。なんとかして15分しゃべります。おたのしみに。
2018年2月11日日曜日
【Node.js】リソースマネージャーといふもの
これまで、Node.jsでリクエストが切断されたときの処理、レスポンス完了後の処理について説明してきました。
そこから導き出されたのは、PerlとかPHPと違って、リソースは勝手に解放されないからちゃんと解放しろよというもの。
正確には言語の違いというよりアーキテクチャの違いですけどね。
そして前回、Node.jsのリクエスト内でリソースを保持する方法と解放の仕方を説明しました。
今回はこれまでのまとめとして、前回の最後に書いた「リクエストが飛ぶと問答無用でリソースを確保するんじゃなくて、必要なときにだけ確保するには?」の実装例(間違いと正しい作法)を解説します。
そこから導き出されたのは、PerlとかPHPと違って、リソースは勝手に解放されないからちゃんと解放しろよというもの。
正確には言語の違いというよりアーキテクチャの違いですけどね。
そして前回、Node.jsのリクエスト内でリソースを保持する方法と解放の仕方を説明しました。
今回はこれまでのまとめとして、前回の最後に書いた「リクエストが飛ぶと問答無用でリソースを確保するんじゃなくて、必要なときにだけ確保するには?」の実装例(間違いと正しい作法)を解説します。
2018年2月4日日曜日
【Node.js】おまいらちゃんとリソース解放してますか
先月の記事で、クライアントからの接続が途中で切れても、レスポンスを返し終わっても、処理自体はまだ続くことがわかりました。つまり、こんな注意が必要。
従来のスクリプト系言語では、リソースはリクエストの処理が終わったら勝手に解放されるから特に何もしなくてよかったりします。
その感覚でNode.jsを触ると、知らないうちにDBの接続数が異常に増えていたりします。
さて、どう対処しましょうか。
- (意図しない)無限ループのようにCPUを専有する処理があった場合、クライアントからの接続を切っても専有が解除されるわけではない。つまりそういう処理を作り込んでしまったらどうしようもない。
- DBの接続やファイルハンドルのようなリソースは、処理完了時にきちんと解放する必要がある。
従来のスクリプト系言語では、リソースはリクエストの処理が終わったら勝手に解放されるから特に何もしなくてよかったりします。
その感覚でNode.jsを触ると、知らないうちにDBの接続数が異常に増えていたりします。
さて、どう対処しましょうか。
登録:
投稿 (Atom)