スレッドフロート式掲示板

提供:5ちゃんねるwiki
2019年9月6日 (金) 07:00時点における本郷九丁目 (トーク | 投稿記録)による版 (必要性が高そうな情報を盛りこんで、書きなおした。 #歴史 に #おことわり として: 資料による相違 や 再確認が困難な点 が多いため、本節の内容が正解であることを保証するのは不可能…)
ナビゲーションに移動 検索に移動

複数の(通常は、多数の長い)スレッドが存在可能な掲示板であり、
スレッドへの投稿の副効果として
その投稿先スレッドを最上位に浮き上がらせる
(以下の節では、 age機能 という)ようにしてあるもの。
投稿があるごとに スレッド・フローティング が累積
されていくので、
(スレッド一覧などでの)スレッドの並び順は、結局、
最新投稿が新しい順 になる。

日本で現在でも
スレッドフロート式掲示板
といわれている方式の掲示板は、あめぞう氏 が開発したもの。
2ch も、この方式を取り入れて発足した。
ただし、2ch では、後述のように、
投稿時のオプションで、
その投稿先スレッドを最上位に浮き上がらせるのを
さし控える機能(sage機能)なども、あとから追加された。

2ch で使ってきたスクリプト

2ch では、主に以下のスクリプトを使って作業が分担されている。

bbs.cgi は、
書きこみリクエスト
に対応し、さらに、
掲示板の トップページ や スレッド一覧 など
を更新するスクリプトであり、
ここに、 age機能 (や sage機能 など) が実装されている。

一方、read.cgi は、
(掲示板のトップページへの閲覧リクエストとは別の)
スレッドやその一部を指定した閲覧リクエスト
に対応するスクリプトであり、
リクエストごとに、
スレッドの内部表現ファイル(datファイル)の必要な部分を
整形して HTML に変換している。
なお、2ch専用ブラウザー を使うと、
直接 datファイル を読みに行き、クライアント側で整形するため、
サーバー側で read.cgi を動作させる必要がなくなり、
2ch の負荷削減に寄与できる。

歴史

おことわり

資料による相違 や 再確認が困難な点 が多いため、
本節の内容が正解であることを保証するのは不可能です。

2ch 発足以前

1998年2月
multi2 という掲示板スクリプト(『 Try The Homepage 』で配布)
に、 age機能 の原形が実装された。

1998年3月19日
それまで掲示板を設置していなかった あめぞう氏 のサイト
に、複数の掲示板が開設された。
初期の あめぞう掲示板 は、掲示板スクリプトとして、
minibbs.cgi
という(『 CGIレスキュー 』の)簡易掲示板スクリプトを採用。
age機能 などは、なかった。

1998年9月6日
あめぞう掲示板 は、掲示板スクリプトを
resbbs
という(『 Try The Homepage 』で配布されていた)ものに変更。
age機能 の原形が実装されていたものの、
10件以上のレスがつくと新スレッドがつくられるという仕様だった。

1998年10月ごろ
あめぞう掲示板 では、掲示板スクリプトを改造。
10件以上のレスがつくと新スレッドを作っていたのをやめ、
スレッドにあるレスのうち
(スレッドを作った、おおもとの投稿とともに)
掲示板ページ自体で表示するものを
最新10件に限定する、「裏に回る機能」を導入して、
スレッド自体は長くなってもかまわないようにした。
スレッド一覧 や age機能 も実装された。
(全板に適用されるようになったのは、約半年後 ?)

あめぞう と 2ch との並存期

1999年5月30日
ひろゆき が、2ch を創設。
あめぞう での ひろゆき 自身による報告では、
「あめぞうのセカンドチャンネル」「サブ的な位置づけ」
などとしていたとのこと。

1999年6月…7月ごろ
2ch では、
掲示板のトップページでのスレッド表示のための HTML化 を
あらかじめしておく改造を行い、
あめぞう掲示板 にもフィードバックされる。
2ch では、

  • 書きこみスクリプト
  • スレッドへの閲覧リクエストに対応して、
    書きこみが入っている内部表現ファイルから読み出すスクリプト

を分離した。

1999年8月…12月ごろ
荒らしスクリプトの被害により、結局、あめぞう は壊滅。
犯人は、ひろゆき だったのか ?

あめぞう 壊滅以降の 2ch

2000年ごろ(?)
書きこみスクリプト bbs.cgi
読み出しスクリプト read.cgi とを
ほぼ完成させる。
前者は従来どおり、 Perl で実装し、後者は結局、 C言語 で実装。

2000年2月1日
(実装で C言語 を使う前の)スクリプトが流出。
(たしか、これが、したらば系 につながっていたはず。)

2001年3月29日
1001でスレが終わるようになる。

2001年8月25日
夜勤 ★ さん の転送量増加による破産宣言を受けて、
読み出しスクリプトが gzip に対応するように書き換えられる。
現在知られている スレッドフロート式掲示板 は、
この時点で、ほぼ完成した。

2001年9月
上記の作業のために公開されていた read.cgi
事実上のオープンソース化。
2ch ではクローズドソースで開発が続けられる。

2005年ごろ…2008年
bbs.cgi が SpeedyCGI に対応。
read.cgi は DSO に。

2011年ごろ
bbs.cgi が流出。

補足 (2ch に即して)

sage機能

レスを投稿する際、メール欄に sage と入力しておくことにより、
投稿先スレッドの順位に影響を生じさせないでおく
(したがって、最上位に浮き上がらせるのをさし控える)機能。
1999年12月3日(金)に導入。
その前日に aburanuki というコマンド名で仮導入されたが、
コマンド名が不評だったため sage に変更された。
sage機能 は、
ふたば☆ちゃんねる や、そのアメリカ版である 4chan にも、
sage というコマンド名のまま導入されているらしい。

age, sage, soko

現運営 では、以下のような板設定も、
SETTING.TXT で、できるようにした。

  • レスを投稿する際、メール欄に soko と入力しておくことにより、
    投稿先スレッドを最下位に沈める機能
    を使える設定
  • レスを投稿する際のデフォルトを sage 相当にしたうえ、
    メール欄に age と入力したばあいに限って、
    投稿先スレッドを最上位に浮かび上がらせる設定

sage 導入時に、コマンド名をもっときちんと考えるべきだった、
ということも、これらによって、さらに明白になった。

実際に導入されている
コマンド名
age sage soko
もっと適切だった
と考えられる
コマンド名の例
float stay sink
top asis bottom

read.cgi を書く言語

read.cgi Ver.5 までは C言語 で書いてあったのに対し、
Code Monkey ★ は、
read.cgi Ver.6 以降を Haskell で書いている、
……と、いわれている。

外部資料

あめぞうの歴史
http://history.amebbs.com/
あめぞう
https://ja.wikipedia.org/wiki/%E3%81%82%E3%82%81%E3%81%9E%E3%81%86
スレッドフロート型掲示板
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%83%95%E3%83%AD%E3%83%BC%E3%83%88%E5%9E%8B%E6%8E%B2%E7%A4%BA%E6%9D%BF