1プログラムを1フォルダで管理する [プログラム研究室]

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

 本日は、中小企業診断士二次の試験に備えて、ブログを更新しようとしたのですが、中止しました。中止した理由は、どんな感じでブログを更新していいのかイメージできなかったからです。
 ただ、明日から実施したいと思います。このブログにアクセスしている人なら知っているかと思いますが、私がブログを書くことは使命だと思っています。ただ、これ、1.5時間から、2時間掛かります。何かイベントがあればいいのですが、ない日もあります。ただ、それでも更新しなければいけないブログは正直言って、他に作業がある中、負担になってきています。そのため、中小企業診断士二次の試験の勉強をブログを書きながらできれば、一石二鳥だと考えたというわけです。土曜日がそんな感じになっていますからね・・・。ただ、つい先ほどまでは、それがイメージできず金曜日からにしようかなって考えていましたが、明日からに予定を変更します。
 試験時間は80分ですが、その時間内でやることを必須とせず、数日かけて、本当にブログを更新するイメージで問題を解くことにしました。そのため、数日かけて問題を解くことになります。予定では、3日間かな?まずは、明日から解いてみてどんな感じになるのかやってみます。
 なんて、何もない日は負担になるといったブログですが、今日もドはまりした一日でした。

[ワイルドカードでプログラムを表示する]

 今回のシステム、1プログラム1フォルダで管理するということは先日のブログでご報告しました。そのやり方ですが、以下のような要件を設定しました。

  • 1プログラム1フォルダで管理をする。
  • ブラウザのアドレスバーからフォルダ名を指定し、当該フォルダのプログラムを表示する。
  • そのプログラム名は、システム内で一意である。
 最初にChatGPTに言われたことは、ワイルドカードは使えませんということ。ただ、面白いということで、いろいろな方法を教えてくれました。ただ、いろいろ教えてくれている方法を試していて気づいたのですが、途中から同じことを繰り返し紹介している・・・。そのため、この方法本日の午前中で断念しました。

[.htaccessを各フォルダで管理する]

 次に検討したことは、1プログラム1フォルダで管理している、同フォルダでに.htaccessを配置して管理するというやり方。このやり方は、ワイルドカードで表示するというやり方ではなく、各ファイ名を個別に管理し、表示するというやり方になります。このやり方でも、各フォルダで格納した任意のプログラムを違った名前で管理することが可能です。ChatGPT、最初はいいですね!って言っていたのですが、フォルダ数を1,000ぐらいにしたらどうなるっと話した当たりから、非現実的な方法だということが分かりました。とりあえず、フォルダにアクセスするたびに.htaccessを読込、そのフォルダが多く、アクセス数が増えるごとにシステムに負担になりそうだということです。そこで、一般的な方法を教えてくれました。それは、親ディレクトリで、.htaccessを有効にして、その配下の全てのプログラムの記述を1つの.htaccessファイルにまとめるという方法です。

[正規表現]

 以上のやり取りですが、質問してただけなので、そんなに時間をかけていません。ただ、ここから時間がかかりました。それは、.htaccessと同じフォルダに表示したプログラムがあれば問題なく表示できるのですが、それより下層のプログラムを指定する場合、正規表現で記述しなければなりません。その記述方法ですが、一般的だという発言とはうらはらに、ChatGPTに言われた内容を何回も試してもうまくいきません。私も、正規表現の記述は苦手だし、何が違っているのかよく分からず、成功するまで数時間かかりました。
 そして、つい先ほどになりますが、開発環境だけでなく、pro2grammer.comのαシステムへも適応しています。

[あとがき]

 本日は、環境構築に時間がかかりましたが、現在一番時間がかかっているのは、画面のデザイン・・・。気づいた人もいるようですが、昨日αシステムへログイン画面をアップロードしました。これ、ポータル画面を参考に製造したのですが、この画面は私がコントロールできるレベルのモノになっています。同時にポータル画面もαシステムのhtmlを雛形に修正しています。
 ChatGPTに事細かに解説をしてもらって、理解できてきたような気がします。ただ、上位のどのオブジェクトの影響がどこに及んでいるのかは、まだ、理解できていません。ChatGPTも理解できていないみたいですが・・・。そのため、今回のcssのfooterは、!importantでfooterの記述を優先するようにしています。まだまだ勉強が必要なようです。この問題,今後の宿題とします。

 では、また!


■開発環境
https://www.pro2grammer.com/

コメント