システム開発ブログ~2025年3月21日~[システム開発研究室]

 こんにちは!
 ナビゲーターのEVEです。

 事例問題をブログで書き始めて、初めて事例以外のブログを書けるようになりました。事例の問題にもよると思いますが、来週から、週2日ぐらいはシステムに関するブログが書けそうです。それでは、早速現在製造中のシステムの現状についてご報告したいと思います。

[システム開発で苦労していること]

 現在システム開発で苦労している点は、以下の2点です。

・画面製造
・オブジェクト指向JavaScript開発

以上については、Xでも時々つぶやいていますが、昔通りの製造方法で製造すればそんなに時間がかからないのですが、とりあえず、システムを最新化するという目標からはじめた開発なので、それは、できません。それだったら、Prototype EVEをそのまま利用すればいいって言うことになるでしょ?まっ、Prototype EVEは、PHP8では動作しないことは知っているのだけれど・・・。
 画面製造は、一応概要を本で押さえてから、現在は、ChatGPTGeminiCopilotに相談しながら、だんだんと要領が分かってきたというレベルです。ときどき、cssの設定で下位のタグが認識できないといった話をしていましたが、その原因は上位のタグが壊れていたためでした。それが分かってから、比較的順調に画面製造ができるようになり、何回かポータル画面を書き換えています。ただ、それでも現在は時間がかかってしまうため、今後は、各オブジェクトとなるべき要素はきちんと作り込むのですが、画面の細かい点はβシステムで実現しようかなって考えています。一気に、作るのは大変なのですが、徐々に作れば、そんなに大変ではないでしょ?
 オブジェクト指向JavaScriptの開発は、この間ブログで書いた通り、Chrome DevToolを導入しました。そのため、どこでプログラムが動作していて、どこで障害が発生しているのか、ビジュアル的に判断できるようになりました。ただ、変数の中身は、alertで見ています。Chrome DevToolでも見ることができるケースがあるのですが、見えないものがあります。ChatGPTは、console.log()を使った方がいいと提案してくれましたが、Chrome DevToolの表示レベルと変わりません。最終的には、alertを使って変数の中身を確認しています。
 そんな涙ぐましい努力をしているのですが、それでも、バグの原因を突き止めるのに時間がかかります。PHPと違い、エラーの内容がわかりにくい。・・・。短いプログラムならChatGPTに解析を御願いするのですが、プログラムが長くなると大変です。っていうか、ほぼ見てくれません(笑)。自分で探すしかないのです。


[設計の手戻り]

 現在設計の手戻りが発生しています。よく考えたつもりだったのですが、このまま開発を続けたら、混乱しそうだったので、現在なら、まだ対応出来るタイミングだったので、設計を変更し、同内容をプログラムに反映しています。ここ3~4日は対応で大変でした。一応予定では、本日完了し、明日からログインシステムの製造を再開できそうです。

[決まったこと]

 今まで悩んでいましたが、決まったこともあります。それは、以下の2点です。

・データのサニタイジング、エスケープのタイミング
・環境変数をファイルで持つか?データベースで持つのか?

 Prototype EVEでは、データのサニタイジングエスケープをデータを受け取った時に行っていたのですが、ChatGPTからシステムから取り出し、クライアントに渡すタイミングで行った方がいいという提案を受けていました。それにつきましては、ChatGPTの提案を却下し、Prototype EVEと同様に、受け取った瞬間に、データのサニタイジング及びエスケープを行います。そして、クライアント側にデータを渡すときは、データベースの中身をそのまま渡すか、適切な形に変換し渡すことにしました。Prototype EVEは、開発を始めてから20年以上経ち、現在も使っています。多分これから開発するEVEシステムも同じかそれ以上の期間使用する事になるでしょう?その間、全ての仕様を把握したまま製造する自信がありません。そんな心理から、セキュリティリスクがあるところは、瞬時に対応することにしました。
 そして、環境変数ですが、ファイルで持つのか、データベースで持つのかといった問題がありましたが、それは、環境に依存する部分はファイルで、環境に依存しない部分はデータベースという切り分けにしました。今後、αシステムである程度信頼できるレベルになったシステムは、βシステムに公開する予定なのですが、その時に、環境に関する部分をファイルで保存し修正する部分を予め押さえておけば比較的簡単にβシステムに移植できそうだと考えています。まっ、そういう意味では、プログラムの一部という位置づけで扱おうと考えています。

[あとがき]

 他にも書きたい内容があるのですが、本日はここまでとさせていただきます。続きは来週時間を見つけて書かせていただきます。
 なお、重大な発表があります。今まで開発資金を得ようとYouTubeを公開していましたが、2025年3月31日に閉鎖します。なんでかというと、今回、A8からBloggerに引っ越ししましたが、それに伴い、広告をすべてGoogle広告にしたいと考えています。ただ、その場合、アカウントは2つあるとダメらしいです。現在公開しているアカウントですが、個人が特定されないように、新たにアカウントを作りました。それが、広告を利用できない原因となっているらしいのです。まっ、現在公開しているYouTubeは、開店休業中の上、多くのYouTubeと比較すると見劣りがひどいです。しかも、ほぼアクセスがなく、登録してくれているひともほとんどいないので、閉鎖することにしました。ただ、YouTubeを公開しないと言っているのではなく、時期がきたら再開します。現在保持しているアカウントで・・・・。
 YouTubeで動画を作り始めたとき、個人を特定されるのは嫌だと思っていましたが、ソーシャルデブリの動きを見ていると、どうも特定されているといった印象を持っています。
 何遍も言いますが、私が公人として発言しているのは、pro2grammer.com、ブログ、X、Facebook、YouTubeだけです。しかも匿名で、それ以外の発言は、すべて私人として発言し、プライバシー権が発生しています。この権利を現在も侵害されているようですが、その侵害している人を特定した場合は、法的手段をとります。もし、侵害をしている人を知っていましたら、ご連絡下さい。情報源はまもります。
 っと言う認識なので、個人を特定できるかもしれないアカウントからYouTubeを公開する予定です。

 では、また!

コメント