KENT氏を超えたい!
■ このスレッドは過去ログ倉庫に格納されています
0001.
2001/08/08(水) 00:51ID:???スマートすぎる…すばらしひ。
0089名無しさん@お腹いっぱい。
2001/08/08(水) 23:55ID:???チャットを作ろうスレ(今はどうなってるんだか知らんが)を読め。
KENTのどこがダメかだいたいわかるようになるはず。
わからなかったら初心者スレと良書でわかるようになるまで頑張れ。
0090ナナ萌え(゚д゚)ウマー
2001/08/09(木) 01:46ID:???0091名無しさん@お腹いっぱい。
2001/08/09(木) 14:00ID:???ところで69が少女漫画に精通していることの何が衝撃的だったんだ?
0093名無しさん@お腹いっぱい。
2001/08/09(木) 14:30ID:???ってなんで教えてもらう方がこんなに偉そうなの?
0094名無しさん@お腹いっぱい。
2001/08/09(木) 14:31ID:???わからないなら分かるようになるまで頑張れといってるだろ。
0095名無しさん@お腹いっぱい。
2001/08/09(木) 14:39ID:???夏だからだろ(藁
0096名無しさん@お腹いっぱい。
2001/08/09(木) 14:45ID:???KENTの悪いところ
1.スクリプトが冗長だから省略するのに慣れてる人には読みにくい
2.メモリの利用効率が悪く、スクリプトも速くないからサーバに負荷をかける
3.CGIは起動コストがかかるのでHTMLファイルを生成した方がよい
1は初心者には読みやすくなるし、長所か短所かはその人次第。
上のほうでもだれかそんなようなこと言ってるでしょ。
2と3が問題。この辺については語り尽くされた感があるから過去ログ読むべし。
これでいい?
それとも「○○ってスクリプトの○○行目はこう直したほうが良い」まで教えて欲しいの?
0097名無しさん@お腹いっぱい。
2001/08/09(木) 14:53ID:???「冗長ってなに? 具体的に言って」とか言い出すよ、きっとあの子(ワラ
0098名無しさん@お腹いっぱい。
2001/08/09(木) 15:05ID:???0099名無しさん@お腹いっぱい。
2001/08/09(木) 15:24ID:???相当キテルよこいつ、多分hello world段階なんだろ
ローカルでBBS書いてるとか怪しすぎ ワラヒ
みんなマジメすぎるよー、、ちょっと問題出して書かせりゃ大体わかるのに
0100名無しさん@お腹いっぱい。
2001/08/09(木) 15:30ID:???0101名無しさん@お腹いっぱい。
2001/08/09(木) 15:48ID:???0102名無しさん@お腹いっぱい。
2001/08/09(木) 17:15ID:???0103.
2001/08/09(木) 19:35ID:???>2.メモリの利用効率が悪く、スクリプトも速くないからサーバに負荷をかける
つまりこのあたりがKENT氏のスクリプトの隙だな。
しかし具体的に言って、メモリの利用効率とスクリプトの速さとは
どのあたりに差が出るのか。これが重要だ,
0104ななしさん
2001/08/09(木) 20:16ID:ESTpK3Ic1番さんも掲示板をつくられてるみたいなのでここにお書きします。
投稿日:2001/08/09(木) ←時刻をこんな風に表示したいの
ですがどうすれば良いでしょうか? 是非ご教示願います m(_ _)m
0105名無しさん@お腹いっぱい。
2001/08/09(木) 20:19ID:???0106.
2001/08/09(木) 20:23ID:???104=99だからだろう。それぐらい気がついてやれ。
>>104
( $sec , $min , $hour , $day , $mon , $year ) = localtime( time );
$mon++;
print FILE join("<>",$kiji,$year,$mon,$day);
投稿記事をログに保存するときに↑という具合に年月日をまとめて保存すればいい。
0107ななしさん
2001/08/09(木) 20:30ID:ESTpK3Ic2001/8/9(木) 20:19 っていう風になっちゃうんです (;_;
2001/08/09(木) 20:19 こう言う風にしたくて0をつけると今度は
2001/010/011(木) 20:19 とかなっちゃうし・・・・
0108.
2001/08/09(木) 20:33ID:???$year += 1900;#2001年
@youbi =("日","月","火","水","木","金","土",);
$youbi[$wday]
これで曜日と西暦はいい(はず)。
0109.
2001/08/09(木) 20:38ID:???@youbi =("日","月","火","水","木","金","土",);
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year + 1900, $mon + 1, $day, $youbi[$wday],$hour, $min);
print $date;
ではどうか?
0110名無しさん@お腹いっぱい。
2001/08/09(木) 20:47ID:???笑い所がわからんネタだなぁ
0112名無しさん@お腹いっぱい。
2001/08/09(木) 20:58ID:???やっぱり笑い所がわからんわ。独自のセンスとしかいいようがないね、君のは。
0113.
2001/08/09(木) 21:01ID:???俺はユーモアを提供しているわけではないし、君とはユーモアの嗜好依然に
ユーモアを解する能力について、俺にはよくわかった。だからもういい。
0114名無しさん@お腹いっぱい。
2001/08/09(木) 21:04ID:???0115.
2001/08/09(木) 21:14ID:???今すぐに君に理解できることなど期待していないが、
近い将来、俺と君との相対的な地位関係から、俺の態度が理解できることになると思う。
0116名無しさん@お腹いっぱい。
2001/08/09(木) 21:19ID:???今度は日本語として意味がわからん。
0117名無しさん@お腹いっぱい。
2001/08/09(木) 21:20ID:???そんなん最初からわかってることだろう(藁
0119.
2001/08/09(木) 21:46ID:???なぜこのスレッドには君らが軽んじるKENT氏を語ることすらできない奴ばかりなのか!
0120名無しさん@お腹いっぱい。
2001/08/09(木) 21:47ID:???本人だけがわかる言葉を書くための板はここじゃないぞ。
http://natto.2ch.net/denpa/index2.html
0121名無しさん@お腹いっぱい。
2001/08/09(木) 21:51ID:???そりゃ、スレ立てたのがお前で、主に活動してるのもお前だからだろうな。
テーマが焼き鳥だろうが帯状発疹だろうが、お前とじゃマトモに会話するなんて無理だよマジで。
0122名無しさん@お腹いっぱい。
2001/08/09(木) 22:01ID:???みんなボランティアでやってるわけじゃない。仮に、
>近い将来、俺と君との相対的な地位関係から、俺の態度が理解できることになると思う。
が本当になるとしても、そんな態度の悪いやつに労力を割いて教えることはない。
まあ、教える奴がいてもかまわないが、少なくとも俺は教えたくない。
0124名無しさん@お腹いっぱい。
2001/08/09(木) 22:21ID:???0125名無しさん@お腹いっぱい。
2001/08/09(木) 23:11ID:???0126107
2001/08/10(金) 06:06ID:???べんきょうして頑張ります!
0127名無しさん@お腹いっぱい。
2001/08/10(金) 12:23ID:/eOrC7SMどこかにないでしょうか?
れれれれれれれれれれれれれれれれれれれれれれれれれれれ
ててててててててててててててててててててててててててててててて
ままままままままままままままままままままままままままままままま
すすすすすすすすすすすすすすすすすすすすすすすすすすすすす
0129少し頑張った人
2001/08/10(金) 12:33ID:???0130名無しさん@お腹いっぱい。
2001/08/10(金) 13:29ID:???それはもう別物(w
0131.
2001/08/10(金) 13:55ID:???冗長になるだけでは?
0132名無しさん@お腹いっぱい。
2001/08/10(金) 14:00ID:???そろそろウザいんで逝ってくれ
==========終了==========
0133名無しさん@お腹いっぱい。
2001/08/10(金) 14:08ID:???カエレ!!(・∀・)
0135名無しさん@お腹いっぱい。
2001/08/10(金) 14:54ID:???貴方の人を挑発した物言いで、良い答えを得ようと言う方が奇特と言う
ものでしょう。
私はしがない職業PGで、PERLで大きなプログラムを組んだ事は有りませんが
(そもそもそう言う言語では有りませんね)初心者さんにはお答えできると思います。
C、VB、ASP、PERL を業務ベースで使っています。
0136名無しさん@お腹いっぱい。
2001/08/10(金) 14:58ID:???このソースをアップしろよ。1が現在どれぐらいの能力なのかがわかるだろ
それくらいできないような奴ではKENTは越えられないと思うが
0137名無しさん
2001/08/10(金) 15:19ID:???カエレ(・∀・)
カエレ(・∀・)
0138名無しさん@お腹いっぱい。
2001/08/10(金) 15:52ID:???/ ヽ
/ | | | | | | | | | ヽ
/ [ ー]'-`[ー ]ヽ ヽ / ̄ ̄ ̄ ̄ ̄
\/ 、_ _, ヽ / |
| ヽ |ノ < 男が悪い
ヽ U ' | |
|_/⌒_⌒\._ノ| \_____
.ヽ\|_|_|//
ヽ、___, '|
0139名無しさん@お腹いっぱい。
2001/08/10(金) 17:13ID:??? ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
∧ ∧ ∧_∧
(,,゚Д゚)≡つ (:;:;)3`#) ※
|つ つつつつ =( :; )# | | ←>>1
〜. | ≡つ / /:; /∪※
∪ ∪ く__(_ゝ,,〃
ヽ l //
∧∧ ほぁたぁ!――*―――
= ( )∩ // | ヽ フベシッ
≡ ( /ノ ll / / | ヽ
= 〜 〈〃 / |
,`. .´,ミ,くノ^ヽ ゝ ''
0140名無しさん@お腹いっぱい。
2001/08/11(土) 01:32ID:19Fw1.Uwかかってこいうんこども
0141名無しさん@お腹いっぱい。
2001/08/11(土) 04:13ID:???0142名無しさん@お腹いっぱい。
2001/08/11(土) 07:53ID:eDJ7axHE別に下手だという気は無いけど並だと思うよ。
まぁ、すごいのはやっぱサポート力だろうね。
あと、モジュール使わずにちまちま頑張ってるとこね。
どっちも漏れはやる気になれんという点ですげーね。
0143名無しさん@お腹いっぱい。
2001/08/11(土) 08:02ID:???モジュールやmyだらけには出来んのだろう。と思うよ。
まあ、サポート力と言えるけども。
馬鹿みたいな質問にも切れずに答えられるとか。
0144名無しさん@お腹いっぱい。
2001/08/11(土) 12:18ID:???それ以前に、何のためのソフトウエアなのかなんて
考えたこと無い、典型的プログラムオタクばっかだろ?
彼は、perlつーか、ソフトウエア工学の知識は半端じゃないよ。
CPANにもモジュール提供してるしね。
kent.pmで検索してみ。
0145名無しさん@お腹いっぱい。
2001/08/11(土) 13:58ID:???何をするモジュールなのか皆目見当がつかん(藁
# マジで検索しちまったじゃねぇかゴルァ!
0146名無しさん@お腹いっぱい。
2001/08/11(土) 16:31ID:???0147JAPU@傷付くことを恐れてちゃダメよ♪
2001/08/11(土) 17:23ID:???前からそうしているので、ずっとそのままにしているだけ。
で、逆引きとかアドレスをチェックしているのは、礼儀知らずを排除するため。
014818才の芸能人
2001/08/12(日) 00:16ID:6KogsX6Ihttp://www.futomomo.com/netidol/sister/megu/
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
fdfesfewfe
0149名無しさん@お腹いっぱい。
2001/08/12(日) 00:57ID:TrSLsWVY> CPANにもモジュール提供してるしね。
> kent.pmで検索してみ。
ワラタヨ
マジで
0150.
2001/08/12(日) 22:53ID:???数日書き込みを付き合いましたが、純粋にスクリプトを評価しているとは思えません。
0151名無しさん@お腹いっぱい。
2001/08/12(日) 23:15ID:???でもperl4でも動くようにしてることとか、サポートについてはすごいと思う。
レス見た限りだとみんなそう言ってるし。
なんでまともなレスがつかないかについては1が悪い、以上。
0152.
2001/08/12(日) 23:20ID:???0153名無しさん@お腹いっぱい。
2001/08/12(日) 23:27ID:???0154名無しさん@お腹いっぱい。
2001/08/12(日) 23:38ID:???不満がないからレスがつかない。
嫉妬してないから叩きスレも立たない。
評価する気もないから評価もしない。
てか、いつから「KENT氏のスクリプトを評価する」スレになったんだ?
KENT氏を超えたいという1を応援しているレスばかりだが。
0155.
2001/08/12(日) 23:44ID:???Perlのバージョンによってはuse strict;が通らない書き方でないと動作しないと
聞きました。
>>154
>てか、いつから「KENT氏のスクリプトを評価する」スレになったんだ?
まず相手を正しく認めてからでないと勝てるものも勝てなくなります。
0156名無しさん@お腹いっぱい。
2001/08/12(日) 23:46ID:???ウザイ。氏ね。
0157名無しさん@お腹いっぱい。
2001/08/12(日) 23:48ID:???0158名無しさん@お腹いっぱい。
2001/08/12(日) 23:50ID:???0159名無しさん@お腹いっぱい。
2001/08/12(日) 23:55ID:???あってもごく少数だろう。
それならば Perl5 に合わせて作った方が良いと思うぞ。
0160名無しさん@お腹いっぱい。
2001/08/12(日) 23:57ID:???だって>>155みたいな事言うから(藁
0161.
2001/08/13(月) 00:25ID:???優れたWEBマスターは、HTML言語だってJavascriptだって、ネスケを使っているひとのことを考えて作っているはずです。
0164.
2001/08/13(月) 00:30ID:???0165名無しさん@お腹いっぱい。
2001/08/13(月) 00:31ID:???*作っている*サーバがあったら教えていただきたいものだ。
>HTML言語
HyperText Markup Language Language って初めて聞きました。
なんか腹立つ(藁
0166Crow
2001/08/13(月) 00:34ID:???いやいや、教科書にして学んだとしても全く同じプログラムにはならないでしょ?
(Perlでは特にね)
それに>>1さんの書くプログラムがKENT氏に似ているとしたら、
純粋に>>1さんのプログラムを評価して、それを検討して更なる飛躍が期待できるし、
同時にKENTさんのプログラムを具体的に評価することにもなるじゃない?
0167Crow
2001/08/13(月) 00:39ID:???## --- 時間を取得
sub get_time {
$ENV{'TZ'} = "JST-9";
($sec,$min,$hour,$mday,$mon,$year,$wday,$d,$d) = localtime(time);
$year += 1900;
$mon++;
if ($mon < 10) { $mon = "0$mon"; }
if ($mday < 10) { $mday = "0$mday"; }
if ($hour < 10) { $hour = "0$hour"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
$week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat') [$wday];
# 日時のフォーマット
$date = "$year\/$mon\/$mday\($week\) $hour\:$min\:$sec";
}
>>1さんならどう書く?
私も参考にしたいので「こんなのかけるぞ」というのがあったら(スレ違いかもしれませんけど)
どなた様か投稿どうぞ:-)
0168.
2001/08/13(月) 00:44ID:???($sec, $min, $hour, $day, $mon, $year, $wday) = localtime(time);
@youbi =("Sun","Mon","Tue","Wed","Thu","Fri","Sat",);
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year + 1900, $mon + 1, $day, $youbi[$wday],$hour, $min);
}
にします。
0169Crow
2001/08/13(月) 00:56ID:???localtimeでいらない変数まで読み込む必要もない。
それがプログラム上級者のいう「冗長さ」であり
「プログラムを見ても面白くない」っていう点だよね。
よっぽど>>1さんが書くプログラムの方が良い。
でもプログラム初心者が両方のプログラムを見たらKENTさんの方が理解しやすい。
だからKENTさんを"超える"というのがどう言う方向での意味なのか
(初心者に優しいプログラムなのか、プログラムの性能でKENT氏を超えるのか)
が重要ではないかと思うよ。
0170.
2001/08/13(月) 00:56ID:???ということは先日とほほのWWW入門で学びました。しかしほかに書き方を思いつきません。
0171名無しさん@お腹いっぱい。
2001/08/13(月) 00:59ID:???つーか IE とネスケだけに対応しておけば良いの?
スレ違いだけど少し疑問に思った。
0172名無しさん@お腹いっぱい。
2001/08/13(月) 01:00ID:???とりあえず、$ENV{TZ}を設定してなくてlocaltimeな時点で海外サーバでやばいよ。
俺ならgmtime(time+32400)かな。
my使いたいぞ。
0173.
2001/08/13(月) 01:02ID:???よっぽど、ということは何か足りないところがあるのでしょうか?
せひ補足をお願いします。
0174.
2001/08/13(月) 01:09ID:???IE、ネスケ以外を使う人は、画面表示に不都合があることを覚悟しているものと思っています。
>>172
海外サーバではまずい書き方なのですか。
できればmyを使った表現もご教授ください。
0175Crow
2001/08/13(月) 01:11ID:???そうそう、myの件もありますよね。プログラムが大きくなるほど変数が増える訳で、
その衝突を防ぐためのmy(で解釈合ってますか?)はKENT氏は使わない傾向にあるようですが。
>>173
いや、例えば
for(1..5){
Hello World!<br>
}
と言うプログラムを
print"Hello World!<br>Hello World!<br>Hello World!<br>Hello World!<br>Hello World!<br>";
と書く人は殆ど居ませんよね?
そして「えっ?こんな書きかたしてるの?」と思うと思います。
KENT氏の場合も同じで、>>167→>>168と比べれば
「こっちが良い」となるんですよ(私的意見ですけどね
0176Crow
2001/08/13(月) 01:12ID:???あやや・・
for(1..5){
Hello World!<br>
}
↓
for(1..5){
print"Hello World!<br>";
}
ですね。
0177名無しさん@お腹いっぱい。
2001/08/13(月) 01:14ID:???正:IE以外を使う人は、画面表示に不都合があるかことを覚悟しているか、やむをえない事情があるものと思っています。
0178172
2001/08/13(月) 01:20ID:???外国にあるサーバでそのスクリプトを実行したときに現地時間で表示される。
(サーバは海外にあっても日本人向けのサービスとかならば違う可能性はある)
sub get_time{
my ($sec, $min, $hour, $day, $mon, $year, $wday) = gmtime(time+32400);
my $date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year + 1900, $mon + 1, $day,
("Sun","Mon","Tue","Wed","Thu","Fri","Sat",)[$wday], $hour, $min);
return $date;
}
とかかな。
っつーかこのサブルーチンって元はreturnしてないんじゃん・・・・・
やっぱり俺はKENTスクリプトいじりたくないと思った。
0179rand(5)
2001/08/13(月) 01:27ID:???0180名無しさん@お腹いっぱい。
2001/08/13(月) 01:29ID:???っていうか見た目の表示さえ出来れば中身は伝わらなくても良いと思ってる雰囲気。
>>175
my 使うと安全だって聞いたが何が安全なのだろう。
実行速度は少し速くなるみたいだけど。
外から参照されないからその分違うのかな?
ちなみに、そのくらいのプログラムなら俺はヒアドキュメント使う。
0181.
2001/08/13(月) 01:32ID:???ご教授感謝します。
KENT氏のLIGHT BOARD最新版をDLしましたが、時刻表現は>>167のままでした。
172氏の曜日の配列の書き方、知らなかったです。参考になります。
returnについてですが、必須なのでしょうか。
print &get_time;
としたときに$dateがprintされるのはわかりますが、その必要がなければ
無駄な一行になるのでは?
0182172
2001/08/13(月) 01:43ID:???&get_time;
ってやると $date に現在の日付が代入される、と言うプログラムと、
$date = &get_time();
ってやらないと $date に日付が代入されると言うプログラムでは、
見通しの利きやすさが全然違う。
初心者だとグローバル変数を使いまくってreturnしないようなプログラムが楽
って言う人も多いけど、プログラムを書くことに慣れれば慣れるほど
できるだけそんなことはしたくないと思うようになるはず。(一般的には)
0183Crow
2001/08/13(月) 01:44ID:???>my 使うと安全だって聞いたが何が安全なのだろう。
私も変数の衝突防止・・・としか知りませんね。どうなのでしょう?
>>181
サブルーチンだから戻り値があったほうがしっくりくるってことじゃないかな?
Cとかだと戻り値が必ず必要ですし。
あと>>161のプログラムに
my $date........
としてやった場合、サブルーチン外で print"$date"; としてやっても出力されなかったと思います。
0184172
2001/08/13(月) 01:51ID:???myとlocalの比較ではmyの方が速いけど、myを使うのと使わないのだと、使わないほうが速いよ。
myを使わないプログラミングをしていると、
$hoge = "mona";
&subroutine();
print $hoge;
(間に2000行くらい)
sub subroutine{
$hoge = "giko";
}
ってプログラムがあったとき、 mona って表示されない。
明示的に $hoge を変更していないのに、いつのまにか変更されていると言う、
気づき難くて非常に困るバグの元だからmyを使った方がいいのではないかと。
0185172
2001/08/13(月) 01:54ID:???サブルーチンの中で my $date; って宣言すると、$dateはそのサブルーチン内だけで有効な変数になる。
名前が同じなだけで、サブルーチンの外の$dateとは無関係な変数。
だから、外で print $date; ってやっても何も表示されないわけ。
そろそろ寝ていい?
0187名無しさん@お腹いっぱい。
2001/08/13(月) 02:31ID:???YYBBS最新版をDLしてみたら、
sub get_time {
$ENV{'TZ'} = "JST-9";
$times = time;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($times);
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
# 日時のフォーマット
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year+1900,$mon+1,$mday,$week[$wday],$hour,$min);
}
になっていた。
0188名無しさん@お腹いっぱい。
2001/08/13(月) 02:52ID:???0189名無しさん@お腹いっぱい。
2001/08/13(月) 03:23ID:???■ このスレッドは過去ログ倉庫に格納されています