雑文&自己紹介           雑文&自己紹介
Yukiの休息所(PCの部屋)
雑文&自己紹介
 
次の項目へ>>
<<前の項目へ


 CGIの勉強してます

 雑文から、CGI関連情報のみ抜き出しました。

 記録を残しておくと、初心者時代の事が良く思い出せるんです、いずれ、役に立ちます。
 

 日記からCGI関連情報を抜き出した物、ソフトが増えましたら、随時追加して行きます。
   
 1月22日、CGIの勉強はじめます
 HTML、CSS、今度はCGI+Perlです。
 CGIは、色々な言語で書かれるようですが、Perl(ぱーる)が、一番取り付きやすい。
 先ずは、Perlのステートメントを総て、見てみました。

 数は少ないが、関数が結構ある、後サーバー関数もあるはず、入門部分を作ってサーバーにアップロード、 ちゃんと動きました。
 これなら、時間をかければ何とかなりそう。
 HTML+CSSだけでは、表現できないことがある、取りあえずはCGI+Perlに挑戦、 動的なPage作りをやってみる事にします。

 今後は、Javaくらいしか残らないが、これは、最終に残しておきます。
 
 1月23日、今日はお休みです。
 ホームページで使用する色見本を1ページ仕上げただけ、 その後、Perlの単語&関数を総てチェック、さほどの量は無いが、覚え辛い、 一方サーバー関数は簡単に使えそうです。

 例文紹介ページを探しているが良いPageが無いですね。
 自分で作るかな?

 誰でもが、入り易いPerlの紹介ページを作る方向で、進めることにしましょうか。
 徐々に進めて、HTMLページで遣り取りが出来たら、取り付きやすいでしょう。

 どうも、リファレンスにページばかり多くて、プログラミングの初心者は直ぐに行き詰ってしまいそう。
 方針が決まった所で、今日は休養日。

 明日から、本格的に始めます。
 
 1月26日、Perlで文字化け
   Perlを使って、CGIをテスト的に作ってみますが、文字化けに悩んでます。
 Perl5.8のエンコードとjcodeのコンバートを試してみたが、今の所、失敗続き、如何した物でしょう。
 全体をutf-8で、作成、これは、今後の為に変えるつもりは無い。

 ブラウザから取り込むと、SiftJis、ここまで、確認するだけで、何時間も掛かってます。
 コンバートの実験開始から、また、5時間ほど、今日は諦めて、もう寝ます、朝起きてから、 リファレンスを調べてみます。

 なかなか上手く行かない物です。
 今日は、もう1つ失敗が、PCにサーバー環境を構築する予定が、ポートの競合で失敗します。
 ブラウザの使用ポートを替えればよいようですが、これが見つけられません、 こちらも持ち越しになってます。
 
 1月27日、Perlの文字化け対策
   全体をutf-8で作成し、変更しないつもりでしたが、 utf-8でも文字化けが発生するようで、eucに変更、
 これは、Jcode.plの変換プログラムがutf-8に非対応である事も、理由になりました。

 今までに作ったプログラムを総てeucに変更する為、効率的な変換方法を探しました。
 TeraPadに専用命令を見つけて、一件落着、プログラム内の記述を一部修正して、完了です。

 eucもutf-8同様に、改行コードをlfに固定できますから、Perlでもそのまま使用出来るようです。
 今度は、入出力ライブラリのチェック 、既に使用している、CGI.pm・jcode.pl・cgi-lib.plの3種類をチェックで済みそうです。
 
 1月28日、CSSで修飾ができた
   Perlで作るCGIですが、HTMLページを作るんです。
 HTMLタグをPrint文で書き込み、CGIを起動すると、Perlが、白紙PageにHTML文を書き込むんです。
 このHTML、なんとXHTMLです、今まではHTML、構文が多少違うし、プロパティも使えないものが多い。

 ブラウザがまだ、未対応なんです、それでも、CSSを設定してみたら、 半分位は動かない物がある、ファイヤーフォックスだけでテストしてますが、 IEの方が、対応が多少早いようですから、まあ大丈夫かな、そろそろ、両方でテストしていく事にします。

 IEの方が、対応が多少早いようですから、まあ大丈夫かな、 そろそろ、両方でテストしていく事にします。
 
 1月29日、自宅サーバが構築できた。
   なんと大げさなタイトル、ただのローカルサーバなんですが、 実働20時間ほど、頭は痛くなるし、PCの買い替えまで考えました。

 では、トラブルの一部を紹介します。
 もう30時間ほど前の事、AN HTTPDというサーバプログラムをXPに入れようと試みたが、見事失敗。
 Vistaに入れてみたら正常に動くようです、 ポート設定が上手く行かなかった事は残ってましたが、ActivePerlが入らないので、諦め、XPで、AN HTTPDの設定を変えてみたが、総て失敗。

 仕方ないので、XPの方に、Apacheを入れてみたら、これは動きます。
 ActivePerlを入れて、動く事を確認、その後の設定でまた数時間、 計一昼夜+αで、30時間近く掛かってしまった。

 でも、どうにか完成、達成感はかなりの物、これが在るから、挑戦するのですが・・・
 
 1月30日、ホスト名の表示
   ホスト名は、ブロバイダでつけた、個別情報とでも考えてください。
 個人を示す物で、グローバルアドレスと、1対1で対応していて、 グローバルIPが変化してもホスト名は変わりません。

 通常ブロバイダは、個人情報との関連を公表しませんが、 警察機関からの問い合わせには答えることもあるようです。
 通常では、グローバルIPとホスト名だけでは個人を特定できませんからご安心を、 ただホームページ上で、パスワードを設定している場合を除き、訪問者を判別する方法は、これくらいまでなんです。

 その他には、使用しているPC環境が有る程度まで、わかります、 使用しているサーバが何処まで対応してくれるかにもよるんですが。
 最近まで、不思議に思っていたことが、当たり前になってきました。
 
 1月31日、Perlのバージョンの違いかな?
   自宅サーバでテストして「OK」のアクセスカウンタを、 本来のサーバにアップしてみたが、どうにも動かない。
 画像を表示する部分で、失敗していますが、原因が不明、構文ミスはエラーが出るはずだし 、画像のフォルダ指定しかないはず・・・

 同タイプの、別のアクセスカウンタに変更すると「OK」、 フォルダ指定の方法を色々と変えてみたが、総て「OK」、結果からフォルダ指定方法が原因ではないようです。

 今、画像を変更してみる方法に気が付いた、この後で、実験して見ます。
 話題が変わりますが、adobeリーダーで、パスワード付きの文書を開いているとExcelで、 コピーが出来ない、パスワード付きの文書からコピー禁止の設定でしょうが、
 結構腹が立つ機能ですね、もうこの作者とは付き合いたくないと思ってしまいます。 (2850円の有料文書のことです)

 無料なら、コピー禁止もわかるが、有料でこの様な事はすべきでない。
 
 2月1日、Perlのバージョン違い?A
   昨日の現象、2つ解決しました。
 1つは、Perlの場所指定、ここの改行マークが狂っていたようです。

 上手く動いている物から、改行マークの手前までコピーしても駄目、 改行マークをコピーしたら動きました。
 小生は、改行マークは「LF」に固定してますが。「CR・LF」が紛れていたようです。

 2つ目は、Ver5.10では「$q++」つまりインクリメントが動作しますが、Ver5.8では、 何故か無視される、「$q = $q + 1」の様に変更したら動いた。
 インクリメント・デクリメントを使わなければいいだけですが、バグとしか思えない、 不思議な現象です。
 
 
 2月2日、Perlでの文字変換がやっと判った?
   文字変換は、日本語Code変換と、ブラウザから転送された文章変換が有りますが。
 日本語コード変換は既に解決済み、今回は、転送文書の変換方法です、デコードと言うようですが。

 Spritにより切り分けて、小さくしてから、タグなどを先に変換後、日本語部分だけにして、 16進数に変換→日本語Code変換でしょう。
 明日から、実験開始しますが、上手く行けばいいけどね。

 単語変換は成功してますが、長文の変換に挑戦して見ます。
 
 2月3日、Perlは面白い
   Perlを始めて、もう直ぐ2週間、やっと面白くなってきた、時間がたつのが早くて困る。
 他人の書いたプログラムも大分読めるようになり、
 小さなテストプログラムが、ライブラリになり始めてます。

 これからは、コメントを入れるようにしなければ、
 テストで作ったプログラムは今迄総て動きますが、ダウンロードした物では、 動かない物が結構存在する。

 修正しても動かない物は、暫らく後回し、自宅で動くからプログラムの問題ではないし・・・
 また、当分人様のテクニックを盗む(言葉が悪いね)、参考の為に読む練習に入ります。
 
 2月4日、ボウリングとPerl
   2週間ぶりのボーリングだったんですが、
 前回は1番でした、さて今回は、171,266,151 ナンでしょうね、この凸凹は、

 ボーリングのスコアですよ、マイッタナー

 Perlの勉強は順調に進んでますが、ボウリングは上手く行かない、でもHighGameは間違いないでしょう。
 Perlの方は、掲示板モドキが、出来てます、順に拡張して、公開できる物にアップして行く予定。

 結局の所、掲示板が一番簡単のようです。
 色々と作っているうちに、良い物が出来たらいいな、さあ、どうなりますか。
 
 2月5日、Perlで掲示板が出来た。
   掲示板と言っても、殆ど機能の無い簡易掲示板ですが、ログの最大保持数と、 最大表示数を設定できるだけの物ですが。
 一応、最初の実用プログラムになりました。

 名前を簡易掲示板Ver1と決めて、これからは、暫らくバージョンアップと言う事で、 21日から数えて丁度2週間目、最初の実用プログラム記念日ですね。
 ログの表示位置、次のログ、前のログ最大表示数の倍数と現在の保存ログ数から計算するとして、 プログラムの外にポイントを保存すれば出来そう。

 レスを付けるには、う〜ん、如何したらいいか見当が付かないな・・・

 見かけを修飾するのは、CSSで簡単に出来るから、問題は、レスを付ける機能だけか・・・
 実は、殆ど掲示板を使った事が無いんです。判らんわけだ、少し勉強がたらん・・・
 
 2月6日、大分、掲示板らしくなった
   昨日、掲示板が出来たと書いたが、今日はバージョンアップVer1.1です。
 これで、削除機能とレス機能を付ければ、ほぼ完成形、CSSで見栄えを良くするのですが・・・

 削除・修正は、何とかなりそう、後はレスを付けて、表示を何処ようにするかですね。
 レスを無制限に付ける機能が欲しいと要望を頂いた、何とかしたい物です。

 もっと、こうしたら良くなるとか、ご意見を頂けたらありがたいです。

 Perlを始めて2週間でここまで来ました。
 
 2月7日、簡易掲示板完成
   レス機能は、簡易掲示板らしくなからやめ、記事の修正機能にこだわってみました、
 それでも、改行を(br)タグに変更しなければ、再現ができない。

 修飾用のタグはすべて使えます、改行は自動変換にしました。
 削除keyを設定すれば、記事の修正・削除もできますし、

  http://pc-sup.com/sub/alpha_test/cgi/katuyou8.cgi

 もっと、こうしたら良くなるとか、ご意見を頂けたらありがたいです。
 
 2月8日、SSIがうまくいかない
   SSIはブラウザからCGIに指令を出して、結果を受け取り表示する機能です。
 今回2回目の挑戦なんですが、なかなか、自宅サーバでも外部サーバでもけられてしまう、 それも状況がまるで違うんです。

 調べていると、CGIから、Webページに挿入する機能があるようですね。
 まだ、出会いがありませんが、早く見つけたいな。

 ホームページに「今日は○○さん」の機能を早く見つけたい、結果では判らない部分、 CGI等が前に出ることはないので、判らないんです。
 
 2月9日、SSIで苦闘してます。
   昨日よりは前進しましたが、SSIが安定しないし、ブラウザも何かおかしい。
 その上、無線ルーターが時に停止してしまうようになった。

 どうもうまくいかないと思ったら、無線ルータがとまっていた。
 電源リセットで復活するが、SSIの不具合と勘違いして大変です。

 SSIは、情報取り出しは、順調、書き込み側がうまくいったり、だめだったり、 ファイヤーフォックスもうまくいったり、だめだったり、まだ設定がうまく言ってないのかな、 情報量が少ないので、大変です。
 
 2月10日、SSIがやっと出来た。
   今では使えない機能が、Web上では最新機能の様に紹介してある、よく見れば10年前の物もある。

 小生は、古いものは参考にするが、プログラミングは最新版で行う予定。

 いまだ、最新機能で紹介しているサイトに出会わない、参考になるサイトも少ないわけで、 古いサイトからテクニックを取り出して、新しい記述法で試して見る、
 上手くいけば、自分の財産が増えていく、いちいち翻訳するわけだが、 便利機能しか知らないよりは良いでしょう。

 SSIが使えるようになったから、後は自分流を貫いていくだけ、 だんだんプログラム言語で思考できるようになってきているが、どこかで、 もう一度リファレンスを纏め上げる必要がありそう、Web上のサイトを参考にするばかりでここまできた。

 あちこちから集めて自分用を作る必要がありそうです。
 
 2月11日、アクセス解析を作り始める。
   昨日で、SSIが開通したので、SSIを使って、 アクセスカウンターからアクセス解析を作ってみることにします。

 アクセスカウンタは、数時間もかかったでしょうか、 ここまでは簡単、次は、アクセスログの記録、ここも出来た、続いてログイン機能を作ってます。

 ログファイルの数が増えて、紛らわしいが、設計図なしで、順に設計変更しながら進めてます。
 グラフの部分以外は大したのと無さそうですね?
 
 2月12日、SSIカウンタ&ログイン機能完成
   カウンタは、テキストを使いたかったので、SSIが必須?

 ログイン機能は、CGIページに飛んで頂くので、どちらでも動きます。
 アクセス解析用のCGIは、ログ記録部分は出来てますが、記録項目をもう少し増やしたい。

 グラフィックカウンタを引き金にすれば、ログ記録も出来るでしょうが、挨拶機能が難しい。

 挨拶機能は、log inすると、「ようこそ○○さま」と表示する機能の事、 SSI無しでは、どうしたら良いかまるで判らない。
 グラフィックカウンタを先に作るべきか思案中です。

 ログインしていただいた、ユーザーさんのニックネームを全て画像で作ってしまう方法もあるが、 少し寂しい。
 
 2月13日、アップロード
   SSIカウンタ・ログインツール・ログ記録、3点同時にサーバにアップロードしました。

 パーミッション指定をサーバの規定に合わせたつもりが間違えて、慌てたが、何とか動いた。

 ログ記録ツールはまだ改善の余地が、アクセス解析の基礎データ収集用ですから、 収集できるデータをモット増やしたいんです。

 1ヶ月程度、このままで、データ収集、その間にグラフの勉強をしなければ・・・

 リンク元の収集方法の研究も必要、まだやりたい事が一杯あるんです。
 
 2月14日、今日は休養日
   昨晩は疲れが出たのか、日記も書かずに寝てしまった。

 朝早く目が覚めて、日記とメール、またすぐ寝てしまい起きたら12時。
 こんな日もたまには良いと、休養日に決め、のんびりホームページを作ってました。

 今一度見直すと、かなり遅れているジャンルもあるが、ページ数がすごい数になってます。

 最初の一月が過ぎてからは、一日に1.5ページのペースです、増えるわけです。
 最近は、プログラミングを始めたため、ページ数はあまり増えなくなってますが。

 3つのサイトを合わせると、250ページ位かな、相変わらず数を数えた事はないのですが・・・・

 作成開始一月で150ページくらいでしたから・・・

 また、サイトを分割しないと、容量の問題が出そうです。
 
 このページも、一杯になりました。次のページへ移動してください。