IoT+WEBのためのホームサーバ計画のコラム。こんなおもちゃでも、意外と難しい(o^^o)
今日は、、コラムですー。(o^^o)
そう、何が難しいって、立体的に、さらにN次元的に頭を働かせるのが難しいのです。
あーー、N次元とかかくと、また、
理工系はこれだからキライ!
とか言われそうですけどねー。
要するに、マルチスレッド、マルチプロセスとかやりだして、
さらにネットワーク的な要素が入ってくると、
エラーとか例外とか頻発するわけで、
それをあれこれ頭の中でイメージしながら、
シナプス的な、、、あ、これは言い過ぎだな。
1つのものをシーケンシャルに考えると、
そして、ネットワークとか絡まなければ、
内容は難しくても、一直線なので、頭は理解しやすくて。
世の中にあふれるサンプルプログラムって、
単機能の説明の場合が多いし、まず、そんな感じなんだけど、
それを組み合わせるってことになると、別の難しさがでてきて、
そうすると、根本的に理解がないと、デバッグできなくて。
そもそも、マルチスレッドものは、デバッグがしにくいし。
それを効率よくデバッグするには、
機能を分解して、シングルスレッド的に動かしたりとか、
本来は別PCで動作させるものをひとつのPCで動かしたりとか、
そんな感じで作っていくことが、、
たのしい
って思えないと、やってけない気もするよなぁー。
ってことで、今回は例えば、、
スマフォ➡ WebServer/WebSocket➡HomeServer➡IoTClient
なんてつながるものだし、1対多、 多 対1とか、マルチスレッド続発だし、
うぅーーん。
簡単にノウハウを説明するって難しいなぁー。
上のアイキャッチ画像は、
WebSocketServer,HomeServer,IoTControllerを3つ並べてLOCALでテストしてる
画面なんだけれどもー、、
それぞれ、3つ4つのスレッドが動くわけなので、、
『このタイミングでこれきちゃったらどーする!?』
的なことがとても重要で。
さらに、ネットワークだから、
『ここで勝手にケーブル抜かれたら?』
とか。そーゆーとこを自然に考えれないと無理だよなぁーーなんて、
初心者さんがガックリきそうなコメントだなー。これ、
うぅーーん。
慣れてるから何も考えてなかったけど、
意外に難しいわ。コレ。
いや、、本人は楽しくてしょうがないんですけどね。(o^^o)