「スレッドフロート式掲示板」の版間の差分

提供:5ちゃんねるwiki
ナビゲーションに移動 検索に移動
(本郷九丁目 がページ「スレッドフロート型掲示板」をリダイレクトの「スレッドフロート式掲示板」に移動しました: このページの本文中でも使われている一般的な用語に記事名を...)
(必要性が高そうな情報を盛りこんで、書きなおした。 #歴史 に #おことわり として: 資料による相違 や 再確認が困難な点 が多いため、本節の内容が正解であることを保証するのは不可能…)
1行目: 1行目:
[[あめぞう]]氏が開発した掲示板。
{{DEFAULTSORT:すれっどふろおとしきけいじばん}}
[[category:ウェブサイト]]
<!-- -->
複数の(通常は、多数の長い)スレッドが存在可能な掲示板であり、<br>
スレッドへの投稿の副効果として<br>
その投稿先スレッドを最上位に浮き上がらせる<br>
(以下の節では、 age機能 という)ようにしてあるもの。<br>
投稿があるごとに スレッド・フローティング が累積<br>
されていくので、<br>
(スレッド一覧などでの)スレッドの並び順は、結局、<br>
最新投稿が新しい順 になる。<br>
 
日本で現在でも<br>
[[スレッドフロート式掲示板]]<br>
といわれている方式の掲示板は、[[あめぞう]]氏 が開発したもの。<br>
[[2ch]] も、この方式を取り入れて発足した。<br>
ただし、[[2ch]] では、[[#sage機能|後述]]のように、<br>
投稿時のオプションで、<br>
その投稿先スレッドを最上位に浮き上がらせるのを<br>
さし控える機能(sage機能)なども、あとから追加された。<br>
 
== 2ch で使ってきたスクリプト ==
 
[[2ch]] では、主に以下のスクリプトを使って作業が分担されている。<br>
* [[bbs.cgi]]
** bbs-entry.cgi
** bbs-main.cgi
* [[read.cgi]]
 
[[bbs.cgi]] は、<br>
書きこみリクエスト<br>
に対応し、さらに、<br>
掲示板の トップページ や スレッド一覧 など<br>
を更新するスクリプトであり、<br>
ここに、 age機能 (や sage機能 など) が実装されている。<br>
 
一方、[[read.cgi]] は、<br>
(掲示板のトップページへの閲覧リクエストとは別の)<br>
スレッドやその一部を指定した閲覧リクエスト<br>
に対応するスクリプトであり、<br>
リクエストごとに、<br>
スレッドの内部表現ファイル(datファイル)の必要な部分を<br>
整形して HTML に変換している。<br>
なお、[[Monazilla|2ch専用ブラウザー]] を使うと、<br>
直接 datファイル を読みに行き、クライアント側で整形するため、<br>
サーバー側で read.cgi を動作させる必要がなくなり、<br>
[[2ch]] の負荷削減に寄与できる。<br>
 
== 歴史 ==
 
=== おことわり ===
 
資料による相違 や 再確認が困難な点 が多いため、
本節の内容が正解であることを保証するのは不可能です。
 
=== 2ch 発足以前 ===
 
[[1998年]]2月<br>
multi2 という掲示板スクリプト(『 Try The Homepage 』で配布)<br>
に、 age機能 の原形が実装された。<br>
 
[[1998年]]3月19日<br>
それまで掲示板を設置していなかった [[あめぞう]]氏 のサイト<br>
に、複数の掲示板が開設された。<br>
初期の [[あめぞう]]掲示板 は、掲示板スクリプトとして、<br>
minibbs.cgi<br>
という(『 CGIレスキュー 』の)簡易掲示板スクリプトを採用。<br>
age機能 などは、なかった。<br>
 
[[1998年]]9月6日<br>
[[あめぞう]]掲示板 は、掲示板スクリプトを<br>
resbbs<br>
という(『 Try The Homepage 』で配布されていた)ものに変更。<br>
age機能 の原形が実装されていたものの、<br>
10件以上のレスがつくと新スレッドがつくられるという仕様だった。<br>
 
[[1998年]]10月ごろ<br>
[[あめぞう]]掲示板 では、掲示板スクリプトを改造。<br>
10件以上のレスがつくと新スレッドを作っていたのをやめ、<br>
スレッドにあるレスのうち<br>
(スレッドを作った、おおもとの投稿とともに)<br>
掲示板ページ自体で表示するものを<br>
最新10件に限定する、「裏に回る機能」を導入して、<br>
スレッド自体は長くなってもかまわないようにした。<br>
スレッド一覧 や age機能 も実装された。<br>
(全板に適用されるようになったのは、約半年後 ?)<br>
 
=== あめぞう と 2ch との並存期 ===
 
[[1999年]]5月30日<br>
[[ひろゆき]] が、[[2ch]] を創設。<br>
[[あめぞう]] での [[ひろゆき]] 自身による報告では、<br>
「あめぞうのセカンドチャンネル」「サブ的な位置づけ」<br>
などとしていたとのこと。<br>
 
[[1999年]]6月…7月ごろ<br>
[[2ch]] では、<br>
掲示板のトップページでのスレッド表示のための HTML化 を<br>
あらかじめしておく改造を行い、<br>
[[あめぞう]]掲示板 にもフィードバックされる。<br>
[[2ch]] では、<br>
* 書きこみスクリプト
* スレッドへの閲覧リクエストに対応して、<br><!--
-->書きこみが入っている内部表現ファイルから読み出すスクリプト
を分離した。
 
[[1999年]]8月…12月ごろ<br>
荒らしスクリプトの被害により、結局、[[あめぞう]] は壊滅。<br>
犯人は、[[ひろゆき]] だったのか ?<br>


==歴史==
=== あめぞう 壊滅以降の 2ch ===
;草創期
:minibbs.cgiというCGIレスキューのPerlで書かれた簡易掲示板を改造し、1998年9月6日に実装された。
:10件以上のレスがつくと新スレが同時に作られるという仕様で、age機能もなかった。
;1999年1月頃
:新スレを作る方針をやめ、最新10件のみを表示するように改造(裏に回る機能)。スレッド一覧と、新しいレスがついたスレッドが上がるage機能が実装される。
;1999年6月~7月頃
:2chがスレッド表示のHTML化改造を行い、あめぞうにもフィードバックされる。
:書き込みスクリプトと、書き込みの入っているdatファイルを読み込むスクリプトを分離した。
;1999年7月~12月頃
:スクリプト荒らしであめぞう壊滅。
;2000年頃?
:2ch、書き込みスクリプト([[bbs.cgi]])と読み込みスクリプト([[read.cgi]])をほぼ完成させる。後者はC言語で実装。
:C言語で実装する前のスクリプトが流出。パクられる(という記憶あり。たしかこれがしたらば系につながっているはず)。
;2001年3月29日
:2ch、1001でスレが終わるようになる。
;2001年8月25日
:[[FOX|夜勤★]]さんの転送量増加による破産宣言を受けて、読み込みスクリプトがgzipに対応するように書き換えられる。
:現在知られているスレッドフロート式掲示板はこの時点でほぼ完成した。
;2001年9月
:上記の作業のために公開されていた[[read.cgi]]が事実上のオープンソース化。2chではクローズドソースで開発が続けられる。
;2005年頃~2008年
:[[bbs.cgi]]がSpeedyCGIに対応。[[read.cgi]]はDSOに。
;2011年頃
:[[bbs.cgi]]が流出。


==現在の2chが使っているスクリプト==
[[2000年]]ごろ(?)<br>
[[2ch]]では主に二つのスクリプトを使って作業が分担されている。
書きこみスクリプト [[bbs.cgi]] と<br>
*[[bbs.cgi]]
読み出しスクリプト [[read.cgi]] とを<br>
**[[bbs-entry.cgi]]
ほぼ完成させる。<br>
**[[bbs-main.cgi]]
前者は従来どおり、 Perl で実装し、後者は結局、 C言語 で実装。<br>
*[[read.cgi]]
このうちread.cgiはdatから書き込みを整形してHTMLに変換するという役割を担っている。


そのため2ch[[専用ブラウザ]]を使うと、直接datを読みに行き、クライアント側で整形するため、サーバー側でread.cgiを起動する必要がなくなり、2chの負荷削減に寄与できる。
[[2000年]]2月1日<br>
(実装で C言語 を使う前の)スクリプトが流出。<br>
(たしか、これが、[[したらば]]系 につながっていたはず。)<br>


{{DEFAULTSORT:すれっどふろーとしきけいじばん}}
[[2001年]]3月29日<br>
[[category:ウェブサイト]]
1001でスレが終わるようになる。<br>
 
[[2001年]]8月25日<br>
[[FOX|夜勤 ★]] さん の転送量増加による破産宣言を受けて、<br>
読み出しスクリプトが gzip に対応するように書き換えられる。<br>
現在知られている [[スレッドフロート式掲示板]] は、<br>
この時点で、ほぼ完成した。<br>
 
[[2001年]]9月<br>
上記の作業のために公開されていた [[read.cgi]] が<br>
事実上のオープンソース化。<br>
2ch ではクローズドソースで開発が続けられる。<br>
 
[[2005年]]ごろ…[[2008年]]<br>
[[bbs.cgi]] が SpeedyCGI に対応。<br>
[[read.cgi]] は DSO に。<br>
 
[[2011年]]ごろ<br>
[[bbs.cgi]] が流出。<br>
 
== 補足 (2ch に即して) ==
 
=== sage機能 ===
 
レスを投稿する際、メール欄に sage と入力しておくことにより、<br>
投稿先スレッドの順位に影響を生じさせないでおく<br>
(したがって、最上位に浮き上がらせるのをさし控える)機能。<br>
[[1999年]]12月3日(金)に導入。<br>
その前日に aburanuki というコマンド名で仮導入されたが、<br>
コマンド名が不評だったため sage に変更された。<br>
sage機能 は、<br>
[[ふたば☆ちゃんねる]] や、そのアメリカ版である [[4chan]] にも、<br>
sage というコマンド名のまま導入されているらしい。<br>
 
=== age, sage, soko ===
 
現運営 では、以下のような板設定も、<br>
[[SETTING.TXT]] で、できるようにした。<br>
<!--
設定依存にする前の短期間の試験的導入だけで終わった、
shuffle
については省略。
-->
 
* レスを投稿する際、メール欄に soko と入力しておくことにより、<br><!--
-->投稿先スレッドを最下位に沈める機能<br><!--
-->を使える設定
* レスを投稿する際のデフォルトを sage 相当にしたうえ、<br><!--
-->メール欄に age と入力したばあいに限って、<br><!--
-->投稿先スレッドを最上位に浮かび上がらせる設定<br>
 
sage 導入時に、コマンド名をもっときちんと考えるべきだった、<br>
ということも、これらによって、さらに明白になった。<br>
{| class="wikitable"
|-
! style="text-align: left; " | <!--
-->実際に導入されている<br>コマンド名
| age || sage || soko
|-
! rowspan="2" style="text-align: left; " | <!--
-->もっと適切だった<br>と考えられる<br>コマンド名の例
| float || stay || sink
|-
| top || asis || bottom
|}
 
=== read.cgi を書く言語 ===
 
[[read.cgi]] Ver.5 までは C言語 で書いてあったのに対し、<br>
[[Code Monkey|Code Monkey ★]] は、<br>
[[read.cgi]] Ver.6 以降を Haskell で書いている、<br>
……と、いわれている。<br>
 
== 外部資料 ==
 
あめぞうの歴史<br>
http://history.amebbs.com/<br>
あめぞう<br>
https://ja.wikipedia.org/wiki/%E3%81%82%E3%82%81%E3%81%9E%E3%81%86<br>
スレッドフロート型掲示板<br>
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<br>

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