行先ボードアプリですが大したことをしていません。
ただ、簡単に実装できるのも色んな人が技術をタダで提供してくれているからだと思います。
敬意を払って使わせて頂いた技術についてご紹介します。
大きく3つ有難い技術を使用させて頂いております。
- Destinationboard Server
- Destinationboard
- 共通
では、それぞれ何がうれしいかについてご説明します。
SQLiteの嬉しさ
ライセンス:パブリックドメイン
- 当時に書き込まれた際の整合性を保てる
- ファイルが壊れにくい
- サーバー不要(ファイルで管理できる)
サーバーを立てたくない僕には本当にありがたい存在。
テキストファイルで管理すると誰かが開いてたり書き込めなかったり、
書き込み中にフラッシュして読み込むと書き込み途中のデータが読み込めたりと最悪です。
管理が複雑になりある日あっさり全データが吹っ飛びます。
Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)のACID特性。
ファイルのくせに中々どうして、データベースの嬉しさそのままです。
Entity Frameworkの嬉しさ
ライセンス:Apache 2.0
- クエリを書かなくても良い
- テーブルデータとコード上のクラスの変数のマッピング
- SQLインジェクション対策
クエリはデータベース毎に少しずつ違います。
EntityFrameworkを使うとSQLを書かずに実装できるので、
データベースが違っても処理を共通化することができます。
また、SQLインジェクション対策。バインド機構を使って実装するのが有効ですが案外面倒くさい。
スクラッチで開発した内製システムとかSQLインジェクション対策されてるか見てみると楽しいですよね。
Microsoft.inkの嬉しさ
- InkCanvasを配置するだけで絵がかける
- 手書き文字の認識と認識精度
やはりコントロール一個配置するだけで絵が描けるのはうれしいですね。
手書き文字認識なんて僕の知識では実装できません。
ほんと助かります。
MaterialDesign Themesの嬉しさ
ライセンス:MIT
- センス皆無でもそれなりのデザインにできる
10年以上前に僕も色彩検定の勉強しましたよ。明度・彩度・色相。
まぁ、ムリですね。餅は餅屋です。僕には合いませんでした。
しかし世の中はおしゃれなアプリが溢れかえってます。やっぱり見た目は大事。
でも、デザイナを雇うなんて贅沢は言えない。
そういう時はMaterialDesign Themes。
gRPCの嬉しさ
ライセンス:Apache License 2.0
- 関数形式でAPIにできる
- 通信まわりの処理を勝手にやってくれる
- 通信時のデータの欠損などをうまくやってくれてる?(未確認)
- .protoファイルを書けば必要な処理は自動生成
バイトサイズで区切った電文やカンマで区切った電文。
まぁ、キライじゃないですけどね。ただ、わかりづらいし拡張性が低い。
設計者や開発者の独自ルールがあって、
実はカンマを使ったらうまく動かないんですよ
のような「実は・・・」の暗黙仕様で無為な時間を過ごしてしまいます。
その点、他のプロセスの関数を呼び出せるこの仕組みは助かります。
.Net Remotingでも同じことができますが.Net限定というのが残念です。
他の記事では.protoファイルを書けば必要な処理を自動生成してくれるというところを推してます。
それもうれしいですね。
log4.net
ライセンス:Apache License 2.0
- 設定ファイルを書けば簡単な処理でログ出力ができる
- ログのサイズなどが自由に設定できる
ログ出力は案外あなどれません。
ログ出力機能で落ちるプログラムを何度も見かけました。
自前で実装するよりできあいのものを検討することをお勧めします。
まとめ
すごいものをタダで提供してくれるちょっとアレな人の存在に感謝!!
おわり
コメントを残す