2018年3月18日日曜日

GPLのソフトウェアをサーバサイドで使う場合の著作権表示について

GPLのライブラリをサーバサイドで使う場合、ソースコード公開義務はないという解釈が一般的です。

ただ、著作権表示に関してはどうなのよ、というのは今まであまり深く考えたことはありませんでしたので条文を読んで解釈してみます。

なお、本記事ではGPL自体の是非や「抜け道」を使うことの是非については論じません。また、GPLのバージョンは本質的な問題ではありませんが、一応解釈する文書はGPLv3です。
多分他のオープンソースライセンス(AGPL以外)でも同様だと思います。

そして、この解釈が正しいことを保証しません。この解釈が間違っていたとしても一切責任を負いませんのでご了承ください。
(むしろ間違っていたら教えてください)

ちょい長いので、結論だけ知りたい人はシュパッとスクロールして「結論」を見てください。

2018年3月11日日曜日

JavaScriptに値の弱参照マップがほしい

言いたいことは全てタイトルに書いてしまいましたが、一応説明しておきましょうか。

2018年3月4日日曜日

LINEbot 活用事例

先日、LINEbotを作ってきました
難しいかなと思ったら意外とサックリ作れたので、この調子で他にも何か作ってみようと思ってネタを探していました。

2018年2月25日日曜日

2018年2月18日日曜日

【Node.js】Node学園 29時限目に登壇してくるけど質問ある?

今週の木曜に開催されるNode学園 29時限目
イベントが発表されたときから参加しようと思っていたのですが、先週ふと思い立ちました。

どうせなら登壇してやれ。

さっそく主催の2人に「LT枠空いてる?」と連絡を取ったところ、「15分枠ならね!」とお返事が。

( ゚д゚)?

節子、それLT枠やない。一般枠や。

いやいやそれでもせっかくのチャンス。なんとかして15分しゃべります。おたのしみに。

2018年2月11日日曜日

【Node.js】リソースマネージャーといふもの

これまで、Node.jsでリクエストが切断されたときの処理レスポンス完了後の処理について説明してきました。

そこから導き出されたのは、PerlとかPHPと違って、リソースは勝手に解放されないからちゃんと解放しろよというもの。
正確には言語の違いというよりアーキテクチャの違いですけどね。

そして前回、Node.jsのリクエスト内でリソースを保持する方法と解放の仕方を説明しました。

今回はこれまでのまとめとして、前回の最後に書いた「リクエストが飛ぶと問答無用でリソースを確保するんじゃなくて、必要なときにだけ確保するには?」の実装例(間違いと正しい作法)を解説します。

2018年2月4日日曜日

【Node.js】おまいらちゃんとリソース解放してますか

先月の記事で、クライアントからの接続が途中で切れてもレスポンスを返し終わっても、処理自体はまだ続くことがわかりました。つまり、こんな注意が必要。
  • (意図しない)無限ループのようにCPUを専有する処理があった場合、クライアントからの接続を切っても専有が解除されるわけではない。つまりそういう処理を作り込んでしまったらどうしようもない
  • DBの接続やファイルハンドルのようなリソースは、処理完了時にきちんと解放する必要がある
前者も設計やコードの時点で気をつけてもらわないとダメですが、問題なのが後者。

従来のスクリプト系言語では、リソースはリクエストの処理が終わったら勝手に解放されるから特に何もしなくてよかったりします。
その感覚でNode.jsを触ると、知らないうちにDBの接続数が異常に増えていたりします

さて、どう対処しましょうか。