[HOME]  [リストへもどる]
一括表示

  新着xx と 最新xx - Konno 06/03/12-16:33 No.1000
    ┗ Re: 新着xx と 最新xx - としき 06/03/12-21:13 No.1001
     ┗ Re^2: 新着xx と 最新xx - Konno 06/03/13-00:38 No.1002
      ┗ Re^3: 新着xx と 最新xx - としき 06/03/13-21:36 No.1003
       ┗ Re^4: 新着xx と 最新xx - Konno 06/03/13-23:49 No.1004
        ┗ Re^5: 新着xx と 最新xx - としき 06/03/14-10:58 No.1005
         ┗ Re^6: 新着xx と 最新xx - Konno 06/03/14-23:50 No.1006
          ┗ Re^7: 新着xx と 最新xx - Konno 06/03/22-00:12 No.1010

(1000) 1000新着xx と 最新xx  投稿者: Konno   2006/03/12(日) 16:33
   コメント数 1

としきさんのアイデアで、ここの掲示板に新しい機能が出来ました。新着記事と
最新記事の表示数を URLの pageオプションで直接指定出来るようにしました。

新着記事のデフォルトおよび、page=0 の時は記事数15で今までどうりです。

http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort

この画面で[新着30] をクリックすると、page=30 というオプションが付きます。

http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort&fsize=&page=30

これで記事数が30になりますが、この30を5でも100でも好きな数字に変えてEnter
すれば、表示記事数を自由に変えられます。どうですか、便利でしょ。
実際にはコマンドラインツールやお気に入りのリンクなどで数字を指定しておけば
その記事数で一発表示出来る、というような使い方も出来ます。

[最新50]や[最新100]及び[全部表示]のリンクは番号順に表示しますが、こちらも
page オプションで指定する方式に変更しました。無指定では全部表示になります。

http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort1&fsize=&page=50

新着との違いは mode=newsort が mode=newsort1 になっているだけです。
$page 変数は他で使っているので、$sortcnt 変数に値をコピーした後で 0 に
しているので副作用は無いと思いますが、おかしな挙動とかありましたら教えて
ください。
      - No.1000 -    このTreeへ           [リストへもどる] pre

(1000) 1001Re: 新着xx と 最新xx  投稿者:としき   2006/03/12(日) 21:13
参照先:http://www.hinocatv.ne.jp/~toshiki/
    1000 番 Konno さんへのコメント    コメント数 1

やぁ、1000発言達成おめでとうございます。
一部の掲示板では「地雷」などと称してお祭り騒ぎになるところもありますが、
この界隈ではひっそりと御祝いいたしましょうか。

さて、一点、わざと狙ってやっているのかだけ確認しておきたいことがあります。
例えば、

> http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort&page=3
> http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort1&page=3

こうしてみた場合、表示される発言数が異なります。
これって仕様ですか?
仕様なら仕様で差し支えないのですが。
2ちゃんの場合、スレッドのトップの発言が必ず表示されるので、最新表示の場
合、必ず+1個の発言が表示されるのですが、ここの場合はそういうのがありま
せんから、ちょっとわかりづらいかな、と。

> $page 変数は他で使っているので、$sortcnt 変数に値をコピーした後で 0 に
> しているので副作用は無いと思いますが、おかしな挙動とかありましたら教えて
> ください。

気がついた範囲では、$page変数絡みでおかしくなっているところはないようです。


とりあえず、私のところでは、新着Xを導入する可能性は高そうですが、最新X
を入れる可能性は低い、といった感じでしょうか。
      - No.1001 -    このTreeへ    コメント元:1000 へ [リストへもどる] pre

(1000) 1002Re^2: 新着xx と 最新xx  投稿者: Konno   2006/03/13(月) 00:38
    1001 番 としき さんへのコメント    コメント数 1

> やぁ、1000発言達成おめでとうございます。
> 一部の掲示板では「地雷」などと称してお祭り騒ぎになるところもありますが、
> この界隈ではひっそりと御祝いいたしましょうか。

そういえば999と1000の両方にまたがってましたねぇ。私はFGALDCでは長いことROM
だったのでキリ番をとったこともなくて。でも自分の掲示板ならいくらでもとれそう
ではありますが、言われるまで気が付きませんでした。

> > http://hpcgi3.nifty.com/tamaneko/wforum.cgi?mode=newsort1&page=3
> こうしてみた場合、表示される発言数が異なります。
> これって仕様ですか?

ありゃ、ひとつ多く表示されますねぇ。気が付きませんでした。
今直しました。

> 2ちゃんの場合、スレッドのトップの発言が必ず表示されるので、最新表示の場
> 合、必ず+1個の発言が表示されるのですが、ここの場合はそういうのがありま
> せんから、ちょっとわかりづらいかな、と。

うーむ、スレッドのトップの表示ですか、一瞬面白そう、と思いましたがこれは
番号順でスレッドに関係ないので駄目ですねぇ。

> 気がついた範囲では、$page変数絡みでおかしくなっているところはないようです。

よかった、これでいけそうですね。

> とりあえず、私のところでは、新着Xを導入する可能性は高そうですが、最新X
> を入れる可能性は低い、といった感じでしょうか。

新着と最新はソートの方向が逆なだけでほとんど同じルーチンです。

