<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/fix2ch/">
    <title>Perl PHP C出来るやつちょっと来い</title>
    <link>http://w.atwiki.jp/fix2ch/</link>
    <atom:link href="https://w.atwiki.jp/fix2ch/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Perl PHP C出来るやつちょっと来い</description>

    <dc:language>ja</dc:language>
    <dc:date>2008-10-27T12:52:23+09:00</dc:date>
    <utime>1225079543</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/45.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/44.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/43.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/33.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/38.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/42.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/41.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/34.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/fix2ch/pages/40.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/45.html">
    <title>kuma</title>
    <link>https://w.atwiki.jp/fix2ch/pages/45.html</link>
    <description>
      
&lt;p align=&quot;left&quot;&gt;あれれ&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt; &lt;/p&gt;
&lt;p align=&quot;left&quot;&gt; &lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;こんなことが&lt;/p&gt;
&lt;p align=&quot;left&quot;&gt;できるのかい？&lt;/p&gt;
    </description>
    <dc:date>2008-10-27T12:52:23+09:00</dc:date>
    <utime>1225079543</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/44.html">
    <title>ああ</title>
    <link>https://w.atwiki.jp/fix2ch/pages/44.html</link>
    <description>
      
&lt;div&gt;
&lt;blockquote&gt;このページは&lt;a href=&quot;http://www.google.co.jp/&quot;&gt;http://www.google.co.jp/&lt;/a&gt;からの引用です&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div id=&quot;gbar&quot;&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;strong&gt;ウェブ&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;a href=&quot;http://images.google.co.jp/imghp?hl=ja&amp;amp;tab=wi&quot;&gt;画像&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;a href=&quot;http://maps.google.co.jp/maps?hl=ja&amp;amp;tab=wl&quot;&gt;地図&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;a href=&quot;http://news.google.co.jp/nwshp?hl=ja&amp;amp;tab=wn&quot;&gt;ニュース&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;a href=&quot;http://groups.google.co.jp/grphp?hl=ja&amp;amp;tab=wg&quot;&gt;グループ&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb1&quot;&gt;&lt;a href=&quot;http://mail.google.com/mail/?hl=ja&amp;amp;tab=wm&quot;&gt;Gmail&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb3&quot;&gt;&lt;a href=&quot;http://www.google.co.jp/intl/ja/options/&quot;&gt;&lt;u&gt;more&lt;/u&gt;&lt;small&gt;▼&lt;/small&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://books.google.co.jp/bkshp?hl=ja&amp;amp;tab=wp&quot;&gt;書籍&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://blogsearch.google.co.jp/?hl=ja&amp;amp;tab=wb&quot;&gt;ブログ&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://www.google.com/calendar/render?hl=ja&amp;amp;tab=wc&quot;&gt;カレンダー&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://picasaweb.google.co.jp/home?hl=ja&amp;amp;tab=wq&quot;&gt;写真&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://docs.google.com/?hl=ja&amp;amp;tab=wo&quot;&gt;ドキュメント&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://www.google.co.jp/reader/view/?hl=ja&amp;amp;tab=wy&quot;&gt;リーダー&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;gb2&quot;&gt;&lt;a href=&quot;http://www.google.co.jp/intl/ja/options/&quot;&gt;その他
»&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;gbh&quot;&gt; &lt;/div&gt;
&lt;div class=&quot;gbh&quot;&gt; &lt;/div&gt;
&lt;div id=&quot;guser&quot; style=&quot;padding-right:0px;padding-left:0px;font-size:84%;padding-bottom:4px;padding-top:0px;&quot; align=&quot;right&quot;&gt;&lt;a href=&quot;/url?sa=p&amp;amp;pref=ig&amp;amp;pval=3&amp;amp;q=http://www.google.co.jp/ig%3Fhl%3Dja%26source%3Diglk&amp;amp;usg=AFQjCNEmQuNg1ivauCid9lXp5yYSx6AHXw&quot;&gt;
iGoogle&lt;/a&gt;|&lt;a href=&quot;https://www.google.com/accounts/Login?continue=http://www.google.co.jp/&amp;amp;hl=ja&quot;&gt;ログイン&lt;/a&gt;&lt;/div&gt;
&lt;center&gt;&lt;br id=&quot;lgpd&quot; clear=&quot;all&quot; /&gt;&lt;img height=&quot;110&quot; alt=&quot;Google&quot; width=&quot;276&quot; src=&quot;/intl/ja_jp/images/logo.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;25%&quot;&gt; &lt;/td&gt;
&lt;td nowrap=&quot;nowrap&quot; align=&quot;center&quot;&gt; &lt;/td&gt;
&lt;td nowrap=&quot;nowrap&quot; width=&quot;25%&quot;&gt;&lt;font size=&quot;-1&quot;&gt;  &lt;a href=&quot;/advanced_search?hl=ja&quot;&gt;検索オプション&lt;/a&gt;&lt;br /&gt;
  &lt;a href=&quot;/preferences?hl=ja&quot;&gt;表示設定&lt;/a&gt;&lt;br /&gt;
  &lt;a href=&quot;/language_tools?hl=ja&quot;&gt;言語ツール&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; colspan=&quot;3&quot;&gt;&lt;font size=&quot;-1&quot;&gt;&lt;span style=&quot;text-align:left;&quot;&gt;ウェブ全体から検索 日本語のページを検索&lt;/span&gt;&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot;&gt;有名アーティストのデザインでホームページを&lt;a href=&quot;/aclk?sa=L&amp;amp;ai=BUkMUyfvZR4OnM5_ksALsuIDvD-HesC2V8MTKBMHZnNkT0IYDEAEYASDBVDgAUJjunuX4_____wFgiQM&amp;amp;num=1&amp;amp;sig=AGiWqty5IxVc3Zc99KKubp8aLqRBoEKuUQ&amp;amp;q=http://www.google.co.jp/help/ig/artist2008/#source=jahp&quot;&gt;自分らしく&lt;/a&gt;。&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot;&gt;&lt;a href=&quot;/intl/ja/ads/&quot;&gt;広告掲載&lt;/a&gt;-&lt;a href=&quot;/services/&quot;&gt;ビジネス
