[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/12 00:16 / Filesize : 189 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part34



1 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:23:19 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1240678081/

166 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:50:58 ]
PHPで数値計算と文字列処理のベンチを取ると激遅なんだよな。
まぁWebで数値計算はしないが。

ソースを忘れたけど

167 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:57:17 ]
こんな感じでデータが入ったファイルを
-50,-28,13,0.66
 :

こんな風に読んで、VisualPythonの玉に入れてみたら
from visual import *
f = open("test.dat")
for oneline in f.readlines():
 plist = oneline.strip().split(',')
 p = [int(s) for s in plist[:3]]
 c_hsv = [float(plist[3]),1,1]
 sphere(pos=p, radius=2, color=color.hsv_to_rgb(c_hsv), opacity=0.7)

いきなり可視化できてしまったぞ。ちょwwマジかwwいいのかこれでww

168 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:17:57 ]
なぜ、PythonはRubyの
# -*- coding:utf-8 -*-
をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。

169 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:20:25 ]
>>168
emacs や vim の文字コード指定方法をソースコードの文字コード指定方法に
一致させると楽だから。

170 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:48 ]
>>168
去年からPythonで導入された方法。

171 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:26:53 ]
>>168
ていうか、それRuby1.9からだよな。
Pythonのほうが古い。
てか、釣りだろ。

172 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:31:12 ]
┐(´д`)┌

173 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:58:09 ]
>>170
Python 2.3 からだから、5年くらい前じゃね?

174 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:07:38 ]
乞食のruby厨にレス付けたら負けだよ



175 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:34:23 ]
Rubyを使うとどこかの国のような思考回路になるってことですね。

176 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:40 ]
Why do you stay in wrong thread?

177 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:37:49 ]
Ruby書かされると脳みそが痒くなるんですよ。

178 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:04:47 ]
ubuntuのaptでいれたpylabがバージョン古いから
最新版をsetup.py で上書きインストールしてしまうかと思う
しかし、何か不具合おこないか心配
aptで入れたパッケージを消してからpython setup.py install したほうがいいんだろうか

179 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:34:02 ]
>>168
>なぜ、PythonはRubyの
># -*- coding:utf-8 -*-
>をパクってるのでしょうか?文字コード指定は楽なのはわかりますが。

これは恥ずかしい
マネしたのはRubyのほう

180 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:56:30 ]
www.python.jp/doc/release/ref/encodings.html

181 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:04:55 ]
Python信者必死杉

いいじゃんパクったならパクったで

182 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:10:16 ]
いつもRuby厨からケンカ売ってくるもんで^^

183 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:11:28 ]
180の先にemacsの形式って書いてあるじゃん...

184 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:26:53 ]
OSSじゃパクりパクられはむしろいいことだぞ?なにいってんだ?



185 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:33:53 ]
出典は明記するべきだよね

186 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 01:36:05 ]
てか、Emacs時代から無かったかそれ?
Ruby厨はなんでもRuby一番にしたがるから困る

187 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 07:01:48 ]
Scipyってどうですか?
有限要素法とかあったりしますか?

188 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 08:26:07 ]
なぜ、PythonはRubyの
変数とか代入とかハッシュとかの概念を
をパクってるのでしょうか?スクリプト作成は楽なのはわかりますが。

189 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 09:08:08 ]
自演乙

190 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:12:31 ]
現在のファイル名、関数名、行番号をlogするのに
os.path.basename(__file__) , (__name__).replace('__','')+'()' , inspect.getlineno(inspect.currentframe())

spam.py main() 19

こんなことしてるんですが、俺ダサ杉ですよね。華麗な表示方法をご教示くださいですよ。

191 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:32:23 ]
Rubyだともっと簡素にかける

192 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 10:52:39 ]
>>191
おれもそう感じた

193 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:03:43 ]
>>190
logging モジュール
www.python.jp/doc/release/lib/node423.html

194 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 11:50:03 ]
$:.unshift "./hoge/hoge/hoge/hoge/hoge/hoge"
require "hage.rb"

見たいなことはPythonで出来ませんか?



195 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 12:09:12 ]
>>193
なるほど!

%(module)s モジュール名 (ファイル名の名前部分)
%(funcName)s ログ記録の呼び出しを含む関数の名前
%(lineno)d ログ記録の呼び出しが行われたソース行番号 (取得できる場合)

196 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 14:21:43 ]
>>194
import sys
sys.path.append('./hoge/hoge/hoge')
import hage
でどうでしょう?

197 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 17:36:51 ]
import os
hogedir = os.path._getfullpathname("./hoge/hoge/hoge/hoge/hoge/hoge")
os.sys.append(hogedir)
import hage

198 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 18:23:13 ]
>>195
これ3.0に移行してstr.formatを使うようになっても%書式のままでいくのかなぁ
今見たけど変わってなかった

199 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 19:38:00 ]
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!


200 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 13:56:37 ]
ftpでファイルをローカルにコピーするのはこれでできたんですが
session.retrbinary('RETR '+file, open(file, 'wb').write)

標準出力にファイルの中身を吐き出すにはどう書けば良いんでしょうか?

201 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 14:10:11 ]
>>198
どうするか悩みどころだよね。
将来的に % によるフォーマティングは廃止される予定だけど、
デフォルトのFormatterはどうしようも・・・
logging.basicConfig(newstyle_formatter=True)
とかでお手軽に新フォーマッターに移行できないかな・・・

202 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:08:13 ]
>>200
session.retrlines('RETR foo.txt')

203 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:49:11 ]
>>202
できました!
ありがとうございます。

204 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:30:35 ]
         (⌒,,⌒)〜っ
        (⌒,_, ,⌒て ,,_,)
         ! ノ U。`yヘ_,、_ノ !
        し|~〜〜 。 ヘ⌒iヽフ
            |! ゚o 。.゚(・ω|・ ) びーるきたよー
           |! 。o゚ ⊂ ゚ とノ
          |i 。゚ ゚ o .゚|.。|. |
         |i、..゜。。゚ ゚し|'J
.           |,,._二二二_,!
       。゚o



205 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 07:45:15 ]
a = ["abb","acc","add"]
print map(lambda x:x.replace("a",""), a)

これと同じ処理でもっといい方法ありますか?

206 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:40:07 ]
>>205
lambda + map 使うくらいなら内包表記を使う
print [x.replace('a', '') for x in a]

lambda も map も悪いものではないけど、map+lambdaは推奨されない。

207 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:44:50 ]
>>206
内包表記なんていうのがあるんですね。ありがとうございます。

LISP畑から来てるので map に lambda が推奨されないって変な感じですが
Pythonではあまり使わないようにします。

208 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:50:32 ]
> LISP畑から来てるので map に lambda が推奨されないって変な感じですが

schemeのinternal defineのように関数内で関数定義して名前を与えて使うのがいいみたい


209 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:32:17 ]
>>208
それは >>206 とはちょっと違う話で、少しでも複雑な関数を作るときは
ちゃんと名前を付けましょうねという意味で、lambda が単文しか実行
できなくなってる。

map + lambda が推奨されないのは、
1) 単純に map(lambda x: と書くタイプ数 が for x に削減される
2) map はリストが不要なときも一時リストを生成してしまう。
  (>>206ではリストが必要だったけど、必要ないときはジェネレータ内包が使える)
3) map 内で繰り返し関数呼び出しが発生する。内包だと式の評価なので lambda より速い
4) Lisp脳ではない人間にとっては、 map(lambda x: を読むときに頭の中で分解再構築が必要になる。
  内包表記の方がやりたいことをすっきりと書き下せる。

210 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:37:19 ]
とりあえずIDLEでimport thisしようぜ

211 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:41:13 ]
>>209
頭大丈夫? 自分が何を主張するために何を持ち出しているのか読み直した方がいいよ。


212 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:21:42 ]
>>211
オレは>209の入ってる事がよく分かったが、何か問題でもあるのか?

213 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:44:48 ]
>>209
1)については、そもそもlambdaとか6文字も必要なsyntaxにしたのが間違いだったんだと思う
Haskellみたいに記号使っとけば……
2)はpython3000ではmapもイテレータ作るし

まぁ内包のほうが速いし、そっち使ったほうがいいんだけど

214 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:18:29 ]
-> だったっけ



215 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:19:08 ]
>>213
Pythonにとって、lambdaは便利で強力だけど一つの文が複雑になるし遅いので
あまり推奨できないから、記号を導入してまでみんなに使ってもらおうとは
思ってないんだろう。

216 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:22:31 ]
Pythonの場合、lambdaとインデントの相性が悪いのもあるんじゃない?
でも、他の言語使ってても複雑な式ならどのみち関数定義するから、
そのために何かして欲しいとは思わないけど。

217 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 15:50:27 ]
f = λ x:a*x+b

これでいくか。

218 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:12:54 ]
Perl
my $f = sub { $_[0]+1 }
$f->(42)

Ruby1.8
f = lambda { |x| x+1 }
f[42]
f.call 42

Ruby1.9
f = ->(x) { x+1 }
f[42]
f.call 42

Python
f = lambda x: x+1
f(42)

Haskell
f = \x -> x+1
f 42

219 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:27:54 ]
どれも、これだ!ってのがないな。

220 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:45:23 ]
というかλ記法って^が変化してλになったんだから
^記号をつかえばいいやんとか思う
ビット演算とまぎらわしいなら$で

221 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:46:13 ]

Python
def f(x): return x+1
f(42)


222 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 16:47:28 ]
$があるとperlみたいで汚いから嫌だ

223 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:47:47 ]
>>192
いくのかなあ、って変わってないんだからそうに決まってるでしょ。
docs.python.org/3.1/library/logging.html#formatter-objects

224 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:24:26 ]
逆に>>221でなにが不都合があるんだろ。
名前を考えないといけないから思考が停止しちゃうとか?



225 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:37:45 ]
>>224
内包表記のときはやっぱりラムダがあった方がいい。
名前も、じゃあ全てのfor文に名前を付けるか?みたいな話だと思われ。

それくらい気楽な関数。

226 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:31:36 ]
俺が恵まれていないだけかも知れんが、俺の周りで
関数名つけるの面倒くさいっていうやつは、98%の確率で
ろくなプログラマではない

だいたい、面倒って言ったって、xxx2yyy くらいを考えれば十分だし、
一言で表せないような関数を渡すのは構造的に失敗してると思うし

227 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:38:30 ]
>>226
どっちかというと、かぶらないか失敗っていう心配だな。
Pythonならあんまり気にしなくてもいいんだけどw

228 名前:デフォルトの名無しさん [2009/07/26(日) 22:30:21 ]
Python3に対応したpygame出てないのかよ
Python使いからの不満も多いみたいだし、こんなので3は普及するのかねぇ

229 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:33:35 ]
pgreloaded はまだ開発中か

230 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:45:40 ]
>>225
> 内包表記のときはやっぱりラムダがあった方がいい。
ラムダが内包表記で便利な経験が無いんだけど、
ラムダ+内包表記のcoolな例あったら挙げてみて。

231 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 02:30:48 ]
可読性と内包表記、
やっぱり、[fnc(x) for x in a if check(x)==0]
のようにして、[ ]内はごちゃごちゃしないようにしたほうがイイすよね?

232 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:38:42 ]
www.djangoproject.jp

まだ落ちてるよ
日本人でDjangoをやっているひとたちは
サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな

233 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 12:54:32 ]
東京で停電があったとき以来
復活してないサーバと比べりゃ(ry

234 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:16:15 ]
>>231
読む人が「えーとこれは」と考え込まずに済むように書きたい。
したがってその位に留める(長くなるなら外に出す)という習慣は
良いことだと思われます。



235 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 13:33:44 ]
def abc():
  hoge=fuga
  hage=moge
  def func(x):
    return x+1
  vwx=[fnc(x) for x in a if check(x)==0]
  return xyz

236 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:24:49 ]
>>235
さすがにそれは内包表記の中で直接 x + 1 した方が良いだろ。

237 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 14:58:17 ]
「長くなるなら」外に出す、なのに「x+1なのに外に出す」って何だよw

238 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:31:23 ]
Pythonで無料レンタル鯖のいいとこ&有名なとこあります?

239 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:40:56 ]
ドジャンゴが使っているところはやめたほうが良さそうだな。

240 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:20:11 ]
レンタル鯖だと、Pythonはいまだに2.3や2.4ばかりで悲しい。

241 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:21:44 ]
>>238
国内無料鯖は2.4どころか2.3、Python自体ないとかあってかなりの不遇で、自信を持っておすすめできるものはない。色々探してみるといい
ただSSHなどシェルアクセスできれば自力で導入できるとこもある(xreaとか。まあSSH使える無料鯖はほとんどないが…)
低価格鯖なら最近2.6が導入されたさくらがおすすめかな。

242 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 16:50:15 ]
どうせ他にもいろいろしたくなるから、
まるまる仮想OS使えるところでいいんじゃないの。

243 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 17:14:51 ]
月3000円も出せばVPS借りられるんだからそのくらい出せよ
それも出せないなら自宅鯖でも作れ
いやならPHPでも使ってろ

244 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:41:54 ]
釣りか?

70 名前: デフォルトの名無しさん Mail: sage 投稿日: 2009/07/27(月) 15:02:19
PHPで無料レンタル鯖のいいとこ&有名なとこあります?



245 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:38:51 ]
Pythonスレの方がレスが多くて
みんなやさしくて好きです

246 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:42:32 ]
>>238
pc12.2ch.net/test/read.cgi/tech/1243160751/4-10

247 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:43:01 ]
表向きは永久凍土な連中ということで通ってるんだから
そういうこと言っちゃいけません

248 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:47:20 ]
>>238
Google App Engine 2アプ目
pc11.2ch.net/test/read.cgi/php/1243654802/

249 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:51:55 ]
GAE はないわなぁw

250 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:37:18 ]
@pagesとか言うところが2.5.1みたいだ

251 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:42:47 ]
実際に sys.version 出力させてみたら
2.5.2 だったよ。

252 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 07:48:58 ]
関数の中から実引数の数を調べることはできますか。

def f(a, b=1, c=None):
 print (a, b, c)

とあって、f(0) という呼び出し方をした時に、f() の中で実引数の数がいくつなのかを調べる方法があれば教えてください。

253 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:07:59 ]
バイトコード調べれば何とか…
じゃなくて
def f(*args):
    defaults = (None, 1, None, )
    len(args) で調べる
    args = tuple(args) + defaults[len(args):]
とかした方がいい

254 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:59:52 ]
>>252
www.python.jp/doc/2.4/lib/inspect-classes-functions.html

標準モジュールも知らない低レベルプログラマは
今すぐPythonやめてPHPに戻れよ



255 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:04:44 ]
found = None
for x in L:
 if something(x) == expected:
  found = x
  break
という処理をもっと簡潔にかけますか。
Ruby なら
found = L.find {|x| something(x) == expected }
という処理です。
内包表記で頑張ろうと思ったのですがbreakの仕方がわからず断念しました。
#Rubyは説明のために出したのであり、PythonとRubyとの比較をするつもりではないのでご了承下さい。

256 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:54:57 ]
[i for i in xrange(10) if i >= 7][0]

257 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:15:34 ]
>256 だといったん完全リストにしちゃうから
元が xrange(一億) とかだった場合にすげー重くならない?

イテレータ使ってても,リスト内包表記で一旦
リスト化しちゃうと遅延評価はされなくなっちゃうよね?

258 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:37:56 ]
>>239
なんで?

おすすめは
zope
web.py
なの?


259 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:00:59 ]
(i for i in xrange(10) if i >= 7).next()

260 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:12:43 ]
>>259
スゲー
面白い書き方だなw

261 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:54:59 ]
>>254
牛乳飲めよ

262 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:12:03 ]
>>261
PHPに戻れよドカタ

263 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:18:20 ]
>>258
Django自体は問題ナッシング
むしろすばらしい
問題は日本のヤツら

264 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 14:54:13 ]
Djangoの中に遅延評価関数とか入ってるからwebやらなくても使ってみたい気はする



265 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:14:13 ]
Formがもうちょっとイカしてくれてればなぁ
っていうか web 板の django スレが寂しすぎる件

266 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:01:09 ]
Djangoのutilsには,便利なクラスや関数がたくさんあるので
utilsだけで使うことが良くあるよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<189KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef