【 HP質問過去ログ 】

Page-32

【HP質問過去ログ/詳細】 一覧 / 詳細

No.3637 ハッシュについて
ハッシュについてよくわからないのです。
右のページの検索で探しても
ヒットしませんし。。。
ハッシュについて教えてください。。
[satsuma] 02/12/25 (水) 17:42
No.3638 Re:ハッシュについて
ハッシュがわからないのではなく、使い方がわからないんですよね。

ハッシュとは、名前を持ったひとつの集合体のような感じです。
例えば、名簿を想定すると「atom」、「satsuma」という人の情報で、住所を「address」、電話番号を「tel」としたとき..

$address{"atom"}='東京都';
$address{"satsuma"}='神奈川県';
$tel{"atom"}='22-1155';
$tel{"satsuma"}='33-5544';

とセットする。

その後、

$name = "atom";
print "住  所 = ".$address{$name};
print "電話番号 = ".$tel{$name};

などとします。

「$name="・・・";」の部分を指定するだけでその人の情報が表示されるように作れます。

後は、応用でforeachループで回せば全員の名簿を一度に印刷できますし、名前の一致した人の名簿を検索ルーチンなしで表示させることができます。
大量のデータを高速に検索したり、関連付けられたデータを参照するときなどに使用します。

また、マトリックス(縦横の表)の中のひとつの項目をキーにしてハッシュを組めば難しい処理をしないで、超高速な検索システムを簡単に作成することができます。

このあたりは、システム設計のインデックスファイル作成の基本理論です。
これ以外にもいろいろな方法論がありますが、インデックスを作成する時、ハッシュは意外に簡単でシンプルに作成できるひとつの方法です。
[atom] 02/12/25 (水) 18:30
No.3639 Re^2:ハッシュについて
なるほど。。。
どうも有難う御座いました。
なんとなくですが、ハッシュの使い方がわかりました。
後半以降はいろんなところをめぐって理解してみます。。
[satsuma] 02/12/26 (木) 10:51
No.3640 Re^3:ハッシュについて
ええ、ここらあたりは、実際に自分が何かの目的を持ってプログラムを組んで、壁にぶつかったときなどに、「あっ、あれが使える。」などと思い出すようなものです。
ハッシュだけを見てあれができる、これができるとはなかなか思い浮かばないと思います。

私のスキンボードでもパラメータの取得などにハッシュが使用されてるのを見て取れますが、数をこなすごとにおいおいわかってくるでしょう。
[atom] 02/12/26 (木) 12:55
No.3641 Re^4:ハッシュについて
レスどうも有難う御座います。
それで加えて質問なのですが、
なにかで、ハッシュと%がどうのこうのってことを
聞いたような聞かなかったような気がするんです。
ハッシュと%って関係ありますか?
よろしくお願いします。
[satsuma] 02/12/27 (金) 11:37
No.3642 Re^5:ハッシュについて
これは、「CGIの扉」-「8.変数と繰り返し」を読めば書いてる通り、ハッシュ変数はすべて頭に%を付けます。
要するにハッシュ全体を現すということです。

私が前述で示したサンプルはハッシュ変数の中の1つの要素を使ってるので頭に$が付いてるのです。
ハッシュの中のひとつの要素は、頭に$、ハッシュ全体は頭が%、複数のキーを指定した..すなわち複数の要素は配列として扱われるので頭に@が付きます。
ややこしいでしょう?

前述の例では、
%addressや%telがハッシュ全体、この中にatomとsatsumaの要素を含んでいます。
だから、
%ad1 = %address;
とするとすべての要素が%ad1でも使えるようになります。(コピー)

ひとつだけの要素は、$address{'atom'}などと頭に$を付けます。
複数の指定は、@address{'atom','satsuma'}と指定すること。
頭に@が付きます。
複数の要素をキー指定で抜き出したいときに使用します。