ソリューション&lt;/a&gt;-&lt;a href=&quot;/intl/ja/about.html&quot;&gt;Google について&lt;/a&gt;-&lt;a href=&quot;/intl/ja/jobs/&quot;&gt;人材募集&lt;/a&gt;-&lt;a href=&quot;http://www.google.com/ncr&quot;&gt;Google.com in
English&lt;/a&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=&quot;-1&quot;&gt;©2008 Google&lt;/font&gt;&lt;/p&gt;
&lt;/center&gt;
    </description>
    <dc:date>2008-03-14T13:15:15+09:00</dc:date>
    <utime>1205468115</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/43.html">
    <title>dat+on+FS</title>
    <link>https://w.atwiki.jp/fix2ch/pages/43.html</link>
    <description>
      ｌ    </description>
    <dc:date>2007-05-13T22:13:22+09:00</dc:date>
    <utime>1179062002</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/33.html">
    <title>現時点での状況</title>
    <link>https://w.atwiki.jp/fix2ch/pages/33.html</link>
    <description>
      ●現状の問題点（MUMUMU氏の発言より引用）
簡単にいえば、これっすね。

http://ex11.2ch.net/news4vip/kako/o1122/index.html
http://ex11.2ch.net/news4vip/kako/o1122/subject.txt (IEだとブラクラ注意)

で、こんなばかでかいやつを、板圧縮処理のたびに作り直していると。
これが超重いわけで。

で、なんでばかでかくなるかというと、スレ立てが従来どおりだったころの
過去ログ倉庫には、こういった10000以上のdatファイルがごろごろあると。

%ls | wc -l
13503

つまり、read.cgiやbbs.cgiがうんぬんと書く人はそもそもその瞬間に的外れで、
改善すべきは全く違う場所だと、&gt;&gt;203-204 にも書いたのですが。

で、この部分の改造は、技術的にはもちろん可能だし、
この部分の開発は２ちゃんねる互換のシステム(たとえば0chとか)をそのまま使っても、
できるはずなんですよ。
つまり、やる気とセンスと愛の問題なわけです。

さっき「互換性」うんぬんって書いたけど、
もしすごく画期的で、1日に数千のスレが立っても大丈夫な
dat落ち・圧縮・過去ログシステムができるなら、互換性なんてなくてもいいです。

で、何でこんな長文を書いているかというと、
誰かすごくセンスのある人が、口だけじゃなくて、
実際に動くものを作って、見せてくれるといいなぁと。


●必要な人材 
-じょうきょうのはあくができるひと 
-ぷろぐらむのかいせきができるひと 
-もんだいてんのかいけつほうほうがわかるひと 
-かいぜんぷろぐらむをつくれるひと 
-&#039;&#039;そんとくかんじょうのできないひと&#039;&#039;

有志のボランティアの人が漢字に直してくれました！！

&#039;&#039;&#039;必要な人材の条件&#039;&#039;&#039;
-状況の把握ができる人
-プログラムの解析ができる人
-問題点の解決方法がわかる人
-改善プログラムを作れる人
-&#039;&#039;損得勘定の出来ない人&#039;&#039;

日本語ってすごい

//うはっｗｗ夢がひろがりんぐｗｗｗ
■ここまでの経緯
news4vipのdat管理が追いつかなくてｱﾎﾞｰﾝ
　　　↓
VIPPERがシステム開発に乗り出す
　　　↓
ソースファイルが貰えなさそうなので、わからないなりに開発開始
　　　↓
それなりに開発環境が整う
　　　↓
221氏がSQLで動作する2ch互換板を作る
　　　↓
運営側にSQL板を提案　←　いまここ

●注意事項
・Perl、PHP、C、C++、JAVA、SQL、HTMLなど何か出来る人を常時募集中です。
・プログラムが出来なくても運営側との交渉やまとめwikiの更新など、出来ることはいくらでもあります。
・開発されたソフトはフリーソフトではありません。明示されていなくても、各作者・各引用元が著作権を持っています。
　プロジェクト外でのご利用は、先ずスレまでご連絡下さい。許諾・動作の保証は致しかねます。
・このスレは主に夜間に人が集まります。昼は30分毎に保守していただけると有難いです。
　スレの保守だけでも十分開発者への応援になります。    </description>
    <dc:date>2005-11-16T16:36:58+09:00</dc:date>
    <utime>1132126618</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/38.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/fix2ch/pages/38.html</link>
    <description>
      数多くの問題に対し、あらゆる手段を講じてきた2chにも限界が訪れたのだ。
