うう、いつのまに結構変わってますな。自分のアプリもloggerを使っていたのですが、モジュールmorganに分割されたので、使うにはpackage.jsonにmorganを追加と、コードにrequire('morgan')
してごにょごにょ...。
こちらご覧くださいませ。わかりやすく書いてあります。
ExpressJS 4.0: New Features and Upgrading from 3.0 ― Scotch
まあ、モジュール化して切り出して、それらを使うときのコードもきれいに書ける方向のようです。
でも自分では、staticなhtml/jsをHTTPサーバとしてホストするのにしかExpressJS使ってないのですが。
書籍「コードコンプリート 第2版」がKindle本になってたので大人買いした
書籍「コードコンプリート 第2版」(上)(下)がKindle本になってた。しかもちゃんとリフローできるぞ。小さいKindle Paperwhiteでも読みやすい。
つい大人買いした。
2005年(初版は1994年!!)の本など、ソフトウエアの世界では古典すぎといえるわけだが、この本には、今でも色あせてない内容がある。
が、10年も前に紙の本を買って既に持っているのに、もう一度Kindleで全部読み直すことは無い気がしてならない。
Kindleのこやしになるだろう。うん、これぞ大人買いだ。
Code Complete 第2版 上 完全なプログラミングを目指して
Code Complete 第2版 下 完全なプログラミングを目指して
すっかり存在を忘れていたこと CancellationToken.Register(Action)
TaskをキャンセルするのにつかうCancellationTokenですが、キャンセルされたとき呼ばれるdelegateを登録しておくことができるんですよね。そういえば.NETにTaskが追加された頃になんかで見たことあったかもしれないけど忘れていました。
var cts = new CancellationTokenSource(); var token = cts.Token; token.Register(() => Console.WriteLine("キャンセルされたよ")); cts.Cancel();
んで、CancellationToken.Register(Action)は戻りCancellationTokenRegistrationってのがある。なんじゃこれ。 どうやらRegister()したのをUnregister的なことしたいといきCancellationTokenRegistration.Dispose()すればよいらしい。ほう。
使うときは読み直そう。マネージ スレッドのキャンセル