これら、全部「CGIの扉」-「8.変数と繰り返し」に記述していますのでもう一度落ち着いて読んでみてください。
[atom] 02/12/27 (金) 11:53
No.3650 Re^6:ハッシュについて
あったんですね。。
すみません。。申し訳ありませんでした。。。
そしてどうも有難う御座いました。
理解するまで繰り返し読んでみます。。。
[satsuma] 02/12/28 (土) 23:04
No.3643 アップロード接続
ホームページが何とかできたんですが、公開の段階になってアップロード接続のやり方がよくわかりません。わかりやすい本でもよいので教えてください。
[ぶん] 02/12/28 (土) 00:38
No.3644 Re:アップロード接続
一般的には、FTPソフトを使用してアップします。
ここの「CGIの扉」-「4.FFFTPの設定」を読んでみてください。
[atom] 02/12/28 (土) 00:40
No.3645 CGI作成について
CGI作成にあたりプロバイダーにきいたところ、私のサーバーにCGI設置用のcgi-binが削除されているので、再作成するように言われたのですが、知識がないので何のことやらさっぱり分かりません。どなたか教えて下さい。よろしくお願いします。
[myumyu] 02/12/28 (土) 13:25
No.3646 Re:CGI作成について
サーバーへのアップは何を使用してますか?
FFFTPなどは知ってますか?

もし予備知識がないようであれば、ここのHPの「CGIの扉」の前半部を一通り読んでください。

そうすれば、質問も変わってくると思います。
[atom] 02/12/28 (土) 13:32
No.3647 CGI作成について2
ありがとうございます。Microsoft FrontPage
からダイレクトにおくれるようになっています。
[myumyu] 02/12/28 (土) 16:13
No.3648 Re:CGI作成について2
なるほど..
ソフトについてるアップロードは自動で便利な反面、細かい作業ができません。
特にCGIなどは、HTMLではありませんので、その方法ではアップロードやメンテナンスが少々やりにくいです。

CGIをしようとするなら、やはり、FFFTPソフトなどの使用方法を習得されることをお勧めします。
[atom] 02/12/28 (土) 16:38
No.3649 アップロード接続
ありがとうございます。早速LhasaとFFFTPをインストールしました。FFFTPの設定で「接続する電話帳エントリ」でダイヤルアップの接続先名を指定するところなんですが選ぶ項目が空白で入力もできないんです。あと、ここは自分が契約してるプロバイダを入力すればよいんでしょうか?
[ぶん] 02/12/28 (土) 22:39
No.3651 Re:アップロード接続
今現在、インターネットに接続できてるわけですから、何らかの方法で接続していますよね。
それ方法が、ダイヤルアップではないということだと思います。
例えば、ADSLやケーブルテレビ、LAN経由など..

わかりやすく言うと、ブラウザなどでインターネットしている状態のまま、FFFTPを起動すれば、この設定をする必要はありません。
[atom] 02/12/28 (土) 23:13
No.3652 Re:アップロード接続
やっぱり無知すぎる私には難しすぎるようです。でもHPはつくりたいので教室に行こうと思います。アドバイスくださったatomさん、ありがとうございました。
[ぶん] 02/12/29 (日) 04:49
No.3653 フレームについて
フレームを縦割りに3つにしたのですが
左からA(メニュー)B(メイン)C(Aのメニューのメニュー)

Aのメニューがいくつかあって、
A1.A2.A3.A4
A1とA4はBにターゲットを
A2とA3はCにターゲットをすると
A2からA1をクリックすると
Cのメニューがそのままになってしまいます。
その時、Cメニューを消したいのですが
どうすればよいでしょうか?
宜しくお願いいたします。
[晴れ] 02/12/29 (日) 15:26
No.3654 Re:フレームについて
これは、HTMLだけでは無理だと思います。

Javascriptなどを使用して、同時に2つのフレームを変更しないと無理ですね。
Javascriptの命令としては、

parent.フレーム名.location='HTMLファイル名';

という感じでしょうか?
[atom] 02/12/29 (日) 17:54
No.3655 フレーム
HTMLのフレームに
「このページを表示するには必要なブラウザが必要です」
みたいに書いてありますよね。
その、必要なブラウザとはなんでしょう?
未熟ですみません。
よければ教えてください。お願いします。
[あや] 02/12/29 (日) 19:24
No.3656 Re:フレーム
あやさんもWindowsですよね。
なら、きっとIE(インターネットエクスプローラ)を使ってることでしょう。
インターネットのHP(ホームページ)を表示するブラウザはIEだけではありません。
私もすべて知ってるわけではありませんが、IE意外にネットスケープ社のNNやNC、他にOperaなどたくさんのブラウザがあります。
そのすべてがフレームに対応しているわけではなく、フレームページを表示できないブラウザも存在し、それを使用している方もいるわけです。

その方たちがフレームページを表示しようとした時表示できないためのメッセージなのです。