スレ立て数6600th/dayという驚異的な数字を弾き出し、栄華を極めたVIPにも
栄枯盛衰の理が現れようとしていた。
かつてのVIPが到達したものは、頂点であり限界であった。
処理量がオーバーし大規模な規制が敷かれ、衰退の一路を辿るVIP

増えつづける問題と解決手段のために、肥大化したシステム。
匿名による多数の手により半ばカオスと化したソースコード。
様々な要求に答えるべく、多くの人の手が入り、複雑化した2chというシステム。

2ch運営陣もさじを投げ、時の流れに任せるほか無い状況となっていた。

2005年　そんな中、VIPはついに2chの根幹システム改良に着手した。
しかし改良プロジェクトは思うように進まず暗礁に乗り上げようとしている。

2chは衰退の一途を辿るのか？それとも･･･

　-　VIPをあきらめない　-

■関連リンク
まとめwiki
http://www6.atwiki.jp/fix2ch/
避難所:【VIPPERの為の】規制解除【VIPPERによる】
http://yy11.kakiko.com/test/read.cgi/news4vip/1127320232/
221氏作2ch互換板(MySQLで2chが作れるか？テスト用)
http://nanacahaha.com/news4vip/
221氏作2ch互換板内避難所：【規制】Perl PHP C出来るやつちょっと来い【解除】
http://nanacahaha.com/test/read.cgi/news4vip/0000000067/
// 前スレ:【規制】Perl PHP C出来るやつちょっと来い【解除】中篇 其の弐
// http://ex11.2ch.net/test/read.cgi/news4vip/1127997742/l50

news4vip 上のスレは、一時停止中です
互換板内避難所で、議論が行われています

**VIPのプログラムを直そうぜ
520 名前：▲ ◆SANUKI/VII [sage] 投稿日：2005/09/21(水) 14:52:40 ID:y+vc92rsP BE:21744386-###
スレの立てすぎでログを保存するフォルダがあぼーん
規制を解除したり規制する機能が効かなくなった

だから規制

解除するには2chのスクリプトを改造しなければいけない
改造するのは技術的には可能だが、面倒なのでやらない
やりたい奴いたら、VIP運用情報へ


&#039;&#039;技術を持ってるやつはすぐに集合だ！！！！！！&#039;&#039;

***現行すれ
【規制】Perl PHP C出来るやつちょっと来い【解除】中篇 其の弐
http://ex11.2ch.net/test/read.cgi/news4vip/1127997742/
***過去すれ
【規制】Perl PHP C出来るやつちょっと来い【解除】
http://ex11.2ch.net/test/read.cgi/news4vip/1127284146/
【規制】Perl PHP C出来るやつちょっと来い【解除】中篇
http://ex11.2ch.net/test/read.cgi/news4vip/1127558513/
***避難所
【VIPPERの為の】規制解除【VIPPERによる】
http://yy11.kakiko.com/test/read.cgi/news4vip/1127320232/
***うｐろだ(作業専用ですよおまいら)
[[【ガラクタ】うｐ１【糞コード】]] (当wiki 内)
[[【切り抜き】うｐ２【過去ログ】]] (当wiki 内)
----
[[参考になりそうな運営さんの発言とかおさらい]]

(注) ↓無造作に置かれていますが、これはフリーソフトではありません
明示されていなくても、各作者・各引用元が著作権を持っています
プロジェクト外でのご利用は、先ずスレまでご連絡下さい
許諾の保証はいたしかねます    </description>
    <dc:date>2005-11-11T11:39:30+09:00</dc:date>
    <utime>1131676770</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/42.html">
    <title>dat on SQL</title>
    <link>https://w.atwiki.jp/fix2ch/pages/42.html</link>
    <description>
      *dat on SQL
