■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
プログラマが2chを救う!?
- 1 :デフォルトの名無しさん :2001/08/25(土) 19:48
- 結局のところ資金面の調達が不可能なのなら、ここ(技術板)が
動かないと2ch縮小・停止の情勢・・・。
具体的には・・・
・P2Pシステムが代替案としては妥当なのか否か
・他の優良アイデアはあるのか
・言語は何を選ぶのか
・根本的な問題として、2ch(ひろゆき等々)を救う必要があるのか
を話し合っていただきたいと思います。
では、どうぞ・・・・
- 742 :夜勤 ★ :01/08/27 00:16 ID:/VYvqKxI
- もちろん!
- 743 :デフォルトの名無しさん :01/08/27 00:17 ID:ZT1fe3Xg
- sure
- 744 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:17 ID:Km.fZ5BI
- 確定ではありませんが、作業方針としては、
まず、現行プログラム各部の性格や機能を変えない範囲での最適化をする。
その後、可能なのであれば、包括的・抜本的な最適化(作り直し)をする。
といった感じです。
- 745 :名無し :01/08/27 00:17 ID:N77k73Ds
- 夜勤さん bbs.cgi は公開できないんですか?
- 746 :720 :01/08/27 00:18 ID:P7yLS.2Q
- >>728
わざわざありがとうございます〜。
いただいてきます。
% こっちはCではないのですね。
- 747 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:19 ID:Km.fZ5BI
- >>742
わーい(泣
では、お手が空き次第、
http://nichrdcgi.hoops.ne.jp/read11.rev2.c
をpiza2にでも導入していただけますか。
インストールオプションは・・・あれ、調べておきます。
- 748 :夜勤 ★ :01/08/27 00:20 ID:/VYvqKxI
- プログラムは完成することはありませんと思うので、、、
どこか区切りがついたら、呼んでください。実際にサーバに上げますので。
今の目的は、「転送量の軽減」です。
たぶん批判要望あたりをうろうろしてますので。
- 749 :夜勤 ★ :01/08/27 00:22 ID:/VYvqKxI
- bbs.cgi を公開するのは、私には無理ですよー。
- 750 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:23 ID:Km.fZ5BI
- >>748
>今の目的は、「転送量の軽減」です。
では、今のうちに「最新レス100」->「最新レス100」とかの対処を
しちゃいましょうか。。。
- 751 :369 ◆3XTuRnAc :01/08/27 00:24 ID:xXHglqmc
- ごめんなさい、gzip組み込みで難航中です。
gzipのstdin -> stdoutなモードを使用して
ログ出力→gzip stdin -> gzip stdout -> read.cgi stdout
ってーな方向で持っていこうと思ったのですが、
stdioのファイルディスクプリタをどうにかしないと
行けないことに気づきました。
・・・うーむ。こんなこと最初から気づけ俺。
- 752 :デフォルトの名無しさん :01/08/27 00:25 ID:6kfMn/mA
- >>747
http://nichrdcgi.hoops.ne.jp/read11.rev3.c
ですよ。
- 753 :デフォルトの名無しさん :01/08/27 00:25 ID:469/dUs6
- >>750
web制作の方でHTML軽減はやってるみたいですよ。
スキルの高い方知恵を貸してください2号
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537
- 754 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:26 ID:Km.fZ5BI
- >>753
では、mergeしちゃいましょう。
- 755 :名無し :01/08/27 00:26 ID:N77k73Ds
- >>747
これ見れますか?
ファイルが無いようですが、、
read11.rev3.c ならある。
- 756 :デフォルトの名無しさん :01/08/27 00:28 ID:284T.QVo
- 転送量の削減となると、やはりDATから変換したHTMLのサイズを減らすことを
優先すべきということでしょうか。
そもそもサーバのCPUパワーにはまだ余裕があるんですよね?>夜勤さん
- 757 :名無し :01/08/27 00:31 ID:N77k73Ds
- ソースが最適化コードに置き換わっていないようですが。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?mycmd=read&mypage=%5B%5Bread%2Ecgi%82%F0%8D%82%91%AC%89%BB2%5D%5D
- 758 :名無しさん || die :01/08/27 00:32 ID:YgC5b35I
- web制作の方に書いた、「新しいレスだけ表示」はどうなんでしょ。
スレをROMってリロードしまくりの人が多いなら効果あると思うのだけど。
- 759 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:32 ID:Km.fZ5BI
- >>753
すいませんが、フォローしきれる自信がないので、read.cgiで変更すべき
点だけどなたか列挙してくださいませんか?
複数の方がやって下さっても、この際よいと思います。
# それだけ抜け落ちが少なくなるし…
- 760 :デフォルトの名無しさん :01/08/27 00:32 ID:IuzteUCY
- saladのread.cgiが、この時間帯でも全レス表示可能なようなのですが、
これは正常なのでしょうか?
- 761 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:35 ID:Km.fZ5BI
- (2時間くらいの目途で作業します)
- 762 :技術とかでなく :01/08/27 00:40 ID:1NVzBQO2
- プリペイド買った人のみスレを立てる権利を付ける
(日当たり回数制限付き)
プロキシーは一切制限する所から初めて、許可申請
で開ける様にする
(プロキシー潰して行く方向でやる方が面倒)
各板共に3分間は更新された内容が読み込めない様
にする
(同一IPからのリクエストは3分間はkickってのも在る?)
これで安泰
- 763 :Web制作から転載です。 :01/08/27 00:43 ID:nQB5Vf12
- 477 名前:351 投稿日:01/08/26 23:58 ID:IvN6phxo
index2.html用
http://isweb31.infoseek.co.jp/photo/photo_d/test.html
index2.html用CSSバージョン
http://isweb31.infoseek.co.jp/photo/photo_d/test_css.html
read.cgi用
http://isweb31.infoseek.co.jp/photo/photo_d/read_test.htm
read.cgi用<pre>使用
http://isweb31.infoseek.co.jp/photo/photo_d/read_079.htm
上の4ファイルの圧縮
http://isweb31.infoseek.co.jp/photo/photo_d/2ch_html.zip
です。Script関係他よろしくです。
とりあえずタグレベルでは減量させたつもり。
- 764 :デフォルトの名無しさん :01/08/27 00:45 ID:2MpScvZw
- web製作板は転送量を減らしに躍起になって、
肝心なのを見失ってるって感じ。
せっかくのいい機会なのに……。
- 765 :デフォルトの名無しさん :01/08/27 00:46 ID:9mNBJEMM
- read.cgiで削れるところは少ないな。
とりあえず 最新レス100の100を半角にするか?(笑
あと「名前:」「投稿日:」削る、っていきなりやっていいんだろうか。
- 766 :デフォルトの名無しさん :01/08/27 00:46 ID:NsFeEjCc
- GetString (>690) が変わればすぐにもリンクの文字列が短くなり始めるのでは。
>620 (どのくらい検証されてる? さらなる改善は?)のように
dst を 20バイトしか使わないなら、char zz_im[1024] などとなっているのも [20] でいい。
- 767 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:47 ID:Km.fZ5BI
- まずは見た目に尽きにくい所から削っています。
HTML内の"\n"とか。
- 768 :デフォルトの名無しさん :01/08/27 00:47 ID:yw5i/z86
- HTTP_ACCEPT_ENCODING: x-gzip にも対応しとかないの?
今時、ほとんどないだろうけどね。
x-gzipにgzipを返しちゃいけません。
#ifdef GZIP
if(zz_http_encoding && strstr(zz_http_encoding,"x-gzip")){
gzip_flag = 1;
printf("Content-Encoding: x-gzip\n");
}else if(zz_http_encoding && strstr(zz_http_encoding,"gzip")){
gzip_flag = 1;
printf("Content-Encoding: gzip\n");
}else{
gzip_flag = 0;
}
#endif
- 769 :名無し :01/08/27 00:48 ID:N77k73Ds
- レスの表示形式
312 名無し 01/08/26/日 15:40
に意見がまとまりました。
- 770 :デフォルトの名無しさん :01/08/27 00:49 ID:NsFeEjCc
- >765 ファイル名を r.g か何かにして、.g を .cgi と同じに扱う(笑
- 771 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:49 ID:Km.fZ5BI
- >>766
そうですね。GetString関係は、まずread.cgiで(現在との互換性を
保ちつつ)実装しておきましょうか。
検証お願いします。できたら、最終版へのリンクもあるとありがたいです。
- 772 :デフォルトの名無しさん :01/08/27 00:49 ID:pckFEAaY
- HTTPヘッダ出力したところで
fflush(stdout);
gzdopen(1);
func_type *pFunc = gzip_flag ? gz_printf : fprintf;
して、printf を関数ポインタに置き換えるだけじゃだめなん?
gzip.c 組み込みって何してんの?
- 773 :名無し娘。 ◆vP.bOZFQ :01/08/27 00:50 ID:Km.fZ5BI
- >>769
それ、やっていいんですかね(笑
夜勤★さんなりの確認いただけないでしょうか
- 774 :デフォルトの名無しさん :01/08/27 00:52 ID:oFtR0rYM
- ■掲示板に戻る■
はなくても使い勝手が変わらないかと思います。
- 775 :デフォルトの名無しさん :01/08/27 00:52 ID:eF1BPT8s
- 既出かもしれないけど。
>>000
のリンクで対象レス番号が既にブラウザで表示されている
範囲内にある時は<a name=〜>で移動するように
処理したら少しはread.cgiの呼び出し回数&転送量が減るかも。
- 776 :デフォルトの名無しさん :01/08/27 00:53 ID:9mNBJEMM
- 日付形式はbbs.cgiに任せたほうがいいんじゃないか?
現状datのそのまま出力してるだけだし。
- 777 :デフォルトの名無しさん :01/08/27 00:53 ID:vN9r/JlA
- gzip 組み込むと GPL 適用だぞ。
- 778 :デフォルトの名無しさん :01/08/27 00:54 ID:3lNlqFsM
- >>774
他の板のスレッドから飛んだとき、「ここはどこだ?」となることがあったりする。
個人的には残して欲しい。
- 779 :デフォルトの名無しさん :01/08/27 00:54 ID:nQB5Vf12
- 確かに今やってることって
『今の2ちゃんねる』の転送量を軽減することですよね。
あまり見た目は変えない方が良いかと。
- 780 :369 ◆3XTuRnAc :01/08/27 00:56 ID:xXHglqmc
- >>772
えと、正確には「gzipにread.cgiを強引にマージしよう」っていう話です。
gzdopen()っていう名前から聞くと、gzlibとかそう言うのがあるのでしょうか。
man page見ても見つからないから、ひょっとしたら後から追加しないと
行けないのかな・・・>FreeBSD
情報お願いします。
- 781 :デフォルトの名無しさん :01/08/27 00:56 ID:oFtR0rYM
- >778
スレに用はあっても、板に用はないんじゃないですかね?
どんなもんでしょ?
- 782 :デフォルトの名無しさん :01/08/27 00:57 ID:9mNBJEMM
- とりあえず今日は見た目はあまり変えないって方針で。
でも名前:、投稿日:、は消してもよさそうだけどな。
- 783 :デフォルトの名無しさん :01/08/27 00:58 ID:2MpScvZw
- >>782
UIはまだ議論の余地があると思うので、
今回はあまりいじらない方がいいですね。
- 784 :デフォルトの名無しさん :01/08/27 00:58 ID:pckFEAaY
- >>780
zlib なんすけど、FreeBSD-4 なら /usr/include/zlib.h のコメント読んで
- 785 :782 :01/08/27 00:58 ID:9mNBJEMM
- あら、index2.htmに「投稿日:」が消えてますね。
こりゃread.cgiも消しちゃってOKじゃねーかな。
- 786 :369 ◆3XTuRnAc :01/08/27 00:59 ID:xXHglqmc
- >>777
ええ、その辺は承知してます。
もしgzip組み込みがうまく行って、かつ、read.cgiのGPL適用が
問題なく、かつ、組み込む価値があるなら採用、どれかひとつでも
欠ければ不採用ってので今は組み込みやってるところです。
まあ、今は単純な興味を満たす自己満足みたいなものですかね。
それでうまく行けば儲け物っていう。
- 787 :369 ◆3XTuRnAc :01/08/27 00:59 ID:xXHglqmc
- あ、zlibでしたか。了解です。
- 788 :デフォルトの名無しさん :01/08/27 01:00 ID:iuwjXswY
- mod_gzipって確定なのかな?
確定ならgzip組み込みって無い方がシンプルでいいと思う。
- 789 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:03 ID:Km.fZ5BI
- >>768
実装しました。まだ作業は続く。。。
- 790 :デフォルトの名無しさん :01/08/27 01:05 ID:DhF2Uz5c
- 入力フォームは必要でしょうか?
フォーム出力専用のCGIのリンクをつけるのは駄目ですか?
- 791 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:05 ID:Km.fZ5BI
- えと、
>◆時刻の解析
> >>473 >>477 >>482 >>489 >>515 >>517
について、要するにどうすればいいのか、どなたかまとめていただけますか?
- 792 :デフォルトの名無しさん :01/08/27 01:06 ID:284T.QVo
- zlib組み込みならGPLに感染しないで済むぞ↓
http://www.gzip.org/zlib/zlib_license.html
とはいえ788に同意
- 793 :デフォルトの名無しさん :01/08/27 01:08 ID:2Ic51Mxc
- 760の「この時間帯でも全レス表示可能」な問題って、
515、517の修正は入らないんでしょうか?
piza2(ここ)でも、全レス表示可能になってますが。
read.cgi Ver5.xxのとこは全部そうかな?
- 794 :nanasi :01/08/27 01:09 ID:MWcmzrwU
- age
- 795 :デフォルトの名無しさん :01/08/27 01:09 ID:DhF2Uz5c
- 517で良いと。
mod_gzipはすぐにできないのでしょう?
- 796 :デフォルトの名無しさん :01/08/27 01:12 ID:3lNlqFsM
- 取りあえず、改良をお願いします。
<BODY TEXT=black BGCOLOR=#EFEFEF link=blue alink=red vlink=#660099>
↓
<body>
- 797 :デフォルトの名無しさん :01/08/27 01:14 ID:2MpScvZw
- >>796
<BODY TEXT=black BGCOLOR=#EFEFEF link=blue alink=red vlink=#660099>
↑相当をCSSで実現するということですよね?
- 798 :デフォルトの名無しさん :01/08/27 01:14 ID:ReF.V//c
- むしろブラウザの設定任せにしてしまうということでは。
- 799 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:15 ID:Km.fZ5BI
- >>796-797
それは、管理のみなさんの了解はあるのでしょうか?
- 800 :デフォルトの名無しさん :01/08/27 01:15 ID:YgC5b35I
- >797
ちなみに index2 では既に body の属性消されてますよ。
- 801 :デフォルトの名無しさん :01/08/27 01:16 ID:CbLq.TAQ
- えー、これもガイシュツかもしれないのですが、
x-sjis を Shift_JIS にはまだできないのでしょうか?
- 802 :デフォルトの名無しさん :01/08/27 01:16 ID:DhF2Uz5c
- body削りOKなら、HEAD内全部削除は駄目ですか?(^^;
- 803 :デフォルトの名無しさん :01/08/27 01:17 ID:284T.QVo
- >>795
515じゃない?
- 804 :デフォルトの名無しさん :01/08/27 01:17 ID:2MpScvZw
- >>801
賛成です。
- 805 :デフォルトの名無しさん :01/08/27 01:18 ID:oVJMiQ2Y
- つか、encodingはmetaで指定するんじゃなくて、モノホンの
HTTPレスポンスで出した方が良くない?
- 806 :デフォルトの名無しさん :01/08/27 01:18 ID:2MpScvZw
- >>802
title要素は必要です。
- 807 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:19 ID:Km.fZ5BI
- んと、bodyとかheadの部分は後回しにしておきますから、夜勤さんに
お出で願えないかなぁ。
- 808 :デフォルトの名無しさん :01/08/27 01:19 ID:oVJMiQ2Y
- <body>とか<head>とかは省略可能タグじゃなかった?
- 809 :348 :01/08/27 01:20 ID:ynZt.qo6
- あ、またバージョンアップしてますね
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read11.rev3.c
こんな感じでage
- 810 :名無し :01/08/27 01:20 ID:N77k73Ds
- 夜勤さん、どこにいるんでしょうね。
- 811 :デフォルトの名無しさん :01/08/27 01:21 ID:2MpScvZw
- >>808
時代と逆行してる気がする
- 812 :デフォルトの名無しさん :01/08/27 01:21 ID:cn52pBwI
- >>810
お呼び出しはしておきました。
- 813 :nanasi :01/08/27 01:23 ID:MWcmzrwU
- すんません、ここを巡回できるようにしたいのですが、
どのカテゴリで探せばよいでしょ?
- 814 :デフォルトの名無しさん :01/08/27 01:23 ID:DhF2Uz5c
- >>803
そうでした。>>515です
>>806
ブックマーク用ですか?
では、bodyのスレタイトルを消します?
- 815 :デフォルトの名無しさん :01/08/27 01:23 ID:pckFEAaY
- >>791
cvs.apache.org から apr-util と apr を checkout。
apr-util を make すると misc/ の中に apr_date.o てのがある。
少々関数が不足しているので apr の方から cut&paste して追加。
ヘッダは apr/include apr-util/include を両方使えばいいでしょう。
といっても面倒くさいな。どうしよう。
Apache Software Licence ってライブラリの一部切り出して(Copyright 残して)
使っていいの?
- 816 :デフォルトの名無しさん :01/08/27 01:23 ID:tF8/p42I
- >>813
ここはプログラム技術板です。
- 817 :デフォルトの名無しさん :01/08/27 01:24 ID:oVJMiQ2Y
- とりあえず、
-printf("Content-type: text/html\n");
+printf("Content-type: text/html; charset=Shift_JIS\n");
にして、meta削るってのは?
#かちゅ〜しゃが書き込み時にエラー判定ミスってて大変やわ
- 818 :ニュース速報板のタグが間違えている :01/08/27 01:25 ID:X..P9zvs
- ニュース速報板のタグが間違えている
わさと?ガイシュツ?
<a href="../news/./index2.htm">リロード</a>
これって index2.htm ではなく index2.html じゃないの?
このリンク先をクリックすると画面が狂って表示されない。
- 819 :nanasi :01/08/27 01:25 ID:MWcmzrwU
- >>816
ギコナビ使ってるんですが、プログラム技術のカテゴリが
見つかりません(涙
- 820 :デフォルトの名無しさん :01/08/27 01:27 ID:284T.QVo
- >>819
「プログラム」じゃないかな?
- 821 :デフォルトの名無しさん :01/08/27 01:28 ID:tF8/p42I
- >>819
http://210.150.210.150/sage/bbstable.html
ギコナビ使ったこと無いからわかんないんだけど
bbstable見てみたらどうでしょう?
- 822 :nanasi :01/08/27 01:29 ID:MWcmzrwU
- >>820
出てこないです・・・・。
- 823 :デフォルトの名無しさん :01/08/27 01:30 ID:GRBfg3.A
- >>822
カテゴリはPC等だよ
- 824 :ニュース速報板のタグが間違えている :01/08/27 01:30 ID:X..P9zvs
- ニュース速報板のリロードのタグが間違えている
わさと?ガイシュツ?
<a href="../news/./index2.htm">リロード</a>
これって index2.htm ではなく index2.html じゃないの?
このリンク先をクリックすると画面が狂って表示されない。
それとここのスレに書き込むとエラーが出る by かちゅーしゃ
- 825 :824 :01/08/27 01:32 ID:X..P9zvs
- test
- 826 :デフォルトの名無しさん :01/08/27 01:32 ID:GRBfg3.A
- >>824
ホットゾヌだとエラーがでるが書き込めてるみたい。
- 827 :名無し :01/08/27 01:33 ID:N77k73Ds
- 345 名前:夜勤 ★ 投稿日:01/08/26 23:48 ID:H8NM1U/A
read.cgi の改良で、25% くらいの改善の見込みが付いたところでしょうか、
で index2.html とか若干のインターフェイスの修正でさらに 20% くらいの
改善を目論んでいる(やってみなきゃ分からない)というのが、今の状況
です。さらにいくつかのサーバを停止すれば、目標である 50Mbps以下
にはなると思います。
じゃー これが何を意味するのか?ということですが、
2ちゃんねるが黒字の経営(言葉のつっこみは勘弁)であれば、60% 以上の
経営効率化に成功したとうことでしょうが、、、
残念ながら、今の2ちゃんねるにおいては、若干の延命措置を施した
だけだったりします。このへんのことは弁茶板の方々が詳しいと思います。
- 828 :デフォルトの名無しさん :01/08/27 01:33 ID:cn52pBwI
- >>824&>>826
スレ違い
2chの動作報告はここで。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733
君たちの行き先はこっち
- 829 :デフォルトの名無しさん :01/08/27 01:33 ID:BRbcVi3o
- >>824
批判要望板へどうぞ。
- 830 :348 :01/08/27 01:33 ID:ynZt.qo6
- かちゅ〜しゃもなんかエラーが出ますね
でも一応書き込めてるようですが・・・
- 831 :デフォルトの名無しさん :01/08/27 01:34 ID:pckFEAaY
- Apache 1.3.20 の util_date.c なら単独ファイルだけで使えそうだ
からこっちにしますかね・・・
- 832 :nanasi :01/08/27 01:34 ID:MWcmzrwU
- >>821
bbstable上手く開かないです・・・。
>>822
PC等は確認済みですが、プログラム技術カテゴリ無いです・・・。
- 833 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:35 ID:Km.fZ5BI
- >>817
これってどうなのでしょう?
# RFC読み読み中
- 834 :デフォルトの名無しさん :01/08/27 01:36 ID:cn52pBwI
- >>832
http://piza2.2ch.net/tech/index2.html
- 835 :デフォルトの名無しさん :01/08/27 01:36 ID:8q2NINpg
- ところで今現在の進捗はどうなってるの?
- 836 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:36 ID:Km.fZ5BI
- >>803 >>814
>>515 実装しました。
- 837 :デフォルトの名無しさん :01/08/27 01:37 ID:QEEMLonQ
- >>832 だから板違いだ。作業の邪魔だから帰れ。
- 838 :デフォルトの名無しさん :01/08/27 01:37 ID:IuzteUCY
- >>833
古いネスケで文字化けする
ネスケ切り捨てるならそれでもいいかも
- 839 :デフォルトの名無しさん :01/08/27 01:37 ID:DhF2Uz5c
- 夜勤さん待ち
- 840 :348 :01/08/27 01:38 ID:ynZt.qo6
- ところで今実際に稼働しているのはどのバージョンなんです?
まだ、read11とか動いてませんよね?
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read11.rev3.c
一応、最新版
- 841 :デフォルトの名無しさん :01/08/27 01:38 ID:oVJMiQ2Y
- >>833
RFC的には、
http://www.fxis.co.jp/DMS/sgml/xml/saloon/html_correct_charset.html
ここいら見れ。
- 842 :nanasi :01/08/27 01:39 ID:MWcmzrwU
- >>837
後学のため、ログ読みたかったのですが・・・・。
堕ちます・・・。
- 843 :デフォルトの名無しさん :01/08/27 01:40 ID:DhF2Uz5c
- >>838
SHIFT-JISなので、ほとんど化けない。
- 844 :デフォルトの名無しさん :01/08/27 01:40 ID:pckFEAaY
- >>842
マジレスしとくと後学のためになるような作業ではない
数学の勉強でもしてろ
- 845 :デフォルトの名無しさん :01/08/27 01:40 ID:ReF.V//c
- Web制作板の守備範囲かもしらんけど、
<HTML></HTML>も消しちゃっていいことないスか?
- 846 :名無し :01/08/27 01:41 ID:N77k73Ds
- 鯖6台止める案が有力だって。
- 847 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:41 ID:Km.fZ5BI
- "charset=x-sjis" -> "charset=Shift_JIS" だけにしときます
- 848 :デフォルトの名無しさん :01/08/27 01:41 ID:IuzteUCY
- >>843
100%化けるんだよ。欧文文字コードと勘違いして。
まあネスケがタコと言えばそのとおりなんだが。
- 849 :デフォルトの名無しさん :01/08/27 01:41 ID:2MpScvZw
- >>845
時代に逆行しているような気がする
- 850 :デフォルトの名無しさん :01/08/27 01:42 ID:IuzteUCY
- >>849
xhtmlとかにして無駄に転送量増やすくらいなら
逆行してても仕方ない
- 851 :デフォルトの名無しさん :01/08/27 01:42 ID:oVJMiQ2Y
- >>838
とりあえず、そーすみしてくれ。
- 852 :デフォルトの名無しさん :01/08/27 01:42 ID:BRbcVi3o
- 517 名前:夜勤 ★ 投稿日:01/08/27 01:40 ID:???
read.cgi 5.xx の採用の結果(速報)
ピーク時の転送量はだいたい 45% 減。
CPU 負荷は、ほとんど導入前と変わらないようです。
すごい効果がでていると思います。
UNIX 板の方々に感謝!
あとは mod_gzip がどうなるかが楽しみです。
まだ、導入できると決まったわけじゃありませんが、
- 853 :801 :01/08/27 01:43 ID:CbLq.TAQ
- バイト数を減らすという目的でいろいろ出てますが、
そのためにといってCGIにはかせるHTMLを
最低限のヘッダ要件をも満たしてないものにするのは
いかがなものかと思うわけです。
- 854 :デフォルトの名無しさん :01/08/27 01:44 ID:tF8/p42I
- コピペです
517 名前:夜勤 ★ 投稿日:01/08/27 01:40 ID:???
read.cgi 5.xx の採用の結果(速報)
ピーク時の転送量はだいたい 45% 減。
CPU 負荷は、ほとんど導入前と変わらないようです。
すごい効果がでていると思います。
UNIX 板の方々に感謝!
あとは mod_gzip がどうなるかが楽しみです。
まだ、導入できると決まったわけじゃありませんが、
- 855 :デフォルトの名無しさん :01/08/27 01:44 ID:IuzteUCY
- >>851
「ネスケ 文字化け」とかでGoogleしてみてくれ
結構有名だからWeb板の住人なら誰でも知ってそうだが
- 856 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:45 ID:Km.fZ5BI
- >>853
個人的に同感です。
ところで、そろそろ新スレ?
あと、GetString関係、>>620をもとに実装してみます。
それが終わったらコンパイルテスト後にソースアップします。
- 857 :デフォルトの名無しさん :01/08/27 01:45 ID:YgC5b35I
- 文字化け多発→リロードしまくり&あちこちで質問される→転送量増加
- 858 :デフォルトの名無しさん :01/08/27 01:46 ID:cn52pBwI
- 新スレの1はこんな感じでいかがでしょう?
2chの読み出し[read.cgi]の最適化、効率化を中心に検討・開発しています。
このスレッドへのご感想・不具合報告の投稿はお控えください。
読み出しがうまくいかない・エラーなどの不具合報告はこちら
・2chの動作報告はここで。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733
現状へのご意見ご感想はこちら
・転送量(料)の増加で2ch閉鎖の危機!5
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998806470
緊急対策コーディングはこちら
・UNIX板で2chのプログラムを開発中 パート 3
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998765190
- 859 :デフォルトの名無しさん :01/08/27 01:46 ID:IuzteUCY
- x-sjisにする必要がないというならx-gzipにも配慮する必要ないと思う
- 860 :デフォルトの名無しさん :01/08/27 01:46 ID:QEEMLonQ
- <HTML>削るのは最後の最後の最後の手段だね。
- 861 :Web制作板 :01/08/27 01:47 ID:3lNlqFsM
- 改良をお願いします。見かけとかは変わりません。
<div align=center><a href="http://www.2ch.net/info.html" border=0><img src="title.gif" border=0></a></div>
↓
<p align=center><a href="http://www.2ch.net/info.html"><img src="title.gif" border=0></a></p>
提案はまとめて出した方がいいでしょうか?それとも決定次第出した方がいいでしょうか?
- 862 :デフォルトの名無しさん :01/08/27 01:48 ID:IuzteUCY
- <HTML>削ってもHTMLの仕様に違反するわけではないよ
分かってるとは思うけど
http://www.ne.jp/asahi/minazuki/bakera/html/reference/basic#html
- 863 :名無し :01/08/27 01:49 ID:N77k73Ds
- 新スレにこれも載せてください。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
- 864 :デフォルトの名無しさん :01/08/27 01:49 ID:YgC5b35I
- htmlやbody削ると見れなくなるブラウザってある?
仕様よりも実装優先で。
- 865 :デフォルトの名無しさん :01/08/27 01:50 ID:2MpScvZw
- >>862
http://www.w3.org/TR/xhtml11/
- 866 :デフォルトの名無しさん :01/08/27 01:49 ID:jRMpTCc6
- <meta>タグは削らなくていいけど、
-printf("Content-type: text/html\n") ;
+printf("Content-type: text/html; charset=Shift_JIS\n") ;
は入れたほうがいいんじゃない? レスポンスヘッダ中にcharset指定がないと、
2ch以外のShiftJISじゃないページからread.cgiにリンクが張られたとき
<meta>タグ無視してNC4.xが判別に失敗するときあるし。
- 867 :デフォルトの名無しさん :01/08/27 01:50 ID:oVJMiQ2Y
- >>860
DTD書いてない時点で、「ブラウザが解釈できる限界まで削る」という
方針でもいいんじゃ無いかと思うけどな。
>>855
httpのヘッダでなく、metaに入れないと化けるって事なら、みつけられん
charsetがShift_JISだから(x-sjisでないから)、ってことなら、了解。
- 868 :名無し :01/08/27 01:51 ID:N77k73Ds
- 夜勤さん、どこへ行っちゃったんだろうか?
- 869 :デフォルトの名無しさん :01/08/27 01:51 ID:IuzteUCY
- >>865
2chのhtmlはxhtmlじゃないでしょ
もしそうならすでに違反しまくり
今さら<HTML>を残したって同じこと
そもそもxhtmlでは<html>と小文字でなくちゃ駄目
- 870 :デフォルトの名無しさん :01/08/27 01:52 ID:cn52pBwI
- >>863
これでよろしいですか?
2chの読み出し[read.cgi]の最適化、効率化を中心に検討・開発しています。
このスレッドへのご感想・不具合報告の投稿はお控えください。
読み出しがうまくいかない・エラーなどの不具合報告はこちら
・2chの動作報告はここで。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733
現状へのご意見ご感想はこちら
・転送量(料)の増加で2ch閉鎖の危機!5
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998806470
緊急対策コーディングはこちら
・UNIX板で2chのプログラムを開発中 パート 3
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998765190
・開発用wiki(read.cgiソースなどの掲載があります)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
- 871 :デフォルトの名無しさん :01/08/27 01:52 ID:pckFEAaY
- >娘。
日付関数動いた。
compile するのに apache の tarball 要る(configure のため)と思う
んだけどどうすればいいかな?
夜勤さんの方でコンパイルするのにそれは辛いでしょ?
# ちょっと今から configure 抜きで必要そうなファイルだけで試してみますが
- 872 :デフォルトの名無しさん :01/08/27 01:52 ID:YgC5b35I
- タグ関連はここにどんどん書いてもらって、後で取捨選択しては?
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?mycmd=read&mypage=%5B%5Bhtml%82%CC%8Ed%97l%5D%5D
- 873 :デフォルトの名無しさん :01/08/27 01:53 ID:IuzteUCY
- >>867
詳しいことは忘れたけどmetaに入れた場合とHTTPヘッダに
入れた場合でもネスケ3はなぜか動作が違う
まあ苦情が来なければいいかも
- 874 :845 :01/08/27 01:53 ID:zjmRlAwo
- すんません。やっぱこのスレで出すべき話じゃなかったかも。
- 875 :デフォルトの名無しさん :01/08/27 01:55 ID:DhF2Uz5c
- >>848
>>838で古いネスケって書いてあったので、Ver1や2の頃かと思っていました(^^;
Ver4台で起きているのですね(^^;
では、METAタグがよろしいかと。。。
古いバージョンは逆にcharset=Shift_JISはOKなのかな。
(スレ違いすみません)
- 876 :デフォルトの名無しさん :01/08/27 01:56 ID:6kfMn/mA
- 147 名前:夜勤 ★ :01/08/27 01:54 ID:???
これから、全サーバに read.cgi 5.xx を入れに行ってきます。
たくさんサーバあるので、ぼちぼち入れます。
コピペです。
- 877 :デフォルトの名無しさん :01/08/27 01:56 ID:3lNlqFsM
- >>872
後で取捨選択、をやろうとして現在Web制作の方が結構大変なことになってるんですが…。
- 878 :名無し :01/08/27 01:56 ID:N77k73Ds
- >147 名前:夜勤 ★ :01/08/27 01:54 ID:???
>これから、全サーバに read.cgi 5.xx を入れに行ってきます。
>たくさんサーバあるので、ぼちぼち入れます。
だそうです。最終版のプログラムを提示して下さい。
- 879 :スレ違いスマソ :01/08/27 01:57 ID:IuzteUCY
- >>875
ネスケ1や2や4は大丈夫。だめなのはネスケ3のみ。
ネスケ3だとcharset=Shift_JISもHTTPヘッダ使うのもだめ。
- 880 :名無し娘。 ◆vP.bOZFQ :01/08/27 01:57 ID:Km.fZ5BI
- んと、hoopsもう入れなくなってます(汗
アップできないのでしばらくお待ち下さい。。。
# あぷろだにでもあげようか…
- 881 :デフォルトの名無しさん :01/08/27 01:59 ID:ZIaMkoUw
- ウダウダレスしてねーで、はやく実行しろよ。
やっぱここはUNIX板とは違うオナ〜ニ板でしかなかったのか・・・
- 882 :デフォルトの名無しさん :01/08/27 01:59 ID:yw5i/z86
- >>859
文字コードはブラウザで強制的に切り替えできるけど、
x-gzipにgzipで返されるとどうにもならない。
- 883 :348 :01/08/27 01:59 ID:ynZt.qo6
- こっちであげますよ
forcount@star.endless.ne.jp
宛に
id:2chread
pass:readcgi
という内容で添付して送っていただければ
自動的にアップされます
- 884 :デフォルトの名無しさん :01/08/27 02:00 ID:pckFEAaY
- >>881
メンバーほとんど同じだと思うけど
- 885 :369 ◆3XTuRnAc :01/08/27 02:01 ID:xXHglqmc
- >娘。さん
うちのftpつかってくれて良いですよ。ftpポート開いてます。
210.170.170.131
- 886 :デフォルトの名無しさん :01/08/27 02:01 ID:IuzteUCY
- >>882
ネスケ3もHTTPヘッダやhtmlで指示された文字コードは切り替えられない
- 887 :369 ◆3XTuRnAc :01/08/27 02:01 ID:xXHglqmc
- あ、そっちのほうがいいですね>>883さん
- 888 :デフォルトの名無しさん :01/08/27 02:02 ID:QEEMLonQ
- >>861
っと、それはbbs.cgiの部分だな。
とりあえずWeb製作のスレで「決定事項」としてまとめとけば、
必要になったらこっちから見に行くんじゃないかな。
- 889 :デフォルトの名無しさん :01/08/27 02:02 ID:ZIaMkoUw
- こっちも見ろや
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=50
- 890 :デフォルトの名無しさん :01/08/27 02:03 ID:BrafyimQ
- ところで、最新ソースのレポジトリはどこさ?
- 891 :デフォルトの名無しさん :01/08/27 02:03 ID:3lNlqFsM
- >>888
了解しました。
- 892 :348 :01/08/27 02:05 ID:ynZt.qo6
- >>883の手順でアップしたら
一応
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
に告知しておいて下さい
5分ごとにチェックしてます
- 893 :デフォルトの名無しさん :01/08/27 02:06 ID:cn52pBwI
- 新スレ建てておきました。
- 894 :名無し娘。 ◆vP.bOZFQ :01/08/27 02:08 ID:Km.fZ5BI
- >>883
使わせていただきました。ありがとうございます。
ftp://210.170.170.131/incoming/2ch-read-current/read12.c
ftp://210.170.170.131/incoming/2ch-read-current/Makefile
コンパイルまでは確認済です。
- 895 :デフォルトの名無しさん :01/08/27 02:10 ID:cn52pBwI
- 失礼。
新スレのリンクし忘れました。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
です。
- 896 :369 ◆3XTuRnAc :01/08/27 02:11 ID:xXHglqmc
- うーん、zlib対応がなんかいまいちうまく行かない。
gzprintfが、printfじゃなくてfprintf相当というのが結構面倒(^^;;。
なんか、話を混乱させてしまいそうですし、できる見こみも少ないので
「gzipマージ/zlib利用」はおいらのところでは断念することにします。
みなさま、混乱させてごめんなさい。
# 悔しい・・・。なにより、実現できると思ったことが実現できないことが。
- 897 :名無し娘。 ◆vP.bOZFQ :01/08/27 02:11 ID:Km.fZ5BI
- 新スレあるけど、報告だけこちらに。
HTML吐き出し部分での改造は、"100"を"100"にしたこと、
JavaScriptにエラーが出ない範囲で"\n"を省略したこと。
read.cgiバージョン表示部分を短くしたこと。
大きなことは、#ifdef GSTR2。
その他は、x-gzipのこと、tm_nowのこと、x-sjisのこと。
- 898 :デフォルトの名無しさん :01/08/27 02:13 ID:pckFEAaY
- >>896
printf 全置き換えでだめだったの?
- 899 :369 ◆3XTuRnAc :01/08/27 02:22 ID:xXHglqmc
- >>898
あ、それやってないです。
ちょうどread12が公開された見たいだし、もう一度やってみようかな・・・。
- 900 :デフォルトの名無しさん :01/08/27 02:23 ID:KshZOEYc
- >>896
やったところまで Wiki にでも上げといたらどう?
誰か跡継いでくれるかもよ。
- 901 :デフォルトの名無しさん :01/08/27 02:24 ID:yw5i/z86
- >>886
x-sjisは変わらんが、Shift-Jisは変えられる様だ。
3.01jaを引っ張り出して来て試してみた。
- 902 :369 ◆3XTuRnAc :01/08/27 02:26 ID:xXHglqmc
- >娘。さん
read12.c、バグがあります。
850行目
char *zz_GetString(char *dst,char tgt)
↓
char *zz_GetString(char *dst,char *tgt)
861行目
if(kk[0] == tgt)
↓
if(kk[0] == tgt[0])
じゃないですか?
- 903 :369 ◆3XTuRnAc :01/08/27 02:28 ID:xXHglqmc
- てことで、その修正入れたのを
ftp://210.170.170.131/incoming/2ch-read-current/read12.1.c
としてコピーしておきました。
- 904 :デフォルトの名無しさん :01/08/27 02:30 ID:2NFCZnYc
- 新スレに移行された方がよいのでは?
プログラマが2chを救う!?2
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
- 905 :772じゃないけど :01/08/27 02:34 ID:0cm50H8s
- もうちょっと詳しく書くとこんな感じになるかな?
----------------------------------------------------------------------
#include <stdarg.h>
#include <zlib.h>
:
/* 本当はグローバル変数を増やさない方がいいんだけど...
printf()があちこちにあるので許してちょ */
typedef int (*zz_printf_t)(gzFile *, cont char *, ...);
static gzFile *zz_fptr = (gzFile *)stdout;
static zz_printf_t zz_printf = (zz_printf_t)fprintf;
:
:
if (gzip_flag) {
:
fflush(stdout);
zz_fptr = gzdopen(1, "w");
zz_printf = gzprintf;
gzsetparams(zz_fptr, Z_BEST_COMRESSION, Z_DEFAULT_STRATEGY);
:
}
:
if (gzip_flag) {
:
gzclose(zz_gzfile);
}
----------------------------------------------------------------------
で ソース中の printf("fmt", ...) を (*zz_printf)(zz_fptr, "fmt", ...) に
書き換えて Makefileで
LDFLAGS = -s -lz
を追加 あっ"-s"ってのは個人的な趣味なんで気に入らなければ外してもいいです
- 906 :デフォルトの名無しさん :01/08/27 02:35 ID:yw5i/z86
- >>886 >>901
ごめん、Shift_JISだった。
表示コードを変えられなかったが、sjisだと認識するんならOKだし、
不明なコードなら変更できるんだからかまわないんでは。
- 907 :デフォルトの名無しさん :01/08/27 02:36 ID:pckFEAaY
- >>905
そうそう、そんな感じで。
- 908 :デフォルトの名無しさん :01/08/27 02:38 ID:IuzteUCY
- >>906
確か変えられなくて困った記憶があるんだが…記憶違いかも。
確かめてみる。
- 909 :デフォルトの名無しさん :01/08/27 02:45 ID:vN9r/JlA
- >>905
(*zz_printf)(zz_fptr, "fmt", ...)
は
zz_printf(zz_fptr,"fmt", ...)
の方が良いと思われ。(ANSI C には反しない。)
後で元に戻すとき楽だと思う。
- 910 :デフォルトの名無しさん :01/08/27 02:48 ID:pckFEAaY
- てか、cpp では
#define printf(str, ...) zz_printf(zz_fptr, str, ...)
みたいに可変引数できるんだっけ?
- 911 :デフォルトの名無しさん :01/08/27 02:51 ID:oVJMiQ2Y
- #define printf(format, args...) zz_printf(zz_fptr, format, ## args)
ってのでGNU Cの拡張で「だけ」OKだったはず。
- 912 :デフォルトの名無しさん :01/08/27 02:51 ID:yw5i/z86
- >>908
EUCなのに、x-sjisとかShift_JISとか書いてあって困ったんではないの。
間違ってShift-Jisってやったら変えられたからね。
- 913 :デフォルトの名無しさん :01/08/27 02:52 ID:oVJMiQ2Y
- http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.8.1/gcc_3.html
詳しくはここいらの「可変個の引数をもつマクロ」を見れ
- 914 :デフォルトの名無しさん :01/08/27 02:53 ID:pckFEAaY
- ま、んなことせんでも引数1〜10個まで#defineすればいっか
- 915 :908 :01/08/27 02:54 ID:IuzteUCY
- すまん完全に勘違いしてた。
文字化けするのはネスケ2だった。
- 916 :デフォルトの名無しさん :01/08/27 02:55 ID:IuzteUCY
- ネスケ2でShift_JISを指定してもEncodingがWesternに固定されて
変えられない。もちろん文書はシフトJIS。
2.02で確認。
- 917 :デフォルトの名無しさん :01/08/27 02:58 ID:yw5i/z86
- >>915
さすがに、ネスケ2はそこらに残してない。
- 918 :デフォルトの名無しさん :01/08/27 03:00 ID:5VdVXYrU
- いまベンチャー板にひろゆき(本物)いた。
http://yasai.2ch.net/test/read.cgi?bbs=venture&key=998402480
- 919 :デフォルトの名無しさん :01/08/27 03:04 ID:pckFEAaY
- ひろゆきが助けてくださいと言って
西さん一晩考えるって・・・
- 920 :- :01/08/27 03:29 ID:q7WWiv5M
- 全鯖に read.cgi ver5.02 入ってますな。夜勤さん、おつかれさま・・・
- 921 :デフォルトの名無しさん :01/08/27 04:01 ID:vN9r/JlA
- 実況防止機能(素早い reload を無視)
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&st=490
- 922 :らいがー。 :01/08/27 04:30 ID:R/rjVC1g
- あなた達かっこいいよ・・・。
- 923 :デフォルトの名無しさん :01/08/27 23:40 ID:bJ23bC3M
- /*<ctype.h>等とかぶってたら、要置換*/
#definefalse(0)
#definetrue(!false)
#define_C_(1<<0)/*datチェック用区切り文字等*/
#define_U_(1<<1)/*URLに使う文字*/
#define_S_(1<<2)/*SJIS1バイト目=<br>タグ直前の空白が削除可かを適当に判定*/
//#defineisCheck(c)(flagtable[(unsigned char)(c)] & _C_)
#defineisCheck(c)(flagtable[/*(unsigned char)*/(c)] & _C_)
#defineisSJIS1(c)(flagtable[(unsigned char)(c)] & _S_)
#definehrefStop(c)(!(flagtable[(unsigned char)(c)] & _U_))
#define_0____(1<<0)
#define__1___(1<<1)
#define___2__(1<<2)
#define____3_(1<<3)
#define_____4(1<<4)
#define______(0)
#define_01___(_0____|__1___|0)
#define__1_3_(__1___|____3_|0)
#define___23_(___2__|____3_|0)
#define_0_23_(_0____|___2__|____3_|0)
char flagtable[256] = {
_0____,______,______,______,______,______,______,______,//00-07
______,______,______,______,______,______,______,______,//08-0F
______,______,______,______,______,______,______,______,//10-17
______,______,______,______,______,______,______,______,//18-1F
_0____,__1___,______,__1___,__1___,__1___,_01___,______,//20-27 !"#$%&'
______,______,__1___,__1___,_01___,__1___,__1___,__1___,//28-2F()*+,-./
__1___,__1___,__1___,__1___,__1___,__1___,__1___,__1___,//30-3701234567
__1___,__1___,__1___,__1___,_0____,__1___,______,__1___,//38-3F89:;<=>?
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//40-47@ABCDEFG
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//48-4FHIJKLMNO
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//50-57PQRSTUVW
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//58-5FXYZ[\]^_
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//60-67`abcdefg
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//68-6Fhijklmno
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,//70-77pqrstuvw
__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,__1_3_,______,//78-7Fxyz{|}~
____3_,_0_23_,___23_,___23_,___23_,___23_,___23_,___23_,//80-87
___23_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//88-8F
___23_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//90-97
___23_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//98-9F
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//A0-A7
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//A8-AF
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//B0-B7
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//B8-BF
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//C0-C7
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//C8-CF
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//D0-D7
____3_,____3_,____3_,____3_,____3_,____3_,____3_,____3_,//D8-DF
____3_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//E0-E7
___23_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//E8-EF
___23_,___23_,___23_,___23_,___23_,___23_,___23_,___23_,//F0-F7
___23_,___23_,___23_,___23_,___23_,______,______,______,//F8-FF
};
- 924 :デフォルトの名無しさん :01/08/27 23:41 ID:bJ23bC3M
- typedef struct {//class...
char **buffers;//csvの要素
int rest;//残りのバッファサイズ・・厳密には判定してないので、数バイトは余裕が欲しい
int isTeri;//
} ressplitter;
/*
初期化
toparrayポインタ配列のアドレス
buffコピー先のバッファの先頭
bufsize厳密には判定してないので、数バイトは余裕が欲しい
*/
void ressplitter_init(ressplitter *This, char **toparray, char *buff, int bufsize/*, bool isteri*/)
{
This->buffers = toparray;
This->rest = bufsize;
This->isTeri = true;//レス1をstrstr("<>")した結果を設定すべき
*This->buffers = buff;
}
/*
findSplitterの代わり
レスを全走査するが、コピーと変換(と削除)を同時に行う
pコピー前のレス(BigBuffer内の1レス)
istagcut<a href=...>と</a>をcutするか
Return次のpの先頭
non-TYPE_TERIなdatには,"<>"は含まれないはずなので、#ifdef TYPE_TERI は略
*/
const char *ressplitter_split(ressplitter *This, const char *p, int istagcut)
{
char *bufp = *This->buffers;
int bufrest = This->rest;
while (--bufrest > 0) {
int ch = *(unsigned char *)p;
if (isCheck(ch)) {
switch (ch) {
case ' ':
//無意味な空白は1つだけにする
while (*(p+1) == ' ')
p++;
if (*(p+1) != '<')
break;
if (*(p+2) == '>') {
if (bufp == *This->buffers)//名前欄が半角空白の場合
*bufp++ = ' ';
p += 3;
goto Teri_Break;
}
if (memcmp(p, " <br> ", 6) == 0) {
if (bufp != *This->buffers && isSJIS1(*(bufp-1))) {
*bufp++ = ' ';
}
memcpy(bufp, "<br>", 4);
p += 6;
bufp += 4;
continue;
}
break;
- 925 :デフォルトの名無しさん :01/08/27 23:42 ID:bJ23bC3M
- case '<'://醜いが
if (*(p+1) == '>') {
//This->isTeri = true;
p += 2;
goto Teri_Break;
}
if (istagcut) {
//if (*(p+1) != 'b' || *(p+2) != 'r') {
if ((*(p+1) == 'a' && *(p+2) == ' ') || (*(p+1) == '/' && *(p+2) == 'a')) {
while (*p != '>') {//strchr(p, '>')
if (*p == '\0')
goto Break;
++p;
}
++p;
continue;
}
}
break;
case '&':
if (memcmp(p, "&", 4) == 0) {
if (*(p + 4) != ';')
p += 4 - 1;
}
break;
#ifndefTYPE_TERI
case 0x81://*"@"
//if (!This->isTeri) {
if (memcmp(p, "@`", 4) == 0) {
ch = ',';
p += 4 - 1;
}
//}
break;
case ',':
//if (!This->isTeri) {
p++;
goto Break;
//}
//break;
#endif
case '\0':
goto Break;
//break;
default:
break;
}
}
*bufp++ = ch;
p++;
}
- 926 :デフォルトの名無しさん :01/08/27 23:43 ID:bJ23bC3M
- Teri_Break:
//名前欄に','が入っている時にsplitをミスるので、見誤る可能性があるので、
//This->isTeri = true;
Break:
*bufp++ = '\0';
This->rest -= bufp - *This->buffers;
*++This->buffers = bufp;
//区切り末の空白を削除
if (*p == ' ')
++p;
return p;
}
void splitting_copy(char **s, char *bufp, const char *p, int size)
{
ressplitter res;
ressplitter_init(&res, s, bufp, size);
p = ressplitter_split(&res, p, false);//name
p = ressplitter_split(&res, p, false);//mail
p = ressplitter_split(&res, p, false);//date
p = ressplitter_split(&res, p, LINKTAGCUT && IsBusy2ch());//text
p = ressplitter_split(&res, p, false);//title
//IsBusy2ch()を何度も呼ぶのは大きな無駄
}
- 927 :デフォルトの名無しさん :01/08/27 23:43 ID:bJ23bC3M
- その他に直す部分は、
先頭のほうに、
#definefalse(0)
#definetrue(!false)
#defineLINKTAGCUTtrue
out_html1()(369-)
- strncpy(p, BigLine[0], 1024);
- p[1024 - 1] = '\0';
- if (!*p)
- return 1;
- res_split(s, p);
+ splitting_copy(s, p, BigLine[0], sizeof(p) - 20);
+ if (!*p)
+ return 1;
out_html()(404-)
- strncpy(p, BigLine[0], 1024);
- p[1024 - 1] = '\0';
- if (!*p)
- return 1;
- res_split(s, p);
+ splitting_copy(s, p, BigLine[0], sizeof(p) - 20);
+ if (!*p)
+ return 1;
out_html()(421-)
- strncpy(p, BigLine[line], 1024);
- p[1024 - 1] = '\0';
- if (!*p)
- return 1;
- res_split(s, p);
+ splitting_copy(s, p, BigLine[line], sizeof(p) - 20);
+ if (!*p)
+ return 1;
hrefStop()
マクロで定義しなおしているので、
#if0
#endif
ででもはさんでくれ(コンパイルエラーが出る)。
res_split()とfindSplitter()も必要なくなるが、エラーにはならないので。
- 928 :デフォルトの名無しさん :01/08/28 00:19 ID:gWXKzR9.
- わかると思うけど、
>>925の
case '&':
の下は、当然、
if (memcmp(p, "&", 4) == 0) {
ね。
- 929 :デフォルトの名無しさん :01/08/29 22:04 ID:eQiT7HbI
- BadAccessってさ、なんでif文を切ってるの?
コンパイルした時にダイナミックステップが多くなるじゃん。
caseにしろよ。その方が高速化するぞ。
- 930 :デフォルトの名無しさん :01/08/29 22:38 ID:6wtO5bLA
- >>929
文字列比較にcase?
231KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30