856 :
こぴ1/3:
2006-04-14 23:00:00
CGI奮闘記 最終回
テーマ:ブログ
「ぱ、ぱーるって?」
という状態だったド素人から1ヶ月でどれほどまで進めるかということで書いてみたCGI奮闘記だが、
今回で最終回ということにしておきたい。初心者の段階から成長する速度は中級者から上級者までの
速度と比べたら格段に早いため、展開が速くて内容も困らなかったが
恐らくこれからもこのペースを維持するのは無理だからね。それが今回で終わりにする理由。
さて。3月12日以降、CGIに関しては無知に等しかったオレが約1ヶ月作ってきた
CGIの機能は以下のとおり。
857 :
こぴ2/3:2006/04/14(金) 23:14:48 ID:rxVWTU+R
・ フォームから呼び出されていない場合はSSIの呼び出しに対応し、
テキストファイルから取り出した内容を表示させる。
・ フォームから呼び出された場合は内容によって6つに分岐。
1.訪問者が入力したデータを指定したディレクトリ内に保存。
普通の日本語とタグのデータが混在していたため処理に工夫が必要で苦労した。
また、ランダムで訪問者にこちらから用意したデータが割り当てれるため、
セットで保存するのも苦労した。
2.訪問者の回答データを指定したディレクトリ内に保存
かなり初歩的なことだが、複数行によって入力されたデータの処理には手こずった。
3.定期的にCGIを実行
UNIXやらcrontabやらさんざん勉強したが、最終的に全く別の方法で解決
4.ブラウザからデスクトップのファイルをアップロード
ライブラリで解決するという方法にたどり着くまでがホネだった。
5.ログインしたスタッフが入力したデータを指定したディレクトリ内に保存。
パスの使い分けに苦しめられた気がする。
6.ログイン認証
サブルーチンで括ってやらなければならないことを知らず、
他のスクリプトに悪影響を与え、大混乱。
7.携帯サイト自動生成
複数行テキストに対応したCSVは通常のCSVよりも処理が厄介なため、
かなり苦戦した。
8.メルマガ原稿を自動生成
5つの投稿フォームに書かれた内容を合成し、携帯用メルマガとPC用メルマガ、
それぞれの形式に合わせた原稿を自動生成してくれる。
画期的なのはプレビュー画面でも投稿内容がテキストエリアに表示されるため、
さらなる修正ができる上に、リセットを押すと画面の切り替え無しで
修正前の原稿に戻ってくれることだ。(こういう機能がブログでもあったらなぁ。)
9.確認メールをスタッフへ配信
さらに読者へ配信される前にスタッフへ確認用で自動配信される。
この機能を完成させるためにはメールの本文とヘッダの処理の違いを
理解しなければならなかった。
858 :
こぴ3/3:2006/04/14(金) 23:15:01 ID:rxVWTU+R
・・・と、まぁ、こんな感じ。
昨日、今日は「7.」の追加にかなり苦しめられていたので、なかなかレポを書く気にはなれなかったことをご理解願いたい。
最終的な解決策のヒントとして「^」が非常に重要だったが、詳しいことは割愛させてもらおう。
これまで5つほど試作CGIを作った。そして、それらをここ1週間で一つのCGIに集約したのが
本日完成したばかりの第6のCGIだ。ネット上では暇人という設定にされているようだが、
なかなかどうして毎週メルマガの〆切はやってくるし、年度の境なだけに様々な予定は入るし、
九州には行ってくるし…。ねぇ。
古本屋で本を探したり、花見に行ったり、カフェで勉強したり、自宅サーバを立ててみたり・・・。
それに分かる人には分かると思うけど、CGIってのはHTMLとワンセットだから
そのHTMLも最低限の美観は必要だったりするし。
リアルタイムで読者たちが訪問しているわけだから、いくら作りかけでもエエ加減なデザインは
できなかったわけですよ。
あ、あと、最後に断っておくと、このCGIはネット上でフリーのCGIを組み合わせて作ろうとしても
絶対に無理ってことかな。かなり根本的なところまで理解してないとCGIは
容赦なくエラー画面になっちゃうからね。
それと全く見当違いな推測を立ててる連中のために言っておくと、
オレはネット上で一切質問なんかしてないってことかな。
返事を待つ時間もかったるいし、大体、あまり初歩的すぎる内容で質問してるようじゃ、
とてもじゃないけど1ヶ月でここまでは来れなかったと思うし。
まぁ、この1ヶ月は良い勉強になったさ。今でもオレはCGIが扱えなきゃ
WEBデザイナーじゃないなんて微塵も思わないし、そういう人材でも欲しい企業は
欲しがることをよくよく分かっているつもりだけど、なんというか…
引き出しは増えたんじゃないかな?
CGIやJavaスクリプト、SSIなどを組み合わせるとさらに可能性は広がるしね。