今日は、先輩から「継承」したシステムにまた問題が発生し、デバッグしながらこのシステムを再評価しました。
このシステムは高度とは無縁で、今日の視点から見るとある意味「低い」とさえ言えます:
- PHP
- Apache2.4
- MySQL5.6
- Openlayers 3
それに対して、このシステムはキャンパスの後方支援の日常的なメンテナンスにおいて非常に安定した役割を果たしており、日常的に後方支援スタッフの保守記録などを記録しています。
このプロジェクトには、後にいくつかの機能追加に参加しました。当時、少し自分でアプリケーションを開発する基礎ができており、新しい技術をおもちゃとして探し回ることに熱心でしたので、PHP に対して「鼻で笑う」ことも過言ではありませんでした。そのため、当時タスクを割り当てられた際には非常に焦っていました。
自分はおっちょこちょいで、技術も中途半端なレベルだったため、プロジェクトの進行中、タスクの完了状況は基本的にこうでした:プロセスは通過できるが、少しテストを加えると多くの問題が発生する可能性がある。
あっという間に自分の修士課程の 3 年目の学期も終わりに近づき、いくつかのプロジェクトにも参加しました。プロジェクトの技術スタックは自分の希望通りにより現代的になりましたが、実用性はそれに比べて劣っていました。このシステムは「日常的に使用する」ユーザーが 2、3 人の状況で、性能が非常に劣る仮想ホストの中で静かに横たわり、運用が数年続いています。2B のシステムとして、我々の非コンピュータ専門の「練習」プロジェクトと比較すると、むしろ優れたパフォーマンスを示しています。
技術には「新しい」と「古い」がありますが、「良い」と「悪い」という単純なものではありません。先輩が書いたコードは、ソフトウェア設計の観点から見ると再利用性が非常に低く、可読性も普通ですが、今日、PHP の基礎がない状態で、古いシステムを手直しするのにそれほど苦労せず、ある意味ではメンテナンス性は非常に良好です。プロジェクトファイル(*.php)はフォルダの中で静かに彼らの使命を果たしています。
新しい技術が次々と登場し、優れたプログラマーは開発効率やソフトウェア性能の各方面で努力していますが、自分にとっては、少し盲目的に新しい技術を追求する中で、技術自体が応用のためにあるという点が薄れてしまっています。異なる「新しい技術」を使って、楽しいが無駄な「おもちゃ」アプリケーションをいくつか作りましたが、自分が完璧だと感じる、運用環境で文句なしに動作する実用的なアプリケーションは一つもありませんでした。その後は、「新しい技術」の追求を薄め、基礎スキルや一般理論の強化にもっと注目し、本当に実用的な「おもちゃ」を作ることを目指します。