行先ボードでも作ってみるか⑬ – 内部設計(クラス図-行先ボードGUIアプリ)(手戻り)

クラス図もmenDocを作成したので書き直します。

gRCPを使ってみた感じからすると、
gRPCを使用する部分はプロジェクトファイルを分けた方がよさそうです。
元々GUIアプリ(クライアント側)→GUIアプリ(サーバー側)→データベース
というような構成で考えていましたがちょっと方針転換します。

GUIアプリ(クライアント側) → 共通ライブラリ(gRPC) → コンソールアプリ(サーバー側)→データベース
こんな感じで行こうかと思います。

名前を付けておきます。

  • 行先ボード(ユーザー操作用):Destinationboard
  • 行先ボードサーバー(データベース操作用):DestinationboardServer
  • 行先ボード通信ライブラリ(gRPC用):DestinationboardCommunicationLibrary

menDocを使用して設計していきます。

行先ボードでも作ってみるか⑨ – 内部設計(gRPC調査)

プロセス間通信。あまり良い思い出がありません。

  • ファイルによるリアルタイム共有
  • 共有メモリ
  • メモリマップトファイル
  • セマフォ

ネットワーク越しのプロセス間通信もなかなかです。

  • .NETリモーティング
  • WCF

2016年にGoogleがリリースしたgRPC。
ちょっと使ってみたかったので今回この技術を採用しようと思います。
調査結果というほどでもないですが、おおまかな手順とちょっと使ってみた感想について述べます。

行先ボードでも作ってみるか⑦ – 内部設計(クラス図)

今回はクラス図を書いてみます。
Visual Studio Codeの拡張機能「Markdown Preview Mermaid Support」を使用しています。

いきなりコーディングに入る人もいますが、クラスが増えていくと迷子になります。
つまりは今回の僕です。

クラス設計を端折ろうとして迷子になりました。
己を律せない・・・。

今回はクラス図を書いていきます。

DXの設計書㉓ – 既存システムの機能拡張

既存システムを機能拡張する場合、
他の機能への影響を考える必要があります。
一般に「ちょこっと機能を足すだけ」と思われがちですが、
既に存在する処理に新たに処理を加えていくのは中々骨が折れます。
今回は既存システムの機能拡張についてご説明します。

DXの設計書㉒ – 開発者のユートピア新規開発

新規開発はしんどさもありますが楽しいものです。
規模にもよりますが、昨今の請負開発の状況 - ソフトウェア開発分析データ集2020の"SLOC(コード行数) - 開発規模"の内容から推測するに、10000行以下のシステム開発が中心でしょう。クラスの数で言えば30以下。
偏りはわかりませんが、10000行以下のものも正規分布するなら10~20クラスくらいが中心ですかね。

これくらいの規模でしかも新規開発。
時間に余裕があれば非常に楽しいものです。
この楽しさはおそらく脳内の分泌物によるものでしょう。
知らんけど。

そうだ プログラマー、増やそう – あなたがプログラマーを始める理由

最初に申し上げますが日本では「モノをつくる人」の地位は低いです。
工場の職人もそうですが、ソフトウェアをつくるプログラマーも同じです。
押し並べて、使われる側の立場です。

誰でもつくれるものをつくるというのは、特に駄目ですね。
いくら早くても、美しくても、品質が高くても関係ありません。
最終的には値段勝負になり、自分の技術力と時間を安売りすることになります。
まして、サラリーマンプログラマーなんて掃いて捨てるほどいる時代です。
技術力では上には上がいるし、価格やコンテンツ勝負では外国人たちに太刀打ちできません。

それでも僕はプログラマーをお勧めします。
理由は「つくれる」からです。