#      foreach (sort { ($cnt{$b} <=> $cnt{$a}) } keys(%cnt)) {
       foreach (sort { ($cnt{$a} <=> $cnt{$b}) } keys(%cnt)) {

このように $a と $b を入れ替えただけなので、導入は非常に簡単ですよ。
あ、簡単すぎるから食指が動かないのか。

うーむ、ほとんど同じルーチンが二つあっても無駄なので一つに纏めようかなぁ。
変数を一つ追加しないと無理だなぁ。
      - No.1002 -    このTreeへ    コメント元:1001 へ [リストへもどる] pre

(1000) 1003Re^3: 新着xx と 最新xx  投稿者:としき   2006/03/13(月) 21:36
参照先:http://www.hinocatv.ne.jp/~toshiki/
    1002 番 Konno さんへのコメント    コメント数 1

> あ、簡単すぎるから食指が動かないのか。

いや、そういうことではないんですがね。
自分が「新着」に慣れすぎているので、「最新」に違和感を感じるのですよ。
う〜ん、どうするべぇかな。

> うーむ、ほとんど同じルーチンが二つあっても無駄なので一つに纏めようかなぁ。
> 変数を一つ追加しないと無理だなぁ。

う?
どういう仕組になっているんだろう?
mode変数の値によって分岐させるだけじゃだめなのかな?
      - No.1003 -    このTreeへ    コメント元:1002 へ [リストへもどる] pre

(1000) 1004Re^4: 新着xx と 最新xx  投稿者: Konno   2006/03/13(月) 23:49
    1003 番 としき さんへのコメント    コメント数 1

> 自分が「新着」に慣れすぎているので、「最新」に違和感を感じるのですよ。

私もこれらのリンクとかこの機能もほとんど使わないかもしれませんが、[最新]
は2ちゃん式なので番号順に流し見するにはいいかと。

> どういう仕組になっているんだろう?
> mode変数の値によって分岐させるだけじゃだめなのかな?

仕組みも何も、newsort ルーチンをコピーしてソートの方向を逆にしたものを
 newsort1 としてるだけですがな。この中身を新変数一つだけにしてnewsort
を呼ぶように変えれば大幅に削減できるかなと。

mode変数って? どうやるんでしょうか。
      - No.1004 -    このTreeへ    コメント元:1003 へ [リストへもどる] pre

(1000) 1005Re^5: 新着xx と 最新xx  投稿者:としき   2006/03/14(火) 10:58
参照先:http://www.hinocatv.ne.jp/~toshiki/
    1004 番 Konno さんへのコメント    コメント数 1

> > 自分が「新着」に慣れすぎているので、「最新」に違和感を感じるのですよ。
> 私もこれらのリンクとかこの機能もほとんど使わないかもしれませんが、[最新]
> は2ちゃん式なので番号順に流し見するにはいいかと。

そういう人にはいいんでしょうね。
ただ、私がそういうことをしないもので。
ニフティのフォーラム会議室でも、番号順で表示するMREとかってコマンドがあり
ましたが、私はそれはほとんど使わず、ツリー毎に表示させて追いかけていきま
したし。その名残りが、私のところのスレッドインデックス表示です。

> mode変数って? どうやるんでしょうか。

多分、wforum.cgiの頭の方で、
if ($mode="newsort"){&newsort;}
if ($mode="newsort1"){&newsort1;}
みたいなことをやっていると思うのですが、それを両方とも&newsortを呼ぶよう
にして、その代わり、&newsortの中で$modeの値で分岐させれば、と思ったのです
が、でも、そういうやり方ではないのかな。
      - No.1005 -    このTreeへ    コメント元:1004 へ [リストへもどる] pre

(1000) 1006Re^6: 新着xx と 最新xx  投稿者: Konno   2006/03/14(火) 23:50
    1005 番 としき さんへのコメント    コメント数 1

> ニフティのフォーラム会議室でも、番号順で表示するMREとかってコマンドがあり
> ましたが、私はそれはほとんど使わず、ツリー毎に表示させて追いかけていきま
> したし。その名残りが、私のところのスレッドインデックス表示です。

そういえば私はもっぱらMREでした。コメントツリー(だったかな)などの機能も
全体の見通しが悪くなるため、まったく使いませんでした。だからこそこの掲示板
を自分好みの罫線ツリーにカスタマイズするのにこだわってきたんでしょうね。

> if ($mode="newsort"){&newsort;}
> if ($mode="newsort1"){&newsort1;}
> みたいなことをやっていると思うのですが、それを両方とも&newsortを呼ぶよう
> にして、その代わり、&newsortの中で$modeの値で分岐させれば、と思ったのです
> が、でも、そういうやり方ではないのかな。

ああ、そうか、$mode をこういう風に使っていることをすっかり忘れてました。
これなら完全に統合できそうですね。これでやってみます。
      - No.1006 -    このTreeへ    コメント元:1005 へ [リストへもどる] pre

(1000) 1010Re^7: 新着xx と 最新xx  投稿者: Konno   2006/03/22(水) 00:12
    1006 番 Konno さんへのコメント

> ああ、そうか、$mode をこういう風に使っていることをすっかり忘れてました。
> これなら完全に統合できそうですね。これでやってみます。

やってみましたが、駄目でした。newsort1 は過去ログでも使用していて、結構
ソースが入り組んでいたんですが、それよりも、

foreach (sort { ($cnt{$b} <=> $cnt{$a}) } keys(%cnt)) {

これでソートして表示まで一括処理してるようですが、これを変数一つで正逆
反転出来ないと言うか、わからなくて挫折しました。(;_;)
ということで、とりあえず統合なしでいきます。
      - No.1010 -    このTreeへ    コメント元:1006 へ [リストへもどる] pre