WCG日報スクリプト配布

こちらのコンテンツは非サポートです。
このスクリプトは自由に改変し配布し販売することができます。
他人のスクリプトを読むのが苦手な方には向かないとおもいます。
2018-05-29 記

WCGとは、World Community Gridの略で、
分散コンピューティングBOINCの医療系プロジェクトの名称。
WCGに参加すると、タンパク質の構造予測や解析、新薬の開発に携わることになります。
2007年4月27日に突然UD(United Devices)が終了し、
UDの最強チーム「Team 2ch」のユーザーが移動(後に難民の大移動と呼ばれる)したため、
WCGの弱小チーム「Team 2ch」はその日を境に、強大なチームへと変貌する。
当サイトの管理者である404は、日報支援サイトとしてWCGTeam 2ch:404を運営しており、
このページでは、そのサイトで使用している日報スクリプトの公開を行っております。

WCG-LOGO

日報スクリプト

日報スクリプトは、割と高度な処理が行われています。
まず、WCGの更新を監視し、情報の取得と解析、そして計算が行われます。
これら一連の処理は、レンタルサーバーで実行することは難しいでしょう。
自宅サーバーを公開できるスキルと、Perlのモジュールを追加できる知識が求められます。

ファイル構成

folder wcg-team2ch
├ while_wcg.pl – 繰り返しcheck_wcg.plを起動するためのもの
| └ check_wcg.pl – コア
|   ├ require.pl – いろいろなライブラリ
|   └ calender.pl – カレンダーライブラリ
folder public_html – 公開用ディレクトリ(httpサーバールート)
├ stat.cgi – 日報CGI
| ├ menu.cgi – メニューAjax
| ├ stat.js – JavaScript
| └ menu.js – JavaScript
folder grp – 板名(自動生成)
│ ├ 801.txt
│ ├ ainotae.txt
│ └(以下、更新毎に変化)
folder log – 更新情報
│ ├ 20080523_board.tsv
│ ├ 20080523_member.tsv
│ ├ 20080523_team.tsv
│ ├ 20080524_country.tsv
│ ├ board_ame.txt
│ ├ board_points.tsv
│ ├ board_result.tsv
│ ├ country_point.tsv
│ ├ file.txt
│ ├ team_points.tsv
│ └ (以下、更新毎に増殖)
folder msg – check_wcg.pl活動ログ
│ ├ 20080523_act.log
│ └(以下、更新毎に増殖)
folder temp – テンポラリ
| ├ folder id – ID別
| | ├ 0B5RSMBR9N1.xml
| | ├ 0BCGCWNDR1.xml
| | └ (以下、更新毎に変化)
│ ├ country_member.tsv
│ ├ country_point.tsv
│ ├ country_result.txt
│ ├ country_time.txt
│ ├ member_total.tsv
│ ├ member_total.txt
│ ├ team_id.tsv
│ └(更新毎に変化)
folder xml – テンポラリ
│ ├ %2d777%2d%40slot.xml
│ ├ %2d+silverfox+%2d.xml
| └ (以下、更新毎に変化)
folder zip – 書庫(tmpl書庫ファイル)
├ 20080523_member.zip
├ 20080523_team.zip
├ 20080524_country.zip
└ (以下、更新毎に増殖)

必須モジュール

公開しているスクリプトは、Perl5.8.8での動作を確認しています。
モジュールは記憶違いにより、追加(インストール)が必要だったり、
ビルドやバージョンの違い(Perl5.10もあり)で標準モジュールかもしれません。
モジュールの追加方法は、Google先生または404へ直接聞いてください。

  • Archive::Zip – 追加
  • CGI – 標準
  • Encode – 要upgrade
  • File::Path – 追加
  • HTML::AA – 追加
  • HTTP::Request – 標準
  • HTTP::Request::Common – 標準
  • HTTP::Cookies -標準
  • HTTP::Date – 追加
  • HTML::Entities
  • HTML::Template – 追加
  • Jcode – 要upgrade
  • LWP::UserAgent – 標準
  • XML::Simple – 追加

動作の流れ

ソースを見てください…。m(_ _)m

稼動サイト

WCG-Team2ch 404

ダウンロード

更新履歴

2008-05-24
サイト移動に伴うHTMLの加筆
(旧URI:[廃止])
2008年5月22日バージョン公開
2007-07-25
公開

