TGWSWebAdmin
TGWSAdminは平均して2分に1回動いているので、今のWebサーバー上で動かすようにするのはやっぱり非現実的かなーと思います。
ということで、結局VPSでTGWSWebAdminを心置きなく常時運転するのがいいのかなーというところに舞い戻ってきました。
とりあえず、テスト用タスクだけですが、生成できるようになりました。
TGWSAdminは平均して2分に1回動いているので、今のWebサーバー上で動かすようにするのはやっぱり非現実的かなーと思います。
ということで、結局VPSでTGWSWebAdminを心置きなく常時運転するのがいいのかなーというところに舞い戻ってきました。
とりあえず、テスト用タスクだけですが、生成できるようになりました。
別にTGWSWebAdmin用のサーバーを別途立てなくてもよくね?という気がしてきました。
現状でも、TGWSAdminの機能の一部はWeb側に丸投げしている部分があります。だったらスケジューリングも含めて全部丸投げでいいんじゃないかなって。
その場合、自動的にスケジュール通りに動かす仕組みが必要になりますが…。
テンの日。
まあ、テンの日に関しては、毎度おなじみのチケットとカードを回収しただけですが。恐怖の記憶とか何とかもあったようなのですが、いつもとやること変わらないし、特別報酬も別に今の自分には要らないし、そっちは放置しました。
で、今までやってなくて参加権のたまりまくっていたモンスターバトルロードをやりまくっていたのでした。
タスクリストの読み込みまで開発。
と言っても、読み込むデータがないのでまだ張りぼて。インターフェースをどうしようかと思案しながらなので、具体的な動作はまともにできていないのです。
そんなことより、TGWSWebAdminを開発しながらVisual Studio Codeの環境整備。
PHP-CS-Fixerの公式サイトを見ながらコード整形のルールを自分好みに整備しています。おおむねいたれりつくせりなSymforyのルールで、お節介すぎると感じたところは順次Offにしています。
PHP DocBlockerも入れて、ドキュメントコメントも入れやすくしました。
そして何より、PHP IntelliSenseを入れたので、関数の定義を参照できたり、コードの自動補完が利いたり、圧倒的に便利になったのです。
有料ソフトのPhpStormにはきっと遠く及ばないのでしょうが、ここまでやっただけでも、かなり快適になりました。
やっぱりどう考えても一覧に出てくる情報量が少な過ぎなのです。ほとんどの質問に対する回答は短く簡潔なのに、それすら削っているから、すごく読みにくいのです。
情報量を削っているのは、「読みに行く」というアクションを取らせて、回答を読んだ時の印象を強めようというのと、アクセス数の統計を取りたいという狙いがあったからなのですが、一言二言の回答まで削ってしまうのは、さすがにやり過ぎというものなのです。
ミフミンもモンスターバトルロードランクAに到達。
しろいコキンのときもそうでしたが、自分の操作キャラの強みを理解し、意識的に活かしていくようにするとぐっと楽になりますね。何も考えずぶん殴りまくるだけだと苦戦します。
いつの間にかPHPバージョン7.1が出ていましたね。
PHP7以上じゃないと動かないWebアプリやライブラリも増えてくると思うので、ちょっと自分の環境にインストールして試してみようと思います。
もっとも根幹をなすTaskの部分を作成中。
まだ何も動かない状態で、パッケージ管理ツールのComposerにも慣れながらの作業なので具体的な実装はほとんど進んでいませんが、とりあえずHelloWorld的なものを表示するだけの仮タスクだけは作りました。
しろいコキンのモンスターバトルロード進めました。
ランクCだったのを一気にAまで上げました!メインキャラのはずのミフミン(ランクB)を一日で軽く超えました!
絆のエンブレム2種と、虹パックをありったけ交換しました。
TGWSAdmin、今はWindows10の個人PCを使って運用しています。
しかし、アップデートで勝手に再起動したり、そうでなくてもうっかり何かやらかして落ちたりということがたびたびあったわけです。で、遠隔地の安定したデータセンターに安価でサーバー機を仮想的に作れるVPSというものに興味を持っているという話を先月しました。
あのときは、Linuxに不慣れなまま時間が過ぎていって、いったんVPSを解約することになりましたが、そろそろまた具体的な行動を始めようかなと。
いきなりVPSを再契約するわけではありません。
プログラム自体は動く段階まで手元で持っていって、充分動くことが確認できたら、そのとき初めてVPSを契約し、プログラムを稼働させるのです。
VPSはLinuxで運用するつもりなので、まず、WindowsでもLinuxでも動くものを作らなければいけません。
当初、TGWSAdminが.NETでできていたので、Linuxでも動く.NET、.NET Coreを検討していました。実際、.NET Coreを両方の環境で動かす段階まではこぎつけました。
しかし、さらに検討を進めていくと、それは必ずしも得策ではありませんでした。
いくつか理由はあったのですが、大きかったのは2つ。
1つ目、同じ言語を使えるだけで、結局大改修が必要になってしまうということ。元のプログラムがWindowsフォームアプリケーションなので、ライブラリも動き方も、環境自体が大きく変化してしまうんですね。そうなれば、当然、プログラムも大きな変化が必要になるのです。
2つ目、ホットスワップ的なことをしたいこと。つまり、プログラムが動き続けている間に、プログラムの一部を差し替えてしまえるようにするのです。.NETアプリケーションは、基本的に、いったんシステムを全部止めてから、完成したものに全部差し替えるという作業が必要になります。タスクAが動いている間にタスクBを最新版に更新なんてことは、無理ではないにしても大変なのです。
そこで、目を付けたのが、PHPです。
元々サーバー上で動かすことを前提としていて、WindowsでもLinuxでも同じように動かすことができて、私自身、.NETに負けないぐらい使い慣れています。主にWebサーバーで動かすものなので、ユーザーインターフェースもWebアプリとして作れば済みます。
プログラムは大改修どころかフルスクラッチになってしまいますが、これを機に元のプログラムで良くないと思っていた設計も見直すつもりです。動作中のプログラムの一部差し換えは、PHPファイルをただ上書きするだけで済みますね。
と、いうことで、VPS版のTGWSAdminは、PHPで実装されたWebアプリとして提供され、各タスクはPHPファイルを適時呼び出すことで実現される、という形で実現しようと思います。