1 :
名無しさん :
2000/05/27(土) 06:53 KENTとか色々ありますけど、サーバ管理してるものとしては重いんですよ 結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
2 :
名無しさん :2000/05/27(土) 07:00
おっ!久々に面白いスレたってるじゃん
3 :
名無しさん :2000/05/27(土) 07:21
それ賛成です。 KENTのは掲示板の中では重い方ですね。
4 :
名無しさん :2000/05/27(土) 07:28
>1 どんなのがいいのかな? 個人的にはシンプルなやつを作って色々とオプションで足していくみたいな 感じにするといいと思うんですがどうですか?
5 :
さあどうぞ :2000/05/27(土) 07:51
#!/usr/local/bin/perl ## ----------------------------------------+ ##2ちゃんねるBBS v1.01 ##[注意事項] ##このスクリプトは著作権フリーです。 ##このスクリプトを使用したいかなる損害に対して2ちゃんねるはその責任を一切負いません ##設置に関する質問は「CGI、Perl、レンタルサーバ@2ちゃんねる」にお願いいたします。メールによる質問にはお答えできません。
6 :
名無しさん :2000/05/27(土) 07:55
ぁゃιぃのはそこそこ軽くない? それともスレッド/ツリー形式のヤツ?
7 :
名無しさん :2000/05/27(土) 08:24
ツリー/スレッドではどっちが軽いのかな
8 :
>7 :2000/05/27(土) 08:51
今さら閲覧効率の悪いツリー型は、 あめぞう型の登場によって淘汰されたものと理解しています。 作るなら、2chのようなあめぞう型か、ぁゃιぃ型にしましょう。
9 :
>7 :2000/05/27(土) 08:53
閲覧効率の悪いツリー型(その亜種にすぎないYahoo!型)掲示板は、 あめぞう型の登場によって淘汰されたものと理解しています。 作るなら、2chのようなあめぞう型か、ぁゃιぃ型にしましょう。
10 :
1です :2000/05/27(土) 09:12
少し見ない間に成長してますねー 一応ここまでの物を整理してみますが 掲示板の形式は効率の悪いツリーではなくスレ式にします。 >5さんが書かれてるように著作権はフリーにしたいと思ってます。 改造しようが何しようが自由です(例えば掲示板のどこかにKENTとかRESQUEってリンクも貼らなくていいです) でもそのかわり一切の責任を負いません。
11 :
1です :2000/05/27(土) 09:14
間違えて途中で送信してしまいました。 とりあえずこんな所ですがどうでしょうか?
12 :
名無しさん :2000/05/27(土) 09:29
各機能をモジュール化して磨き上げれば結構良いのが出来そう まずはしっかりとした設計図を作ることですかね
13 :
名無しさん :2000/05/27(土) 10:14
素晴らしい計画がスタートしてますね!完成が楽しみです。 私は知識が無いので何もできないので申し訳無いのですが。
14 :
1です :2000/05/27(土) 17:09
そうですね。まずは基本的な所を明確にしないといけませんね。 掲示板のデザインとかは各自で自由に改造してもらえればいいと思いますが まずとっても基本的な所から(オーソドックスに設定部分なぞから書いてみたいと思います。問題があったらずばずば指摘してください) $title="掲示板";とかで掲示板のタイトルを変更できるようにする(さすがにこれないとね。もっと他にいい変更の仕方あったら言ってください) $title_size=5;(タイトルのサイズです) $title_color="#008040";(タイトルのカラーです) $title_font="MS Pゴシック";(フォントです。) $body_color='<body bgcolor="#EBEBF5" text="#000000" link="#0000FF" vlink="#800080"> (これも文字通り掲示板のカラーです。HTMLなのでここも各自設定ということで) $homepage="../index.html";(掲示板に「戻る」とかを作ったときに戻っていくところです) $max= 50;(これは掲示板に表示する記事数です。これも適当な数字なので各自で設定ということで) $script="./bbs.cgi";(この掲示板自体の名前でっす。これは適当でいいと思います) $logfile="./bbs.log";(この掲示板のログを保存しておくファイル名) まあ、このへんは某スクリプトの最初に似てますが仕方ないですね(--); 同じ掲示板作ってるんだから似てくるのはしょうがないですね。 それとですね、もう一つ決め兼ねていることがありますが 文字コードライブラリをどういった物にするかってことなんですが・・・ require './jcode.pl';とかでもいいんですがsjisってのもね〜 皆さんの意見を聞かせておくれやす。
15 :
>14 :2000/05/27(土) 17:21
せっかく一から作るのだからeucがいいかな?
16 :
名無しさん :2000/05/27(土) 18:16
■ファイル入出力を管理する層 (大本で提供する (ファイルロックとかはこの層 ■掲示板のデータ構造を管理する層 (Perlの心得がある者がそれぞれ提供する (スレッドのソートや削除はこの層 ■htmlで見た目を管理する層 (設置者が好き好きにカスタマイズする (タグ関係はすべてこの層
17 :
名無しさん :2000/05/27(土) 20:30
○PerlScriptは、eucで記述する。 ○ログファイルは、スレッド単位で生成する。 ○ひとつの記事は、ログファイルでは一行に変換される。 (改行コードを"\t"に変換。もし記事中に"\t"があれば先にスペースに変換しておく。) ○新しい書き込みごとに、そのログファイルの最後に追加書き込みをする。 ○投稿者名や書き込み日時などを記事と違うフォントスタイルで表示するのなら ログファイル読み込み→print表示を手間取らせないため ログファイルの段階からタグの修飾はしておく。 ○スレッド表示時など、最新レスをたとえば10記事だけ表示したい場合があるが、 このときはseekでファイルの最後にポインタを合わせ、後ろから適当な長さだけ 取り込みながら、改行コードを数えていく方法を使う。 ○ログファイル名の命名方法 スレッド(レス数)一覧表示のときに、いちいちファイルの中を読みに行く手間を はぶくために、ログファイル名="スレッドタイトル.レス数" とする。 よって、新規スレッド作成時には、 スレッド作成フォームから送られてきた スレッドタイトル(%HH形式)から%を抜いたもの.0 というファイルができることになる。 すでにあるスレッドタイトルと同じタイトルのスレッドを作成しようとしたときには、 はじけばいい。(プログラミング上、BBS運営上共メリットあるでしょう) 本気でこのプロジェクトでBBS作るつもりなら デザインのためのタグなど、プログラミング上、基本的ではない事項については、 後回しにして欲しいな。
18 :
名無しさん :2000/05/27(土) 21:38
たいへん基本的なことで申し訳ないのですが、 安全確実で無駄の無いファイルロックはどーすりゃいいですか。 tmpファイルに書き出してrenameだと、 close(と同時のflock解除)とrenameの一瞬だけ (でも突かれたらすべて消滅する)隙ができますが。
19 :
18 :2000/05/27(土) 23:12
…あ、もしかしてflockとrenameってめちゃくちゃやばいのかも? 更新中に後続プロセスがflock待ちしてたら、 ロックを解いた瞬間どうなるの…????
20 :
真珠丸 :2000/05/27(土) 23:21
世の中の流れはmod_perlです。 mod_perlの対応は細かな部分を除けば、 use strict; を指定し、かつ、perl -wcでコンパイルチェックすることで、 大体OKです。 あと、デザインを自由に変更できるように、 テンプレート化して欲しいですねー なんか2chにしては建設的なスレッド。 協力しまっせー
21 :
真珠丸 :2000/05/27(土) 23:26
>15 eucは基本だよね、、、 よく、unixのネイティブコードがeucだから、 eucで処理すると思っている人いるけど、 これはperlのエスケープ文字のバックスラッシュ(\)が sjisのいくつかの文字と被っているって話で、 winでperl動かしても同じように問題は起きる。
22 :
1です :2000/05/27(土) 23:57
確かにeucの方がいいみたいですね。 でも、eucとかになると私はわかんないんですよ。 その辺りは知識のある方にお任せしたいのですがどうでしょうか? >16さんの意見のように各層で管理できるようにしたほうがいいような気がします。 >20さんのテンプレート化ってどういうかんじなんですかね?そういうの作った事がないので。
23 :
名無しさん :2000/05/28(日) 00:44
っていうか既存の掲示板が重いというのであれば, まずその問題点を羅列するところからはじめなければ。 mod_perlもいいがCで書くという手はないのか? データの量が多いときには速いぞ。
24 :
1です :2000/05/28(日) 00:55
>23 Cは高速らしいですね。使った事がないのでわからないんですが。 でも、ある程度改造もできるって事でいくとCよりはCGIの方がいいような気がするんですが。
25 :
>24 :2000/05/28(日) 02:27
何かCGIを解ってないような発言で不安…。
26 :
1です :2000/05/28(日) 02:51
>25 すいません言葉が足りなかったです。 一応皆さんが改造できるようにと思っておりましたので・・・
27 :
名無しさん :2000/05/28(日) 03:00
>1 私は25じゃないですが、ちょっと横から失礼。 >一応皆さんが改造できるようにと思っておりましたので・・・ いや、そうじゃなくてね。。。 CとCGIを同次元で扱ってるのに不安を感じたのでしょう。 それを言うなら「CよりはPerl」というべきでしたね。 そういう意味で使ってらっしゃいますか?? もしこのレスを見ても意味がわからないようでしたら、 基本から学ばないと、お話になりませぬが。 どうでしょうか?
28 :
>24 :2000/05/28(日) 03:02
CGIはCでもPerlでもDelphiでも処理できるよね CGI != Perl
29 :
1です :2000/05/28(日) 03:41
>27 すみません。言葉が悪かったですね。 もちろん意味はわかりますよ。ですが私自身がCを扱った事がありませんので そういう誤解を招く事になってしましました、すみません。
30 :
えぬー :2000/05/28(日) 03:52
でも、shellを供給してくれるところじゃないと、 Cで書いてコンパイルするのはつらいのでは? (できるのかな、Perlからコンパイラ動かせば行けそうだな) まぁ、ここでやるならPerlが無難なのではないでしょうか。 あとから暇な人がCに移植するとかはどうでしょうか。
31 :
名無しさん :2000/05/28(日) 04:32
そうですな。 >1 皆さんの意見を全部取りえれるわけにはいかないと思いますのでまずは perlにしときましょうよ がんばってください。密かに応援してますから
32 :
名無しさん :2000/05/28(日) 04:48
せっかくだからrubyで書こうぜ(w
33 :
名無しさん :2000/05/28(日) 04:52
rubyって何ですか?
34 :
32 :2000/05/28(日) 05:21
ruby使えるサーバーがないだろうがよ。1はPerlをCGIだと思ってたぐらいなんだからさ、混乱を招くだけだし、レンタルサーバーとかフリーのサーバーでほかの人がつかえないだろが。
35 :
34は32なのか、32に対していってるのか。 :2000/05/28(日) 05:57
Tclにしましょう。
36 :
名無しさん :2000/05/28(日) 06:06
おいおいみんな勝手な事いうなよ 31のいうようにperlにしようぜ。暇なやつがCに変えていく事にしようや 今までのレス読んで 1.文字コードライブラリはeucにする 2.記述はperlにする 3.■ファイル入出力を管理する層 (大本で提供する (ファイルロックとかはこの層 ■掲示板のデータ構造を管理する層 (Perlの心得がある者がそれぞれ提供する (スレッドのソートや削除はこの層 ■htmlで見た目を管理する層 (設置者が好き好きにカスタマイズする (タグ関係はすべてこの層 こんな所ですがどうですか?
37 :
>33 :2000/05/28(日) 06:16
なぬーーー!
ruby を知らんのか。日本でプログラミングをやってる人間なら、
名前ぐらいは聞いたことがあるはずだと思っとったんだがなぁ。
そりゃ、Perl に比べたら知名度は低いと思うが。
ruby とは、まつもとゆきひろ氏が開発したスクリプト言語で、
(Perl と違って)純粋なオブジェクト指向言語である。
http://www.ruby-lang.org/ja/ これからプログラミングを始めるなら、間違いなく Perl じゃなくて
ruby を薦めるな。初心者じゃなくても、日本の Perl ハッカー達が
続々 ruby にかぶれてるぞ。人気は海外にも広がりつつある、
ように見える。
でも俺は Perl で行くけどな。ruby の水はきれいすぎて……
38 :
名無しさん :2000/05/28(日) 06:33
べつにperlでもいいんだけどさ。 普通と違うものじゃないとウリがないじゃん。
39 :
名無しさん :2000/05/28(日) 06:49
でもCだとコンパイルとかあるし rubyだとサーバーが限定されるからperlで行こうよ 他のところでウリをつければいいと思うけど
40 :
>38 :2000/05/28(日) 07:20
折れ串チェッカーの原理で、見に行って ポートが開いてたら投稿を弾くとか、 すごい機能を実装してください。
41 :
名無しさん :2000/05/28(日) 08:36
凄い機能というか、変わった機能もは欲しいなぁ。 目で確認できる機能だけじゃなく、内部処理にも拘りたいね。 >■htmlで見た目を管理する層 >(設置者が好き好きにカスタマイズする >(タグ関係はすべてこの層 私より凄い方がもっと居られると思うので、雛形作成部門に加わります。 はい。
42 :
>17 :2000/05/28(日) 10:30
> ○ログファイル名の命名方法 > スレッド(レス数)一覧表示のときに、いちいちファイルの中を読みに行く手間を > はぶくために、ログファイル名="スレッドタイトル.レス数" とする。 拡張子は.datなどで固定させておくべき。 よって、ログファイル名="スレッドタイトル-レス数.dat"を希望。
43 :
名無しさん :2000/05/28(日) 10:42
>42 そうですね確かに手間は省けるかもしれませんが 拡張子は.datとかで固定させておくほうが良いと思います
44 :
名無しさん :2000/05/28(日) 11:08
>36 素人質問で恐縮ですが「ファイル入出力を管理する層」とかありますが これはフォルダという意味になるんですか?そうすると基本的な物を置いてる下に 2つフォルダを作ってそこで ■掲示板のデータ構造を管理する層や■htmlで見た目を管理する層 などを作るってことになるんですかね? (私の意見としましては階層でわかれてたほうがログとか管理しやすいんですがどうなんでしょうか。 やっぱり同一層に全部あったほうがいいんでしょうか)
45 :
名無しさん :2000/05/28(日) 12:18
タイトル名をファイル名にしたら 「レスを全部読む」のクエリーが たいへんなことになるでしょ。 だからhttpからのブラインド化も兼ねて 「スレッド作成時刻-タイトル名-レス数.dat.cgi」 をきぼーん。…何文字になるんだ?
46 :
名無しさん :2000/05/28(日) 14:28
>スレッドタイトル-レス数.dat >スレッド作成時刻-タイトル名-レス数.dat.cgi これって、直接開けませんよね。readdir して、条件にあうファイルを探すってことですか? スレッド数が多くなるととても効率が悪いと思うのですが…。 それとも、そんなことしなくても良い方法があるのでしょうか。 教えてください(UNIXとかPerlにあんま詳しくないもので…)。
47 :
12 :2000/05/28(日) 15:23
各種設定は一つの設定ファイルで集中管理するのはどうですか? これなら Perl が書けない人でも気軽に書きかえられるし、 エラーチェックも楽かと。
48 :
12 :2000/05/28(日) 16:04
あ、カウンター付けるなら C で書きますよ。 専用コンパイル用 CGI スクリプト付きで。
49 :
名無しさん :2000/05/28(日) 16:10
>47 集中して管理するほうが楽だと思います 色々分散してくるとメンテというか改造というか色々と不便かと… やっぱしド素人はともかくperlが書けない人でもある程度簡単に書きかえられる ほうがいいと思います。
50 :
>46 :2000/05/28(日) 16:21
ふつうは「スレ連番@`更新時刻@`title@`レス数」で更新時刻でソートされた 管理ファイルを作って実際のログと同期させる。スクリプト組むのは 面倒だけど同期が外れない限りはたぶんこれがいちばん速い。 つか、あめぞう型じゃなくてもいいんでないかい? #見た目派手だけど、それだけに正直言ってここで共同作業で #作れるようなレベルじゃないよ。要求機能が多すぎるし、複雑。 #靴墨板以下のものができてもしょうがないっしょ? それに仕様から決めないとなんともならないよ。 俺的には、kentのlight board(あるいは初期のminibbs)並みの機能で 堅く組みなおしてみるとかのほうがよいと思うよ。目標もわかりやすいし。 それと、ファイル置き場欲しいね。
51 :
名無しさん :2000/05/28(日) 19:01
>50 そうだね。管理機能はつけたいからKENTのlightboardみたいのがいいですね。 基本はこれでいってみたいと思います。 >ALL ということで(ってどういうことだよ!!ってつっこみは無しね)KENTのlightboard並みの物を 目指して作る方向で行きましょう。(それ以上の物を目指してもいいですがいきなり最初からしなくても徐々にということで) 一応下の基本的な部分は決定ということにしましょう。 1.文字コードライブラリはeucにする 2.記述はperlにする 3.■ファイル入出力を管理する層 (大本で提供する (ファイルロックとかはこの層 ■掲示板のデータ構造を管理する層 (Perlの心得がある者がそれぞれ提供する (スレッドのソートや削除はこの層 ■htmlで見た目を管理する層 (設置者が好き好きにカスタマイズする (タグ関係はすべてこの層 lightboardとかのどこを強化したらいいとかあったらレスお願いします。
52 :
名無しさん :2000/05/28(日) 20:35
とりあえず、htmlファイル書き出し式かな。 ファイル名はindex.htmlにすればディレクトリの目隠しになる。 クッキーは2chのようにJScriptで処理しましょ。 環境設定はlightboardと同じくログファイルの1行目でいいと思う。 ファイル操作が減るし。 ログファイル名は拡張子cgiならログ見られないから平気かな? とりあえず誰が設置してもそこそこのセキュリティになると思う。 umaskでログファイルのパーミッション変えてもいいけど、 動かないとやばいしね。初心者はわかんないし。
53 :
名無しさん :2000/05/28(日) 22:04
>ふつうは「スレ連番@`更新時刻@`title@`レス数」で更新時刻でソートされた > 管理ファイルを作って実際のログと同期させる。スクリプト組むのは > 面倒だけど同期が外れない限りはたぶんこれがいちばん速い。 2chもこの方式だが、スレッド数が多いときに激しく書き込むと 管理ファイルが壊れるのが欠点。 一万スレッドとかなったら対応出来ないとおもう。
54 :
名無しさん>53 :2000/05/28(日) 23:11
壊れるのはロックの問題だと思うけど、まぁ壊れるときは壊れますね。 とりあえずうちはレス上限500、スレ上限500で縛ってますけど。 さすがに10000もあったら過去ログ逝きでしょう?
55 :
名無しさん :2000/05/29(月) 01:12
やっぱりファイルロック関係は強化しないとね でも5秒も待たないけど
56 :
名無しさん :2000/05/29(月) 15:09
うちで考えた中でもっとも速くて堅いファイルロック。 もっとええ方法あったら教えてください。 umask ( $file_permission ^ 0777); # ファイルを保存 sub WriteLockFile { local($filename@`$datfile@`$b)=@_; open(LOCK@`">$filename.lock") or die("Can't open lockfile"); flock(LOCK@`2); my($tmpfile)="$filename.$$".$b; open(TMPF@`">$tmpfile") or die("Can't open tmpfile"); print TMPF @$datfile; close(TMPF); rename($tmpfile@`"$filename$b"); close(LOCK); unlink($tmpfile); }
57 :
名無しさん :2000/05/29(月) 17:47
2ちゃんねるやあめぞうみたいに各書き込みを直接呼び出せるようにして欲しいっす。
58 :
age :2000/05/30(火) 10:24
いい企画なので埋もれてしまうのはもったいないからage
59 :
名無しさん :2000/05/30(火) 10:55
今のところ具体的なコードが出ないのは みんな待ち状態だから?? もっと具体案を出すべきなのかな?
60 :
↑ :2000/05/30(火) 13:54
出して下さい m(_ _)m
61 :
名無しさん :2000/05/30(火) 18:22
是非完成させてもらいたいのでage
62 :
>50 :2000/05/30(火) 20:42
63 :
名無しさん :2000/05/30(火) 20:55
>ALL 具体例ということですが、今までの物をまとめて骨組み(?)のようなものを作ってみたいと 思います。 1.文字コードライブラリはeucにする 2.記述はperlにする 3.■ファイル入出力を管理する層 (大本で提供する (ファイルロックとかはこの層 ■掲示板のデータ構造を管理する層 (Perlの心得がある者がそれぞれ提供する (スレッドのソートや削除はこの層 ■htmlで見た目を管理する層 (設置者が好き好きにカスタマイズする (タグ関係はすべてこの層 というのがおおまかな所ですが、今のところ「3」のところのファイルロックに関してのスクリプトを56さんが出してくれています。 これまでの経過で掲示板の詳細な部分がいまいち不明なのでここで確認みたいなものをしておきたいのですが、スレ式の掲示板を作るという事に なっておりますが、とりあえず掲示板を作ってそれを改造していくというのはどうでしょううか? 掲示板ができましたら、それを複数を扱う掲示板にしていくということにしたほうがいいと思うのですが・・・ 一応皆さん(私も含めてですが)みなさんが待ち状態だからだと思います。 とりあえずどういう物(スレ式or掲示板)を製作するかを詳細に決めましょう。
64 :
名無しさん :2000/05/31(水) 00:25
require 'jcode.pl'; &formdecode; if ($buffer eq "") { &allwrite; } else { &datawrite; } sub formdecode { @pairs = split(/&/@`$buffer); foreach $pair (@pairs) { ($name@` $value) = split(/=/@` $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg; $value =~ s/\n//g; &jcode::convert(\$value@` "euc"); $FORM{$name} = $value; } $value = $FORM{'value'}; #... #... #... } ほいよ、とりあえずヘッダとデコードくらいあげよう。 指針がまとまらない節があるからこの際デザインの変更可能な 2ちゃんねるクローンってのはどうよ? ルーチンの中にルーチン入れるのは邪道か?
65 :
64 :2000/05/31(水) 00:31
抜け、適当に挿入してくれ。 抜けとか挿入で変な事考えるなよ。 if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN@` $buffer@` $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; }
66 :
64 :2000/05/31(水) 00:35
2ちゃんねるクローンだったら最初の判定がスマートじゃないな。 if ($buffer eq "") { &allwrite; } elsif { $key ne "") { &spotwrite; } else { &datawrite; } とでもしておこう、一人で伸ばしてすまん。
67 :
64 :2000/05/31(水) 00:58
あー、もう、違うやん・・・ 真ん中の行書き込みじゃない判定しないと。 もうボロが出るから書かない。
68 :
名無しさん :2000/05/31(水) 01:59
lightboardのようなものでいいと思うよ。 で、ファイル入出力に関しては、 Initialize:ファイル関係の初期化 ReadFile:指定したファイル名で配列に読み込む。 WriteFile:指定したファイル名で配列に書き込む。 WriteOpen:指定したファイル名とハンドルで配列に読み込み、開いたまま返る。 WriteClose:WriteFileOpenで開いたハンドルに配列を書き込み、閉じる。 ログファイルがひとつならこれで十分だし、ロックをしっかりすれば大丈夫。 flockが使えない場合でも書式だけ合わせれば差し替えだけで済むし。 で、データ構造はとりあえず ArticleSplit:入力スカラーを投稿記事としてsplitし、ハッシュに格納する。 ArticleJoin:ハッシュを投稿記事としてjoinし、スカラーで返す。 EnvironmentSplit:入力スカラーを環境設定値としてsplitし、ハッシュに格納する。 EnvironmentJoin:ハッシュを環境設定値としてjoinし、スカラーで返す。 拡張したくなったらここを書き換えてフィールド増やせばOK。 これだけあれば基本的な方向は決まるんじゃないかな。
69 :
64 :2000/05/31(水) 03:20
ReadFileでファイル名で配列に読み込んでログファイルが一つ? そのチャートの法則が良くわからん。 ログファイルがが一つだと処理が詰まった時にロックで弾かれる 人が続出するからファイル分散は対処療法としては良いと思うけど。 ロックは書き込む時だけにしない? 読み込みエラーは良くある事、弾かれない&壊れないが重要かと。 あ、HTML書き出しだったよな、64-66で流したログ意味無しだ、 俺の出番は無いぜ、引っ込むよ。
70 :
素敵♪ :2000/05/31(水) 03:41
がんばって♪
71 :
名無しさん :2000/05/31(水) 05:03
そだね lightboardみたいのでいいと思いまっす。 あれ結構便利だから(Web上で設定変更できたりとか色々)
72 :
68 :2000/05/31(水) 06:16
flockだと共有オープンですよ。実験してみてくださいな。 わたしも実際に実験したのは56を書いたときでしたけどね。 もっとも速くて堅いロックだと言ったのは 別に理由無しというわけじゃないんですよ。 ファイル構造はlightboardと同じってことです。 実物みたらすぐわかります。
73 :
名無しさん :2000/05/31(水) 06:33
ファイルのアップ場所も出来たみたいなので何か上げてみようかと・・・ でも大した知識がないのでlightboardの改造したものを上げてみようかと 超基本的なものですが・・・ その中で知識のある方が ファイルのロック関係や ファイルの管理 データの管理 などに手を加えていっていただきましょう。 とりあえずsjisをeucにするくらいからやろうかと・・・
74 :
名無しさん :2000/05/31(水) 07:44
ところで、jcode.plでそのままeuc化しただけだと sjisの半角カナはどうするの? 2ちゃんねらーだったら絶対使うでしょ?
75 :
名無しさん :2000/05/31(水) 11:19
open(IN@`">log.txt"); while(1) {print IN"三枝師匠\n"; }
76 :
世界標準BBSの為に :2000/05/31(水) 16:46
age
77 :
名無しさん :2000/05/31(水) 18:58
士気がさがってきてるな・・・
78 :
名無しさん :2000/05/31(水) 22:43
perlの二大難問。ファイルロックと漢字コードの問題に結局いきつくよね。 静的なHTML化するつもりのようですが 一回の書き込みごとに、マルチスレッド表示HTMLと単一スレッド表示HTMLを更新かけるわけですよね。また、HTMLとログファイルを別に持つのなら、それをまず更新するのですね。 しかし、ファイルロックが大きな問題になりそうなので、一度の書き込みで更新するファイルをなるだけ少なくしませんか。 で、まず自分から意見を言うと... 静的なHTMLファイルは一切作らない。 たとえ、単一スレッド表示HTMLだけでも静的なHTMLを生成したとしても、レスを全部読むときにしか呼び出されない。最新レス100とかするとやはりcgiを呼び出さなければならない。 スレッド単位でログファイルを生成。 ----------------------------------------- 清原を漢字2字で表してください。 1\t名無しさん\t2000/05/31(木) 00:00\t荷物 2\t名無しさん\t2000/05/31(木) 00:00\t客人 3\t名無しさん\t2000/05/31(木) 00:00\t未遂 4\t名無しさん\t2000/05/31(木) 00:00\t処分 5\t名無しさん\t2000/05/31(木) 00:00\t来年 ----------------------------------------- 先頭がスレッドタイトル 以下、記事ひとつが一行になる。 トークンとして、タブ(\t)を使う。 ブラウザ上でのタブはフォーカスの移動に使われているので、textareaやINPUT TYPE=textにタブが入力されることは難しいが、エディタからのコピーペーストでタブを入れられる可能性もあるので、64のforeachループの中でs/\t/&nbsp;/g としてスペースに置換しておく。 ソース無しでロックの問題を話していてもハマリそうなので まず、ログの持ち方を決めませんか。
79 :
名無しさん :2000/05/31(水) 22:48
>65 >if ($ENV{'REQUEST_METHOD'} eq "POST") { >read(STDIN@` $buffer@` $ENV{'CONTENT_LENGTH'}); >} else { >$buffer = $ENV{'QUERY_STRING'}; >} postが使えないサーバを使っているサイトスペースはどこにあるのか 具体的に教えてください。 read(STDIN@` $buffer@` $ENV{'CONTENT_LENGTH'}); この一行で充分じゃないか?
80 :
名無しさん :2000/05/31(水) 23:25
78.79に同意します。 あと、64のルーチンだと改行コードが\r\nの時があれだから foreach $pair (@pairs) { ($name@` $value) = split(/=/@` $pair); $value =~ tr/+/ /; $value =~ s/%0D%0A/\n/g; #ここ追加ね $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg; $value =~ s/\n//g; #ところで改行をすべて抹殺する意味は? &jcode::convert(\$value@` "euc"); $FORM{$name} = $value; }
81 :
ぴょん基地 :2000/05/31(水) 23:26
削除を、削除することによって実装しようとするから大変なのさ〜
82 :
名無しさん :2000/05/31(水) 23:29
ていうか、あめぞう型とノーマル(?lightboard風)を 一緒にやってもしょうがないんで、別スレ立てませんか?
83 :
名無しさん :2000/05/31(水) 23:49
じゃあこっちではlightboard風ということで良いかな?
84 :
名無しさん :2000/05/31(水) 23:52
ところで、2chがやたらとInternal Server Errorを吐く 原因って何ですかねぇ? 重くなったら増えるので、 もしかしてdieでエラー処理してる?
85 :
名無しさん=17=78=79@`今作ったよ。 :2000/06/01(木) 02:49
#!/usr/bin/perl # スクリプトは euc で記述しています。 # 表示は静的なHTML(=ログファイル)です。 # 最初はログが無いので、まず light.cgi(755) を実行してください。 # bbs.html が light.cgi と同じディレクトリに出来ます。 # 以降、bbs.html にアクセスしてください。 # タグ不可、URL自動リンク、ログはたまっていく一方です。 # ファイルロックは一切かけておりません。 # ファイルの更新はプロセスナンバーを含めたテンポラリィファイルを作成し # リネームしています。 # # 作成者(名無しさん@一周年) require './jcode.pl'; $TITLE ='light BBS'; $HTML_FILE='bbs.html'; $CGIFILE ='light.cgi'; $TMP_FILE = 'tmp'.$$.'.cgi'; $HLFILES = '/|.html|.htm|.shtml|.asp|.cgi|.txt|.lzh|.zip|.gif|.jpg|.jpeg|.bmp|.ram|.ra|.rm|.wav|.au|.vqf|.vql'; if ( ! -e $HTML_FILE ) { open( LOG @` ">$HTML_FILE" ); print LOG '<HTML><HEAD><TITLE>'@`$TITLE@`'</TITLE><META HTTP-EQUIV="Pragma" CONTENT="no-cache"></HEAD><BODY text=white bgcolor="#000020" link=red vlink=red alink=red>'@`$TITLE@`'<hr color=blue><FORM METHOD="post" ACTION="'@`$CGIFILE@`'" >お名前:<INPUT TYPE="text" name="name" size="15" value="">メール:<INPUT TYPE="text" name="mail" size="15" value=""><INPUT TYPE="submit" value="カキコ"><br><TEXTAREA name="msg" rows=5 cols=70 wrap="OFF"></TEXTAREA></FORM>'@`"\n"; print LOG '</BODY></HTML>'; close (LOG); } else { read(STDIN@` $buf@` $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/@`$buf); foreach $pair (@pairs) { ($name@` $value) = split(/=/@` $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg; &jcode'convert(*value@`'euc'); $value =~ s/&/&amp;/g; $value =~ s/</&lt;/g; $value =~ s/>/&gt;/g; $value =~ s/"/&quot;/g; $value =~ s/\t/ /g; $value =~ s/\r/\n/g; $value =~ s/\n\n/\n/g; $value =~ s/\n/<br>/g; $FORM{$name} = $value; }
86 :
名無しさん=17=78=79@` >85のつづき :2000/06/01(木) 02:50
$msg =$FORM{'msg'}; $msg =~ s/((http|ftp):\/\/[!#-9A-~]+($HLFILES))/<a href="$1" target=_blank><font color=white><b>$1<\/b><\/font><\/a>/g; $name=$FORM{'name'}; $name='名無しさん' if (!$name); $mail=$FORM{'mail'}; $name = '<a href="mailto:'.$mail.'">'.$name.'</a>' if $mail; if ( $msg ){ ($sec@`$min@`$hour@`$mday@`$mon@`$year@`$i@`$i@`$i) = localtime(time); $mon++;$year+=1900; $date = sprintf ( "%4d/%02d/%02d %02d:%02d:%02d" @` $year@`$mon@`$mday@`$hour@`$min@`$sec ) ; $text = '<b><font color=red size="-1">'.$name.'</font><font color=orange size="-1">('.$date.')</font></b><br>'.$msg.'<br>'."\n"; if (open(TMP@`'>'.$TMP_FILE)){ if(open(FH@`$HTML_FILE)){ $head=<FH>; print TMP $head; $line=<FH>; $line =~ /(.*?)./ ; $num=$& ; print TMP ++$num.'.'.$text; print TMP $line; foreach (<FH>){ print TMP; } close FH; close TMP; rename $TMP_FILE@`$HTML_FILE ; } else {close TMP;} } } } print "Content-type: text/html\n\n"; print '<HTML><HEAD><META HTTP-EQUIV="Refresh" CONTENT="0;URL=./'@`$HTML_FILE@`'"></HEAD><BODY></BODY></HTML>'; exit;
87 :
名無しさん :2000/06/01(木) 07:05
インデント無いと読みにくいな・・・(^^; なんかいい方法無い?
88 :
名無しさん :2000/06/01(木) 07:30
86のログの書き出し方だとほぼ同時に2件来たときは 片方の投稿が消滅しませんか? 素直にロック使って open($FH@` ">>$HTML_FILE"); ・・・ とやるのはダメでしょうか? 当方未熟者なので的はずれだったら申し訳ありませぬ
89 :
88 :2000/06/01(木) 07:31
スミマセン。ファイルハンドルの前に$が混入してました(^^;
90 :
名無しさん :2000/06/01(木) 10:58
えっ! どこ?
91 :
名無しさん :2000/06/01(木) 12:40
インデントは全角スペースを使用する。
92 :
名無しさん :2000/06/02(金) 03:01
93 :
A :2000/06/02(金) 04:58
>88 同時書き込みがあると危険のような気がする・・・ 同じく、PerlCGIの未熟者ではありますが
94 :
名無しさん :2000/06/02(金) 05:04
あれっ? 何か変だよ? ファイルがうまく落とせない。
95 :
A :2000/06/02(金) 05:18
002.xxxを右クリック →名前をつけて対象をファイルに保存
96 :
perl初級 :2000/06/02(金) 14:03
以前私が作っていた掲示板とここで話し合われている掲示板は コンセプトが似ている気がします。 ついでに私が作ったものについても批評、アドバイス等、頂けないでしょうか? ファイル置き場の方に勝手にアップロードしておきますので。 (unbalance.cgi)
97 :
名無しさん :2000/06/03(土) 15:42
止まっちゃってるのは惜しいあげ。 85、86であげられていたファイルを落として試しに設置しようとしたけど 素人故に動かせなくて悔しいあげ…。
98 :
名無しさん :2000/06/03(土) 21:39
私も実行できない なぜじゃ?
99 :
>96 :2000/06/03(土) 23:29
closeする前にflockを解くとファイルが破損する。 closeすると勝手に解けるので閉じるときにflockは要らない。
100 :
:2000/06/06(火) 01:44
101 :
perl初級 :2000/06/06(火) 03:42
close 前のflock を外してみました。
102 :
名無しさん :2000/06/06(火) 08:20
いいスレッドになると思ったのに、なんだか死に体……
103 :
>97、98 :2000/06/06(火) 08:21
動いてます。ローカルで。 jcode.plとPerlのパスくらいしか設定無いような……。
104 :
>97@`98 :2000/06/07(水) 04:21
Prohosting にあげても動いているよ。 同じディレクトリにjcode.plはあるか?
105 :
動いてないひと :2000/06/07(水) 07:38
jcode.pl置いてるけど、だめなのだ。 って、こういうことでこのスレッドを汚すのは本意じゃないです。 ささ、続けてください。
106 :
103 :2000/06/07(水) 09:35
>こういうことでこのスレッドを汚すのは本意じゃないです。 汚してないと思うけどなあ。 期待して見ている人が居る事を知って欲しいしね。 私はスクリプトを書けないので見てる(動かす)だけです。 誰かの書いたスクリプトを、汚いとか見難いとかいう書き込みがありますよね? ここでお手本になるようなスクリプトが出来るのではないかと思っているのですが……。かつてのスタンダード、MiniBBSは改造再配布が基本的に認められていません。今後のスタンダードになるような著作権フリーの掲示板スクリプトが2chから生まれないかと期待しています。 でも難しいでしょうね。参加者は何の得も無い。名を上げる事も無い。 Q これからPerlを学んで掲示板を作りたいのだが、どうすれば良いのか? A まずは名無しBBSのスクリプトを読め。 質問者が名無しBBSをエディタで開くと、次の様な一文が刻まれていた。 「制作、著作、名無しさん 但し、この瞬間から全ての著作権を放棄する」
107 :
名無しさん :2000/06/08(木) 14:26
CGIの著作権を放棄した場合、 他の誰かがその著作権を主張することは免れないのでしょうか? >識者の方 著作権フリーのCGIを公開しようと考えてるんですが。
108 :
>107 :2000/06/08(木) 15:15
GPLにすれば?
109 :
名無しさん :2000/06/10(土) 15:09
age
110 :
>107 :2000/06/10(土) 23:07
こういう中、あえて著作権を主張してみては...?
111 :
名無しさん :2000/06/12(月) 16:20
age
112 :
>107 :2000/06/13(火) 01:30
日本の著作権法だと著作権を放棄することはできなかったような…(うろ覚え) 改造・再配布・その他一切の行為を認めます、とかしておけばよいのでは?
113 :
名無しさん :2000/06/13(火) 02:56
2chの総力を結集すれば、世界最強の掲示板ができるはず。 このプロジェクト応援してるのでがんばれage。
114 :
名無しさん :2000/06/13(火) 10:08
(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ? (゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ? (゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?(゚Д゚)ハァ?
投稿内容の中で、3つ以上の文字で構成される文字列の5回を越える 繰り返しを5回に置き換えるにはどうしたらいいのかな。
それ妙案 > 115 だれかPerlの正規表現で書いて?
117 :
名無しさん :2000/06/14(水) 22:39
つーか頑張れ。1はどうした。 このまま半端に埋もれさせるなよ。ちょっと期待してんだ。
118 :
提案君 :2000/06/16(金) 16:03
2ch型のBBSを想定しての提案だけど。 いっそのこと一つのメッセージの長さを1024Byte程度の固定長に制限して、 ディスクアクセスを高速化しないか。どうせ荒らし対策の為にメッセージの 最大長は制限されるんだし、ディスク領域は余ってるんでしょ。 1メッセージ 1KB として、1スレッド平均100メッセージ、ボードあたり 1000スレッドで、ほんの100MB。無駄な領域が多いとしても大した事 ないでしょう。 2chを超えるならこれしかない。
フリーのサーバでcgi使えて100MB使っていいところなんて そうそう無いと思うが?
120 :
提案君 :2000/06/16(金) 21:07
>119 フリーならね。 容量が足りないなら過去ログを捨てるなり、ローカルに保存するなり すればいいんじゃないの。それに100メッセージ1000スレッドって 膨大な量だよ。一日100メッセージで1000日分だよ。Perl、CGI板は そこまでいってないでしょ。フリーのサーバを借りてちまちまやる 程度なら、20MBもあれば何ヶ月でも持つんじゃないかな。
121 :
名無しさん :2000/06/16(金) 22:27
>提案君 1024バイト長固定、ベリナイスだと思うです。 ちょっとその線で進めてみたい感じ。 >115 こうかも…。違うかも。 $aho =~ s/(.{3@`}?)\1\1\1\1+/$1$1$1$1$1/;
結局、賛同者一名か。やはりこのスレは死んでるな。 >121 なんか出来たら報告してください。私はただの提案君なんでお手伝いは できませんが。
123 :
名無しさん :2000/06/19(月) 01:47
提案君に期待age
124 :
名無しさん :2000/06/19(月) 03:06
どうせやるなら市販品のデータベースを使うべきですが まどうでもいいです
125 :
提案君 :2000/06/19(月) 10:34
>124 >どうせやるなら市販品のデータベースを使うべき それはちょっと大袈裟でしょう。お金の問題、設置の難しさ、プロセス間通信 のオーバーヘッドなど。小規模ならファイルで十分じゃないかな。事実2chは 生ファイルで、これだけの規模のサイトを運営してるんだから。 問題は大きいけど。 で、その問題を少しはマシにしようかなという提案だったわけです。 実際、固定長にしたからといって速くなるかは保証出来ないけど、期待は できるよね。今より速くなればそれで十分じゃないかな。 そういう訳で、Perl のエキスパートの皆さん、期待してます。 え、おまえがやれって? 私は口だけの提案君ですから。
126 :
名無しさん :2000/06/19(月) 13:56
1000レスのスレッドが約1MBのファイルになっちゃうよ。 読み込むにしても1000回システムコール?するのか、 それとも1MBをRAMに読み込むのか、どちらにせよ鯖にはかなり厳しい。 基本は書き込み、更新時に重い処理をすべてやって、読み込みは 負荷を減らす。靴墨板や2chの最新10レスのキャッシュファイルも、そう。 固定長レコードにしてもキャッシュファイルには勝てない。 #もちろん書き込み時の処理負荷は別として。
127 :
提案君 :2000/06/19(月) 17:14
>>126 >読み込むにしても1000回システムコール?するのか、
>それとも1MBをRAMに読み込むのか、どちらにせよ鯖にはかなり厳しい。
これは何か誤解があるような。一スレッド一ファイルなら読み込み時のシステム
コールは今までと同じはず。読み込むメッセージ数がわかれば seek して
メッセージ数×サイズだけ read すればいい。但しクラスタギャップと無駄な
領域(パディング)があるから、必ずしも最小限のアクセスで済む限らないが、
全部読む必要は無い。
固定長のメリットとは、只のファイルをランダムアクセス出来る事だと思う。
「>>番号」機能ができたようだが、2chで5000レスのスレッドから2853番目のレスを
探し出すのはどうやってるのだろう。全部読み込んで改行を数えてるのだろうか。
また削除も効率が良い。同じ大きさのあぼーんメッセージで上書きすればいいだけ。
スクリプト上ではたいした違いじゃないが、ファイルシステムレベルでは効率が
全然違う、はず。
キャッシュメモリをいかに上手に使うかが鍵というのには同意。だが現実問題として
ディスクアクセスがボトルネックなのだから、なるべく負担にならないデータ構造
として固定長レコードを提案しているのです。
128 :
名無しさん :2000/06/19(月) 18:12
#1000回分割してメモリ浪費を減らすか、それとも1回で読んで #メモリを浪費するかって意味なんだけど、そう読めませんか。 たしかに、100万レスのスレッドから最新100を取り出すなら、 固定長レコードのほうがいい。それは間違いないだろう。たぶん。 #まぁ最新100「だけ」なら後ろから読めばいいけど。 でも、運用レベルとして10〜100レスの域で考えるなら、 呼ばれるリクエストは大半が「レス全部」か「最新100件」のいずれかだろう。 このレベルでは、固定長レコードは、csvの約3倍の量のファイル読み出しと 4倍のメモリを消費するだろうと概算できる。もちろんメモリの浪費は ディスクスワップを誘発するだろう(unixはよく知らんが)。 CPU負荷を回避しようとしてファイルシステムに負荷をかけるという 本末転倒な対処法だといいたいわけ。納得できないならベンチマークでも 作ってみてくださいな。それで固定長レコードのほうがスコアがよいとなれば、 それはあなた自慢していいと思うよ。
ろくに読んでないからぜんぜん噛み合ってないや。ごめん。 >納得できないならベンチマークでも作ってみてくださいな。 これだけでいい。
perlでは普通に読むとバッファリングされるから、 全レス表示でのシステムコール数なら、 今までの方が少ないと思うよ。
131 :
名無しさん :2000/06/19(月) 18:50
話題としては2chの様な「あめぞう型」大型掲示板の方が楽しめるのかも
しれませんが、2ch以外流行ってる所ありますかね。
個人的には自分のサイトに設置出来るようなシンプルで荒らし対策の
施された掲示板に興味があります。
1の人、もう飽きちゃったんでしょうか?
とりあえず現在までの成果です。
http://xbbs.virtualave.net/2ch-perl/up/ こちらの方も進んでいくと嬉しいなあと思います。
便所の落書きにしておくには惜しいと思うので。
132 :
>131 :2000/06/19(月) 18:53
検索エンジンでさがせばあるでしょ。
133 :
>132 :2000/06/19(月) 19:10
んな事言ったらスレッド終りでしょうが。 2chみたいなスクリプトも色々あるしね。 114〜116の様な話は掲示板ならではですよ。 質問スレッドばかりじゃ詰まらないと思わないかい?
134 :
名無しさん :2000/06/19(月) 20:23
>#1000回分割してメモリ浪費を減らすか、それとも1回で読んで >#メモリを浪費するかって意味なんだけど、そう読めませんか。 これは誤解だな。固定長なら(連続していれば)一回で必要なだけ読める。 >このレベルでは、固定長レコードは、csvの約3倍の量のファイル読み出しと >4倍のメモリを消費するだろうと概算できる。もちろんメモリの浪費は >ディスクスワップを誘発するだろう(unixはよく知らんが)。 メモリに読み込んだら当然、パディングは捨てるからメモリ消費は変わらない筈だが。 メモリ上でセクタ単位に整列する必要はどこにも無いんだから。当然、キャッシュ効率も 変わらない、はず。 >CPU負荷を回避しようとしてファイルシステムに負荷をかけるという >本末転倒な対処法だといいたいわけ。 書き込みは、どんなに小さなデータでも必ずディスクアクセスを伴うよね。1回1KB だろうがその3分の1だろうが、クラスタ単位で。これはタイ。 読み込みは最新10件で比べると、(クラスタサイズ4KB) 固定長 最良3、最悪4クラスタ。10件含まれている事は読む前に決定している。シークは 1回で済む、事が期待できる。 可変長 最良1、最悪?(5〜6)。読み込んで調べなければ10件あるか判らない。常に最悪 を予想して多めに読むか、足りなかったら読み足し。シークとサーチをもう一回。 一回の読み込み量が増えれば増えるほど可変長が有利になる。しかしそれは転送量も 増えることを意味する。ユーザーが、必要な量のデータを選べるようなインターフェイス との組み合わせで、固定長レコード式を提案する。
135 :
提案君 :2000/06/19(月) 20:33
134は私。もちろん >128。 >納得できないならベンチマークでも作ってみてくださいな。 だから私は口だけ提案君なの! >130 すいません、全部読む場合システムコール数は同じだと思うんですが。 読み込み量が増えて遅くなるのは確かだけど。
136 :
名無しさん :2000/06/19(月) 21:10
2chデータの大きさ(%)
ロビー
1K:49.651568
2K:15.505226
3K:8.972125
4K:5.313589
5K:4.355401
6K:2.439024
7K:1.567944
8K:0.871080
9K:1.045296
10K:1.480836
11K:0.435540
12K:0.783972
13K:0.783972
14K:0.087108
15K:0.435540
16K:0.783972
17K:0.261324
18K:0.261324
19K:0.348432
20K以上:4.094077
批判要望
1K:74.414414
2K:7.747748
3K:4.144144
4K:3.063063
5K:2.342342
6K:1.261261
7K:0.720721
8K:0.540541
9K:0.540541
10K:0.540541
11K:0.540541
12K:0.360360
13K:0.000000
14K:0.180180
15K:0.360360
16K:0.180180
17K:0.000000
18K:0.360360
19K:0.360360
20K以上:1.261261
unix
1K:47.891892
2K:16.864865
3K:11.135135
4K:4.864865
5K:3.783784
6K:3.135135
7K:2.162162
8K:1.297297
9K:1.081081
10K:1.405405
11K:0.432432
12K:0.864865
13K:0.216216
14K:0.216216
15K:0.216216
16K:0.432432
17K:0.108108
18K:0.108108
19K:0.324324
20K以上:2.486486
http://****.2ch.net/****/dat/ からのデータより。
137 :
>135 :2000/06/19(月) 21:20
読む量が大きくなればシステムコール数は 大きくなると思いますが。
138 :
名無しさん :2000/06/20(火) 20:02
age
139 :
>106 :2000/06/21(水) 02:52
140 :
名無しさん :2000/06/24(土) 22:34
age
141 :
? :2000/06/26(月) 23:03
期待あげです。
142 :
名無しさん :2000/06/27(火) 10:16
とりあえずシンプルなものを作って、それをみんなの提案で 変えていくというのはどうかな? このままだと議論ばかりで進まない。
143 :
名無しさん :2000/06/28(水) 10:12
出来るといいな。
144 :
>143 :2000/06/28(水) 10:57
もう無理です。
145 :
名無しさん :2000/06/28(水) 18:21
楽しみに待ってる
146 :
>136 :2000/06/28(水) 18:46
単位略すなよ。それとお前有効数字知ってるか?とことん無学だな。 自分の無知をさらけ出してるよ。ヤバヤバ。
147 :
>142 :2000/06/28(水) 19:31
148 :
名無しさん :2000/06/29(木) 11:53
$| = 1; これって指定すると早くなるの? サーバーに負担はかからないの?
149 :
名無しさん :2000/06/29(木) 11:58
age bo-nn
150 :
>147 :2000/06/29(木) 12:35
ログを配列に一気読みしてるから、メモリを食うと思う。
151 :
>146 :2000/06/29(木) 16:16
%って書いてあるでしょう? もしかしてKのことを言ってるのかな? apacheが吐き出してるリストが??Kって出してるから そう書いただけだけどね。 有効数字ってなに? まあ、ただ計算機で割算しただけだから、 好きなところで四捨五入してください。
152 :
名無しさん :2000/06/29(木) 16:45
136は級の数が多すぎるのも不適当だよな。これでは分布が読みにくいな。彼は 統計の初歩の初歩さえも知らないようだ。
153 :
>151 :2000/06/29(木) 16:47
四捨五入と丸めは違います。
154 :
>153 :2000/06/29(木) 16:56
文句を言うなら自分でやってください。
155 :
>152 :2000/06/29(木) 19:11
級の数って何?
156 :
名無しさん :2000/06/29(木) 19:22
要はほとんどが小さいデータで、 固定長にしたらもっとディスクアクセスが増えるってことだな? 細かい事気にして、関係ない発言をするのは控えるように。
157 :
名無しさん :2000/06/29(木) 21:56
関係無いかどうかは書いてみないとわからない。 というのはさておき、 ファイルに追加して書きこんでいくだけならば、 固定長でも可変長でもディスクアクセス量は変わらないのでは? 固定長だとディスク容量を余計に食うから 固定長にする必要はと思う。
158 :
>155 :2000/06/29(木) 22:30
人に聞く前に自分で調べろ
159 :
>157 :2000/06/30(金) 09:38
書き込みのディスクアクセスより、 読み込みのディスクアクセスの方が多いに決まってるでしょうが
160 :
はじめて読んだけど :2000/07/01(土) 14:38
微笑ましい展開のスレだ… とりあえず、固定長レコードはやめておいた方がいいと思うよ。 理由はすでに128に書かれている通り。
161 :
名無しさん :2000/07/02(日) 17:10
あげ
162 :
名無しさん :2000/07/03(月) 05:26
163 :
名無しさん :2000/07/03(月) 08:52
>162 FFFTPのコマンド入力ってtelnetなの?
164 :
>163 :2000/07/03(月) 10:54
わかってるくせにそういう聞き方するのっていぢわる(w
165 :
>164 :2000/07/03(月) 12:05
馬鹿発見
166 :
名無しさん :2000/07/03(月) 14:02
>162 レンタルサーバでないのならそのようなことはやめたほうが無難です
常駐は専用サーバでも借りてやりましょう。 共用サーバでやると、他の利用者に大変迷惑です。
168 :
163 :2000/07/03(月) 19:44
>164 FFFTPを触ったことがないので、そういう便利な機能があるのかなと マジ聞きだったんだけど。
169 :
>168 :2000/07/03(月) 20:22
はあ?君、サーバとは何かが全然わかってないよ。 telnetを操作するにはtelnetサーバが必要なのを知らないの? telnetサーバはftpとは何ら関係ないだろ
170 :
165 :2000/07/03(月) 20:25
>169 なんだ、こいつも馬鹿じゃん(ワラ
171 :
名無しさん :2000/07/03(月) 20:26
>169 知識自慢君発見。 しかも自慢している知識がさほど出ないから通常よりレベルが低いと 推察されます
172 :
>169 :2000/07/03(月) 20:55
一つのプログラムが、ftpとtelnet(あるいはrsh/sshとか)の両方のclientを 同時に兼ねることも、できるのですよ。 168は、FFFTPってそういう便利な機能を持った アプリケーションなんですか?と質問したわけですね。 162が設置するサーバで、ftp以外のサービスが提供されてるかどうかは よくわかんないけど、それは163の質問とはあまり関係ないですね。
173 :
163 :2000/07/03(月) 22:55
>172 通訳ありがとう。 OEの話題で「ニュースグループはメールサーバと何ら関係ないだろ」 NCの話題で「メールはhttpサーバとは何ら関係ないだろ」とか言われた気分ですわ。 まあ本筋とは関係ないし自分で試してみればいいので忘れてください。 162さんに助け船を出すなり諭すなり掲示板作りに戻るなりしてください。
174 :
名無しさん :2000/07/03(月) 23:05
・
>>162 -173までの問題点
良くスレッドを見ないで質問した162がまずい。
・解決策
質問するときは場をよく見極めると良い。
175 :
162 :2000/07/03(月) 23:42
要するにFFFTPのコマンド入力ではなく、 TELNETを使いなさいということなのですね。 分かりました。関係ない質問でごめんなさい。
(´ー`)
177 :
がんばれ :2000/07/10(月) 00:15
あげ
178 :
名無しさん :2000/07/23(日) 09:57
hage
179 :
名無しさん :2000/08/15(火) 06:59
age
180 :
名無しさん :2000/08/15(火) 07:33
ageばっかじゃん。 どうせなら、改めて 1 から仕様を明確にしてやり直したらどう? それで、リーダーやりたい人がスレッド立て直す。 1 で仕様をすぐ見られるようにしとかないと無理だよ。
181 :
名無しさん :2000/08/15(火) 07:51
じゃ、続けることが可能かどうか話し合いませんか。 続けるならその方法も。
182 :
名無しさん :2000/08/16(水) 12:08
GPL
Webの掲示板レベルで共同開発ってのがそもそも無理だよ。 規模が小さすぎて結局全部自分で書いた方が良いだろうってことになる。
184 :
名無しさん :2000/08/19(土) 00:04
なんかすでにこのスレッドだいぶ下がっていますが、こういうのを作ってみました。
http://ryan.sys.i.kyoto-u.ac.jp/~tokuda/news2web.cgi?nntpserver=news.mio.org&topcategory=datula INN
http://www.isc.org/products/INN/ のゲートウェイです。
利点は、ニュースの利点がそのままこの掲示板で使えること。
たとえば、クロスポスト(投稿先の複数指定)や Followup-To: により、フォロー先の掲示板を指定できることなど。
サーバーの負荷が大きくなってきた場合は、innd の動いているサーバの数を増やしたり、news2web.cgi を動かす
サーバの数を増やすことで対応できます。
ただ、ふつーのニュースリーダと違って、一度読みこんだメッセージをローカルに置いておくことができないので、
リロードするたびにニュースサーバから記事を読み込まなければなりません。そのへんがどういうことになるか
ちょっとわかりません。
また、いまはまだ web2news.cgi は作っていませんので、投稿はできません。
あと、スレッド表示もできません。さらには次のページを表示するという
基本的な機能もついてません。
その辺はこれから付け加えていこうと思っています。
また、サーバマシンがとても貧弱(P166@`メモリ32MB)なので、すぐに落ちてしまうかもしれません。
あと、無許可で news.mio.org のニュースサーバに接続させてもらっています。
この場を借りて、お礼申し上げます。(そんなんでいいのか)
使い方は、上から順にニュースサーバ、トップカテゴリ、ニュースグループを選んでいきます。
ニュースグループを選んだ時点で、最近の記事を10件表示します。
記事中の URI および メッセージ ID はクリックできます。
これからやりたいことは、
web2news.cgi の作成
スレッド
MIME マルチパートの対応
X-Face
X-PGP-Sig
などです。どうでしょう?ソースいります?汚いですけど。(にわかPerl書きなので)
UI がわかりづらいので出直してきます。すみませんでした、、
188 :
名無しさん :2000/10/28(土) 12:09
システム入れ替え時に INN の expire.ctl を書き換え忘れてしまい、 すべてのメッセージが消えてしまってます。すみません。 おかげでオフラインモードのバグが発覚しました。 # Diablo II にはまっているので、最近ぜんぜん更新してません、、
190 :
あげ :2000/11/25(土) 14:59
あげ
くずは系(日時参照可能)機能とかあると便利かも。 あ、あくまでも2ちゃん系板じゃないときね
>>189 INN と Diablo の単語が同時にあるけどゲームのDiabloだよね?
まちがえた
195 :
通行人@今までの流れ要約お願い。 :2000/12/13(水) 22:30
どっかで進捗みれるのでしょうか?
196 :
名無しさん :2000/12/16(土) 03:50
age
197 :
名無しさん@ミドリ電気 :2000/12/21(木) 06:00
198 :
名無しさん :2000/12/21(木) 06:07
この計画はもう駄目だな!消滅!
199 :
5号@2ch掲示板PJ :2000/12/21(木) 10:57
誰かが大本の部分を作って、付加機能は全部モジュールで実装しましょう。 今さらだけど、折角だからC言語で書いた方が良いと思うな。 んじゃおれは「5号@2ch掲示板PJ」と呼んでくれれば参戦します。 得意技:C言語。CGIできまふ。
200 :
名無しさん :2000/12/28(木) 18:50
age
201 :
名無しさん :2000/12/28(木) 19:18
ついでにおれもage
202 :
名無しさん :2000/12/29(金) 20:24
誰か作って
5号@2ch掲示板PJさん、頑張れ!
204 :
hc2ivan@Emacs :2001/01/03(水) 15:16
205 :
5号@2ch掲示板PJ :2001/01/03(水) 15:30
お、呼ばれた。 チャットの仕様きぼんぬ。
206 :
5号@2ch掲示板PJ :2001/01/03(水) 15:30
あれ、掲示板を作るのか?
207 :
5号@2ch掲示板PJ :2001/01/03(水) 15:32
じゃぁシリーズにしよう。 ○○けーじばん、○○ちゃっと。
208 :
5号@2ch掲示板PJ :2001/01/03(水) 15:33
というわけで、 掲示板とチャットの仕様きぶんぬ。
209 :
仕様 :2001/01/03(水) 17:43
板 : 速い@` 可愛い@` RSA暗号化機能 Webチャット : 興味ない
210 :
名無しさん :2001/01/03(水) 22:14
>>209 RSAでcryptすることになんの意味が?
(煽りじゃないよ)
211 :
209 :2001/01/04(木) 00:48
>>210 何の意味が。それは暗号化という行為の意義を問われたのか。
RSAを使う意味なら、9月でフリーになったから。
作ってくれたらレジストするよ(´ー`)ノ
212 :
210 :2001/01/04(木) 01:02
そうそう。なにを、どうして、暗号化したいのかが わかんない。書き込み者のIPとかか?
213 :
209 :2001/01/04(木) 01:48
・ログの本文を ・黙秘権ひとつで難局を乗り切るために ・誰もが手軽に間違いなく使えるように ・可逆式の保証された方式で暗号化したい って漢字。 暗号化するのは重要な投稿だけ。 ログ自体が暗号化されていれば運営者による資材提供も無力化できるし 用途は多いね。バイナリなら板上でISH->RSAなんてこともできる。
>用途は多いね。 いや、別に誰も要らないけどね。
215 :
210 :2001/01/04(木) 03:51
寝酒で酔っている(しかも、それでも眠れない)せいかな、わかんねえ(爆) だって、掲示板でしょ。 表示する(=復号する=秘密鍵もサーバーにおいとく)んじゃないの? RSAみたいな公開鍵暗号を使うメリットないと思うけど。。。 こういう仕組み(結局のところ、秘密鍵暗号)であれば、 >ログ自体が暗号化されていれば運営者による資材提供も無力化できるし こんなメリットは生じない。だって復号できるんだもん。 Webサイトに閉じたメール(っていうのかな、出会いサイトとかで よくあるじゃん、メールアドレス不要のWebメールもどき)だったら 話もわかるけど。 ・・・うーむ、分からん。 #わかれば、お詫びにモジュールぐらいなら作ります。 #あたまわるくてスマソ。
216 :
209 :2001/01/04(木) 06:39
>>215 スクリプトは生の公開鍵とMD5(一方向性関数なら何でも可)で暗号化
された秘密鍵を持ち、暗号化スイッチがONの投稿を受け付けると公開鍵
を使って暗号化しログとして保存する。
参照時には利用者が管理者から内密に聞いた秘密鍵を入力。スクリプト
は入力の秘密鍵をMD5で暗号化して手持ちの暗号化済み秘密鍵と照合し、
一致したらば入力の秘密鍵を使ってログを復号する。
>表示する(=復号する=秘密鍵もサーバーにおいとく)んじゃないの?
サーバに置いてあるのはMD5でハッシュした秘密鍵。
ハッシュしてあっても秘密鍵をサーバに置くのが不安ならこれを消して、
照合フェーズを略して最初から入力の秘密鍵で復号を試みても深刻な問題
は起こらないけども。何でも通すから処理の外観が醜くなってしまうま。
217 :
210 :2001/01/04(木) 13:21
なるほどね。閉じた掲示板なのね。 で、BBSのログをサーバー管理者(「運営者」@213) が読めないようにしたいって事か。 (とはいえ、CGIの入出力をトラップされたらおわりだけどね) それならCrypt::OTPあたり(秘密鍵暗号)をつかって、 入力pwdをMD5でチェック+暗号・復号に入力pwdを利用する ってやりかたでもOKかなあ。 おれ的には、メールで、PGPでやれば?という感じだけども、 需要があるのかしらん。
218 :
5号@2ch掲示板PJ :2001/01/04(木) 20:52
じゃぁ、中間を取って暗号化するやつも組み込めるということにしましょ。 で、人間に分かりやすい形の httpd.conf みたいな設定ファイルで モジュールを組み込んだり、全ての設定が出来るようにしましょう。 でもアクセスの度に設定ファイルをparseするのはムダだなぁ。 誰かいい方法を・・・。
219 :
ppXp :2001/01/04(木) 22:42
誰のために作るのかを明確にしたら? FTPソフトが使えてパーミッションをちょっと理解してる初心者のためなのか 見ばえの何から何まで変更したい人のためなのか。とか。
220 :
5号@2ch掲示板PJ :2001/01/04(木) 23:29
>>219 両方です。
その様な初心者の為に、プログラムを転送するだけでも設置できる様にし、
また上級者にも便利なようにモジュールで様々な機能を追加できたり、
細かな設定や表示の書式形式を自由に設定できたり・・・
221 :
209 :2001/01/05(金) 01:03
>で、BBSのログをサーバー管理者(「運営者」@213) >が読めないようにしたいって事か。 ちなうちなう。運営者に見られても構わないしうちの運営者は好きだよ。 運営者が捜査に協力しろと言われた時、資材を出して心が痛くないように 暗号化しておくの。 >とはいえ、CGIの入出力をトラップされたらおわりだけどね まあ経路にsnifferひとつ置かれりゃ終わりだし、RSAもSSLも信用してないね。 誰か一人でも秘密鍵をメモ書きして机に置いてればそれで終わりだし。 >おれ的には、メールで、PGPでやれば?という感じだけども、 それは掲示板やめてMLにすればと同義では? 全員に自分のKEYと別にこのための共有KEYを持たせてML化するのは現実的 じゃないし、そこまで重要なことは個別にしか言えないよ。
222 :
5号@2ch掲示板PJ :2001/01/05(金) 01:17
>>221 一体何をRSAで暗号化してWEB掲示板に置きたいの?
>>221 どうも用語が特殊な気がする。
管理者=BBSの管理者
運営者=サーバー管理者
資材=BBSログ
ってこと?
>運営者が捜査に協力しろと言われた時、資材を出して心が痛くないように
>暗号化しておくの。
というのと、
rootがBBSのログを読めない(解読できない)というのと
どう違うの?
またわからなくなってきた。(;_;)
225 :
名無しさん :2001/01/06(土) 19:18
ずいぶんしたにきてしまった・・・ 板で作るのは無理だからここは役割を分担してやってみない?
226 :
5号@2ch掲示板PJ :2001/01/07(日) 00:05
227 :
:2001/01/07(日) 03:19
じゃあ、漏れが仕切るよヽ(´ー`)ノ
228 :
ヽ(`Д´)ノ :2001/01/07(日) 03:22
では、漏れが仕切る。
229 :
(ρ_;) :2001/01/07(日) 03:23
漏れも。
230 :
名無しさん :2001/01/08(月) 01:41
じゃんけんで決めろ
231 :
名無しさん :2001/01/08(月) 01:56
漏れは、グー。
232 :
名無しさん :2001/01/08(月) 02:12
漏れ、ちょき
233 :
名無しさん :2001/01/08(月) 02:13
後だしで負けんなよ(藁
234 :
名無しさん :2001/01/08(月) 02:16
ほんじゃパー
235 :
名無しさん :2001/01/08(月) 02:18
もう勝負ついたよ。 231の勝ち!
236 :
名無しさん :2001/01/08(月) 02:22
あいこになったんで、最初からね
237 :
231 :2001/01/08(月) 02:37
つうか、真面目に作りましょ。 漏れは、ちょき
238 :
名無しさん :2001/01/08(月) 03:02
じゃあ、まず。 #!/user/bin/perl
#!/usr/bin/perl の間違い スマソ
240 :
名無しさん :2001/01/08(月) 03:04
#!/usr/bin/perl じゃないとやだ!
241 :
名無しさん :2001/01/08(月) 03:04
>238 /userっていう鯖(OS)あるの? ネタですか?
242 :
名無しさん :2001/01/08(月) 03:07
mv /usr/ /user/
相談・雑談・ボケ・ツッコミはsageでやってくれたまへ。 下がってもちゃんと見てるからさ。
244 :
名無しさん :2001/01/08(月) 15:37
宣伝スレ&駄質問スレにsageられてウザイので age age age age age age age age age age
>一体何をRSAで暗号化してWEB掲示板に置きたいの? ん?具体例を述べると何かの役に立ちますか? >rootがBBSのログを読めない(解読できない)というのと >どう違うの? root自身が読めても読めなくてもどちらでも良い。ということ。 問題は以前Yahoo!に対してされた強制捜査のようなものですわ。 自分が何もしていなくても一連のwebsiteが一斉捜査の対象になることはあるし、 それを理由にプライベートフォトのURIが流出したら恥ずかしいでしょ。 隠しても認証かけてもユーザディレクトリごと持って行かれたら終わりだから。
あーつまり、rootは味方であるという前提に立っています。 年賀状書いたかい?私は書いたよ。
247 :
名無しさん :2001/01/09(火) 01:35
>>245 >ん?具体例を述べると何かの役に立ちますか?
思いつかないだけだろ(藁
248 :
210 :2001/01/09(火) 01:59
うーむ。209のためだけに作るんじゃないんだからさ、
君と君のサーバーのrootの関係はどうでもいいのよ、別に。
要するにroot権限でも読めないようにしたいのね?ってことが
言いたかったわけ。それでいいのかな?
#209の読解力がないのか、おれの国語力がないのか。。。
#おれの表現が下手なんだろな。すまねえ。
rootが味方(=root権限でよめてもいい?)という前提であれば
暗号化することはないでしょ。
話の流れで、そこらへんがごちゃごちゃになってるから
利用が想像できないんだよ。
おれも、
>>222 @`247も。
で、上でじゃんけんしてたひと、早くしきってくんねえかなあ。
>で、上でじゃんけんしてたひと、早くしきってくんねえかなあ。 まだ決着付いてないよ
250 :
209 :2001/01/09(火) 04:43
>うーむ。209のためだけに作るんじゃないんだからさ、
なら聞くなって。
こちらは最初からレジストすると言ってるんだし、なら210は誰に対する
「お詫びに作る」と言ったんだよ?
個人の用途を知ることの方がどうでもいいんじゃないの。
仲間内にしか見られたくないものを暗号化するに決まってるんだからさ。
>要するにroot権限でも読めないようにしたいのね?
「root権限で読めない」
とはパーミッションを指すのかね。権限の指すものが他に思いつかない。
ってかrootの読めないファイルがあるなら教えて欲しいね。
是非暗号化なんて手法を使わないでそちらを採用したい。
>rootが味方(=root権限でよめてもいい?)という前提であれば
>暗号化することはないでしょ。
つまり、
>問題は以前Yahoo!に対してされた強制捜査のようなものですわ。
>自分が何もしていなくても一連のwebsiteが一斉捜査の対象になることはあるし、
>それを理由にプライベートフォトのURIが流出したら恥ずかしいでしょ。
という一文がまとめて理解できないということなのかね。
強制捜査の権利を持つ可能性のある団体なんて国にひとつしか無いんだよ。
>話の流れで、そこらへんがごちゃごちゃになってるから
なってないと思うが。主張は
>>213 からひとつも変わってない。
だいたい鯖缶に読まれたくないなんて一言も書いてないよ。
つまり、鯖缶が警察にログを提出しろと言われた時に、 暗号化されてりゃ読めないから、鯖缶は良心の呵責なくログを渡せるつーこと? まあ、何にせよIP厨みたいな被害妄想だけど。 違法行為がしたいならともかく、強制捜査でプライベートフォトのURIが 流出することを恐れてBBSに暗号化機能まで求めるなんて、開いた口が塞がらん。
>違法行為がしたいならともかく、強制捜査でプライベートフォトのURIが >流出することを恐れてBBSに暗号化機能まで求めるなんて、開いた口が塞がらん。 いいかげんつまらんネタにマジレスしないで欲しい
253 :
名無しさん :2001/01/09(火) 05:15
>まあ、何にせよIP厨みたいな被害妄想だけど。 PGPモナ
254 :
210 :2001/01/09(火) 06:42
読解力無くてすまん。 もっと読解力のあるひとにつくってもらってくれ。
255 :
DolBacky :2001/01/09(火) 09:13
モジュールで切る場合の例(C言語共通) WRITE: ・環境変数の読み込み&解析 ->フォームの取得 ->cookieの取得 ->接続元の特定 ・データの検証 ->ホストの検証 ->欠損データの検証 ・情報の加工 ->フォーム情報をログ形式に変更 ->ログの書き込み ・サブジェクトI/O&変更 ->サブジェクトの読み込み ->サブジェクト順列の変更 ->サブジェクトの書き込み READ: ・メインページの構築 ->サブジェクト解釈 ->ログファイル読み込み ->メインページ吐き出し ・閲覧補助系統 ->ログ閲覧スクリプト ADMIN: ・掲示板情報設定ツール作成 ・投稿削除ツール作成
256 :
DolBacky :2001/01/09(火) 09:24
主な問題点と解決難易度: ・ログファイル破損(☆ ・サブジェクトサイズによるメモリ使用量増大(☆ ・ログサイズによるメモリ使用量増大(☆☆ ・サブジェクト操作におけるCPU負荷(☆☆☆ ・メインページ作成全般の負荷(☆☆ サブジェクト操作は構造的にCの方が高速であると思われるが、 Cで組んだ場合でもI/Oまわりで遅延が生じる可能性、大。 (これが、フロート型掲示板にまとわりつく命題のひとつかも) ログファイルを1本にまとめようとした場合、 末尾までの参照(orリストのリバース)は避けられず、これもまた問題点。 固定長ランダムアクセスに解決策を見いだすこともできるが、 速度と引き替えにディスク容量と柔軟性を失ってしまう。 あと、これは2ちゃんねるに特化した問題かも知れないけれど、 サーバ稼働率よりトランスファーがボトムネックになっちゃうことも。。。
257 :
DolBacky :2001/01/09(火) 09:43
エレガントかどうかは別として、「こういうのもある」という提案だけ。。。 ログ本体はCSVでも何でも良いとして、各投稿の位置情報だけを固定長にまとめたインデックスを作る。 察しが良い人ならおわかりの通り、これで「サイズ・速度」共に優れたものが・・・できるかも知れない。 位置情報がint(4BYTE)でいければ、1000レスでも4000BYTEの付加情報ですむ。。。
258 :
neocityの常連 :2001/01/09(火) 09:48
>>257 「ネオシティ」っていう掲示板を無料で貸しだしているところで
その方式をとっているという話を聞いたことがあります。
ネオシティの掲示板を書いている人に協力を求めればいいかもね。
誰か代わりにアポ取って下され。
えっと、サイトのURLは、
ttp://www.neocity.to/treebbs/ です。敢えてリンクはしません(藁
259 :
DolBacky :2001/01/09(火) 09:55
>>258 良い実例ですね。それをフロート型に応用できれば、現在の2ちゃんに勝てると思います。
261 :
DolBacky :2001/01/09(火) 10:31
>>260 一応、呼称がない時に作られた(と言われる)言葉みたいです。
これを呼ぶにはこの言葉しかない・・・といった程度ですね。
262 :
anonymous :2001/01/09(火) 10:50
>>261 おお、どるばっきだ。2ch のスクリプト書いた人ですよね?
263 :
neocityの常連 :2001/01/09(火) 11:10
>>260 解説ありがとうございます。
フロート型とインデックス情報を別途用意する方法を融合させれば
大変面白みのあるプログラムになりそうですね。
>>261 えっ!2chの掲示板を書いた人なの!?
凄い人に出会ったなあ。とりあえず崇拝 m(_ _)m
265 :
むぎ茶 :2001/01/09(火) 15:42
バックエンドは inn それでいいじゃん フロントエンドはお好きなように。
266 :
弐ch編者 :2001/01/09(火) 15:48
ファイルの中の位置情報を記録する別ファイルをいれるのね ふむふむ、なるほど perlでできっかな
267 :
名無しさん :2001/01/09(火) 15:58
>>265 そういやこのスレにもINNで作ってた人がいたねえ
>>184 -187
今なにしてんのかな・・・。
268 :
名無しさん :2001/01/09(火) 17:23
>>267 Diablo II ヤリまくってるんだろうよ。きっと。
269 :
弐ch編者ファン :2001/01/09(火) 18:30
>弐ch編者さん このスレッドを背景に記念撮影して画像をUPして下さい。 お願いします〜
たまたま見たらこのスレ上がってますね、、
>>268 ちょっと時間が取れなくなってきたので、、すみません。
# Diablo II はすぐに飽きました。。
271 :
名無しさん :2001/01/09(火) 23:43
ファイルロックに関してすばらしいアイデアを思いついたのですが聞きたいですか?
272 :
弐ch編者 :2001/01/10(水) 00:56
ファイルロックに関してすばらしいアイデアを 俺もおもいついたのですが聞きたいですか?
275 :
名無しさん :2001/01/10(水) 05:34
むぎ茶の宣伝は、UZEEEEEEEEEEEEEEEEEEEEEEEEEEEEE! おめえの耳は節穴か?はあ?
276 :
名無しさん :2001/01/10(水) 09:27
(´∀` ) (´∀` )(´∀` ) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´∀` )(´∀` )(´∀` ) < さっさと掲示板作れゴルア (´∀` )(´∀` )(´∀` )(´∀` ) \_____________
277 :
名無しさん :2001/01/11(木) 06:42
マジで作りましょう。
278 :
適当に上にあったのをコピペ :2001/01/11(木) 13:35
#!/usr/bin/perl # スクリプトは euc で記述しています。 # 表示は静的なHTML(=ログファイル)です。 # 最初はログが無いので、まず light.cgi(755) を実行してください。 # bbs.html が light.cgi と同じディレクトリに出来ます。 # 以降、bbs.html にアクセスしてください。 # タグ不可、URL自動リンク、ログはたまっていく一方です。 # ファイルロックは一切かけておりません。 # ファイルの更新はプロセスナンバーを含めたテンポラリィファイルを作成し # リネームしています。 # # 作成者(名無しさん@一周年) require './jcode.pl'; $TITLE ='light BBS'; $HTML_FILE='bbs.html'; $CGIFILE ='light.cgi'; $TMP_FILE = 'tmp'.$$.'.cgi'; $HLFILES = '/|.html|.htm|.shtml|.asp|.cgi|.txt|.lzh|.zip|.gif|.jpg|.jpeg|.bmp|.ram|.ra|.rm|.wav|.au|.vqf|.vql'; if ( ! -e $HTML_FILE ) { open( LOG @` ">$HTML_FILE" ); print LOG '<HTML><HEAD><TITLE>'@`$TITLE@`'</TITLE><META HTTP-EQUIV="Pragma" CONTENT="no-cache"></HEAD><BODY text=white bgcolor="#000020" link=red vlink=red alink=red>'@`$TITLE@`'<hr color=blue><FORM METHOD="post" ACTION="'@`$CGIFILE@`'" >お名前:<INPUT TYPE="text" name="name" size="15" value="">メール:<INPUT TYPE="text" name="mail" size="15" value=""><INPUT TYPE="submit" value="カキコ"><br><TEXTAREA name="msg" rows=5 cols=70 wrap="OFF"></TEXTAREA></FORM>'@`"\n"; print LOG '</BODY></HTML>'; close (LOG); } else { read(STDIN@` $buf@` $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/@`$buf); foreach $pair (@pairs) { ($name@` $value) = split(/=/@` $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C"@` hex($1))/eg; &jcode'convert(*value@`'euc'); $value =~ s/&/&/g; $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/"/"/g; $value =~ s/\t/ /g; $value =~ s/\r/\n/g; $value =~ s/\n\n/\n/g; $value =~ s/\n/<br>/g; $FORM{$name} = $value; }
279 :
適当に上にあったのをコピペ :2001/01/11(木) 13:35
$msg =$FORM{'msg'}; $msg =~ s/((http|ftp):\/\/[!#-9A-~]+($HLFILES))/<a href="$1" target=_blank><font color=white><b>$1<\/b><\/font><\/a>/g; $name=$FORM{'name'}; $name='名無しさん' if (!$name); $mail=$FORM{'mail'}; $name = '<a href="mailto:'.$mail.'">'.$name.'</a>' if $mail; if ( $msg ){ ($sec@`$min@`$hour@`$mday@`$mon@`$year@`$i@`$i@`$i) = localtime(time); $mon++;$year+=1900; $date = sprintf ( "%4d/%02d/%02d %02d:%02d:%02d" @` $year@`$mon@`$mday@`$hour@`$min@`$sec ) ; $text = '<b><font color=red size="-1">'.$name.'</font><font color=orange size="-1">('.$date.')</font></b><br>'.$msg.'<br>'."\n"; if (open(TMP@`'>'.$TMP_FILE)){ if(open(FH@`$HTML_FILE)){ $head=<FH>; print TMP $head; $line=<FH>; $line =~ /(.*?)./ ; $num=$& ; print TMP ++$num.'.'.$text; print TMP $line; foreach (<FH>){ print TMP; } close FH; close TMP; rename $TMP_FILE@`$HTML_FILE ; } else {close TMP;} } } } print "Content-type: text/html\n\n"; print '<HTML><HEAD><META HTTP-EQUIV="Refresh" CONTENT="0;URL=./'@`$HTML_FILE@`'"></HEAD><BODY></BODY></HTML>'; exit;
あめぞう型にするんだったよね?確か(´ー`)
281 :
名無しさん :2001/01/12(金) 04:43
>>280 その辺があやふやですな
どうすんの>ALL
282 :
名無しさん :2001/01/12(金) 13:02
あげろおおおおおおおおおおおおおおおおおお
人任せなやつが多すぎて不可能ですな。
284 :
名無しさん :2001/01/12(金) 13:39
>>280 >>281 核となる部分はどのような形であっても同じモノになるはずだから、
まず単純なminibbs型を作ればいいのではないか?
あめぞうも元々はminibbsを改良したモノだったし……。
285 :
名無しさん :2001/01/12(金) 15:07
ここにソースをコピペするのは辛いぞー 誰かが代表になってWEBスペース用意して 集中管理してくれると有り難いなぁ
287 :
名無しさん :2001/01/12(金) 21:43
>>286 2chを嫌っているから、没。
誰か同じようなのを設置すれ。
288 :
anonymous :2001/01/12(金) 23:09
289 :
名無しさん :2001/01/13(土) 00:11
WebCVS
290 :
名無しさん :2001/01/13(土) 03:54
>>288 DolBackyさんが管理してるみたいだし、
そこ使わせて貰いましょう〜☆
291 :
ヽ(´ー`)ノ :2001/01/13(土) 16:37
292 :
サゲ茶づけ :2001/01/13(土) 17:40
293 :
名無しさん :2001/01/14(日) 03:41
たんにリンクしただけじゃんか。
294 :
ヽ(´ー`)ノ :2001/01/14(日) 15:55
295 :
サゲ茶漬け :2001/01/14(日) 15:59
>>294 スヴァラシイ!
このスレで大筋を決めながら各自がソースをUPしましょう〜☆
296 :
名無しさん :2001/01/14(日) 16:36
あやしいわーるど って。。。
297 :
名無しさん :2001/01/14(日) 22:20
とりあえず、今までこのスレに書いてきた人たちは 説明とかも加えつつソースをアップしていただければと、、
298 :
名無しさん :2001/01/16(火) 18:46
ログ記述方式はどうするの? スレッドごとにログを作成していては、その順番を書き記すログファイル(以下Aとする)も用意しなくてはいけない。 そうなると親記事の投稿とレス記事の投稿が重なった時にロックしててもAは壊れてしまう危険性が… 誰かアイデアおくれぇ。
そういう時はlogファイル2つにして サイズの大きい方に。。。
301 :
サゲ茶漬け :2001/01/17(水) 05:16
302 :
名無しさん :2001/01/17(水) 05:44
スレ違いみたいだが聞いても良い? レンタル掲示板(有料)借りたのだが勝手にログを消されてるんだが。。。 どうもパスを探られたみたいで。。。 それって借りてる所に聞いたら誰が荒らしてるのか解らないのか? せめてホストとアクセスした時間とか スレ違いでスマソ。。。でも腹立つんだ
303 :
名無しさん :2001/01/17(水) 05:51
たぶん、サーバーのログは残ってるだろうし、 気が利いたとこなら、管理者用CGIのログを のこしてるでしょう。 かね払ってるんだし、相談してみたら?
304 :
名無しさん :2001/01/17(水) 21:13
>302 不正アクセス防止法違反 事件になるよ
305 :
名無しさん :2001/01/17(水) 21:35
まさしくスレ違いだな、でも解決してよかったね。 ところでもっとオモシロイソ−スないの?
306 :
名無しさん :2001/01/17(水) 22:38
>302 JP-BBSはそういった掲示板荒らしに関する事はノ−タッチだよ。 規約に記入してある。ただパスは替えてくれるよ。 スタイスシ−トが使える掲示板ってない?
ない
見事な スレ違いレスかわし でございました。
309 :
名無しさん :2001/01/18(木) 03:58
>>306 > スタイスシ−トが使える掲示板ってない?
どういうタイプが必要かい?
310 :
ねたろ :2001/01/18(木) 22:10
>>298 1スレッド1ファイルにしたら?
それで上げ下げの管理をするインデックスファイルを作る。
311 :
ねたろ :2001/01/18(木) 22:16
スマソ 答えになってないね。
312 :
ねたろ :2001/01/18(木) 22:37
ここでソース書くよりも、設計を話し合った方がいいね。 設計が決まったら、1人日でかけるよね。
313 :
名無しさん :2001/01/18(木) 22:45
もうどっかフリーのところから借りようぜ。
315 :
ねたろ :2001/01/19(金) 01:15
>>313 借りたい人は借りればいいけど、
このスレは雨贈型掲示板の設計をして楽しむところだろ。
316 :
313 :2001/01/19(金) 01:42
>>315 掲示板を作る目的だが、なかなかまとまらず
まだまだ進展中でこれからって所なのに、借りようぜ
っていうギャグだったのだがそこまでマジレスされるとかなわんな。
もっと
>>314 のようなギャグのわかるやつに見て欲しかった。
それだけさ。
317 :
ほういち :2001/01/19(金) 12:30
ちょっとだけ参加表明しときます。 1スレ1ファイルはここ(2ちゃんねる)みたいに1つのスレッドに レスが大量につく場合は効率がいいと思うけど1つのスレに数個しか レスがつかない場合は非効率かと。 1ページに20個のスレを表示するなら20個のファイル開かないと いけないですから。 でも、書きこみの時の効率は1スレ1ファイルが軽そう。 もし僕が作るなら *スレッド数の上限を決めてレスも含めて1ファイルに全部押しこむ。 (例えば名称data.dat 上限スレ数200スレとか。1スレに平均9個のレスが ついたとして投稿データ量平均150バイトだと200スレで300kb弱) *1レコードに1スレの記事を全部書きこむ *上限を超えない間はdata.datに書きこみ、上限を超えたら一番下のスレを 過去ログファイルの一番上に(例 log1.dat log2.dat ...に移す) *そのスレがdata.datにある間は自由追記、age、sageできる。 *過去ログに追いやられた時点で追記できない。当然age@`sageできない。 データフォーマット スレNO<>タイトル<>投稿者<>メール<>本文<>レス1投稿者<>レス1本文<>レス2投稿者<>レス2本文<>・・ あくまで小規模のサイトに使用する事が前提でデータはテキストで保存の場合で考えてます。 2ちゃんねる級の投稿数ならSQL使ったほうがいいのではないかと思いますので。 ※僕の技量だと1人日では読み書きの基本的な部分だけしか作れないと思います。
318 :
ねたろ :2001/01/19(金) 13:59
>>316 ねたでしたか。
あまりにもひねりがないのでネタだとは気がつきませんでした。
失礼失礼
319 :
海坊主 :2001/01/19(金) 14:08
>>317 データファイルフォーマットですが、
スレをたてるときの項目数とレスの項目数が違うので、
■ スレッド最初の記事
[スレをたてた時間のタイムスタンプ」.dat
timestamp\tタイトル\t投稿者\tメアド\t記事内容\tIP\n
■ レス
[おやスレのタイムスタンプ]-res.dat
timestamp\t投稿者\tメアド\t記事内容\tIP\n
.....
でいかがでしょうか。
で、インデックスファイルは
index.dat
レスをたてた時間のtimestamp\n
timestamp\n
....
timestamp.datとtimestamp-res.dat を順番通り読み込んで、
記事表示、
320 :
海坊主 :2001/01/19(金) 14:09
新スレをたてると、 index.datの一行目にtimestampを追加 上げの時はそのスレのtimestampを一番上に追加して、もとの行を消す。 さげのときには、なにもしない。
321 :
海坊主 :2001/01/19(金) 14:11
という風なのを作りました。ここでみなさんのご意見をお伺いして、 改善していこうと思います
>>317 どうかと。
書き込み時にHTMLに構成させる時点読み込み処理は終わってるし。
ページロードするときにも常に動的な仕草させるならまだしも(それでもちょっと賛成できんが)。
323 :
名無しさん :2001/01/19(金) 16:09
まだやってんのかこのスレ
324 :
ピンク :2001/01/19(金) 22:05
赤とピンク大好きっ(はあと
325 :
ほういち@317 :2001/01/19(金) 23:48
>322 >書き込み時にHTMLに構成させる時点読み込み処理は終わってるし。 ごもっともです。index.html吐き出すからあんまり関係ないのは わかってたのですよ。 ただ、なんか気持的にスクリプトが何百ものファイルを勝手に作るのは 好きじゃなくて。簡単な構成にしとけばいじる人もいじりやすいし、 サポートもしやすいし。 上に書いたのはあくまで自分が使う為に自分で作るならっていう事です。 逆に1スレ1ファイルにした時のメリットはどういう点でしょうか? スレッド数の上限が大きくとれる事、あと特定のスレッドを指定しての 全レス表示が多少速いかもしれませんね。
326 :
ねたろ :2001/01/20(土) 00:16
1スレ1ファイルか、1板1ファイルか。 一度に何百ものファイルをいじることはないと思うから、1スレ1ファイルでいいのでは。 両方の利点を使うのがいいかも。 たとえば、1ヶ月以上レスがつかないスレッドとか、レスが300以上越えたスレッドを、 あーかーぶとして、1ファイルにして読み込み専用にするとか。 そうすると早さとファイルの数のバランスがとれるね。 もちろん、アーカイブはもちろん、gzね、
327 :
ねたろ :2001/01/20(土) 00:28
それに、1レス1ファイルの方が、「簡単な構成」だと思う。 ファイル操作しやすいし、 たとえば、4番目のスレッドを表示するときに、データファイルの中を いっぱいシークしなければ逝けないでしょ。 1スレ1ファイルだったら、そこら辺が単純でいいと思う。
328 :
名称未設定 :2001/01/20(土) 23:30
1記事1ファイルはどうよ。1度生成されたファイルは読み込みだけだ からこわれない。 あぼーんは、ファイルごと削除。
329 :
名無しさん :2001/01/21(日) 02:58
yahooって1記事1ファイルぽいよね?
330 :
名称未設定 :2001/01/21(日) 20:41
1 はどうした?
331 :
名称未設定 :2001/01/22(月) 00:02
>>329 たぶんね。でもインターフェイスのデザインからは想像できないね。
332 :
名称未設定 :2001/01/23(火) 01:35
age
333 :
名称未設定 :2001/01/24(水) 12:33
age
334 :
サゲ茶漬け :2001/01/24(水) 22:40
age
sage
336 :
名無しさん :2001/01/31(水) 01:23
hhhh
337 :
名無しさん :2001/01/31(水) 18:39
ちゅうかYahooの掲示板もログをファイルで持ってる ようなローテクなやつなん? てっきりデータベース使ってるのかと思ってた。
>>337 そら、つかってるんじゃない?
ファイルで持つのは面倒だし。
339 :
廃墟の名無しさん :2001/02/01(木) 02:48
どこまで出来たのか。
340 :
名無しさん :2001/02/01(木) 03:57
NDBMでそれっぽいのを作ろうかと思案中
341 :
名無しさん@Emacs :2001/02/02(金) 23:30
16の方式に従うならログファイルの形式は 別になんでもいいのでは? とりあえず適当な実装しておいて あとからその層を取り換えればいいわけだしさ. ■ファイル入出力を管理する層 (大本で提供する (ファイルロックとかはこの層 今必要なのはモジュール間の インターフェースを定義することでしょうか.
342 :
名無しさん :2001/02/10(土) 00:41
このスレには期待してるんだぁ 漏れはcgiさわりたてだからなにもできんが、頑張ってくれ 応援age
343 :
ほういち :2001/02/11(日) 12:52
とりあえず1スレ1ファイル方式で作りかかってるけど・・・ 見たいですか??
344 :
名無しさん :2001/02/11(日) 13:39
>>343 みたいみたいよ
結局だれかが元作らないとだめなんで
いっちょお願いします
345 :
ほういち :2001/02/12(月) 12:22
とりあえず、一応動作するとこまでできた。 機能は全然ないです。書けて表示できるだけ。 ダメな見本にしかならないと思うけどべースがなんもないより ましと思うので発表しようと思うのですが・・ どっかにソース上げれる板があったと思うのですが、どこでしたっけ?
346 :
a :2001/02/12(月) 22:26
まだまだ勉強中だけどもじゅーる作ってみた・・・。
348 :
ほういち :2001/02/14(水) 06:28
349 :
名無しさん :2001/02/14(水) 11:31
350 :
名無しさん :2001/02/14(水) 12:09
>348 ダウンロードして動かしてみました。 いいなぁ、ページの沢山あるノートみたいです。 私もPerl覚えます…。
351 :
_gunzip :2001/02/14(水) 13:56
>>450 フォローどうも。
やっぱり、? - : - を二回使ったのが悪かったのかなあ。
>>451 overrideredirect(boolean)を使うと、一応の目的は達せられるかと。
>「Perl/Tk Perlで簡単GUIプログラミング」という本を片手に
この本には、p.272に記述があります。
----------
#!/usr/bin/perl -w
use Tk;
$mainWindow = new MainWindow();
$mainWindow->overrideredirect(1);
MainLoop;
----------
ただ、これですと当然ながらCTRL-Cで殺す以外に終了する
術がありませんので、
$mainWindow->Button(
-text => "Exit"@`
-command => sub {exit(0)}
)->pack();
なんかをつっこんでおくといいかも。
--------------------
参考:
perldoc -m Tk::Wm
--------------------
>>348 同じくへぼへぼ。 349 のところに上げました。
↑スレ違いです。申し訳ないです。 (かちゅーしゃ等であぼ〜んしてください....うう)
354 :
名無しさん :2001/02/14(水) 14:11
>>348 http:// ○○.××/bbs/bbs.cgi?bbs=perl&mode=make
にアクセスしてもファイルが作成されない・・・・
早速ダウンロード(コピペ?)したよ。 今日は眠いからソース見るのはちょっとまってね。
356 :
ほういち :2001/02/14(水) 21:18
>350 ノートみたいですか? ほとんど2ちゃんねると同じなんですけどね。 デザインは2の次なんでテーブル使ってないからかな? あと背景色も画像もないからかも? perlは簡単と言えば簡単ですよ。奥は深いですけど。 僕のレベル位ならすぐ追い付けます。 >347 へぼへぼなんですか?あれが・・・ 高度すぎて使い方がわからないです・・・ むーーー、こないだモジュール本買って 勉強してるんですが・・・さっぱり。 脳みその限界です。 >_gunzipさん かちゅーしゃって何ざましょ? >354 あらら・・何かエラーメッセージ出ます?? それとも一見正常に動作したように見えるけど ファイルが作成できてないのでしょうか? ・・・さっき気がついたのですが、ログ生成ディレクトリの パーミッションは707でないとダメみたいですね。 書き込みだけだから実行属性は不要のような気がしたのですが・・ ちょっとバージョンアップしてみましたのでそちらで 試してもらえればと思います。 (初期設定方法がちょっとややこしくなってます)
357 :
ほういち :2001/02/14(水) 21:22
358 :
名無しさん :2001/02/14(水) 22:01
359 :
358 :2001/02/14(水) 22:03
sumannsumnn kakipe-zimatigaeta. sarabazya.
スレッドファイルをおくディレクトリをホストに作って、 そのパスを test.cgi の my($dir) = で始まる行の、 : の後ろの ../logdir というところに書き換えてください。 # ? の後ろはローカルのテスト用のディレクトリ名です。 次に、上で作ったディレクトリを 777 にして、以下のファイルを 置きます。 ・base.loc ロック用のファイル。空のファイルでいい。 ・thread.dat デフォルトのスレッドタイトルファイル(インデックスファイルとも いう?)。こちらも空でいい。 これでたぶん動くと思います・・・。
361 :
名無しさん :2001/02/15(木) 10:13
age
362 :
名無しさん :2001/02/15(木) 22:32
age
363 :
名無しさん :2001/02/16(金) 15:42
age
いい加減、ここに来る途中の山川えりかちゃんで 抜いちゃった川瀬君に1票。
365 :
名無しさん :2001/02/19(月) 13:42
>361-363 何となく気持ち分かるよ。 いや、何となく…。
366 :
355 :2001/02/19(月) 23:43
遅くなってすまん。 ソースさらっとだけど読んだよ。 ほういちに感謝。 まず、今後の方向性として どういう掲示板にするのかってのを決めないとな。 読んだ感想では、今のままでもういいじゃんって思うんだよね。 アイディアないな俺。 ログファイルは解析しやすいフォーマットにしておく方がいいんじゃない? わかりにくくする利点なんてあるのか? XML使えればいいんだけどね。 各地に板が増えてきたら、スレッドファイルだけをかき集めて ヘッドラインページ作ったりできるな。 この辺昇華させておもしろいことできないかな。
367 :
ほういち :2001/02/20(火) 00:46
>366 どもです。 ログファイルの件なのですが、なんでいろいろ考えてるかというと、 IP記録の件と投稿者削除の件なのです。 オープンにしてしまうとIPアドレスを記録した場合(もちろん記録 しないモードも作りますが)バレバレになってしまうんですよね。 それと、投稿者が削除できる機能も望む人は多いと思うのですが、 そうなるとログファイルに削除キーを入れるのが一番簡単なのですが、 暗号化しても単純なパスワード入れられると解読されてしまうし・・ それで悩んでるって訳です。 もちろん、オープンにしたほうがいろいろ楽しいのはおっしゃる 通りなのですけどね。 あと・・・XMLはちんぷんかんぷんです・・・
368 :
ほういち :2001/02/20(火) 00:59
それで・・・掲示板スクリプトの方はあれからずいぶんいじって しまいました・・・で、ごちゃごちゃして人に見せるにはあまりな 状態なので、公開は数日待って下さい。 スクリプトの改善点はファイルのHTML化部分で、通常にブラウズ した場合、70%〜80%程度はhtmlで見るような感じになると思います。 テスト掲示板の投稿数が少ないのでわかりにくいですけどね。 方向性についてはいろいろ考えてるのですが・・・ デザインについては、簡単にいじれるので今は具体的には 考えてないのですが、いわゆるスキンを食わせるタイプにしても いいとは思うのですが、果たしてフロート掲示板(つまりテキスト だらけの)をスキンにしてどれほどのデザインができるのか 少し疑問だったりもします。 とにかく今はいろいろ意見が欲しいですね。 あと、当然管理機能が必要ですのでこれから作ります。
369 :
名無しさん :2001/02/20(火) 01:07
>>367 なるほど. 削除キーは見せられないね.
でも暗号化したって暗号化後のデータがわかれば
いずれは解読されるから気休めだよ.
削除キー@` IPアドレスを別ファイルに保存するなら...
Apache なら ScriptAlias なディレクトリに入れておけば
CGI からは読めるけど HTTP で直接読むことはできない.
一般のプロバイダで public_html の下で実行する場合は
1. ファイル名をわかりにくいファイル名を付ける
2. 削除キー機能なし
で@` いいんじゃない?
あ@` ファイル名を .cgi にすれば読まれない?
(AddHandlerしてる場合)
370 :
名無しさん :2001/02/20(火) 01:13
非技術的なおねだりです 備考欄「職業 住所 性別 年齢(ディフォルトで表示させておく)」 ↑といった感じのテキスト入力フォームを付けていただけませんか? 私が昔人に頼んで改造Geoゲストブックで作っていただいた際は 「水商売 二時の母(大嘘)」「越後の国 恋人募集中」 など、遊び心がある書き込みが多く楽しませていただきました
同感。 完成もしていないのに、特殊な要望出すなよ。
むぎ茶はくだらんものすら作れない
374 :
ほういち :2001/02/20(火) 10:07
>>369 そうなんですよ。掲示板の削除キーなんてどうせ
0123とかabcdとか適当にしか打ってくれないから
暗号化しても見られた時点で解読されると考える
べきだと思うので隠さざるを得ないんですよ。
ログ公開するなら削除キー、IPアドレスは別
ファイルにしないといけないんですよね。
方法はサフィックス.cgiとか.plにするかドキュメント
ルート以外のディレクトリに置くかどっちかですね。
>>370 その機能をつける事は簡単なのですが、その機能が
必要ない人の負担になるのも事実です。
ですので申し訳ないのですが現状では標準でつける
予定はありません。
が・・・多分要望の出てきそうなアイコン機能等も
含めて改造方法をわかりやすい形で文章化しようと
思っています。
375 :
名無しさん :2001/02/20(火) 12:11
やっぱり、XHTMLに準拠したいね。
i-Mode対応とかもね。
377 :
名無しさん :2001/02/20(火) 13:49
かちゅーしゃ対応?
378 :
ほういち :2001/02/20(火) 14:00
教えて君で申し訳ないのですが、XHTMLとかXMLとかが よくわかりません。 わかりやすくかつ詳しく解説されているお勧めサイトありますか?
380 :
名無しさん :2001/02/20(火) 15:36
がんばれage
つーか、Perl+CGIで作る限り、現在の2ch BBSと大して変わらんものに なると思うんだが。見た目が変わる程度。 やはりここはINNを配送系に使って協調分散型の掲示板システムを作ってほしいなぁ。 せっかくだから。
382 :
名無しさん :2001/02/20(火) 17:00
てめえで作れ
383 :
ほういち :2001/02/21(水) 02:47
>>376 i-modeは対応する予定です。
>>377 かちゅーしゃも多分対応できると思います。
っていうかかちゅーしゃはつい最近_gunzipさんに教えてもらった
ばかりでよくわかってないのですが、ちょっと感動したんで、
対応したいと考えてます。
>381
そうなんですよね。結局2ちゃんのくろーんになってしまってます。
ただ、僕としての現在のコンセプトは2ちゃんねるの住人が自分の
サイトに置いて気軽に使う(極端な大量アクセスは考慮せず)
掲示板を目指そうかと思ってます。
もちろん既存のスクリプトがあるのはわかってるのですが、
将来的にも例のクレジット問題(2重3重クレジット)の呪縛が
解けそうにないのでその辺の解決になればと思ってます。
協調分散型のようなのは僕のスキルでは手におえないと思いますし・・
すみません。
>>383 ソース著作権フリーですか??
いいですねぇ〜
最近では名前だけのフリーウェアが横行して
イヤな感じですから・・。
385 :
名無しさん :2001/02/21(水) 19:28
>僕としての現在のコンセプトは2ちゃんねるの住人が自分の >サイトに置いて気軽に使う(極端な大量アクセスは考慮せず) >掲示板を目指そうかと思ってます。 初心者なので力にはなれないとおもうけどage
386 :
ほういち :2001/02/21(水) 20:12
387 :
名無しさん :2001/02/21(水) 20:32
>>386 がんばってください。かげながら応援してます。
ライセンスはGPLにしてはいかがでしょう?
BSDライセンスをきぼー
389 :
サゲ茶漬け :2001/02/22(木) 07:51
陰ながら応援 age
390 :
:2001/02/22(木) 07:55
391 :
7MIX :2001/02/22(木) 17:09
知識ないんで(勉強中)何も手伝えないけど、応援あげ
392 :
名無しさん :2001/02/24(土) 15:44
age
393 :
名無しさん9 :2001/02/25(日) 00:02
age
sage
395 :
ほういち :2001/02/25(日) 04:38
だいぶできました。(管理スクリプトがまだだけど・・・) 一応、書けて、見れて、消せての基本的な部分はほぼ 完成なのですが・・・ eucにしたらJavaScriptでクッキーを取得すると文字化けして・・ てこずってます。誰かお知恵を〜〜
396 :
名無しさん :2001/02/25(日) 07:31
何か皆妙に格好よくみえるぞ・・キノセイカ?
Cookieのエンコード、デコードはCGI@`JavaScriptなどで同じ物使って相互変換したほうがいい。 最近のIEだとunicode使ってたりしてJavaScriptのコード変換が化けるし。 統一されないからわけわからん。
sage
sage
400 :
名無しさん :2001/02/27(火) 13:09
あげ
401 :
名無しさん :2001/02/27(火) 13:36
頑張れあげ!
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
↑sageても、下がらんよ。
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
sage
428 :
サゲ茶漬け :2001/03/02(金) 01:39
ほういちさん応援age
429 :
ほういち :2001/03/02(金) 01:54
ありがとうございます。 今、管理部分を作ってます。 3歩進んで2歩下がるって感じです・・・ 掲示板部分のソースは公開しても いいんですが、管理部分がないと 設置説明を膨大に書かないといけないので・・・ やっぱりある程度管理スクリプトで 自動設置できた方がいいでしょうから もう少し待って下さいね。 すみません。
430 :
ラ・デンパ :2001/03/02(金) 18:07
何か手伝えますか?
431 :
ほういち :2001/03/03(土) 00:14
>>430 手伝って欲しい事はいろいろありますよーー。
ご自分の得意な分野でお手伝いいただけたらと思います。
HTML、CSS、マニュアル作り、画像作り、動作テスト、
環境による動作確認、改善提案、テスト投稿などなど。
できそうな分野があればお教え下さい。
432 :
age :2001/03/03(土) 00:26
やっぱageっしょ
433 :
ほういち :2001/03/03(土) 01:13
あ・・・あとJavaScriptに詳しい方きぼーー
434 :
名無しさん :2001/03/03(土) 12:20
ほういちさん、てつだわして〜
435 :
名無しさん :2001/03/03(土) 19:47
XHTML化とCSS対応は漏れがやるよヽ(´ー`)ノ
436 :
ほういち :2001/03/04(日) 05:20
>435 まじっすか!!?? おねげえしますだ。 っていうかCSSの方は、どうにかこうにか対応してるんだけど、 文法的に合ってるかどうか定かでないのです・・・ XHTMLはもうさっぱり不明。 24時間以内に一旦ソース上げます。
クレジットは実装の問題で色が透過してないようだから、 smallに色つけるかspanで包んでやるとよし。 あとフォントの大小にpx指定使うのは止めましょう。
439 :
名無しさん :2001/03/04(日) 21:59
応援してますage
440 :
名無しさん :2001/03/04(日) 23:16
ソース上げて〜
441 :
名無しさん :2001/03/04(日) 23:53
XHTMLならscriptやstyleの中身は外部ファイルに出したほうがいいですよ。
442 :
ほういち :2001/03/05(月) 07:31
>>438 pxよりptが正しいのでしょうか?よくわからなかったのでとりあえず
ptに変更します。
>>441 SCRIPT部分は外部に放り出す事は可能です(そうしようかと思った
のですがブラウザによって対応してなかったらイヤなので中に入れてます)
スタイルシートなのですが、こっちは外部に放り出す事は簡単
なのですが・・ちょっと訳ありで放り出しにくいんですよね。
なんかいい方法がないか考えてます。
それにしてもCSS難しいですね。簡単なリファレンス読んだだけでは
とてもとても。
web製作板とか見てるとCSSは使わない方がいいみたいな雰囲気の
投稿もあるし。迷ってしまいます。
実はそもそも、テキスト重視の掲示板でフォントサイズを固定するのは
邪道のようにも思ってはいるのでいろいろ考えてしまいます。
443 :
名無しさん :2001/03/05(月) 07:49
>442 ソース上げてよん
>>442 邪道というより、それだけは絶対避けて欲しい。<固定
446 :
名無しさん :2001/03/05(月) 19:34
うちの掲示板は11ptで固定してある・・・ 相対値に直すべきだろうか・・・
447 :
ほういち :2001/03/05(月) 22:01
>>ソース希望の方々 すみません。ちょっとバタバタしてて遅れてます。 マニュアル部分が進んでないのです。 もう少しだけ待ってもらえますか? >>フォントサイズの件 固定しないモードも搭載します。 (というかサンプルでも搭載されてるのですが 説明がないからわかりずらいんです。 ただ、本文文字だけですけど) それと単位はどれにしましょうか?? 数値と単位を両方指定するようにもできますが CSSを知らない人にはどれを選択していいのか わかりずらくなるんで単位だけは固定したいと 思います。 どれが正しいとかいうのは置いといて一番一般的に 使われてる単位を採用したいと思いますが、 どれなんでしょうかね? (ただし他の単位に簡単に改造できる手段は提供します)
ahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahya
へ へ | \_ Λ_Λ __///|| \ \ ____( ´∀`)_ __ / // || |  ̄/ / ̄ ̄/ / // ̄ // ̄\ \ / /__/ / / | //\/\ \ / /|___|_/ / | _// |\/\ ||= | | | ̄ ̄ | | |// ̄ \ / /\/\ ||= |__| |____|___|  ̄ \//\ )) ∩| ̄| |___| ̄|――-|__|\____/ \\/ ◎)) | ̄|\_\| \| \| \| __|_ _| ̄|\_/| ̄| |\\| | | ̄ 十  ̄ ̄ __\ | | ̄| | |/ ̄/| |  ̄ (@\ /@ / \ |  ̄ |  ̄ | | / \ \/ / \ | | | |_/ \ / \ |____|__| ( / \/ \ 「 ) \ / | |o|\__| / | | | || | \ | _― |oooo| \ __人_ _―  ̄  ̄― ̄  ̄― _― ̄
450 :
age :2001/03/08(木) 15:45
age
451 :
名無しさん :2001/03/09(金) 14:38
あれーどうなったの?
終了か・・・・
春休みが終わったら再開 それまでhage
454 :
名無しさん :2001/03/11(日) 01:08
本体が壊れて連絡のしようがないのでage
本当だ(w
開発は終了しました。 ほな、さいなら。
ぽういちって誰や(w
458 :
名無しさん :2001/03/12(月) 00:44
マンセー上げ
459 :
ほういち :2001/03/12(月) 06:35
申し訳ありません。 偽者さんの言うとおり開発は中止とさせていただきます。 理由は・・・・ちょっと恥ずかしいので伏せさせてください。 ご迷惑をおかけしました。
ん?本当に?
偽者かな・・・? 確かにつながらないなあ。
自分の(動かないやつ)は残ってる・・・
マジデスカ? ほういちさんキャップチェック!
465 :
名無しさん :2001/03/14(水) 09:23
ほういちさん出てきて〜あげ
466 :
名無しさん :2001/03/14(水) 10:01
467 :
ほういち :2001/03/14(水) 12:32
・・・すみません。 先日、暫定版を公開した直後にHDDがおかしくなりまして・・・ で、掲示板のスクリプトはFTPしてたデータがあったので バックアップとして機能したのでよかったのですが、その他モロモロの 復旧に手間取ってます。。おはずかしい。 そのまた直後に重大なセキュリティーホールが発見されたようですね・・ 内容:管理スクリプトのパスワードを公開すると自由に操作されてしまう。 対策:管理用スクリプトのパスワードは公開しない。 ってことで・・今まで冗談で消しちゃう人がいたらいけないので サーバーに上がってるやつは掲示板削除ルーチンだけ外してたのですが、 最終チェックの為に削除ルーチン入りのを上げてました。。。 おはずかしい・・・ほんとに・・・ ということで、数日うちに復旧&公開しますんので心配しないで 下さい。すみませんでした。
安心したよん。
マジデスカ?(w ヨカッタヨカッタ。
470 :
名無しさん :2001/03/14(水) 23:20
>467 って、消した奴がいたの?
471 :
F管さんのファン :2001/03/15(木) 04:48
F管さんみっけ〜〜〜♪ でも、ほういちさんがF管さん? どうでもいいけど、FNJの管理最悪になってるぞ しっかりしいや こんなところで油売ってるんやないで〜
>>471 (゚Д゚) 倒漂鎮渊カ? 峭敲゙ 擬潅 言淹イ
雫シ 査ハ 膨衿 集轍ナ
>471 ファンだったらここに書くなよ。
わけわからん。
何の話だ?
478 :
名無しさん :2001/03/15(木) 17:47
?
479 :
名無しさん :2001/03/15(木) 17:53
480 :
名無しさん :2001/03/15(木) 18:32
>>ほういちさん よかった〜。 開発中止かと思いました。 (^^; スキルないんでお手伝いできませんが頑張って下さい。
481 :
一クリスマス島民 :2001/03/16(金) 07:40
ほういち様 貴兄FNJ管理人なら削除依頼早急に対応してください。 管理放棄なら、手荒な手段を講じざるを得ませんが、如何ですか?
とっとと講じればいいだろ。
なにはともあれよかった。
484 :
名無しさん :2001/03/16(金) 22:41
早く復活して〜
このスレってなにをするスレなんですか?
それは秘密です。
487 :
名無しさん :2001/03/17(土) 23:31
あーあどうなった?
488 :
名無しさん :2001/03/18(日) 01:08
再開はまだかな。。
あと一個書けば横長なのは消えるのね?
それも秘密です。
...| ̄| ̄ ̄|  ̄| ̄ ̄| ̄ ̄| ̄ ̄| | | ホウイチサン…  ̄ ̄| ̄ ̄| ̄ ̄| ̄| | |∧ マダ戻ッテキテクレナイノ…  ̄| ̄ ̄| ̄ ̄| ̄ ̄| | |Д゚)  ̄ ̄| ̄ ̄| ̄ ̄| ̄| | |⊂ |  ̄| ̄ ̄| ̄ ̄| ̄ ̄| | | |〜
492 :
名無しさん :2001/03/21(水) 04:20
おいおい、どうなってんだ…
493 :
名無しさん :2001/03/21(水) 09:23
494 :
名無しさん :2001/03/21(水) 20:10
ソースアプまだぁ?
アプされてなかったっけ?
496 :
名無しさん :2001/03/22(木) 00:04
497 :
名無しさん :2001/03/22(木) 05:23
ほういち氏はもどってこないのか…
まさかとは思うが……。手荒な手段云々と言っていたやつが何事かを……? そうではないことを祈るが……。
499 :
Guttsan :2001/03/23(金) 01:11
なんかよくわからんが、ほういちさん、ここにもあそこにも戻ってくださいな。
どうしたのかなあ。本当に。
501 :
名無しさん :2001/03/23(金) 07:07
もし、ほういちさんに何かあったのだとしたらソースのメンテは誰が引き継ぐの? このスレでやる?
503 :
In :2001/03/23(金) 18:14
504 :
名無しさん :2001/03/23(金) 18:37
>503 いいねぇ〜
505 :
名無しさん :2001/03/24(土) 11:36
つくってくれ〜
506 :
名無しさん :2001/03/24(土) 17:15
そこまでソースできてるんだしオッケー
507 :
名無しさん :2001/03/24(土) 18:45
あと一息
509 :
名無しさん :2001/03/24(土) 20:33
347さんはどうなった?
510 :
名無しさん :2001/03/24(土) 20:34
>>505 -507
ってか、ソースみて改善点なんか挙げていくと
進むと思うのだが。
Perl書ける奴やってくれー
512 :
名無しさん :2001/03/24(土) 21:58
やってくれ言っても、何をどうしたいのかわからんと思うぞ。 要望出しとか、バグ出しすれば?
513 :
510 :2001/03/24(土) 22:35
ソース見た人何か改善点でもないか? 漏れもこれから見るからさ
514 :
名無しさん :2001/03/24(土) 22:42
まだこの状態だと可もなく不可もなく・・・ 改善点ってのはセキュリティー? 最適化? それとも追加仕様?
>>514 510@`513じゃないけれど。
>改善点ってのはセキュリティー? 最適化? それとも追加仕様?
取りあえず最適化かも。
例えば、nns.cgi 178行目はoオプションを付けるべき。とか、
nns.cgi line:637-648
ハッシュのスライスを用いた方が、見易く克つ効率も良い、とか、
@data{qw[time bbs_id name reserve message mail pass reserve flag_d ip]}
= split ( /\t/ @` $_[0] ) ;
#lib.pl line:53-89
$board ||= $default{$_} for keys %board;
で十分な気がするぞ。とか、
#lib.plline:117
>if ( $admin_pass ne crypt( $FORM{'pass'} @` ms ) ) {
ちゃんとクォートしてやりませう。とか、
if ( $admin_pass ne crypt( $FORM{'pass'} @` "ms" ) ) {
また、レス1-100とかを見る際にいちいちメッセージをフォーマットし直さずとも、
始めからタグを付けたものをログに記録した方が良くないか、とか。
(nns.cgi のsub view 部分 nns.cgi 29-81)
などなど。こういった意見を出し合っていけると、いい感じだなと思いますます。
516 :
510 :2001/03/24(土) 23:06
>>514 うぐ。上(
>>515 )に同じ。取りあえずコードの検証+最適化から始めませんか。
漏れはPerlは初心者レベルだけれど、なんとか完成して欲しいので。
なんか偉そうでスマソ。
間違えた。 >$board ||= $default{$_} for keys %board; $board{$_} ||= $default{$_} for keys %default;
519 :
shige :2001/03/24(土) 23:51
出来たら言ってね
520 :
改造クソ :2001/03/24(土) 23:57
僕にもよろしく
521 :
名無しさん :2001/03/25(日) 05:13
あんまないと思うけどUNIX以外も考えて、 改行コードは \x0D と \x0A でね。
522 :
名無しさん :2001/03/25(日) 05:44
lib.pl : 28-30 > if ( $FORM{'bbs'} =~/\W/ || $FORM{'key'} =~/\D/ ) { > &info('Error!'@`'板かスレッド番号の指定が変です') ; > } は、taint除く意味を含めて、 unless ( ($FORM{'bbs'}) = $FORM{'bbs'} =~ /^(\w+)$/ and ($FORM{'key'}) = $FORM{'key'} =~ /^(\d+)$/ ) { &info('Error!'@`'板かスレッド番号の指定が変です') }
いちいち細かいけれど、 #lib.pl line:103-110 >$/ = ";\n"; (103) >$/ = "\n"; (110) この様に書き戻さずとも、103行目を local $/ = ";\n"; と書けば110行目は不要です。 (スコープを外れると$main::/が書き戻されます) #admin.cgi line:940 >$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2'@` $1)/eg セミコロンが足りない。 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack('H2'@` $1)/eg;
あと、設定ファイルのフォーマットについて、始めからPerlのハッシュの 形で出力しておいて、do@`requireで読み込んだ方が、今の 設定ファイルをパースしてハッシュを作成する方法よりいいと思う。 (個人的意見ね。)
追加 $&の使用による全体的な速度低下を防ぐためにも、 #nns.cgi line:500 >$out = ($data{'message'} =~ /^(.*?<BR>){$board{'res_line'}}/o) ? $& : $data{'message'}; は、 $out = ($data{message} =~ /^((?:.+?<BR>){$board{res_line}}(?:.+?))(?=<BR>)/o) ? $1 : $data{message}; とする、とか。
526 :
shige :2001/03/25(日) 21:06
出来上がったら俺の名前入れて配ってもイイ? 俺の名を汚さない程度のものなら。(プ ま、せいぜい頑張れや。2ちゃんねらに出来るものならな(藁
527 :
名無しさん :2001/03/25(日) 23:34
やっぱり盛り上がらないな。この企画駄目か・・・
528 :
名無しさん :2001/03/26(月) 04:08
誰か管理してくれる人がいないとやっぱダメね。 俺は、めんどいし、掲示板は欲しくないのでパス。 このスレは好きだけどね。
529 :
名無しさん :2001/03/26(月) 11:41
ほういちさんは、本当にどうしたのだろう。
530 :
shige :2001/03/26(月) 11:47
ははは。 煽ってるし。
確かに、それって俺の言いたいことなんですけれども。
これじゃあナミカレの糞虫ネタの方がまだ面白いわな(プッ
だから終了させようとしたのに…。
しかも、ゴシップ君は正論書いたらダンマリだもんな。 あーあ、つまんね。
所詮、お前等みたいな筋の通ってない人間が何を言っても始まらんって事よ。
お前等にできる事って人の掲示板荒らすか、ここに1行レスが関の山だしな。
とりあえずスレッド育って良かったな1よ。 盗人猛々しい書き込みもステキだったし。
引き籠もり@コピペ厨房の仕業にしてはなかなか上出来だったんじゃないの?
まあ、次からは人に迷惑かけんように大人しくママのオッパイでもしゃぶってな(電グルチックにネ!ъ( ゚ー^)
じゃあな、引き籠もり共。 俺はもう来ないけど、最後に約束。
風呂入る前はちゃんとチンカス洗えよ。 髪洗うときはシャンプーハットするの忘れんなよ。
…と、脊髄反射でしか物が書けないお前等にはこれくらいの文体で十分だったな。
国語レベルを考えてあげられなくてスマンスマン。
2chの慣例に則って
-------------------- チャンコロ逝ってよし --------------------
http://kaede.sakura.ne.jp/~shige/
531 :
名無しさん :2001/03/26(月) 20:14
532 :
名無しさん :2001/03/26(月) 20:55
復活あげ!
>531 重たすぎ。 スクリプト見せてみぃ
あ、復活してる。
535 :
名無しさん :2001/03/26(月) 22:44
ホント。
536 :
弐ch編者 :2001/03/26(月) 22:58
>>536 一番上のリンクの書き込みを見て、一瞬、
荒らされた後の掲示板の残骸かと思った。(笑)
#たしかに、テスト中は、みんなこういった書き込みをすよな・・・
あんまりお役には立てないかもしれないけれど、一応 kbk.txt line71-74 >#各種変数の改行を削除 >$FORM{name} =~tr/\x0D\x0A//d; >$FORM{email}=~tr/\x0D\x0A//d; >$FORM{sub} =~tr/\x0D\x0A//d; trのdオプションは、対応するものがないものは削除するよう 指定するものだから、改行を削除したいだけならば不要。 kbk.txt line91 このサブルーチン内で$secを使っていない。->スライスかundefで、 my ($min@`$hour@`$mday@`$mon@`$year@`$wday) = (localtime(time))[1..6]; my (undef@`$min@`$hour@`$mday@`$mon@`$year@`$wday) = localtime(time); kbk.txt line >if($FORM{key}!~/\d+/){&error('レスのキーが設定されていません')} よく分からない。数字以外が混じっていても良いのかな? kbk.txt >rename ($tmpfile@`'subject.txt') || system("mv"@` $tmpfile@`'subject.txt')|| &error('Rename error'); まさかとは思うが、system()について大きな勘違いをしているのかもしれない。 これだと、正常に動作したにもかかわらずエラーになりますわな。 perldoc -f system して下さい。
↑訂正 最後のについては、kbk.txt line404と、kbk.txt365 眠いのでもう止め。
540 :
名無しさん :2001/03/26(月) 23:41
hayaltu
自分も書こうかな・・・・忙しいけれど。
俺も書こうかな暇だし(爆死
543 :
弐ch編者 :2001/03/27(火) 00:04
_gunzip@φ(・▽・ さんありがとうございます!
>>538 >trのdオプションは、対応するものがないものは削除するよう
>指定するものだから、改行を削除したいだけならば不要。
あ、、、そうなんですか、、、しらなかった、、
trで削除するときは必ずつけるもんだとおもってました。
>このサブルーチン内で$secを使っていない。
たしかにそうでした(^_^;)
>if($FORM{key}!~/\d+/){&error('レスのキーが設定されていません')}
んとこれはちょっとエラーメッセージがちょっとおかしいかもしれませんね
設定されていないではなくて”レスのキーの設定が不正です”これのほうがいいですね(^_^;)
あ、ちなみに数字のみですー。
>rename ($tmpfile@`'subject.txt') || system("mv"@` $tmpfile@`'subject.txt')|| &error('Rename error');
コレに関しては昔どこかでrenameだけでは不完全だからsystem("mvいれろといわれて
わけもわからず入れておいたのをそのまま流用してました、、、
要するにsystem()は成功しても別に正の数を帰すとかそういうことをしないってことですかね?
perldoc読んでも分からないので(ドキュソ)どっか日本語のマニュアルっぽいとこ逝ってきます。。。
544 :
名無しさん :2001/03/27(火) 00:45
if($FORM{key}!~/\d+/){&error('レスのキーが設定されていません')} は if($FORM{key}!~/^\d+$/){&error('レスのキーが〜')} じゃないと xxx11222212xxxx ってなのも素通りですよ。多分。
545 :
弐ch編者 :2001/03/27(火) 01:13
546 :
名無しさん :2001/03/27(火) 01:47
_gunzipさんの掲示板希望!つーか見たい! もちろん配布はbbs.gzで。
547 :
名無しさん :2001/03/27(火) 02:34
>>543 本当に済まない。>538では嘘を書いてしまった(起きて気づいた)
tr///dのdオプションは必要だった(鬱)
>if($FORM{key}!~/\d+/){&error('レスのキーが設定されていません')}
についても言葉不足だった。言いたいことは>544さんと同じ。
数字が含まれていれば何でも通してしまう。
system()については、perldoc -f system すると
>The return value is the exit status of the program as returned by the wait call. と書いてあるよ。だから、
>rename ($tmpfile@`'subject.txt') || system("mv"@` $tmpfile@`'subject.txt')|| &error('Rename error');
このように記述すると、Perlはrename ($tmpfile@`'subject.txt') が失敗すると、
system("mv"@` $tmpfile@`'subject.txt')を実行する。
そして、system()によるファイルのリネームが成功しプロセスが正常終了コード0
を返してくると、|| の左オペランドが偽だから、Perlは次に&error('Rename error')
を実行してしまうことになるわけです。
#なんか言葉足らずですまん。
・・ということで、この部分は
rename ($tmpfile@`'subject.txt') or system("mv"@` $tmpfile@`'subject.txt') == 0 or &error("〜");
と書くのが正しいと思います。
つまり、そのままだと、こう↓なるってことです。 rename ($tmpfile@`'subject.txt') 成功 失敗 ↓ ↓ ○ ↓ ↓ system("mv"@` $tmpfile@`'subject.txt') 成功 失敗 ↓ ↓ ↓ ○ ↓ &error('Rename error')
何度もすいません。
>>546 なんとなく面白そうなので、書いてみようかなーというだけです。
未だ何も手をつけていないので、気長に待ってください。
#ところでbbs.gzって何だろう?
しばらく放置だったけど、 こっちもそろそろ再開しようかな・・・
552 :
弐ch編者 :2001/03/27(火) 11:35
>>548 ふむふむ
rename ($tmpfile@`'subject.txt')
|| system("mv"@` $tmpfile@`'subject.txt') == 0
|| &error('Rename error');
こんなふうなかんじにしてみました。
なんかorとかnotとか使うの嫌いなんですよねぇ
プログラムって感じがしないですよ。(強情)
あとkako.cgi廃止してkbk.cgiでsubjectいじるときについでにkako.htmlを作る仕様にしました。
書き込みより過去ログ閲覧数のほうが圧倒的に多い場合なんかだと負荷高くなっちゃうかな、、、
まぁいいか。
>>gunzipさん たぶん546はgzipの圧縮のことをいってるのだろう。bbs.lzhみたいな感じ。 gunzip [files...]
554 :
弐ch編者 :2001/03/27(火) 12:36
んじゃ次は複数板対応イキマース。 できるだけシンプルに改造しやすくを主眼ニイキマース。
555 :
弐ch編者 :2001/03/27(火) 12:40
556 :
むぎ茶 :2001/03/27(火) 17:18
557 :
弐ch編者 :2001/03/27(火) 17:55
>>553 うん。自分も後で気づいたよ。ありがとう。
gunzip [option] files....
559 :
名無しさん :2001/03/27(火) 19:58
560 :
546 :2001/03/28(水) 02:28
>>553 さん当り。判りづらくてスイマセン。
>>gunzipさん
気長に&楽しみに待ってます。
# ほういちさんどうしちゃったんだろう
561 :
panton :2001/03/28(水) 08:53
俺もなんとなく書き始めてみた。これを機にコテハン。 ubb型にしようかと思ってるけど、2ちゃんねらーには人気無いだろか?
562 :
名無しさん :2001/03/28(水) 08:59
563 :
panton :2001/03/28(水) 09:22
564 :
名無しさん :2001/03/28(水) 10:54
>562 かっこいい……
566 :
>>561 :2001/03/28(水) 13:10
ログの形式はどうするの?
567 :
panton :2001/03/28(水) 15:09
なんだ、結構ubb好きな人多そうじゃない。ちょっとやる気出てきた。
>>566 ooPerlの練習のつもりなので、
入出力インターフェイスはいくつか作りたいですね。
とりあえず普通のテキストファイル入出力で一通り作って、
そのうち DB_File と MySQL用のサブクラスを作ろうかと思ってます。
なんにしても、速さ、軽さはそんなに見込めないかも。
ooまともに作るの初めてなんで、勉強しつつ。
いったい何時になるやら・・・
568 :
>562 :2001/03/28(水) 16:56
・・・英語読めないでいまいち分からないんですが… >564 かっこいいんですか? 似たような物日本にはないでしょうか
俺もわからーん。 どうかっこいいの?
570 :
名無しさん :2001/03/28(水) 18:10
571 :
564 :2001/03/28(水) 18:20
機能がかっこいい……
期待age
573 :
名無しさん :2001/03/28(水) 23:45
>>570 <input>の背景とか変えているのがウザぃ
574 :
名無しさん :2001/03/28(水) 23:47
>570 ソースはどこじゃ?
575 :
名無しさん :2001/03/29(木) 03:28
576 :
名無しさん :2001/03/29(木) 09:52
577 :
In :2001/03/29(木) 09:56
俺も手伝いたいage
578 :
名無しさん :2001/03/29(木) 10:08
スクリプト置き場が空になってる、、、 誰かあげてくれ〜
579 :
名無しさん :2001/03/29(木) 12:13
580 :
名無しさん :2001/03/29(木) 13:53
感動age
gunzipさんは本業に専念なさい。
582 :
名無しさん :2001/03/29(木) 21:33
gunzipの本業ってなに?
583 :
名無しさん :2001/03/29(木) 21:55
>>583 懐かしい・・・
未だあの番組ってあるのかな。
>>584 ポンキッキからポンキッキーズになったけど
ガチャピンとムックは出てる・・・と思う。
(最近観てないんで、間違ってたらスマソ)
スレの内容に関係ないのでsage。
586 :
570 :2001/03/29(木) 23:10
>>574 とりあえず記事削除機能が出来たら公開します。
とか言いつつ、検索機能なんか先に付けてます<馬鹿
>>585 うーん。まだあったのですね。幼稚園児ぐらいの頃に
よく見ていた記憶があります。
>>587 Ambiguous call resolved as CORE::警告にはCORE::するか、
5.6なら perldoc attributes しませう。
(中はまだ見てません・・・)
589 :
名無しさん :2001/03/30(金) 12:39
ギコナビとかにも対応した方が良いのかな
590 :
名無しさん :2001/03/30(金) 22:42
ほういちさん召還しなさい〜
591 :
名無しさん :2001/03/30(金) 22:51
何で、ほういちさんは復活してるのに此処へは戻ってこないのかなあ。
592 :
名無しさん :2001/03/31(土) 01:26
>>587 =347
これいいっすねえ。まだソース10%ぐらいしか理解できないけど。
どっかでテスト稼動させないの?
593 :
347 :2001/03/31(土) 20:59
>>588 open っていうメソッドを定義してるんで、もとの open と
ぶつかるっていうエラー、ということでしょうか?
# 別の名前に変える方がすっきりしていいのかな?
>>592 分かりにくいソースで恐縮です。どこかに適当なところが
あればいいのですが・・・。
594 :
名無しさん :2001/04/01(日) 13:43
ほういちは何者? 347は何者? gunzipは何者? pantonは何者?
何者? 何者? 何者? 何者? 何者? 何者? 何者? 何者? 何者? 何者?
ほういちは忍者。 347は347。 gunzipは医者。 pantonは知らん。
598 :
名無しさん :2001/04/01(日) 16:56
print('age!!'); unshift(@threads@` splice(@threads@` $num_of_this@` 1));
誰が何してようといいじゃんヽ(´ー`)ノ
601 :
名無しさん :2001/04/01(日) 20:12
∧_∧ / ̄ ̄ ((´∀`∩< あげ! (9 y フ \__ ( _ / @`/ とノ | | || | | || | | |
602 :
名無しさん :2001/04/01(日) 22:36
ほういち出てきてよ〜
603 :
名無しさん :2001/04/01(日) 22:44
require 'ほういち';
604 :
名無しさん :2001/04/01(日) 22:53
Can't locate ほういち in @INC (@INC contains: /2ch/ ) at -e line 1.
605 :
名無しさん :2001/04/02(月) 00:48
ほういちさん〜 サービス券ちょうだ〜い!
なんなんだこいつ等は。 ほういちさんはもう二度と戻ってこないだろうな。 残念。
607 :
名無しさん :2001/04/02(月) 00:56
608 :
名無しさん :2001/04/02(月) 14:17
この絵見ると泣けてくる! Order 1. Article 1. ■▲▼ 1 (・∀・) 2001/04/02(月)06:49 現実社会と仮想空間の狭間で悩んでたんですね。 ごめんな!わかってやれなくて! ほういちさん、訳わかんないこと言ってゴメン!
>>594 -596
誰が何してようといいじゃん いいじゃんヽ(´ー`)ノ
>609 僕を診てください・・・ハァハァ
611 :
名無しさん :2001/04/02(月) 15:55
612 :
kesicyauyo :2001/04/02(月) 17:02
がんばれage
613 :
名無しさん :2001/04/02(月) 20:41
jbbsdj!!
615 :
名無しさん :2001/04/02(月) 23:33
ほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういちほういち
あ〜あ、このスレも終わりかな。
617 :
_ :2001/04/03(火) 05:16
みんなバラバラに作ってるからな(´ー`)y-~~ で、どれが一番進んでるよ? それからまた続ければいいではないか。
618 :
名無しさん :2001/04/03(火) 05:56
619 :
名無しさん :2001/04/03(火) 21:37
□■□■□■□■□■□■□■□■□■□■□■□ ■□■□■□■□■□■□■□■□■□■□■□■ □■□■□■□■□■ 再開 ■□■□■□■□■□ ■□■□■□■□■□■□■□■□■□■□■□■ □■□■□■□■□■□■□■□■□■□■□■□
掲示板なんかいらねぇだろ。 どうしてもほしけりゃ、自分のホームページから掲示板のリンクをクリックすると、 この板に飛ぶようにしとけ。
そのネタは313で既出。アホ丸出し
>>620 クリック猿はお家に帰りなさい。
『ホームページ』って何ですか?
623 :
名無しさん :2001/04/03(火) 23:04
>>621 -622
あんまり精薄を苛めなさんな。
620は一生懸命頭を捻って考えたみたいだから。
>621 既出だったか、スマソ。 >622 >『ホームページ』って何ですか? そんなのも知らねぇの?馬鹿丸出し。 >623 お前は頭捻らないとあの程度の考えも浮かばないのか。かわいそ(ぷ
>>624 >お前は頭捻らないとあの程度の考えも浮かばないのか。かわいそ(ぷ
あくまで、「お前が」だよ。文意も汲み取れないとはとんだ馬鹿だな。
>>『ホームページ』って何ですか?
>そんなのも知らねぇの?馬鹿丸出し。
かわいそうに。じゃあ、定義をいってごらん。小学生クン。
626 :
名無しさん :2001/04/03(火) 23:37
>624 寝なさい。精神障害者は。
627 :
名無しさん :2001/04/03(火) 23:38
(ぷ って、屁でもしたのか?
-------------------------------------------------------------- やめれ。関係ない話は別のところでやれ。
629 :
名無しさん :2001/04/03(火) 23:40
>>>『ホームページ』って何ですか? >>そんなのも知らねぇの?馬鹿丸出し。 >かわいそうに。じゃあ、定義をいってごらん。小学生クン ブラウザでホームボタンを押して表示されるページだろ? 死ねよ。
>624 可哀想に。頭が弱いんだな(藁 首でも吊れ。
631 :
名無しさん :2001/04/03(火) 23:41
>>626 自分のことをそんなに卑下すんなよ、精神異常者くん。
>>627 それ以外何に聞こえましたか?
つまらん。別のところでやれって。
アホな書き込みであげんな。>620以降で上げてる奴全員
>>629 知ったかぶりは見苦しいものだな。それだけかい?
>>630 なにが有ったか知らんが独り孤独に死んでくれ
↑騙りウザイ
>634な
無い頭をフルに使って反論に一生懸命だね。まあ、頑張れや(藁
>>639 ステゼリフカッコ悪ッ!めげずに生きろよ
こんな奴らしかいないのではこのスレも駄目だな。 廃棄して他に立てた方がいいかな。まあ、中身が変わらないのでは仕方がないが。
------------------------終了------------------------ ----------------正しい道に戻して再開----------------
643 :
名無しさん :2001/04/03(火) 23:58
あの、掲示板作ったんで見てもらおうかと思ったんだけど。。。。 怖いから又にします。。。
644 :
名無しさん :2001/04/04(水) 02:32
>643 気にする必要無し。 ただの漫才ですよ。
>>643 気にすることなんて全然無いと思うよ。本当に。
是非公開して欲しいな♪
646 :
名無しさん :2001/04/04(水) 05:16
>643 大丈夫だって。心配せず出すのが良し。
647 :
347 :2001/04/04(水) 23:15
来週明けぐらいまではまるで動けないかも。。。 あーしろこーしろのご意見をお待ちしております。
>>647 朝起きてBoard.pm読んでみた。・・・って途中までだけど。(250行目まで)
簡単な感想で良いのなら・・・ということで。
Board.pm
=line%*
全く関係ないですけれど、オブジェクトメソッドのプロトタイプ宣言は
無視されますので余り意味がないです。
=line%272@`331@`332@`376@`412@`435@`436
組み込み関数と同じ名称のメソッドを定義している故の警告についてですが、
これは、CORE::パッケージプレフィックスをつけてCORE::open としてやるか、
又はattributes(5.6以前ならばattrs)プラグマの使用によって回避することが出来ます。
=line%20-21
@INC には "."(スクリプトのあるディクトリ)も含まれていますから、
require('./jcode.pl');
だけで良いような。
=line%34-36
この部分は$dirの末尾に"/"が無かった場合、"/"を追加しようとしている
ように見えるのだけれど・・・!= ではなくて、!~ ではありませんか?
ついでにいえば、$アンカーも抜けているとも思います。
elsif($dir !~ m!/$!) {
$dir .= '/';
}
#substr($dir@`-1@`1) =~ s{([^/])}{$1/}; の方がいいかも。
=line%67-71 同じことを二度書いています。67行目は不要です。 =line%74 >my($filename) = grep(/^\d+\-$mode\-\d+\.(log|end)$/o@` readdir(DIR)); マッチする最初の要素のみ必要な場合にgrepを使用するのは効率が悪いです。 せめて、?PATTERN? と reset() を用いて余計なマッチングを回避するか、 /^\d+\-$mode\-\d+\.(log|end)$/o and $filename = $_ and last for readdir(DIR); のようにforループで回してやった方がいいです。 =line%102-103 $`はご勘弁。 next unless(/^(.*?)\.(log|end)$/); ($modified@` $made@` $articles) = split(/\-/@` $1); =line%107 >elsif(grep(/$key/@` @ok)) { elsif(grep($key eq $_@` @ok)) { の方が早く、しかもゴミを拾わないような気がします。更に言えば、 %ok = map{($_ => 1)} @ok; のようにしてハッシュを作り、exists() でチェックした方がループを 何度も回すよりも効率が良いです。
=line%152 >s/\%([0-9a-fA-F][0-9a-fA-F])/pack('C'@` hex($1))/eg; s/%([0-9a-fA-F][0-9a-fA-F])/pack('H2'@`$1)/eg; =line%154 >&jcode::convert(*_@` 'euc'); &jcode::convert(\$_@` 'euc'); =line%203-205 ??? =line%197-214 何をしているのか、いまいちよく分からない・・・ $self->{FIELD}って何のためにあるのかな・・・ 残りは、暇なときにでも、ということで。 #気に入らない部分は無視してやってくださいな。
651 :
名無しさん :2001/04/05(木) 07:17
がえ
>>648 -650
ご指摘ありがとうございます。初歩的ミスの多いのには
我ながらあきれます・・・。
clear は、%$self->{field} のデータをクリアしています。
new から呼び出されて初期化する場合にも使われています。
# 見なおしたらもっと簡単に書けそうです。
# sub clear {
# my($self@` @field) = @_;
# my(%f) = map {($_ => 1)} @field;
# %{$self->{field}} = (); # これは不要かも
# foreach (@{$self->{FIELD}}) {
# $self->{field}{$_} = '' unless $f{$_};
# }
# }
# かな? でも @field は廃止するかも・・・。
@{$self->{FIELD}} については、 form2article (フォームからの
入力をログ出力用に変換)とか article2form (その逆)を
見てもらえればわかっていただけるかと。。。
>>652 $self->{FIELD}については、もうちょっと後の方まで良く読んでから
書いた方が良かったですね。
(途中までしか読んでないのに「良く分からない・・・」等と言ってすみません)
暇が出来ればBoard.pmの残りや他のスクリプトも見てみます。
ほんの少しだけ・・・ SingleSkin.pm =line%6 use Board; ですね。:D =line%11-12 regist __PACKAGE__; とする手もあります。こうすれば修正箇所が少なくなる (・・・って-1だけだが)ような。 ・・・今はこれだけ。
655 :
名無しさん :2001/04/06(金) 10:29
naze mina sageru?????????????
656 :
名無しさん :2001/04/06(金) 10:40
>>_gunzip regist ってなんですか? 手元のperlfunc見ても載ってないよ・・・ www.perl.comで検索しても引っかからないし。
657 :
名無しさん :2001/04/06(金) 10:46
おっと、Board.pm の関数でしたか。 ソース見てから発言するべきでした。 失礼。
このスレの欠点は、コードを出しても、それを検証して意見を出そうとする 人間が殆どいないことだな。 結局皆が誰か完成させるのを待っているような感じだ。 #まぁ俺も人のことは言えないがな
確かに_gunzip氏が一人で検証しているような
だんだん意味がわからなくなってきてついてけねぇ…
661 :
名無しさん :2001/04/06(金) 23:32
あげ
662 :
名無しさん :2001/04/07(土) 22:36
個人的には、バリバリOOで書いて欲しいなあ。 少しくらい実行速度が落ちたからって個人サイト程度なら全く問題ないし、 そのコードを見ながらPerlのOOの勉強も出来るし。 ごめん。要望ばっかりで何も協力できないで。
663 :
名無しさん :2001/04/07(土) 23:10
OOだと遅くなるの?
@`一-、 / ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■-っ < んなーこたーない ´∀`/ \__________ __/|Y/\. Ё|__ | / | | У.. |
665 :
名無しさん :2001/04/07(土) 23:32
>>663 @`
>>664 「一般には、オブジェクト指向Perlによるシステムの実装は、
それと等価と非オブジェクト指向実装よりも高速になることはなく
実際には比較して通常20〜50%ほど低速になる」
「残念ながら多くの人は、『20%〜50%の低速化』という数字に
惑わされ、過去6ヶ月間でプロセッサ速度が2倍になったにも
かかわらず、何を意味しているか忘れがちになる」
from 「オブジェクト指向Perlマスターコース」 p.viii
ちょっと古いから、現状どうかわからないけど
遅くはなると思う。
なるほど・・・ありがとう メンテナンスする事を考えたら、 多少遅くなってもOOの方がいいのかな。(素人考え) #配布されてるCGIで、local/myを全く使ってないものが結構あるけれど #何を考えているのだろう???
667 :
名無しさん :2001/04/08(日) 00:02
>658 このスレの欠点は、コードを出しても、それを検証して意見を出そうとする人間が殆どいないことだな。 2chの場合、意見に些細なミスがあったりすると それこそ鬼の首取ったかのように攻撃されるからなぁ それが怖い。
自分が作ってる分については「みんな意見をくれー」という感じだけど 逆にしてみると他人の作ったものを読む気にはなかなかならない。 時間ができたら読むようにしよう・・・
669 :
名無しさん :2001/04/08(日) 14:05
みんなで意見を出しお合う!
670 :
名無しさん :2001/04/08(日) 16:05
ていうかperl分かってる人少ないんちゃうかな
671 :
名無しさん :2001/04/08(日) 16:25
672 :
名無しさん :2001/04/08(日) 21:56
そうなの?
みんなで叩こうぜ
674 :
弐ch編者 :2001/04/08(日) 22:12
君らには無理無理
お前いい加減にしろよ。
676 :
弐ch編者 :2001/04/08(日) 23:49
メガビぐらいのを作ってから言ってもらいたいですな、、、そういうことは
弐編ウザイ。来るなよ。
>>676 それは良いけど。
にへん君、megabbsのコードはちょっとはマシになったの?
680 :
名無しさん :2001/04/09(月) 07:31
ハックラ板から何人か呼んできたらどうよ? 腐っても元ハックラだし
>>680 あそこにはもう自分でスクリプト組めるヤツは残っとらんよ。
682 :
名無しさん :2001/04/09(月) 18:59
な、何を今さら・・・
684 :
名無しさん :2001/04/10(火) 18:07
初心に戻ろう。1は >KENTとか色々ありますけど、サーバ管理してるものとしては重いんですよ >結構回線食ってますんで、できれば軽い掲示板を使って欲しいです と言ってるんだから、まず軽い掲示板をみんなで考えるのは?
685 :
名無しさん :2001/04/10(火) 19:06
改めて、1 を見て思ったけど、スクリプトの重さと 回線の食い方は関係ないんじゃ・・・というのはガイシュツ? いや、この際どうでもいいんですけどね。 というわけで、 −−−−−−−−−−−−−−再開−−−−−−−−−−−−−−
>>685 PHP板の似たようなスレでは
「回線食ってるならGZIP圧縮転送しろ」
って突っ込まれてるね。
687 :
弐ch編者 :2001/04/10(火) 23:29
Perlの書けない人が何を言っても無駄ですよ、、、(^^;)
688 :
名無しさん :2001/04/10(火) 23:35
掲示板書いてますけど、Perl5.6の利用できる所ってありますか?
689 :
名無しさん :2001/04/11(水) 23:30
5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6 5.6
MySQL/Postgresが利用できると非常に楽だがなあ。
691 :
名無しさん :2001/04/12(木) 01:51
>>690 つい先日うちのローカルマシンにMySQLを入れてみたんだけど、
まだ全然さわってないので、それやってみたいですー。
最近はMySQLやPostgreが使えるサーバも増えてますしね。
でもPerlでMySQLってあまり聞かないな。
アマチュアがMySQLをいじるのは、やっぱりPHPがいいのかな。
693 :
panton :2001/04/12(木) 21:57
ありゃりゃ。インデックスを作成するログクラスは自分も作ってる所だったよ〜 >要素の削除をした場合、インデックスから削除されるだけで、 >データファイルには編集を加えない、また要素の編集時には内部的には新しい要素を追加して、 >インデックスの位置情報を切り替えるだけなので、以前のデータは残る。ので注意が必要である。 う〜ん。もろにかぶってる。どうしよう(笑) 自分もその方法でやっていたのだがなあ。 >$file->synchronize() >データファイルを最適化する。del_rowや、modify_rowで残ったゴミデータを >削除してデータファイルの容量を最適化する。 メソッド名までかぶってる・・・どうしよう(自分のはまだ公開してないけど) #はてはて、困った。どうしよう(マジ) ヽ(´ー`)ノ ヽ(´ー`)ノ ヽ(´ー`)ノ ヽ(´ー`)ノ
しょうがないから、自分はもうちょっと違うアプローチで進めることにします。 panton氏頑張って〜 ヽ(´ー`)ノ ヽ(´ー`)ノ ヽ(´ー`)ノ ヽ(´ー`)ノ
696 :
名無しさん :2001/04/12(木) 22:38
はは・・すんません。 うーん、参考にしましょよ。お互いに。 俺のはハッシュを格納するんだけど、まさかそこまでいっしょでは ないですよね。もっとも、配列やスカラーにも対応させる計画(未定)も あったりするけど・・・
697 :
696=panton :2001/04/12(木) 22:41
すまん、ハンドル入れ忘れ。
尚且つ、かぶった。
>>695 お互いに。
期待してます。
>俺のはハッシュを格納するんだけど、まさかそこまでいっしょではないですよね。 はい。ちょっと違います。 自分のは、各記事の位置/サイズ情報を格納した固定長インデックス (各4+2=6Byte x 最大格納数)をログの先頭にくっつけて、substr/pack/unpackで 操作する方式です。(あまりうまく言えないですけど、こんな感じです・・・) #今日窓に持っていってテストしていたらインデックスが壊れるので何故だろう #と20分ほど悩んでいたら、ただ単にバイナリモードにしなくてはいけないのを #忘れていただけだった・・・ #お互い頑張りましょう。
699 :
名無しさん :2001/04/13(金) 18:34
来た井揚
700 :
名無しさん :2001/04/15(日) 14:23
age
701 :
名無しさん :2001/04/17(火) 15:44
age
何日か貫徹していたので何も進んでない・・・ 347氏のスクリプトの残りもpanton氏のも読む暇がないです....すみません ん今panton氏のスクリプトを試しに動かしてみたところ、うちの環境 (VineLinux+Perl5.6)ではエラーが頻発するので何故だろうと思っているところです... 今全く気力がないのでデバッグはまた後で.... ところで、getpointerは_getpointerのtypoのような気もします... 取りあえず今日は寝ます。
703 :
名無しさん :2001/04/18(水) 08:50
せっかくだからこの板でセンズリこいてみませんか?
704 :
名無しさん :2001/04/18(水) 10:49
>>702 gunzipさん。あんまり無理しないでおくれ。
ありがとうございます。そのとおりですね。
これで、俺がろくにテストしてないのバレました。烈しく反省。
っていうか、俺も忙しいです。暇になるまで手つけられません。
それは多分7月・・・息抜きにやるかな。
くぅ。704=pantonでした。
論椅論椅
707 :
名無しさん :2001/04/19(木) 09:05
age
最近ばたばたしていて何もできてません。 takotubo氏にも申し訳なく・・・。
709 :
名無しさん :2001/04/19(木) 23:43
710 :
名無しさん :2001/04/20(金) 09:43
Perl板の恥さらし弐編
714 :
名無しさん :2001/04/21(土) 12:41
age
>>704 ありがとう。ゆっくり&のんびり作ります。
#日曜日だからやっと一息つける・・・
716 :
名無しさん :2001/04/22(日) 17:00
ソースアプしてくれたら検証します。
Rubyで書いていいですか?
718 :
名無しさん :2001/04/22(日) 22:21
719 :
名無しさん :2001/04/22(日) 22:54
720 :
718 :2001/04/22(日) 23:30
基本的にどれでもいいけど、ほういち氏のは古いバージョンのしか手に入らないから 347氏、panton氏のどちらか好きな方を。
721 :
名無しさん :2001/04/23(月) 00:40
>>717 聞く前に書け。ここで聞いても時間の無駄だ。
>>panton氏 要素の総数を取得するメソッドも欲しいです... #ね、眠い....
面白そうだから参加してみようかな。
うーんソース読んでも分からない…。ヘタレだなぁ(;´Д`)
716氏は.......?
そうか・・・
>>722 _gunzip氏
あ、必要ですね。
リストコンテキストとで全要素のIDのリスト、
スカラーコンテキストで要素数を返すメソッドにしましょう。
あと、テキトウに諸々修正してからアップします。
729 :
名無しさん :2001/04/24(火) 18:20
da
730 :
名無しさん :2001/04/24(火) 19:04
ubb型も作りません? 僕はubb型の方がいいと思うんですが……
>>730 過去ログ 561 あたり読めば幸せになるよ
732 :
名無しさん :2001/04/24(火) 21:14
panton氏つくってんの?
733 :
弐ch編者 :2001/04/24(火) 22:25
結局どれも完成しませんよ 物事を完成させる能力はスキルとはまた別ですから。。
結局中学も卒業しませんよ 学校を卒業できる能力はスキルとはまた別ですから。。
735 :
名無しさん :2001/04/25(水) 04:50
ガキが知ったような口きくなよ。
736 :
猪鹿蝶々 :2001/04/25(水) 13:06
>名無しさん 技術は努力無しに身につかないし、 努力する心構えがあれば物事は成功します。 良い物を完成させてください。 頑張っている他の方もです。 もう一年ですよ…(^^;
737 :
panton 728もね :2001/04/25(水) 23:04
ちなみに今回もまったくテストしてないです。 一応コンパイルは通リます。バグがあったら教えてクレ。 汎用的に使えるクラスだから使ってみてね。
739 :
名無しさん :2001/04/26(木) 17:54
上の方で何人も書いているけど、このスレってホント 技術的な提言/検証をやる人がいないね。
おれもな
oremona
>>panton氏
早速の対応ありがとうございます。暇になり次第(なかなか・・・)
見てみますね。
>>736 >もう一年ですよ…(^^;
ホントだ・・・
>>736 私が参加したのって今年に入ってからだったような。
>>737 flock() unimplemented on this platform at IndexedFile.pm line 349.
DOS ではつらいです。。。
744 :
名無しさん :2001/04/27(金) 09:35
age
#flock()は sub flock{ $^O eq 'MSWin32' and return 1; require Fcntl; Fcntl->import(':flock') unless exists &LOCK_EX; flock shift@` shift || &LOCK_EX; } #とWinでもエラーにならないようにどこかで再定義したらどうでしょうか。
とりあえずは eval{flock();}; でも問題ないだろう。
747 :
名無しさん :2001/04/27(金) 15:23
一年たっても物が上がらんわけだ
749 :
panton :2001/04/27(金) 18:11
>>743 flock非実装には対応させるつもりは今のところありません。
もしテストしていただけるのでしたら、
746さんのおっしゃるようにevalで囲んであげてください。
>>745 3つ穴があります。
1@` $^O で判定するべきではない。
2@` use subs 'flock'; してないのでオーバーライドできない。
3@` 仮にオーバーライドしたとして、その中で普通にflock呼び出したら再帰して無限ループしてしまう。
>>748 1年の間に人が入れ替わってると思われ。
>>749 なるほど確かに仰るとおりです。
それじゃこれならどうでしょうか。
# flock.pm
package flock;
sub import{
*{caller() . '::flock'} = \&flock;
}
sub flock(*$){
eval{CORE::flock(shift@` shift);};
if($@){
require Carp and import Carp unless exists &carp;
&carp("flock() unimplemented on this platform");
}
}
1;
__END__
eval{flock()}とするよりuse flockの一文を加えるだけの方が
私的には美しいと思います。
中じゃ結局evalしてますけど(;´Д`)
いやこれだけで十分ですね(;´Д`) #flock.pm package flock; sub import{ *{caller().'::flock'} = sub(*$){ warn"flock() unimplemented on this platform\n";1;}; } 1; __END__ スレ汚して申し訳ありませんでした。
753 :
名無しさん :2001/04/27(金) 20:05
それならいっそ、CORE::GLOBALのflock乗っ取っちまえよ。と思ったり。 そしたら、モジュールにて加えないでも、使用側のスクリプトで useするだけでいいじゃない。 package Myflock; use base qw(Exporter); @EXPORT_OK = qw(flock); sub import { shift->export('CORE::GLOBAL'@` 'flock') } sub flock { warn 'flock() unimplemented'; 1; } 1;
754 :
名無しさん :2001/04/27(金) 20:11
みんな、ソースの検証を! 誰かやるやつはいないのか!
↑そういったのは、まず自分がやって見せないと・・・
>>515 みたいに。
ほういちさんの所は止まってるし・・・・
757 :
名無しさん :2001/04/28(土) 22:11
killage
758 :
名無しさん :2001/04/29(日) 23:08
思うに一覧型も作ってみるべきです。
一覧型って何?
760 :
名無しさん :2001/04/30(月) 08:00
761 :
名無しさん :2001/04/30(月) 10:55
思うに2ch型は超小型サイトでは使いにくい
>>761 複数の超小型サイトが合同で、スレッドのひとつがAサイト、
ふたつめがBサイト、、、というようにしたら面白いと思うん
だけど・・・
763 :
名無しさん :2001/04/30(月) 13:46
そういうことじゃなくて2ch自体がある程度評判が悪かったりするでしょ。
あー?(笑 別にいいんじゃない? 15ch型とかむぎちゃんねる型だとか言ってればさ。
765 :
名無しさん :2001/04/30(月) 16:03
>むぎちゃんねる型 2chより評判悪いぞ
評判が悪い人は2chの実態知らないっしょ? 思い切ったデザインにすれば似ても似つかなくなるって。
767 :
名無しさん :2001/04/30(月) 23:36
ってかコード書いてる人たち消えたね・・・
「2ch型」でも「15ch型」でも「むぎちゃんねる型」でもなくて 「あめぞう型」なъ( ゚ー^)
はやく掲示板書け!!!!!
できたら使ってやるから
772 :
名無しさん :2001/05/01(火) 16:52
麦チャンネル型はあめぞうがたじゃああない
html作成型じゃないと駄目か?
775 :
名無しさん :2001/05/02(水) 14:02
Webプログラミング板に誰か立てて
うーん。Perl専用のを立てた方がいいかなあ。
779 :
ほういち :2001/05/19(土) 05:25
ほういちです。おなかすいた
偽物は首吊って臓器提供しろ