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

ナビゲーションに移動 検索に移動
原理的な説明などをする新セクション #基本構成 を設置し、既存セクション #2ch で使ってきたスクリプト は、そのサブセクションに。ほか。
(必要性が高そうな情報を盛りこんで、書きなおした。 #歴史 に #おことわり として: 資料による相違 や 再確認が困難な点 が多いため、本節の内容が正解であることを保証するのは不可能…)
(原理的な説明などをする新セクション #基本構成 を設置し、既存セクション #2ch で使ってきたスクリプト は、そのサブセクションに。ほか。)
18行目: 18行目:
投稿時のオプションで、<br>
投稿時のオプションで、<br>
その投稿先スレッドを最上位に浮き上がらせるのを<br>
その投稿先スレッドを最上位に浮き上がらせるのを<br>
さし控える機能(sage機能)なども、あとから追加された。<br>
さし控える機能(sage機能)<br>
なども、あとから追加された。<br>


== 2ch で使ってきたスクリプト ==
== 基本構成 ==
 
=== 原始的な方式の難点 ===
 
掲示板に複数のスレッドが存在できるようにして、<br>
投稿者が既存スレッドに投稿することも、<br>
投稿者が新スレッドをつくる投稿をすることも、<br>
できるようにしたものを、<br>
マルチスレッド式掲示板 という。<br>
マルチスレッド式掲示板 の原始的な方式では、<br>
板にあるスレッドすべてを単一の掲示板ページに置き、しかも、<br>
各スレッドについて、その全体を掲載するようになっていた。<br>
この方式の難点:<br>
* 長くなったスレッドを掲示板に置くことが困難
* 多数のスレッドを掲示板に置くことが困難
 
これらの難点は、<br>
この方式に即して age機能 のようなものを導入しただけでは、<br>
避けられない。<br>
 
=== 難点を避けたページ構成 ===
 
掲示板の主なページとして、以下のものを作るようにする。<br>
* トップページ
* スレッドすべての一覧ページ
* スレッドやスレッドの一部分を指定した閲覧リクエスト<br><!--
-->に対応して作るページ
 
トップページに置くスレッドは、<br>
スレッド・フローティング の累積による順位で、<br>
上位いくつかまでに限定し、しかも、<br>
それらのスレッドについても、<br>
(スレッドを作った、おおもとの投稿とともに)<br>
トップページに掲載する投稿を最新いくつかまでに限定。<br>
これらをトップページに置くのは、<br>
トップページ以外についての閲覧リクエストや<br>
トップページ以外からの書きこみリクエスト<br>
への対応が全面的に正常に機能していれば、<br>
原理的には不必要なこととも考えられるが、<br>
歴史的経緯などを踏まえて利用者に配慮したもの。<br>
(なお、[[2ch]] では、<br>
* 削除整理板 の トップページ<br><!--
-->http://qb5.2ch.net/saku/index2.html
* 削除要請板 の トップページ<br><!--
-->http://qb5.2ch.net/saku2ch/index2.html
が、これらをまったく置かないようになっている。)<br>
もしも、トップページに載せておくべきことが、とくにない、<br>
としてしまえるのなら、<br>
トップページ自体が不必要ということになる。<br>
 
スレッドすべての一覧ページ は、<br>
板にあるスレッドすべての題名などを<br>
スレッド・フローティング の累積による順位で並べたものであり、<br>
スレッドの題名をクリックすると、<br>
(そのスレッド、または)そのスレッドの一部分を指定した<br>
閲覧リクエストになる。<br>
[[2ch]] では、<br>
そのスレッドを作った、おおもとの投稿と、<br>
そのスレッドの最新 50 の投稿<br>
(トップページにスレッドが置かれたばあいに掲載される投稿<br>
より多い)<br>
とからなる一部分を指定した閲覧リクエストになる。<br>
 
=== 2ch で使ってきたスクリプト ===


[[2ch]] では、主に以下のスクリプトを使って作業が分担されている。<br>
[[2ch]] では、主に以下のスクリプトを使って作業が分担されている。<br>
31行目: 95行目:
書きこみリクエスト<br>
書きこみリクエスト<br>
に対応し、さらに、<br>
に対応し、さらに、<br>
掲示板の トップページ や スレッド一覧 など<br>
掲示板の トップページ や スレッドすべての一覧ページ など<br>
を更新するスクリプトであり、<br>
を更新するスクリプトであり、<br>
ここに、 age機能 (や sage機能 など) が実装されている。<br>
ここに、 age機能 (や sage機能 など) が実装されている。<br>


一方、[[read.cgi]] は、<br>
[[read.cgi]] は、<br>
(掲示板のトップページへの閲覧リクエストとは別の)<br>
スレッドやスレッドの一部分を指定した閲覧リクエスト<br>
スレッドやその一部を指定した閲覧リクエスト<br>
に対応するスクリプトであり、<br>
に対応するスクリプトであり、<br>
リクエストごとに、<br>
スレッドの一部分を指定した閲覧リクエスト として、<br>
下記のようなものが実装されている。<br>
* 指定したスレッドにある投稿ひとつを番号で指定
** そのスレッドを作った、おおもとの投稿なら、番号は 1
* 指定したスレッドにある連続した投稿を始めと終わりの番号で指定
** その上に、そのスレッドを作った、おおもとの投稿を添える指定
* 指定したスレッドにある最新の連続した投稿を始めの番号で指定
** その上に、そのスレッドを作った、おおもとの投稿を添える指定
** 始めの番号として 1 を指定すると、結局、<br><!--
-->指定したスレッドにある投稿すべて<br><!--
-->を指定したことになるので、<br><!--
-->スレッドひとつをまるごと指定した閲覧リクエストと効果は同じ
* 指定したスレッドにある最新の連続した投稿を数で指定
** その上に、そのスレッドを作った、おおもとの投稿を添える指定
なお、 URL では、<br>
おおもとの投稿を添えるほうを単純にしてあり、<br>
添えないほうに (nofirst に由来する) n を加えるように<br>
なっている。<br>
 
[[read.cgi]] は、閲覧リクエストごとに、<br>
スレッドの内部表現ファイル(datファイル)の必要な部分を<br>
スレッドの内部表現ファイル(datファイル)の必要な部分を<br>
整形して HTML に変換している。<br>
整形して HTML に変換している。<br>
なお、[[Monazilla|2ch専用ブラウザー]] を使うと、<br>
[[Monazilla|2ch専用ブラウザー]] を使うと、<br>
直接 datファイル を読みに行き、クライアント側で整形するため、<br>
直接 datファイル を読みに行き、クライアント側で整形するため、<br>
サーバー側で read.cgi を動作させる必要がなくなり、<br>
サーバー側で read.cgi を動作させる必要がなくなり、<br>
122行目: 204行目:


[[2001年]]3月29日<br>
[[2001年]]3月29日<br>
1001でスレが終わるようになる。<br>
1001 でスレが終わるようになる。<br>


[[2001年]]8月25日<br>
[[2001年]]8月25日<br>
[[FOX|夜勤 ★]] さん の転送量増加による破産宣言を受けて、<br>
[[FOX|夜勤 ★]] さん が<br>
[[転送量増加による破産宣言]]<br>
をしたことを承けて、<br>
読み出しスクリプトが gzip に対応するように書き換えられる。<br>
読み出しスクリプトが gzip に対応するように書き換えられる。<br>
現在知られている [[スレッドフロート式掲示板]] は、<br>
現在知られている [[スレッドフロート式掲示板]] は、<br>
2,043

回編集

案内メニュー