UD日報スクリプト配布

説明
がん・白血病患者を救うことができるかもしれないプロジェクト「UD(UnitedDevices)」のランキングスクリプトです。
UDの詳細は「ud-team2ch banner」または、2ちゃんねる案内板ラウンジのUDスレをごらん下さい。
注意
Windowsの自宅サーバーで運営する設計になっています。
Perlが実行できる環境が必要です。
必要なモジュールは、cgiとplの各ファイルを参照してください。
動作の面から考える構成図(ファイルの主従関係で階層のツリーではありません)
folder ud-team2ch
├ checkSono.pl
│ ├ require.pl
│ ├ checkGrid.pl
│ ├ sendmail.pl
│ │ ├ require.pl
│ │ ├ folder mail
│ │ │ └ hon.cgi
│ │ └ mail.pl
│ └ check_2ch.pl
│   ├ thred.tmpl
│   └ folder log
│      ├ check.txt
│      ├ pick.txt
│      ├ subject.txt
│      ├ board.txt
│      └ subject.tmp
folder HTML – HTML::AAモジュール格納用ディレクトリ。
folder subgrp – 板内チームのデータファイル格納用ディレクトリ。
folder log – データファイル専用ディレクトリ。
folder sono – 書庫の保存と、展開したファイル、実効ログを格納するディレクトリ。
├ checkSono.pl – 実行ファイル
├ require.pl – 共通ファイル
├ file.txt – (自動生成)ファイルリストの格納ファイル
└ result_zero.html – (自動生成)未提出板名HTMLファイル
手順
「checkSono.pl」を実行すると次の画面が現れます。
sample1
通常は1を選択します。後は放置です。
sample2
ファイルが更新されると、計算を開始します。
sample3
計算が終わると、自動でFTP送信します。
sample4
計算終了後は30分ごとに監視を行います。自動で終了はしません。
編集
Q.デザインを変更したい
A.テンプレートを利用しています。<TMPL…>というタグ以外は自由に変更できます。
サンプル(すでに休眠中)
http://ud-team2ch.penlabo.net/休眠用の保管アドレス
http://ud-team2ch.mine.nu/活動期のアドレス
ダウンロード
UDランキングスクリプトダウンロード
履歴
2008-08-30 www.penlabo.netに移動
2007/04/18版
取得後の”超”暴走の修正
2007/04/17版

取得後の暴走の修正

2007/02/26版
未公開バージョンというか、公開し忘れ…
2007/01/16版
ゼロ除算や、ランキング表示など掲示板に指摘のあった点を修正。
同じ処理をサブルーチン化
2006/12/23版
エラーメッセージを強化。
HTML::Template化。
矢印非表示で初が表示されていたのを修正。
板内チームで拡張設定の項目表示順番が反映されていなかったのを修正。
AA表示で、罫線の行の処理の時にサイズと行の計算がされていなかったのを修正。
板内チームの抽出を監視スクリプトで計算させ、結果をstat.cgiが参照するように変更。
処理系統の大幅な見直し。
配列関係を効率の良い多次元配列化。
まだまだ、改善や修正の余地有り。
2006/11/10版
2006/09/29版
指定日付の差が2日以上の際、順位変動の表示が正常でなかったのを修正しました。
コピペで順位の矢印を非表示にできる設定を追加しました。
板別、板内チーム別コピペのランキングで編集できる機能を追加しました。(今後全てに対応予定)。
判明している問題点:ユニークナンバーを指定したとき、ランキングのテーブル表示で、カンマ区切りが正常に行われない。

2006/09/10版
取得部:FTP接続に失敗した時にプロセスが死ぬのを回避。エラー判定処理を一部変更。CGI部:コピペ支援の達成にタイトルを表示する機能追加。罫線有り無し右閉じる全てで有効。切り取り線のサイズと行数の計算で最後の1行を無視していたのを修正。クッキー保存のバグ修正。byteの計算周りの修正と切り取りまでのサイズを表示。
2006/07/09版

板内チーム抽出方法を最適なものに変更。板別合計ランクで100件表示選択可能に。

2006/06/08版
アスキーアート計算をPerlで行うように。設定の保存方法を大幅に変更。他バグ修正など。
2006/04/29版
UD-Team2ch 404から、配布場所を移動