単体テストの名著「単体テストの考え方/使い方」が発売された

「Unit Testing Principles, Practices, and Patterns」の日本語版が発売されました。

www.amazon.co.jp

日本語での名前は「単体テストの考え方/使い方」だそうです。直球ですね。 自分はManning Publicationsってところでこの本が制作されてる途中から購入して応援してた本なので、 ついに日本語版が発売されたか―としみじみしています。

あまり知名度の高い本ではなさそうだけど、テストコードの書き方についてめちゃくちゃ勉強になった本。 個人的名著です。超おすすめ。

Blazorで体温管理アプリを作った

作ったものはこちら。その名も「アマビエのかんたん体温管理」 https://amabie.z11.web.core.windows.net

単純に今の体温を記録するアプリです。メモもできます。
データはブラウザのIndexedDBに保存しています。

これはBlazor Web Assemblyで作成し、Azure Storageにホストしています。
BlazorはJavaScriptの代わりにC#を使ってSPAが作れちゃうやべーやつです。
Azure Storageは、Azureのクラウドストレージサービスです。静的サイトを公開する機能があるので、それでホストしています。

ソース管理やCI/CDはAzure DevOpsを使っています。そのうちオープンソースにしたいです。

こちらPWAにもしているので、インストールすればオフラインで使えます。
Chromeでしか動作確認してないのであしからず。

とりあえずリリースしましたが、これからもアップデートして行こうと思っています。
ご意見、ご感想お待ちしております。

目下の悩みは

  • アプリをアップデートした際、簡単にキャッシュをクリアして更新させるにはどうしたらいいのかよくわかっていない。
  • IndexedDBで日付を絞り込んだり取得する件数を制限したりする方法がわからなくて、常に全件取得している。やばい。

Blazor-workshopをやってみた

ブラウザでC#が動くというWebAssemblyのアレですが、こんなのがあったのでやってみた。

github.com

ピザの注文システムを題材としたハンズオン的なやつ。おもしろい。 Blazorというと、まだまだ実験段階の、海のものとも山のものともつかないようなやつでしょ?と思ってたけど、 普通にアプリ作れちゃうじゃん!と思える、今後の正式リリースが非常に楽しみになるものだった。

Vue.jsなんかのいわゆるSPAフレームワークと同じような感覚で使えて、それがC#で書けるというのが良い。 でも今現在TypeScriptなんかでバリバリSPAやってるような人たちからしたら、フーンて感じなのかな?

まあ仕事で使うなんてことは永遠に当分ないだろうけど、ちょっと今後も触ってみようと思う。

ANYCUBICの4MAX PROという3Dプリンター買ったけどうまくいかない

前々から欲しかった3Dプリンターを買った。 ANYCUBICの4MAX PRO

f:id:D_first:20190504150849j:plain
ANYCUBIC 4MAX PRO

しかし最初のテストプリントすらうまくいかない。 溶けたフィラメントがヒートベッドに定着してくれず、ヘッドの動きに合わせてズレてしまうのだ。

色々調べて試した。

  • ヒートベッドが清潔じゃないとうまくいかないと聞いたので除菌シートで拭いて綺麗にしてみた。
  • レベリングをキチンとしないとうまくいかないと聞いたので何度もやり直した。
  • スティックのりを塗ると定着しやすくなると聞いたので塗ってみた。
  • マスキングテープを貼ると定着しやすくなると聞いたので貼ってみた。
  • プラットフォームシートというのを貼ると定着しやすくなると聞いたので貼ってみた。

が、全部ダメ。

説明書に書いてある手順通りに行う単なるテスト印刷なのにここまでうまくいかないとは・・・。 自分のやり方がダメなのか不良品を掴まされたのかの判断もできない。

ANYCUBIC 4MAX PRO、子供でも簡単に扱える!みたいな雰囲気だったから買ったものの、実際は超難しいシロモノであった。 だれか助けて・・・・・・。

DDDを学ぶならPluralsight

文章力がないので、どうお勧めしていいかわからないけどとにかく一度観てほしい。

app.pluralsight.com

app.pluralsight.com

まあこういうのでコツコツ勉強しても、実務でDDDやるなんてことはないし、 テストコードなんてのも実務じゃ見たことないし、Gitもないし、CIなんて夢のまた夢、JiraだとかのITS/BTSみたいなのも無し。 そして年収は300万なわけです。

世知辛い。

INPCとはINotifyPropertyChangedの略称である

表題の通り。

.Net技術者の間では常識っぽい? これをドメインオブジェクトに対して実装するべきか否かというところで論争が起きてたりするらしい。

このインターフェースを実装することでドメインモデルが汚染されると捉えるのかどうかというところか。難しい・・・。