-by 221氏
-[[http://nanacahaha.com/news4vip/]]
-↑の[[【規制】Perl PHP C出来るやつちょっと来い【解除】&gt;http://nanacahaha.com/test/read.cgi/news4vip/0000000067/140]]にてソース配布中。
[[同スレの142&gt;http://nanacahaha.com/test/read.cgi/news4vip/0000000067/142]]より
&gt;ライセンスは0 0 1aはクリエイティブコモンズ帰属 - 同一条件許諾~あたりでゆるゆると。
&gt;[[http://creativecommons.org/licenses/by-sa/2.1/jp/]]

**src0_0_1 非公式ドキュメント
-by 2:246氏
- last-modified 05/10/17 21:50
-動作まで
+PHP+MySQL+サーバをインストール。これは検索すればいくらでも出てくるので省略。MySQL Administratorを入れておくと非常に便利なので入れることをオススメする。 
+&amp;color(#cc0000){php.ini}を開いて、&amp;br()&amp;color(#000099){;extension=php_mbstring.dll&amp;br();extension=php_mysql.dll}&amp;br()のセミコロンを外す。
+PHPのルートディレクトリに入り、その下のextraディレクトリから&amp;color(#cc0000){php_mysql.dll}及び&amp;color(#cc0000){php_mbstring.dll}を持ち出し、PHPルートディレクトリに移動する。 
+&amp;color(#cc0000){mysql.exe}等を実行し、一番下に落ちてる「作成用スクリプト」を２行目から実行する。 
+ドキュメントルートあたりにtestディレクトリを作成し、解凍した各スクリプトを置く。以下はドキュメントルート下に作成したものとする。
+&amp;color(#cc0000){bbs.cgi}と同一のフォルダにdatフォルダを作成する。 
+すべてのファイルの &amp;color(#000099){&quot;nanacahaha.com&quot;} を &amp;color(#000099){&quot;localhost&quot;} に置換する。&amp;html(&lt;b&gt;下手するとローカルに書いたつもりがweb上のテスト環境に書かれてしまう&lt;/b&gt;)。 
+すべてのファイルの &amp;color(#000099){$mysql_dbname=&quot;&quot;} を &amp;color(#000099){$mysql_dbname=&quot;news4vip&quot;} に置換する。 
+必要があれば、&amp;color(#cc0000){indexMaker.php} 及び &amp;color(#cc0000){datMaker.php} で &amp;color(#000099){&quot;/var/www/html/&quot;} を &amp;color(#000099){&quot;../&quot;} などに置換する。 
+必要があれば、&amp;color(#cc0000){bbs.cgi} で &amp;color(#000099){&quot;/dat/&quot;} を &amp;color(#000099){&quot;./dat/&quot;} などに置換する。
+ PHPのバージョンによっては、read.cgiの75行目付近を以下のように変更する必要がある。&amp;color(#ff0000){(10/17追記)} &amp;br()$query = getenv (&quot;PATH_INFO&quot;);&amp;br()　　　　↓&amp;br()if (isset($_SERVER[&quot;PATH_INFO&quot;])) {&amp;br()$query = $_SERVER[&quot;PATH_INFO&quot;];&amp;br()} else if (isset($_SERVER[&quot;ORIG_PATH_INFO&quot;])) {&amp;br()$query = $_SERVER[&quot;ORIG_PATH_INFO&quot;];&amp;br()} 
+&amp;color(#cc0000){indexMaker.php} の47行目付近及び81行目付近を以下のように変更する。&amp;br()47 : &amp;br()&amp;color(#000099){if($modify &gt; $last_modify)} → &amp;color(#000099){if(!$last_modify==&quot;&quot; &amp;&amp; $modify &gt; $last_modify){}&amp;br()&amp;br()81-83 : &amp;br()fwrite($file,&quot;&lt;a id=\&quot;${i}\&quot;&gt;&lt;/a&gt;&lt;div style=\&quot;border:2px solid gray;width:90%;text-align:left;\&quot; &gt;&quot;);&amp;br()$sql = &quot;SELECT res FROM `counter` WHERE serial=${key[$i]}&quot;;&amp;br()$result = mysql_query($sql,$link);}&amp;br()　　　　↓&amp;br()$sql = &quot;SELECT res FROM `counter` WHERE serial=${key[$i]}&quot;;&amp;br()$result = mysql_query($sql,$link);&amp;br()if (!$result) { continue; }&amp;br()fwrite($file,&quot;&lt;a id=\&quot;${i}\&quot;&gt;&lt;/a&gt;&lt;div style=\&quot;border:2px solid gray;width:90%;text-align:left;\&quot; &gt;&quot;);&amp;br()&amp;br()
+&amp;color(#cc0000){indexMaker.php}を実行 ( [[http://localhost/test/indexMaker.php]] を開くなど) し、[[http://localhost/test/index.htm]]l を開く。 
+あとはスレ立て・カキコが自由にできる。但し、書き込み後&amp;color(#cc0000){index.html}に戻っても更新されていない。(&amp;color(#cc0000){bbs.cgi}稼動と同時に)更新させたい場合は、375行目付近の「&amp;color(#000099){if($load){}」の次の行に「&amp;color(#000099){require(&quot;indexMaker.php&quot;);}」を挿入する。 
+なお、&amp;color(#cc0000){bbs.cgi}稼動時に「filesize」関数の警告が出るが無視して構わない。どうしても見たくない場合は、284行目付近を以下のように変更する。&amp;br()&amp;br()$size = filesize(&quot;./dat/${id0}/${id1}/${id2}/${key_pad}.dat&quot;);&amp;br()if($size &gt;= 512 * 1024){&amp;br()　　　　↓&amp;br()if(file_exists(&quot;./dat/${id0}/${id1}/${id2}/${key_pad}.dat&quot;) &amp;&amp; filesize(&quot;./dat/${id0}/${id1}/${id2}/${key_pad}.dat&quot;) &gt;= 512 * 1024){&amp;br()&amp;br()
+開発中、デバッグ中に整合性がなくなるなど面倒なことになったら、どうせ公開してないんだしDBを再作成すればいい。&amp;color(gray){mysqliを使えばautocommitが設定できるのだが…}

- テーブル図 &amp;br()221先生のsql.txtを基に作成。 &amp;br()DB上ではスレキーは&amp;html(&lt;b&gt;&#039;serial&#039;&lt;/b&gt;)、レス番は&amp;html(&lt;b&gt;&#039;sub_serial&#039;&lt;/b&gt;)と言う名前になる。 &amp;br()主キーは黄色下線、キーは下線緑、その他は緑で表記した。 &amp;br()&amp;br()221先生より、「インデックス引きは速度的に超重要」「参照回数が多いのはMyISAMよりHEAPに」「再帰同時は別ソフトで再計算すべき」との有難いお言葉を頂きました。

subject(MyISAM)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ddffdd):subject&amp;br()TINYBLOB|CENTER:BGCOLOR(#ddffdd):modify&amp;br()DATETIME|CENTER:BGCOLOR(#ddffdd):last_modify&amp;br()DATETIME|
現行のsubject.txtに当たる。sage書き込みの場合はmodifyが更新されず、last_modifyのみ更新される。

keytable(MyISAM)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;keydate&lt;/u&gt;)&amp;br()DATE|CENTER:BGCOLOR(#ddffdd):keyrand&amp;br()VARCHAR(200)|
ID生成用のテーブルを提供する。
その日の一番初めの書き込みでID用ランダム文字列を挿入し、以後その日は同じ文字列を使用する。

counter(HEAP)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ddffdd):res&amp;br()INT(6)|
レス数のテーブル。

res(MyISAM)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;sub_serial&lt;/u&gt;)&amp;br()INT(6)|CENTER:BGCOLOR(#ddffdd):&amp;html(&lt;u&gt;modify_time&lt;/u&gt;)&amp;br()DATETIME|CENTER:BGCOLOR(#ddffdd):&amp;html(&lt;u&gt;idkey&lt;/u&gt;)&amp;br()VARCHAR(16)|CENTER:BGCOLOR(#ddffdd):subject&amp;br()TINYBLOB|CENTER:BGCOLOR(#ddffdd):res&amp;br()BLOB|CENTER:BGCOLOR(#ddffdd):from&amp;br()TINYBLOB|CENTER:BGCOLOR(#ddffdd):mail&amp;br()TINYBLOB|
実際の書き込みを格納するテーブル。
timeがDATETIMEにならない事もありうる(吉野家コピペ暦X年、等)ので、変更される可能性アリ？

ipdat(MyISAM)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;sub_serial&lt;/u&gt;)&amp;br()INT(6)|CENTER:BGCOLOR(#ddffdd):ip&amp;br()VARCHAR(20)|
IPアドレスを格納するテーブル。

status(HEAP)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;code&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ddffdd):modify&amp;br()DATETIME|
現在調査中。code:0はsubback/subject/index作成時刻を入れて、subjectテーブルが変更された時のみ
indexMaker.phpが動作するようになっているらしいが…？

subject_back(HEAP)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|CENTER:BGCOLOR(#ddffdd):subject&amp;br()TINYBLOB|
現在調査中。過去ログ作成時に使用？

subject_back(HEAP)
|CENTER:BGCOLOR(#ffffdd):&amp;html(&lt;u&gt;serial&lt;/u&gt;)&amp;br()INT(10)|
現在調査中。過去ログ作成時に使用？

- datについて &amp;br()bbs.cgiでは、datファイルの作成も行っている。datファイルは、例えば0123456789.datの場合はdatroot/012/345/6/0123456789.datに格納される。 &amp;br()よって、１つのフォルダが持つ最大のdat数は1000個である。 &amp;br()2chの専用ブラウザと互換性を持たせるために、bbsname/dat/xxxxxxxxxx.datにアクセスされたら &amp;br()mod_rewriteにより本来格納されているファイルを返すようになっている。 &amp;br()&amp;br()現在、datの名前はSQLのAUTO_INCREMENTを使ってスレごとに１ずつ加算されるようになっているが、 &amp;br()本来(現行体制)はUNIX時間が使われている。これについては、「一部専用ブラウザではdat名をスレッドが立った時間と判定している」との意見もあるが、 &amp;br()UNIX時間を使うと「１秒に複数のスレッドを立てることができない」と言う問題もある。

-各ファイルの役割
:&amp;color(#cc0000){read.cgi}|言わずと知れたread.cgiのPHP版。resテーブルを読み、HTMLとして出力する。 
:&amp;color(#cc0000){bbs.cgi}|言わずと知れたbbs.cgiのPHP版。スレ立て、レス書き共にこれが担当する。ファイル、データベースの双方に出力を行う。 
:&amp;color(#cc0000){indexMaker.php}|index.html、subback.html、subject.txtをデータベースから作成する。 
:&amp;color(#cc0000){datMaker.php}|過去ログ作成機。詳しく目を通してないんでわからない (´Д｀；) 

- 作成用スクリプト &amp;br()http://nanacahaha.com/sql.txt.tar.gzよりどうぞ。 &amp;br()↑の前に↓を実行すると初心者は幸せかも。
 DROP DATABASE news4vip;
 CREATE DATABASE news4vip;
 USE news4vip;
そして最後に↓を実行すると幸せかも。 &amp;br()
 GRANT ALL ON * TO ODBC;
 INSERT INTO `status` VALUES(0,19000001);

-MySQL テーブル作成用スクリプト
by 221氏
from[[【規制】Perl PHP C出来るやつちょっと来い【解除】中篇 其の参&gt;http://ex11.2ch.net/test/read.cgi/news4vip/1129335064/]]の[[79&gt;http://ex11.2ch.net/test/read.cgi/news4vip/1129335064/79]]より
 CREATE TABLE `counter` (
   `serial` int(10) NOT NULL default &#039;0&#039;,
   `res` int(6) NOT NULL default &#039;0&#039;,
   PRIMARY KEY  (`serial`)
 ) TYPE=HEAP;
 
 CREATE TABLE `ipdat` (
   `serial` int(10) NOT NULL default &#039;0&#039;,
   `sub_serial` int(6) NOT NULL default &#039;0&#039;,
   `ipaddr` varchar(20) NOT NULL default &#039;&#039;,
   PRIMARY KEY  (`serial`,`sub_serial`)
 ) TYPE=MyISAM;
 
 CREATE TABLE `keyTable` (
   `keydate` date NOT NULL default &#039;0000-00-00&#039;,
   `keyrand` varchar(200) NOT NULL default &#039;&#039;,
   PRIMARY KEY  (`keydate`)
 ) TYPE=MyISAM;
 
 CREATE TABLE `res` (
   `serial` int(10) NOT NULL default &#039;0&#039;,
   `sub_serial` int(6) NOT NULL default &#039;0&#039;,
   `modify_time` datetime NOT NULL default &#039;0000-00-00 00:00:00&#039;,
   `subject` tinyblob NOT NULL,
   `res` blob NOT NULL,
   `FROM` tinyblob,
   `MAIL` tinyblob,
   `idkey` varchar(16) default NULL,
   `idkey` varchar(16) default NULL,
   PRIMARY KEY  (`serial`,`sub_serial`),
   KEY `modify_time` (`modify_time`),
   KEY `idkey` (`idkey`)
 ) TYPE=MyISAM;
 
 CREATE TABLE `status` (
   `code` int(10) NOT NULL default &#039;0&#039;,
   `modify` datetime NOT NULL default &#039;0000-00-00 00:00:00&#039;,
   PRIMARY KEY  (`code`)
 ) TYPE=HEAP;
 
 CREATE TABLE `subject` (
   `serial` int(10) NOT NULL auto_increment,
   `subject` tinyblob NOT NULL,
   `last_modify` datetime NOT NULL default &#039;0000-00-00 00:00:00&#039;,
   `modify` datetime NOT NULL default &#039;0000-00-00 00:00:00&#039;,
   PRIMARY KEY  (`serial`),
   KEY `last_modify` (`last_modify`),
   KEY `modify` (`modify`)
 ) TYPE=MyISAM AUTO_INCREMENT=96 ;
 
 CREATE TABLE `subject_back` (
   `serial` int(10) NOT NULL default &#039;0&#039;,
   `subject` tinyblob NOT NULL,
   PRIMARY KEY  (`serial`)
 ) TYPE=MyISAM;
 
 CREATE TABLE `subject_reconst` (
   `serial` int(10) NOT NULL default &#039;0&#039;,
   PRIMARY KEY  (`serial`)
 ) TYPE=HEAP;

&gt;負荷条件　毎秒１スレッド立て　毎秒１００スレ書き込み　3000スレアクティブ　過去ログ１つに１００００個
&gt;の条件でも、SQLなら大ジョブということで。チューニング０だから、チューニングすれば速くなるし、マシンも遅いしね。
&gt;さっきまでかけていた自動負荷ツールとめたので、あとは誰かが書き込まない限り、動かないと思う。
&gt;自動的に落ちていく様が見たいーというひとはこえかけるか砲撃でもしてくれ&amp;br()
&gt;150,000スレ以上１日で作ったけどしても特に問題ないしapacheのモジュールでメモリ管理よりかはSQLの方がいいんじゃない？
&gt;という一つのテーゼに対する回答としてはこんなもので十分じゃないかね。
&gt;１日でディスク容量数Gつぶしたけどね・・・    </description>
    <dc:date>2005-10-18T03:10:11+09:00</dc:date>
    <utime>1129572611</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/24.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/fix2ch/pages/24.html</link>
    <description>
      [[トップページ]]
----
&#039;&#039;経緯と展望&#039;&#039;
1.[[この計画が出来た経緯]]
2.[[現時点での状況]]
3.[[夢がひろがりんぐ]]

&#039;&#039;現時点での情報&#039;&#039;
-[[サーバーの情報]]
-[[おおまかな計画の流れ]]
-[[どう分担しようか]]
-[[問題点と解決方法]]
-[[現在進行中]]
-[[応援の声まとめ]]

&#039;&#039;現在編集中のソース&#039;&#039;
-[[050923ServerFlame]]
-[[dat on FS]]
-[[dat on SQL]]

&#039;&#039;質問とか&#039;&#039;
[[教えてrootたん]]
----
&#039;&#039;スレ実況&#039;&#039;
[[Webﾌﾟﾛｸﾞﾗﾏｰ降臨]]
[[なんとニュース記事に！！]]
[[讃岐がひろゆきにメール作戦]]
[[讃岐はちゃんと仕事してるのか？]]
[[豊穣の神降臨！？稲刈りミッション]]
[[プレゼン文章を考えよう！]]
[[終に出来たプレゼン草案！]]
----
&#039;&#039;参考資料&#039;&#039;
[[参考リンク]]
[[コピペ]]
[[UNIX-2ch閉鎖危機まとめ]]

[[メニューにアクセス&gt;http://www6.atwiki.jp/fix2ch/pages/24.html]]    </description>
    <dc:date>2005-10-16T22:24:01+09:00</dc:date>
    <utime>1129469041</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/41.html">
    <title>終に出来たプレゼン草案！</title>
    <link>https://w.atwiki.jp/fix2ch/pages/41.html</link>
    <description>
      66 名前：911[] 投稿日：2005/10/16(日) 17:04:09 ID:MPxC9Y3P0
＞61 精神有害 当方PC は無害 今上申書のLite 書いてる…日本語こねくり回していると頭が痛くなる

67 名前：911[] 投稿日：2005/10/16(日) 17:14:55 ID:MPxC9Y3P0
あんまり長引くとあれだから。慇懃無礼という指摘もまたしかり。前スレ942 を参考にシェイプアップしてみた。
大体ってとこで、おおちょんぼ(critical failure) がなさそうなら、上申に踏み切る
まず上申し、指示があれば、スレを立てるかもしれんし、cook81 関係とあわせてになるかもしれんし、
snowman 関係スレに落ち着くかもしれん


----
news4vip/&quot;【規制】Perl PHP C出来るやつちょっと来い【解除】&quot;より中間報告に参りました。

当初与えられた課題は、「1スレ/sec クラスの超大量スレッドと、超大量の書き込みログを
安定にこなすシステムモデルをdat 落ち以降の視点から呈示せよ」ということであったかと思いますです。

プロジェクト内に、実際に、スレ/書き込みログをMySQL に格納する形式で
互換板を実装された方がおられます 評価と実装者の後学にということもあり、
既にread.cgi, bbs.cgi のおおまかな模倣実装も完了しており、実動環境を
ご評価いただける状態にあります
ストレステストにおいて、毎秒1スレッド立て 毎秒100スレ書き込み 3000スレアクティブ
過去ログ1つに10000個の条件で稼動が確認されています

IP ログに関しましても平行して記録しており、田吾作互換システムの実装も容易です
現行規制系に準拠すべく、snowman 構成に取り入れていただくべく、bbsd 互換機能を作り込む用意もあります
cook81 システム構築の気運も高まっております折、一助になれればとも思います

ぜひご評価いただき、より具体的に、news4vip の再建と改善に参画させていただきたく存じます
将来的な実サーバーへの適用の可能性について検討をお願いします
適用の可能性がある場合についての今後の課題、また逆に可能性がない場合の問題点もあわせてご教示ください
----


src0_0_1a.tar.gz document
[[http://vipscr.yu.to/index.html]]    </description>
    <dc:date>2005-10-16T20:05:25+09:00</dc:date>
    <utime>1129460725</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/34.html">
    <title>夢がひろがりんぐ</title>
    <link>https://w.atwiki.jp/fix2ch/pages/34.html</link>
    <description>
      **前期OP
数多くの問題に対し、あらゆる手段を講じてきた2chにも限界が訪れたのだ。 
スレ立て数6600th/dayという驚異的な数字を弾き出し、栄華を極めたVIPにも 
栄枯盛衰の理が現れようとしていた。 
かつてのVIPが到達したものは、頂点であり限界であった。 
処理量がオーバーし大規模な規制が敷かれ、衰退の一路を辿るVIP 



増えつづける問題と解決手段のために、肥大化したシステム。 
匿名による多数の手により半ばカオスと化したソースコード。 
様々な要求に答えるべく、多くの人の手が入り、複雑化した2chというシステム。 



2ch運営陣もさじを投げ、時の流れに任せるほか無い状況となっていた。 



2005年　そんな中、VIPはついに2chの根幹システム改良に着手した。 
しかし改良プロジェクトは思うように進まず暗礁に乗り上げようとしている。 



2chは衰退の一途を辿るのか？それとも･･･ 



-　VIPをあきらめない　- 


**第二期OP
スレ立て数6600th/dayという驚異的な数字を弾き出し、栄華を極めたVIPに危機が訪れていた。
溢れ返るdatファイル、一万行を越えるインデックス。処理量がオーバーし、敷かれる大規模な規制。

2ch運営陣もさじを投げたニュース速報VIPで、そのプロジェクトは動き出した。
VIPPERにより、2chの根幹システム改良をする。目指すは、規制解除。

行く手を遮るのは、匿名による多数の手により半ばカオスと化したソースコード。
様々な要求に答えるべく、多くの人の手が入り、複雑化した2chというシステム。

仕様書も無く、手探りで進む開発。221氏により開発された、SQL実証板。
ついにプロジェクトは、新たなマイルストンへ進む・・・・。

　-　VIPをあきらめない　-

■ここまでの経緯
news4vipのdat管理が追いつかなくてｱﾎﾞｰﾝ
　　　↓
VIPPERがシステム開発に乗り出す
　　　↓
ソースファイルが貰えなさそうなので、わからないなりに開発開始
　　　↓
それなりに開発環境が整う
　　　↓
221氏がSQLで動作する2ch互換板を作る
　　　↓
運営側にSQL板を提案　←　いまここ


**番組開始前予告
発端のスレでのまとめを貼っときます。
http://ex11.2ch.net/[[test]]/read.cgi/news4vip/1127238890/668

結論：まずは規制緩和の実現を目指そう

今後のシナリオ：
　　　　①上記スレで技術者を集める
　　　　②スクリプトを改造してもらう
　　　　③同時に運営に規制緩和をお願いする

規制緩和後のベストシナリオ
　　　　①スレ立てバンバンできるようになる
　　　　②新スレ数増加、パートスレの保守が困難になる
　　　　③半年前くらいの状態まで復活

※HＲとかの話は、その後の状況を見て、また考える    </description>
    <dc:date>2005-10-15T01:33:15+09:00</dc:date>
    <utime>1129307595</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/fix2ch/pages/40.html">
    <title>プレゼン文章を考えよう！</title>
    <link>https://w.atwiki.jp/fix2ch/pages/40.html</link>
    <description>
      888 名前：以下、名無しにかわりましてVIPがお送りします[] 投稿日：2005/10/13(木) 17:02:58 ID:iBSYSDZM0
&gt;&gt;881
とりあえず、下書き書いてくれてかまわないのでは？
たぶん、俺を含めて内容を理解できてないけど保守という
形で支援している人の方が多いと思います。
だから、書きたくても理解してないから無理なんです。
実際に動いてくれてる人、内容が理解できてる人じゃないと書けないですよ。
だから、むしろお願いします。

911 名前：以下、名無しにかわりましてVIPがお送りします[] 投稿日：2005/10/14(金) 13:15:03 ID:zgLRtAAm0
えいままよ。日本語は苦手なんだよ (&#039;A`)ﾆｬｰ 無理無理書いたぞ。こんなとこでどんなんや
漏れの主観主義があえてかなり盛り込んである 質問とか突っ込みとかあったら受ける
本文中にもある通り、投げ込むのにはタイミングがあるので、ちょい急ぐぞ

&quot;【規制】Perl PHP C出来るやつちょっと来い【解除】&quot;より中間報告に参りました。
どうもお邪魔いたします。
冷奴スレで発覚した、news4vip に於いてのみ発生する、スケーラビリティ問題につきまして、
板住人としても、なんとか解決の一助になれないかと思案を巡らせております

板住人としては、当初課題は、「1スレ/sec クラスの超大量スレッドを安定にこなすシステムモデルを
dat 落ち以降の視点から呈示せよ」ということと、認識しております。

プロジェクト内に、実際に、スレ/書き込みログをMySQL に格納する形式で
互換板を実装された方がおられます 評価と実装者の後学にということもあり、
既にread.cgi, bbs.cgi のおおまかな模倣実装も完了しており、実動環境を
ご評価いただける状態にあります
ストレステストにおいても、160K threads+res/day を叩き出しているとのことです

-----
負荷条件 毎秒1スレッド立て 毎秒100スレ書き込み 3000スレアクティブ 過去ログ1つに10000個
の条件でも、SQLなら大ジョブということで。チューニング0だから、チューニングすれば速くなるし、
マシンも遅いしね。
さっきまでかけていた自動負荷ツールとめたので、あとは誰かが書き込まない限り、動かないと思う。
自動的に落ちていく様が見たいーというひとはこえかけるか砲撃でもしてくれ

/* 続く */

912 名前：以下、名無しにかわりましてVIPがお送りします[] 投稿日：2005/10/14(金) 13:16:46 ID:zgLRtAAm0
150,000スレ以上１日で作ったけどしても特に問題ないしapacheのモジュールでメモリ管理よりかは
SQLの方がいいんじゃない？ という一つのテーゼに対する回答としてはこんなもので十分じゃないかね。
１日でディスク容量数Gつぶしたけどね・・・
-----

IP ログに関しましても平行して記録しており、田吾作互換システムの実装も容易です
現行規制系に準拠すべく、snowman 構成に取り入れていただくべく、bbsd 互換機能を作り込む用意もあります
6.0RC1 で賑わいを見せております中恐縮ではありますが、cook81 システム構築の気運も高まっております折、
当システムが、高速検索性等において、一助になれればとの気持ちもあり、この時期にあえて上申させて頂く
ことと、させて頂きました

ぜひご評価いただき、より具体的に、news4vip の再建に参画させていただきたく存じます
叱責、課題や問題点を賜れれば幸甚です


913 名前：以下、名無しにかわりましてVIPがお送りします[] 投稿日：2005/10/14(金) 13:30:51 ID:3p1bd6k90
&gt;&gt;911
&gt; &quot;【規制】Perl PHP C出来るやつちょっと来い【解除】&quot;より
　　　　　↓
news4vipの &quot;【規制】Perl PHP C出来るやつちょっと来い【解除】&quot;より

&gt; 冷奴スレで発覚した、
　　　　　↓
雪だるまスレで発覚した、


の方がいいと思われ    </description>
    <dc:date>2005-10-14T13:48:12+09:00</dc:date>
    <utime>1129265292</utime>
  </item>
  </rdf:RDF>
