1read 100read
2012年3月WebProg344: 【緊急】腕に覚えのあるプログラマー来てくれ!! (143) TOP カテ一覧 スレ一覧 2ch元 削除依頼
XSL/XSLT (540)
PHP板の名無しさんを決めよう。 (154)
PHPでオークションサイトを作ろう! (287)
【PHP】ツリー掲示板を作ろう (379)
インストールマニアックス4 azure祭り (147)
現在最速で最軽量のプログラムの組み合わせはなんだ (107)

【緊急】腕に覚えのあるプログラマー来てくれ!!


1 :06/03/09
>鯖まとめ
>旧鯖 http://info.2ch.net/webwerewolf/index.htm
>新鯖 http://info.2ch.net/jinro/index.php
>新新 http://info.2ch.net/jinro2/jinro_index.htm

本スレ
http://live22x.2ch.net/test/read.cgi/news/1141871872/

要約:
現在ひろゆきが人狼プロジェクトでCGI等のテストをしているわけだが
いろいろぐだぐだなわけだ
そこでこの板のみんなにいろいろ改造してほしいわけだ

2 :06/03/09
ごめんねν速民バカばっかりでごめんね(´・ω・`)

3 :06/03/09
age

4 :06/03/09
2げっと

5 :06/03/09
過疎板だなw

6 :06/03/09
久しぶり新しい話題のスレだね。

7 :06/03/09
http://f45.aaa.livedoor.jp/~netfilms/
ファイルはここですー

8 :06/03/09
狐にお願いしろよ

9 :06/03/09
お、みんなで弄るのか
モリタポとか絡むならひ(ryとその仲間の妖弧で弄るのかと思ってた
まあ、そっちだけ自力で弄ればいいのか、、、

10 :06/03/09
webprog板でやれよボケって書こうと思ったらここwebprog板だった

11 :06/03/09
>>10
ワロウタ

12 :06/03/09
たのむぜみんな

13 :06/03/10
▼ game_veiw.php
193:print("<a href=\"user_manager?room_no=$room_no\"><strong>[住民登録]</strong></a>");
↑は↓
  print("<a href=\"user_manager.php?room_no=$room_no\"><strong>[住民登録]</strong></a>");
でFA?

14 :06/03/10
>>13
あいあい。必須です。

15 :06/03/10
http://info.2ch.net/jinro/watch_log.txt
old_log.phpをちょこっと改造しただけですが、
過去ログみるやつです。

16 :06/03/10
>>15
ひろゆきが名無しで発言はじめてみた
口癖の「あいあい。」とbeですぐわかったけど

17 :06/03/10
元ネタ知らないから、何をしたいのかさっぱりわかんない。

18 :06/03/10
>>14-15
ありがとです。
ところでところで、過去ログみるやつのSQLデータ
ちょこっとだけ恵んでほしいかも。。無理でしょか??

19 :06/03/10
http://live22x.2ch.net/test/read.cgi/news/1141784985/351+373+385+393
351 名前:番組の途中ですが名無しです[] 投稿日:2006/03/08(水) 13:02:03.79 ID:expAqeMd0
人狼って別に新しいことでもないと思うんだけど、なんでひろゆきが始めたんだろ。
373 名前:ひろゆき[] 投稿日:2006/03/08(水) 13:09:20.35 ID:2Q5xWps60 ?#
>>351
勝者が賞金もらえたりランキングつけたりしたいなぁと。
ちょっとしたゲームのGMが職業になるってのもありだと思うんだけどなぁ。
ゴールデン街のバーテンさんなんで1日に10人ぐらいの相手してるだけで、
暮らしてたりするわけで。
MMOみたいに何万人を相手にするんじゃなくて、
ちょっとした人数でちょっと楽しいってものが、
乱立したほうが選択肢としては面白いと思うんだけどなぁ。
385 名前:番組の途中ですが名無しです[] 投稿日:2006/03/08(水) 13:12:30.31 ID:expAqeMd0
>>373
ちょっと面白そう。
TV番組のチーターとか昔のヘキサゴンを一般人が賞金付きでやれたらいいなあとか思ってたけど
そんな感じ?
393 名前:ひろゆき[] 投稿日:2006/03/08(水) 13:14:36.64 ID:2Q5xWps60 ?#
>>385
人狼はあくまで1例なんだけど、ちょっとしたゲームを数人とやりたい。
でも、yahooゲームとかだと、緊張感もないし、
すぐに切断されるので、ある程度緊張感があって、
ホスト役の人がいるところのほうが楽しい。
っていうプレイヤーと、ある程度ホスト役をするだけで、
生活の糧になるってのをマッOさせると面白いかなぁと。

20 :06/03/10
http://live22x.2ch.net/test/read.cgi/news/1141871872/421+660+690+692+947
421 名前:ひろゆき[] 投稿日:2006/03/09(木) 17:44:21.72 ID:yUANQFXM0 ?#
いまのところ、3種類のスクリプトがあって、
3種類なりに一長一短で、各々の長所を調べた上で、
どれをベースにして長所を移行するかってのを考えてるですよ。
660 名前:ひろゆき[] 投稿日:2006/03/09(木) 22:05:09.01 ID:yUANQFXM0 ?#
perl版のはディレクトリロックだから、やっぱり負荷には向いてない予感。
690 名前:ひろゆき[] 投稿日:2006/03/09(木) 22:07:34.25 ID:yUANQFXM0 ?#
高負荷になる>ロックが頻繁になる>ロックの削除が間に合わなくなる。
>ますますリロードする>ますますロックが削除されない。
以下ループ
692 名前:ひろゆき[] 投稿日:2006/03/09(木) 22:07:57.20 ID:yUANQFXM0 ?#
ベースをphp版にしないとやっぱりだめっぽい。
947 名前:ひろゆき[] 投稿日:2006/03/10(金) 01:54:30.80 ID:jCCNow5z0 ?#
perlのほうは壊れるので、phpを使いやすくすることにしたおいらなのですよ。

21 :06/03/10
特定のテーブルのdumpの仕方がわかってないおいらです。。

22 :06/03/10
というわけでν速民に煽られながら↓を一人で弄ってる方がいらっしゃいます
これはとても危険な状況です、どなたか助けを、、、
【テスト中URL】
汝は人狼なりや?〜テスト〜
http://info.2ch.net/jinro/index.php
【使ってるファイル】
汝は人狼なりや?のPHP+MySQL移植版(from ふたば)
http://f45.aaa.livedoor.jp/~netfilms/

23 :06/03/10
phpはマルチバイト実行でこけるぐらい無知なんだけど、
DBにまるなげならロックうんぬん関係ないよね?違ってる?

24 :06/03/10
【ニュース速報板現行スレ】
【首都警】 人狼テスト中 その4 【セクト】
http://live22x.2ch.net/test/read.cgi/news/1141929220/
【ニュース速報板関連過去スレ】
人狼のテストをするので、暇な人よろしくよろしく。  (part1)
http://live22x.2ch.net/test/read.cgi/news/1141784985/
【紅い眼鏡】 人狼テスト中 【ケロちゃん】  (part2)
http://live22x.2ch.net/test/read.cgi/news/1141807114/
【首都警】 人狼テスト中 その3 【セクト】
http://live22x.2ch.net/test/read.cgi/news/1141871872/
ニュー速の現行スレはすぐ消化されてしまうと思われます
なんかわかりにくく、いろいろ漏れてると思いますが
とりあえず以上(>>19+20+22)がニュー速での流れっぽいものです
どなたかフォローよろしく

25 :06/03/10
>>23
テーブルロックを使ってるみたいですが、
競合でデータ飛んだりってのはないです。

26 :06/03/10
システムは判ったけど、賞金つけるって無理じゃないかな。
アクセスが減る時間帯とかで、八百長が簡単にできそう。
ただの遊びでとどめるのが無難では?

27 :06/03/10
>>21
出力見つけてみました。↓
<?php
//▼ talkテーブルcsv出力
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=talk".date(ymd).".csv");
//サーバー名--localhost ユーザー名--root パスワード--pass
$dbHandle = mysql_connect("localhost","root","pass");
if ($dbHandle == False) {
print ("can not connect db\n");
exit;
}
//db名
$db = "jinro";
$sql = "select * from talk";
$rs = mysql_db_query($db,$sql);
$fields = mysql_num_fields($rs);
$rows = mysql_num_rows($rs);
for($i=0;$i<$rows;$i++){
for($j=0;$j < $fields;$j++){
print(mysql_result($rs,$i,$j));
if ($j < $fields - 1)
print(",");
}
print("\n");
}
?>

28 :06/03/10
↑つづき
ほしい度30%ぐらいなで、他のほにゃららややこしい理由でダメならぜんぜんOKです。
▼ インスパイア元
http://ns1.php.gr.jp/pipermail/php-users/2003-December/019800.html

29 :06/03/10
今、すごいことに気づきました!
csv自分で作ってインポートすればイイっぽい。
ごめんなさい。お騒がせしました。。

30 :06/03/10
ただのdumpなら$ mysqldump [OPTIONS] データベース名 [テーブル名]だけど、
SQLコマンドでdumpってあったっけ?

31 :06/03/10
mysqldumpでテーブル指定できたんすかぁ。

32 :06/03/10
うは、なんか文字化けしまくりです。。

33 :06/03/10
出てくるデータはEUCっぽいから、クライアントに合わせてエンコしないと

34 :06/03/10
mysqldumpでエンコード指定ってできますっけ?

35 :06/03/10
フレームから呼び出すと時間表示が出るのですが、
「サーバとローカルPCの時間ズレ(ラグ含):210秒」
http://info.2ch.net/jinro/test/frame.html
ファイルを直接見ると、javascriptがうまく動かないようです。
http://info.2ch.net/jinro/test/game_play.htm
何が原因かわかりますでしょうかー?

36 :06/03/10
>>34
一度ファイルに書き出して、読むときに弄るぐらいしか。
でもそれなら、順番に読みだしながらエンコしていったほうが速いかも?
こちらWin機のみなので、シェルのコード指定できるかどうかは知らないです。

37 :06/03/10
>>35
1つめは保留で2つ目
コード内で沢山ある parent.frames['up'] これ。
フレーム名「up」を指定してあるから、
該当するフレーム名を持ったフレームがないとエラーになります。

38 :06/03/10
>>35の1つめ
function realtime_before_output()
{
php_now = new Date(2006,2,10,7,01,44);
local_now = new Date();
diff_sec = Math.floor( (local_now - php_now) / 1000);
document.realtime_form.realtime_output.value = "サーバとローカルPCの時間ズレ(ラグ含):" + diff_sec + "秒";
}
これ見る限りでは
local_now = new Date();  でローカルの時間
php_now = new Date(2006,2,10,7,01,44);  でCGIの出力した情報から計算した時間
で、時間は1/1000秒で返すので1000で割るんだけど、
これだけだとローカルが早いか鯖が遅いかぐらいしかわかりません。
phpがどのタイミングで時間を取っているかが問題かも。
出力を終えるギリギリで時間だしてるとは思うけど・・・

39 :06/03/10
ざっとコード追ってみたけど、わかる範囲では特におかしいところはないかと。

40 :06/03/10
perl版のwwwolfって、ファイルロック関連がアクセス多い時にダメになるらしいけど、
これを解決する方法ってのは無いのかね。

41 :06/03/10
perl版ってどこだろ・・

42 :06/03/10
ttp://park1.wakwak.com/~aa1/wwwolf/
ここからDLできるよ。

43 :06/03/10
見つけたけど、ファイルロック何もやってないよ?

44 :06/03/10
462 名前:ひろゆき[] 投稿日:2006/03/09(木) 17:57:26.49 ID:yUANQFXM0 ?#
こんな感じらしい。
>>442
元々、暴走癖があってちょいと無理して直したので、
データ消える可能性があるです。
463 名前:ひろゆき[] 投稿日:2006/03/09(木) 17:58:17.07 ID:yUANQFXM0 ?#
>>449
負荷が高いだけならいいんですが、
負荷が高いときに挙動が変になるのが1です。
470 名前:ひろゆき[] 投稿日:2006/03/09(木) 18:01:50.83 ID:yUANQFXM0 ?#
ディレクトリ生成でロックをしてるので、
ユーザーが1秒以内にアクセスし続けると永遠にロックしっぱなしみたいになったりするです。
ロック処理をするスクリプトというのは高負荷に絶えられるアルゴリズムでなかったりします。
あと、1のスクリプトだと、GMですら誰が投票してないかわからないのです。
3は投票してない人がわかるです。

45 :06/03/10
間違えてひろゆきの発言に「こんな感じらしい」って書いちゃったけどまあいいやw

46 :06/03/10
cgi実行開始しょっぱなからロックかけないといけないものなんですか?これ。
常にファイルに書き込む処理が存在するようには見えないけど。
他にもファイルをすぐ閉じる工夫とかしてないし、
ちゃんと整理してflockで十分なような・・・

47 :06/03/10
とりあえず、upがついてる関数をはずしてみたらうまくいきました。
http://info.2ch.net/jinro/test/game_play2.htm
どうもですー。

48 :06/03/10
はーい

49 :06/03/10
>>46
perlかじった程度なのであまりわからないけど、sub disp_msgの辺りとか?
どうせ一気に出力するんだから、最初にまとめて全部読み込んでしまって、
1行ずつ抜き出して処理して吐き出すバッファに格納していく感じにすると、
ましになりそうって感じなのかな。

50 :06/03/10
ですね。
ゲーム系のCGIだと、メモリ犠牲にしてでも、ファイル解放させないと。
実際ファイルサイズがどれだけ膨らむか知りませんけど、
フェイズごとにファイル分けるとか、
データサイズ決めてアドレスへ直接読みにいくとか、
いくらでも軽量化の方法は・・・

51 :06/03/10
なるほどー。
ちょっと試してみた。
こんな感じの処理でいいのかな。
sub disp_msg{
〜ちょっとだけど省略〜
my @buffer;
my $logline;
open(IN, $file_log);
while (<IN>) { push(@buffer,$_); }
close(IN);
$log_line = @buffer;
while (@buffer) {
 $wk_msgwriteflg = 0;
 @wk_logdata = split(/\{\}/, shift(@buffer));
 〜以下略〜
}

52 :06/03/10
他に、ifの入れこが多すぎるので、
ifで分岐してからループまわした方が速い。
while () {
if () {
if () { ・・・よりも
if () {
while () {}
}
if () {
while () {}
}
・・・として
whileの中でnext連発してさっさとlastで抜けた方が速い。
でもって、展開するものがないならシングルクオートにするとちょびっと速い。
ダブルクオートの中で展開無しでエスケープ文字乱発では意味がない。

53 :06/03/10
なるへそー。
積み重ねで結構違ってくるって事ね。
という事はmyとかもどんどん設定してった方がいいか。
たしかlocalはmyとかグローバル変数より遅いって見た気がするから、その辺も要修正か。
負荷の面で結構いい勉強になりそうだな。

54 :06/03/10
使い捨ての変数はできるだけブロックの中で終わるようにする。
とりあえずuse strict;でも動くように心がける。
マッチしない条件が多いループをまわすとき、
パターンマッチする前に2度手間だけど先にindexで判断したほうが速いとか。

55 :06/03/10
use strict;はどの処理がどの名前空間にあるのかの把握が大変っぽそうなので
オレには厳しそうw
ただ、出来るだけmy使うように心がけるように気をつけねば。
>マッチしない条件が多いループをまわすとき〜
後で条件追加するとかの修正がわかりづらかったり面倒そうだけど、
そっちの方が負荷的にはかなり良さそうだね。
ただ、この辺まで弄ったらかなり大掛かりな改造になりそうな予感。
whileとforがたくさんあるから呼び出しをいかに減らすかでかなり変わってきそうだなぁ。

56 :06/03/10
バグとコンパイルエラーの違いを教えて下さい。お願いします。

57 :06/03/10
コンパイルの意味がわかってるのであれば、、、
バグでコンパイルができなくなるとコンパイルエラー。
バグが原因でコンパイルエラーは現象ですね。

58 :06/03/10
>nobodyさん
ありがとうございます。
バグがある=コンパイルエラーって解釈でOKですか?

59 :06/03/10
ソースコードを機械語に翻訳できないのがコンパイルエラー
バグは想定していない挙動をすること。
バグっててもコンパイルは成功することもありますね。

60 :06/03/10
>>58 否

61 :06/03/10
さらに言うと、コンパイルしない言語もあったりするので、、

62 :06/03/10
コンパイルできない原因はバグである。
コンパイル後実行できるが想定外の動きはバグである(仕様と言い張る場合もある)。
コンパイルしないインタプリタ言語(JavaScriptとかPerlとかPHPとか)で実行できない原因はバグである。
インタプリタ言語で想定外の動きはバグである(仕様と言い張る場合もある)
で、わかるかな・・・説明力無いや。

63 :06/03/10
7 名前:あぼ〜ん[あぼ〜ん] 投稿日:2006/03/09(木) 20:56:49 ID:あぼ〜ん
あぼ〜ん

64 :06/03/10
BEのプロフで遠まわしに宣伝ですかそうですか。

65 :06/03/10
beのプロフでの宣伝は禁止されてないしー

66 :06/03/10
PHPならできるけどPerlは・・・ごめんなさい

67 :06/03/10
>>7
参照渡しはやめろといっぱい怒られた
でマニュアルでsscanfみたらちゃんと参照渡しにする必要があると書いてある

68 :06/03/10
ニュー速現行スレ
【特機隊】 人狼テスト中 5村目 【プロテクトギア】
http://live22x.2ch.net/test/read.cgi/news/1141986358/

69 :06/03/10
コンパイルエラーは言語の文法的にあってるかどうか
バグは仕様と違う動きをするプログラム(文法としてはあってる)に潜むエラー
くらいの解釈で良いと思うです

70 :06/03/11
ttp://up.spawn.jp/file/up13517.jpg
誰かが作ってる?作品

71 :06/03/11
>>15
ゴールドの帯のところ消したのGJ!!
ブツ、わん、ひそ。で見えなくしてのどして?どして??

72 :06/03/11
日本語でおk

73 :06/03/12
SELECT uname, handle_name, profile , user_id, count(*) from users group by user_id
こんな感じのsqlなのですが、同一のuser_idの中でprofileやunameがいろいろある場合には、
profileやunameに入る値を指定することは可能なんでしょうかー?

74 :06/03/12
>>73
なんだそのSQL

75 :06/03/12
省略してますよ。

76 :06/03/12
>>73
INSERT INTO new_table1 ( uname, handle_name, profile, user_id, row_count, )
SELECT Max(uname), Max(handle_name), Max(profile), user_id, Count(*)
FROM users
GROUP BY user_id;
↑作ってみました。
でもでも、これだと(uname/handle_name/profile)文字列の最大値だけになっちゃう。。

77 :06/03/12
わ、row_count, の後ろの
, ←これいらないのです。。

78 :06/03/12
おぉ、そこにも関数いれることができるんですね。
maxではなく、order by timeみたいに、最新のものを拾うようにするのは
難しいんでしょうか?

79 :06/03/12
自信なさげに、つ SELECT a.uname, a.handle_name, a.profile, a.user_id, MAX(b.f_time)
FROM t_users a INNER JOIN t_users b
ON a.f_time = b.f_time
GROUP BY b.user_id

80 :06/03/12
うーん、やっぱりMAX(b.f_time) の数字だけ新しくなっちゃいますね。

81 :06/03/13
諦めてwhileの中でもう一回SQLを呼ぶようにしてみました。

82 :06/03/13
>>80
何がしたいのかはっきり書けば、それに応じたSQLがだせるが、
後出しで仕様を追加すると相手にされなくなる。

83 :06/03/13
>82
ひろ(ryだし
>>81
常に最新の監視をしたいなら、監視専用ファイルに書き出す処理を増やせば楽になれるかも。
いちいちDB弄るより負荷へりそうだし。

84 :06/03/13
>>82
win_lose ='w'の多い順にユーザーを並べたいのですね。
http://info.2ch.net/jinro/game_ranking.php

85 :06/03/13
結果は最新のものじゃなくて、1時間に一回とかでも
いいといえば、いいんですが、
1回のSQLでやる方法があるんだったら、後学のために知りたいなぁ、と。
>>83

86 :06/03/13
>>84
order by [カラム名] descってことではなく?

87 :06/03/13
最新timeのuname(time8桁として)
SELECT SUBSTR(MAX(CONCAT(time,uname),9) AS uname,user_id, count(*) AS cnt
from users
group by user_id

88 :06/03/13
まちがえっち
SELECT SUBSTRING(MAX(CONCAT(time,uname),9) AS uname,user_id, count(*) AS cnt
from users
group by user_id

89 :06/03/13
MySQLじゃ独自関数は作れないのか。

90 :06/03/13
ストアドのこと?

91 :06/03/13
機能追加して、つ SELECT a.uname, a.handle_name, a.profile, a.user_id, COUNT(*) AS f_win, MAX(b.f_time) AS time
FROM t_users a INNER JOIN t_users b
ON a.f_time = b.f_time
GROUP BY b.user_id
ORDER BY f_win DESC

92 :06/03/13
返事待たずに次々出しても意味ないっしょ

93 :06/03/14
次々?

94 :06/03/14
このスレの質問者はひ(ryだけ

95 :06/03/14
>>88>>89じゃないの?

96 :06/03/14
うわー、勘違いしてたみたい。。
>>88ごめんね、ごめんね。

97 :06/03/14
>>89
作れるよ。Stored ProcedureじゃなくてFunctionという機能。

98 :06/03/14
SUBSTR(MAX(CONCAT(time,uname),9)
おぉ、、こんな手があるんすかぁ。

99 :06/03/14
groupでまとめちゃうと、whereって使えなくなるんですよね。。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
ギコタクの「だからってないでしょ」出張所 (412)
Ajax vs Javaアプレット vs FLASH (337)
正規表現道場 (930)
インストールマニアックス3 Hyper-V祭 Part2 (650)
プログラマーは団結して47氏を救え!! (135)
正規表現道場 (930)
--log9.info------------------
○正インキ専門スレその7 (516)
【伴侶が…】既婚同人者が憩うスレ8【家族が…】 (657)
委託する者される者 12人目 (812)
自ジャンル・自カプの悩み・愚痴スレ12 (362)
祝ってやる!ヽ(`Д´)ノ3回め (199)
【プロファイリング】この絵、何歳くらいのセンス?13歳 (289)
イメージで描く!19枚目 (580)
localhost6 (163)
うちは宿屋じゃねーぞゴルァ!! 12泊目 (575)
ハラシマの最後尾でアヘラーが七転八倒するスレ 14回転目 (362)
透明水彩専用スレ4 (938)
【わかりあえない】ジャンル問題【譲れない】2 (435)
うわぁぁぁぁ@同人ノウハウ板 その19 (948)
【ドリンクバー】話作りはファミレスで 4杯目【10時間】 (270)
次のコミケまでカウントダウンGo!Go! 5 (707)
マンガ、イラストに活かす3DCG その4 (310)
--log55.com------------------
【Google】Chromuim OS/Chrome OS 【Netbook】3
動画・音声関係ソフトウェア総合 8
おまえらのconkyの設定書いていけや
最近増えてきたCUIが全く使えないLinuxユーザー
日立
Zorin OS 1スレ目
Ubuntu(゚听)イラネで1000目指すスレ Part2
@@前向きに、Linuxの改善点を語ろう 2 @@