FPEプログラムの試験稼働版を動作させてみました。
●概要
SEIKO SPORTS LINKの競技結果のページのURLをSLACKのチャンネルに投稿して
約2分後に計算結果のSLACKの返信でかえってきます。
動画をご覧ください。
●システムのポイント
①特定用途WEBサービス
Pythonをサーバーベースでなく、タブレットPCで動作させて計算してます。持ち運び性と省電力性でスキー活動に使えるようにしました。一般のWEBサーバーほど、アクセス数が多くなくて、特定なユーザーに限定されるアプリケーションなので、SLACKのチャンネルで賄える人数である点とサーバー上でPythonを走らせる手間とリスクをとらない方針で決めました。
②PC
タブレットPCは、昔のFMV QTAシリーズでCore i5 3427U 4GBを使ってます。
Python走らせてます。デスクトップの半分程度の速度ですが、それでも1-2分で、計算結果でるので試験稼働にはちょうどいいかと思います。
③WEBツール
slack apiで、botアプリをプログラムで操作してます。単純で、チャンネル内の投稿記事を収集するListenと
投稿するWebhookだけ使ってます。
計算結果は、pandas DFにしてあるので、HTMLテーブルに変換して、HTMLファイルをFTPでアップロードします。
サーバーにプログラムなど大事なもをアップしてないので、万一サーバーがダウンしても影響がないです。
slackにWEBサービス機能を任せてあるのが特徴です。1チャンネルで千人くらい面倒が見られるそうなので、
スキーレースの関係者が一挙に投稿しても十分処理できます。
④配布するものがない
pythonをパッケージにして配布したりしてないので、バグ対策が容易で、完成度が低くても何とか使えます。
⑤自分のサーバーを使わないので、リスクがない
2018年に信州MAKERSのブログをお名前ドットコムのサーバーで使っていたら、なんとFTPサーバーから
侵入されて破壊されました。お名前ドットコムは、セキュリティが全然だめで、FTPサーバーのパスワードが大量に盗まれて、多くのWEBサーバーが破壊されました。それに懲りて、サクラインターネットに引っ越しました。
●発展性
slackを活用して、リアルタイム処理を自宅PCにやらせて結果をスキー場で受け取るようなことが
容易にできます。STA計測データをスキー場でFTPサーバーにアップしたら、slackで自宅PCに知らせて、計算をさせて、結果をFTPサーバーから受け取ります。
リモートデスクトップなど、WEB経由で自宅PCへ接続するのはリスクがあるし重い
そういう手間とリスクなしで、重いデータと重い計算を自宅PCで処理できるので便利です。
プログラムもスキー場で使うのは、簡単なデータ転送プログラムだけなので開発手間軽減できます。
自宅PCではpythonで処理できるんで、C#で不得意なデータ処理をやらせないで済むので
開発全体の合理化が進みます。
●今回のコード
タブレットで走らすために、遅いDISPLAY表示を極力減らして速度向上させました。