だから、IEやNNなどを使用している場合は問題ありません。
[atom] 02/12/29 (日) 19:46
No.3657 Re^2:フレーム
答えてくれてありがとうございます。
とてもわかりやすい答えで理解できました。
本当にありがとうございます。
[あや] 02/12/30 (月) 00:09
No.3658 フレーム分割
こんにちは、はじめまして。
こちらのサイトさんはどのサイトさんより解りやすく大活用させていただいています。
…なのですが、どうしてもフレームを分割することが出来ません。
左右に分割して、右側にメニューを持ってきたいのです。
サンプルで言うと、
上から二段目の左側のような形です。
初めて何日も経つのですがどうにもなりません。
ヨロシクお願いいたします。
[ひなこ] 02/12/31 (火) 03:15
No.3659 Re:フレーム分割
ここのHPの「HP作成の予備知識」-「4.フレームページの簡単な作成方法を教えて!」は読まれましたか?
[atom] 02/12/31 (火) 12:12
No.3660 Re^2:フレーム分割
お返事ありがとうございます。
はい、見せていただきました(><)
デスクトップ上では分割され、両方のページともちゃんと見られるのですが、Web上にUPするとダメなのです…
これからもう少しがんばってみます。
すみませんでした。

遅れ馳せながら…あけましておめでとうございます^^
[ひなこ] 03/01/01 (水) 03:32
No.3662 フレーム分割&リンク
何度もカキコ申し訳ありません。
分割の方は何とか出来ました!
今度はまた別の問題が…

分割した右側にメニューがあって、
そのメニューを押したとき左側にリンクしたページを出したいのです。
ですが普通のリンクの仕方しか分からず、
リンクしたいページが右側に出てきてしまいます。

ヨロシクお願いいたします。
[ひなこ] 03/01/01 (水) 07:37
No.3665 Re:フレーム分割&リンク
>分割の方は何とか出来ました!

そうですか、できるようになったんですね。
おめでとう。

>分割した右側にメニューがあって、
>そのメニューを押したとき左側にリンクしたページを出したいのです。

これについては、リンクタグのtarget属性で解決することができます。
「HTMLの扉」-「11.フレーム(画面分割)」の最後の方に詳しい解説がありますので一度読んでください。
[atom] 03/01/01 (水) 14:46
No.3678 Re^2:フレーム分割&リンク
どうにかリンクすることが出来ました。
しっかり読めば理解できるところ何度もカキコし、
年末年始にかけてご迷惑おかけしました。
本当に申し訳有りませんでした。
そして、ありがとうございます。

またカキコさせていただくと思いますがヨロシクお願いいたします。
[ひなこ] 03/01/03 (金) 03:50
No.3661 CGI-書き込みが出来ない
掲示板を設置したんですが、カキコミができません・・・
何度もDLしなおして、指定された所以外はいじってないし
何度やっても
ERROR !
LOCK is BUSY
と出てしまいます。
どこをどういじったらいいのか
どんな風に質問していいのかわからずに漠然とした質問で
答えにくいかもしれませんが、教えて下さい
[はう] 03/01/01 (水) 06:08
No.3664 Re:CGI-書き込みが出来ない
その掲示板はここのスキンボードでしょうか?
スキンボードなら、「loglock.lck」のファイルを一度削除して、再度アップロードしなおしてください。
スキンボード以外なら、ロックファイルができたままになってると思うので、削除した後、テストしてみてください。

他の掲示板の場合は、いろんな種類があるのでそのホームページで聞いたほうが早いと思います。
ロックファイルは、ファイル名に「lock」とか「lck」などという文字が入ってると思います。
[atom] 03/01/01 (水) 14:16
No.3663 Question about CGI
Hajimemashite. Tomoyuki desu.
Akemashite omedetou gozaimasu.(kochiraha madadesuga..)
Nihongo nyuuryokuga dekinaitame ro-maji de suimasen.
CGI no tobira de CGI wo benkyou shiteiruno desuga,
CGI no text no tokorode tsumazuite shimaimashita.
Server kankyou no kouchiku madeha umaku ikimashita.
Jibunno HP wo http://127.0.0.1 de hyouji surukotoga dekimasu.
cgi-bin folder mo tsukuri, cgitest.cgi mo TeraPad wo shiyoushite dekimashita.

Osoraku Perl no Jikkou Program no bubunno setteiga machigaete iruto omoun desuga dounano deshou?
Chinamini bokuno sono path ha
C:\My Documents\Tomo's\ActivePerl\ActivePerl\Perl\bin\perl
desu.
path no saigo no \perl no bubun ha sonna folder ha nakattanode katteni tsukurimashita.

Ro-maji dashi setsumeimo muzukashiinode damedattara akiramemasu.
arigatougozaimasu.

Tomoyuki
[Tomoyuki] 03/01/01 (水) 10:03
No.3666 Re:Question about CGI
だいたいわかりました。

C:\My Documents\Tomo's\ActivePerl\ActivePerl\Perl\bin\perl

の最後はフォルダではなく、「perl.exe」の「perl」でファイル名のことです。
ここを一度
C:\My Documents\Tomo's\ActivePerl\ActivePerl\Perl\bin\perl.exe
に変更してみてください。

それでも、うまくいかない場合、気になるのが途中の半角空白と「'」の記号なので、
ActivePerlを一度アンインストール後、これらを使用しないフォルダにインストールしてからテストしてみてください。
[atom] 03/01/01 (水) 15:17
No.3670 Re^2:Question about CGI
>それでも、うまくいかない場合、気になるのが途中の半角空白と「'」の記号なので、
>ActivePerlを一度アンインストール後、これらを使用しないフォルダにインストールしてからテストしてみてください。
Sukoshidake zenshin shimashitaga mada umaku ikimasen.
Mazu, path no saigo wo perl.exe ni henkougo test shitemimashita.
Suruto youyaku "File Download" no pop-up window ga detekuruyouni nattanodesuga, error ga deteshimaimasu.
Naiyouha
"Internet Explorer cannot download cgitest.cgi from 127.0.0.1.

Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later."
;cgitest.cgi wo 127.0.0.1. kara download dekimasen.
Youkyuu sareta site ha riyou dekinaku natteiruka, mitsukarimasen. Atode yarinaoshite mitekudasai
,toitta tokoro dato omoimasu.

De, yahari uninstall wo shite, path mo kaetemimashita.
Chinamini imano path ha
C:\ActivePerl\ActivePerl\Perl\bin\perl.exe
ni natteimasu.
Demo yahari onaji error ga deteshimaimasu.

Document Root no setteiha
C:\My Documents\Tomo's\Senzushi\aa4a
Dashi, cgitest.cgi file mo
C:\My Documents\Tomo's\Senzushi\aa4a\cgi-bin
no nakani arimasu.
Yahari HP ha hyouji saremasuga, cgi ha ugokimasen.

Koreha OS ga nihongo deha nainomo kankei arunodeshouka?
Nagakunarimashitaga, kokoro atariga areba ooshie kudasai.

Arigatou gozaimasu.
[Tomoyuki] 03/01/02 (木) 03:26
No.3673 Re^3:Question about CGI
CGIのファイルを指定して、ダウンロードに入るということは、拡張子「.cgi」のファイルをCGIと認識されていないようです。

AN HTTPDが正常にインストールされていないんでしょうかね?
私のページのチェックでも解決しないようなら..
AN HTTPDのHPの↓ここを参考にしてみてください。
http://homepage1.nifty.com/yito/anhttpd/install.html
[atom] 03/01/02 (木) 11:51
No.3674 Re^4:Question about CGI
Zenbu check surunoni jikanga kakarisoudakara shibaraku res dekinaito omoimasu.
Hitomazu iroiro advice arigatou gozaimashita.

AN HTTPD no web site wo check shitekara kimasunode,
sonotokini mata yoroshiku onegaishimasu.
[Tomoyuki] 03/01/02 (木) 17:14
No.3679 Re^5:Question about CGI
AN HTTPD no HP ni itte check shitekimashita.
Geninno hitotsu ha, hayatochiride ActivePerl no "kaitou" wo shitajitende "install" shitato omoikonde itayou desu.
Installer wo kidoushite install wo sumasemashita.
Soshite achirano HP ni shitagatte zenbu yattemimashita.
Achirano cgisample.html no bat file ha doushitemo kidou dekimasenga, "hello.cgi" ha kidou surukotoga dekimashita.

Kokode mata aratana trouble nanodesuga,
"hello.cgi" ha kidou dekirunoni,
kochirano HP ni shitagatte "cgitest.cgi" wo hirakuto yahari download no pop-up window ga hiraki error ni natteshimaimasu.
"cgitest.cgi" wo "hello.cgi" ga aru folder ni copy shite sokokara jikkou shitemo yappari damedeshita.

Konoyouna joukyou nanodesuga genin ha wakarimasudeshouka?
Otesuudesuga yoroshiku onegaishimasu.

Tomoyuki
[Tomoyuki] 03/01/03 (金) 05:10
No.3684 Re^6:Question about CGI
え、それはおかしいですね。

hello.cgiが動くなら、CGI、Perlの環境は完璧にできてます。
ただ、hello.cgiがあるフォルダでしか動かないなら、どこかを変更しなければ、自分の好きなフォルダでCGIを動かすことはできないと思いますが..

とりあえずは、hello.cgiのあるフォルダにコピーしてテストするのが近道ですね。

で、hello.cgiが動くのにここのcgitest.cgiがDLになってしまうってのもおかしいですね。
拡張子(.cgi)は同じですから、ソースの違いを調べましょう。

疑問点が見つからないようなら、現在のhello.cgiとcgitest.cgiのソースをそれぞれこのBBSに貼り付けてください。
それで原因がわからないようなら、後でメール添付で送付してもらいます。

それを私が実行できれば、ソースの問題ではなく環境の問題ということになりますから..
[atom] 03/01/03 (金) 10:18
No.3686 Re^7:Question about CGI
Kono shitaga hello.cgi no source desu.
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML><BODY><H1>Hello!</H1></BODY></HTML>\n";
exit;

Soshite konoshitaga cgitest.cgi no source desu.
#!/usr/bin/perl

print "Content-type:text/plain\n\n";
print "CGItest";

Desu.

Chinamini hello.cgi gaaru folderni cgitest.cgi wo, to
cgitest.cgi ga aru folder ni hello.cgi wo copy shite ryouhou tameshitemimashitaga,
yahari hello.cgi ha ugoki, cgitest.cgi ha download no error ni narimasu.

Otesuu desuga ohenjiwo omachi shiteorimasu.

Tomoyuki
[Tomoyuki] 03/01/03 (金) 15:20
No.3687 Re^8:Question about CGI
なるほど、どうやらテキスト型がまずいのかな?
このあたりは私もはっきりと返事ができないのですが、ブラウザで「text/plain」が有効になってないみたいですね。

AN HTTPDのオプションは標準で大丈夫なはずなんだがなぁ..
もし、HTTPDの設定がうまくいかないなら、そのまま、HTMLとしてテストしますかねぇ。

例えば、
#!/usr/bin/perl

print "Content-type:text/plain\n\n";
print "CGItest";

というソースなら
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<HTML><BODY>\n";
print "CGItest";
print "\n</BODY></HTML>\n";

という感じに、BODYタグで挟むように記述する。
[atom] 03/01/03 (金) 16:19
No.3696 Re^9:Question about CGI
Kazoku kyouyouno PC no tame kinouha hokano hitoga tsukatte itanode test dekimasendeshita.
Moushiwake arimasen.
Kyoumo shigotode isogashiinode,
kaettekara jikanga areba dekirudake hayaku tameshitaito omoimasu.

Test go ha suguni renraku itashimasu.
Tomoyuki
[Tomoyuki] 03/01/05 (日) 02:03
No.3697 Re^10:Question about CGI
Isoide test shitemimashita.
CGItest hyouji saremashita.
Arigatou gozaimasu.

Chotto shigotoni ikanaito ikenainode,
jikan gaarutokini aratamete oreno res wo iretaiti omoimasu.
Soredeha temijikade sumimasen.
[Tomoyuki] 03/01/05 (日) 02:09
No.3698 Re^11:Question about CGI
Do-mo naganagato shinsetsuni gohenji itadaki arigatou gozaimashita.
Bokuniha imaichi gen-in ga wakaranainodesuga,
toriaezu imanotokoroha konomama sakini susundemimasu.
Mata futsugouga arimashitara sonotokiha mata onegaishimasu.

Do-mo shinsetsuni arigatou gozaimashita.
Dehadeha, kazenado hikanuyou ogenkide.

Tomoyuki
[Tomoyuki] 03/01/05 (日) 11:35
Page-32

【HP質問過去ログ/詳細】 一覧 / 詳細


page update:2010/08/23 23:34

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom