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


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

TypeScript part3



1 名前:デフォルトの名無しさん [2018/04/26(木) 21:48:23.07 ID:mMDBzDaB.net]
www.typescriptlang.org/

JavaScript that scales.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.

part1
https://peace.5ch.net/test/read.cgi/tech/1349187527/
part2
https://mevius.5ch.net/test/read.cgi/tech/1430386649/

88 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 07:51:09.81 ID:1EDOmnkE.net]
ありがとう。やっぱりダメか。

> typeof arg === 'string'

Tがstringだったら'string'と比較するってのをやりたかった。

89 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 14:25:59.55 ID:QA1RjyY/.net]
Typescriptのコンパイラのソースコードを見たが、
swicth文による条件分岐が乱用されていて美しいソースコードではなかった。
もっと良い設計があるはず。

90 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 15:52:27.22 ID:/P2yZ5ci.net]
構文木のような構造には多態はうまくマッチしないんだよ

91 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 18:08:40.09 ID:odoUcQpl.net]
構文解析とか条件分岐(状態遷移)の塊だろ
状態遷移とかswitch文そのものだ

92 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 15:12:34.19 ID:N0iXX+FC.net]
>>88
そう思うならお前が改善してプルリク送ってもいいのよ

93 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 15:27:26.85 ID:GSIJUR7C.net]
>>91
なぜ高貴なハイクラスエンジニアの俺様がただ働きせにゃならんのだ?
バカなのか?

94 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 18:43:56.54 ID:+WvUI4qM.net]
Typescriptのコンパイラのアルゴリズムは何ですか?
ソースコードを見たところ再帰下降解析らしいけど、それだと左再帰で問題が出るよね。

95 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 18:48:28.71 ID:BSENAQfG.net]
ハイクラスの俺様が就職したら低レベルの土方を蹴散らしす

96 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 19:39:38.93 ID:f9dUVIKz.net]
5chになってから急に自分の書き込みに誤植増えた
絶対何かある



97 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 19:42:09.06 ID:EVpcwrUE.net]
就職してないのかよw
ハイクラスなら就職なんてしなくても学生の内から引く手あまただろ
または起業しろよ

98 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 08:20:52.86 ID:lnxFtwDW.net]
今の職場でts+Vue.jsで作ってる案件があるんだけど、コードの肥大化と共に
型チェック付きのビルドに10分以上かかるようになっちゃって型チェックなしのヒルドに変更してしまってるんだけど

そういう事例って他のところにもある?

99 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 08:56:34.35 ID:+94YsfsL.net]
世界でも有数の大規模ソフトウェアであるVSCodeがTypeScriptでビルドされている以上、
利用者のスキルの問題でしかないな

100 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 15:40:12.32 ID:d0XTpm7T.net]
まぁ、今どきVueを選んじゃう技術力・審美眼のないとこじゃしょうがないんじゃないか?
糞うるさいポンコツウインドウズXPとか使ってそう

101 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 16:13:39.60 ID:mdwOvRGk.net]
React使いがよく言うよな。技術力&審美眼。
魔窟になってるのを技術力と言い換えて、そのアーキテクチャを美と言い換えるやつ。

102 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 19:54:03.59 ID:ReL8stLA.net]
うちのプロジェクトもビルド時間5分なんでどうにかしたいなぁ。
makedepend+makeが欲しい。

103 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:15:51.54 ID:NQOj7Zqs.net]
>>98
それ可笑しくね?vscodeビルドしたことあるの?

104 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 20:16:37.40 ID:NQOj7Zqs.net]
>>99
mbp2017つかってる。メモリは8gbだけど

105 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 22:25:07.54 ID:LyspAo2Z.net]
>>103
チャイニーズに尻尾振るガラパゴスVue民にはお似合いのゴミだなw

106 名前:デフォルトの名無しさん [2018/11/09(金) 18:28:02.99 ID:npJX8Ub3.net]
module と namespaceの使い分けは
どうやればいいの?



107 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 18:56:45.93 ID:gzUh27KV.net]
使い分けるものではない
moduleはnamespaceに置き換えられた
常にnamespaceを使用せよ

108 名前:デフォルトの名無しさん [2018/11/09(金) 19:06:31.99 ID:npJX8Ub3.net]
>>106
了解

109 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 09:38:47.43 ID:h5ltDNBL.net]
type と interface の使い分けは
どうやればいいの?

110 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 11:38:30.86 ID:Cm/nwVcs.net]
>>108
ほぼ一緒だから気にしなくていい。
Typescriptの仕様書にも「非常に似ている」と書いてある。
ただ、interfaceは

inteface Point {
x:number:
}

interface Point {
y:number:
}

というようにプロパティの追加ができるが、typeはできない。それぐらいしか違いがない。

111 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 13:05:47.70 ID:/+pk64i1.net]
TSLintのデフォがtypeよりinterfaceを推してくるからとりあえずinterfaceにする事が多い

112 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 14:07:03.02 ID:R0IiHkaX.net]
>>110
これメンスだがtypeしか使えない機能なかったっけ?

113 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 15:41:10.38 ID:YkGULP39.net]
交差型、共用体型を定義できるのはtypeだけだな。

114 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 20:39:14.47 ID:3jMJhmwM.net]
例えば file1.tsを編集していて、バックアップとしてそのファイルを複製して
file1 - コピー.ts
を作ったとすると、関数名が重複していますみたいなエラーがダダダーと
出るんですが、どのように対策すれば良いでしょうか?

115 名前:デフォルトの名無しさん [2018/11/11(日) 20:52:52.31 ID:B3f/927d.net]
自分はいつもバックアップはfile1.ts.bakって付けてる。

116 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 20:59:48.79 ID:MG/LuDvG.net]
git使いなさい



117 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 21:18:11.36 ID:3jMJhmwM.net]
>>115
サーバーが必要なんでしょ?
そんなの持っていないし

118 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 21:29:24.04 ID:MG/LuDvG.net]
必要ないですよ

119 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 21:29:49.74 ID:cIalEm6/.net]
gitにサーバが必要とか正気か
いいからとりあえずチュートリアルやってみろ

120 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 21:42:32.66 ID:3jMJhmwM.net]
>>118
チュートリアルどこにあるのよ?

121 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 23:28:37.79 ID:R0IiHkaX.net]
>>119
man git
で英語を読む

でも、君にはそんな技術も学も根性もなさそうだから、
やっぱりfile1 - コピー.ts.bak181110ってするのがいいと思うんだ。

いや君をバカにしてるわけではなくて。
猿は猿らしい生活をした方が幸せだと思うからさ。ね。

122 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 23:59:28.42 ID:cIalEm6/.net]
>>119
これ以上は他所でやってくれ
お前さんの質問に対する回答は

* 編集バックアップをファイルコピーでとるというのがクソ
* 拡張子も変えてないならビルド対象になって当然

でおしまい

123 名前:デフォルトの名無しさん mailto:sage [2018/11/14(水) 23:56:36.53 ID:aDOvGxXC.net]
流石に不親切すぎる。猿でもわかるgitとか読むと良い

124 名前:デフォルトの名無しさん mailto:sage [2018/11/17(土) 15:07:14.11 ID:BcZrVMNP.net]
TypeScript使うな。汚らわしい。
バカはバカらしくPHPでも使ってろゴミ。

125 名前:デフォルトの名無しさん [2018/11/18(日) 12:08:33.81 ID:uaqKqGAI.net]
猿でも判るように書いたら人間に判らなくなりました

126 名前:デフォルトの名無しさん [2018/11/18(日) 13:48:19.18 ID:pdwgi8hG.net]
猿ですがわかりません



127 名前:デフォルトの名無しさん [2018/11/26(月) 23:24:03.84 ID:uFKIPm3P.net]
elem.onclick = function () {
if (this.classList.contains('classA')) {
・・・
}

こんなコードを書くと、Visual StudioのTypeScriptで
エラー TS2339 (TS) プロパティ 'classList' は型 'GlobalEventHandlers' に存在しません。
と出るのですが、生成されるJavaScriptコード(上のコードを同じ)は問題無く実行出来る。
これは何故ですか?

128 名前:デフォルトの名無しさん [2018/11/26(月) 23:28:58.28 ID://9j39Lt.net]
あのさぁ…何のためにTypescript使ってんのよ…

129 名前:デフォルトの名無しさん [2018/11/26(月) 23:46:28.79 ID:uFKIPm3P.net]
>>127
仕事で仕方なく

130 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 23:49:14.79 ID:S88o/5+S.net]
thisを使わないか、addEventListener使う

131 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 23:57:01.52 ID:S88o/5+S.net]
this: GlobalEventHandlers のところは this: thisじゃだめなのかな?

132 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 23:59:28.47 ID:RFi6oWGn.net]
アロー関数使うとかそういう話?

133 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 02:25:43.08 ID:7n6dok9k.net]
>>126
elemにちゃんと型(多分HTMLElement?)が指定されてればそんなエラー出ないぞ

134 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 09:47:55.32 ID:riCGJi9o.net]
>>132
出るよ

135 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 09:56:31.77 ID:riCGJi9o.net]
>>129
addEventListenerでも同じだろ

136 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 10:22:11.47 ID:AQW0OfN+.net]
addEventListenerは要素ごとにシコシコ定義されていて、thisがその要素になっているのでOK
onclickとかはGlobalEventHandlersでmixin的に定義されていて、this: GlobalEventHandlersになっちゃってるのでNG



137 名前:デフォルトの名無しさん [2018/11/27(火) 10:37:58.94 ID:riCGJi9o.net]
>>135
なるほど。でも、そもそも
this.classList ではなくて
elem.classList と書けばいいんじゃないか

138 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 10:49:11.23 ID:jlBTh7S1.net]
Announcing TypeScript 3.2
https://blogs.msdn.microsoft.com/typescript/2018/11/29/announcing-typescript-3-2/

139 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 11:28:27.90 ID:atRGowE7.net]
Eitherさん素敵

140 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 10:07:51.30 ID:7lSKHFDm.net]
ようやくEitherでホイサーできるTSがきたか
しかしleftrightとパタマチがないとダメやろこれ

141 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 10:12:04.48 ID:7lSKHFDm.net]
よんだら、これEitherじゃなくホイサーだろ・・・
エラー処理強制できないEitherってナンジャー?
ゴミジャー

142 名前:デフォルトの名無しさん [2018/12/01(土) 18:12:50.09 ID:qYhERqMT.net]
宇宙に満ちている光を伝える媒質、だっけ。

143 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 21:02:52.90 ID:214oHlAj.net]
それはether

144 名前:デフォルトの名無しさん [2018/12/01(土) 21:38:50.33 ID:qYhERqMT.net]
旧盆に行われる沖縄の盆踊り、かな。

145 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 20:53:43.14 ID:iqna8FaP.net]
通常、string と string | null は同等なんでVSCodeのポップアップでも | null は省略されるけど、
これを省略させないで表示する設定ってないのかな。
strictNullChecks 使ったら区別できなくて困った。

146 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 21:39:51.76 ID:O7AxfIIB.net]
通常、string と string | null は同等じゃないです



147 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 21:46:28.77 ID:WLbw6NyA.net]
""はnullじゃないぞ

148 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 08:02:21.96 ID:rsg3VEcH.net]
他に困ってる人がいないってことは strictNullChecks 自体あまり使われてないのかな。

149 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 09:20:27.07 ID:B/THyK2J.net]
strictNullChecksは使ってるけどその困り方がよく分からないから具体的にどういうコードを書こうとした時に何が困るのか教えてくれるとありがたい

150 名前:デフォルトの名無しさん [2018/12/05(水) 14:47:23.52 ID:2sSegHBZ.net]
馬鹿には無理

151 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 19:58:08.96 ID:rsg3VEcH.net]
function f(): string | null {
if(Math.random() === 0) {
return null;
}
return 'abc';
}

function g(): string {
return 'abc';
}

const x = f();
const y = g();

VSCode で x や f() にマウスポインタを当ててポップアップで型を表示しても
string | null じゃなくて string としか表示されないんでこれを区別できるようにしたい。

152 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 20:42:07.12 ID:2r3P2eMd.net]
tsc --init しなさい

153 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 20:43:39.84 ID:kxOqR7S7.net]
* プロジェクトルートにtsconfig.jsonはあるか
* tsconfig.jsonでstrictNullChecks或いはstrictが有効になっているか
* そもそもVSCodeでプロジェクトルートを開いているか

154 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 20:51:32.34 ID:rsg3VEcH.net]
なるほど、VSCode用のtsconfig.jsonを置いてやればいいってことか。ありがとう。
ビルド用のtsconfig.jsonは別の場所に置いてた。

155 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 20:57:46.26 ID:kxOqR7S7.net]
そりゃプロジェクトルートに無けりゃどういう原理で探してくるんだって話だ

156 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 21:04:20.27 ID:rsg3VEcH.net]
じゃなくて、VSCodeがtsconfig.jsonのビルドオプションに合わせて表示を変えているとは想像してなかった。



157 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 21:10:24.13 ID:kxOqR7S7.net]
そもそもtscもtslintもプロジェクトルートのtsconfig.jsonなりtslint.jsonなり読むんだから・・・・・

158 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 21:30:49.29 ID:rsg3VEcH.net]
各.tsに対してどのtslint.jsonが使われるかという認識はあったけど、
tslintもtsconfigを見てるのか。なるほど。

159 名前:デフォルトの名無しさん mailto:sage [2018/12/05(水) 21:32:49.41 ID:kxOqR7S7.net]
誤解を招く書き方だったから訂正しておくけどtslintはtsconfig.json読まんよ

160 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 21:25:18.74 ID:X6PhK/jL.net]
今日は emitDeclarationOnly でd.tsだけ出力できることを発見した

161 名前:デフォルトの名無しさん mailto:sage [2018/12/22(土) 01:07:22.52 ID:RH928dFE.net]
jap is crazy monkeys

162 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 11:44:39.27 ID:zyOojth7.net]
拡張子だけ許せない

163 名前:デフォルトの名無しさん mailto:sage [2018/12/24(月) 11:56:09.60 ID:JT2deTbq.net]
TransSexual

164 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 02:39:04.38 ID:atOE2BOw.net]
動画と被ってる

165 名前:デフォルトの名無しさん mailto:sage [2018/12/31(月) 06:26:09.53 ID:65rO9GPR.net]
rollup覚えた

166 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 03:06:03.03 ID:Zf9Oh0RM.net]
export as namespace が何をどうしてるのかさっぱりわからん



167 名前:デフォルトの名無しさん mailto:sage [2019/02/01(金) 09:17:10.17 ID:Cg5cm39S.net]
Announcing TypeScript 3.3
https://blogs.msdn.microsoft.com/typescript/2019/01/31/announcing-typescript-3-3/

168 名前:デフォルトの名無しさん [2019/02/14(木) 09:58:56.90 ID:fCWwgaGu.net]
JavaScriptを勉強したことがないので、今からならどうせならとTypeScriptの方を身につけたいんだけど・・・・
これって先ずJavaScriptが出来ないことには実用にならないの?

169 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 10:01:00.45 ID:zQRRDS2s.net]
そうでもないんじゃない

170 名前:デフォルトの名無しさん [2019/02/14(木) 11:21:03.44 ID:sZU59yH4.net]
typescript は javascript の上位互換なのだから、ts やってるうちに js のことも勉強しなければならなくなる (特に、es5, es2015 とかのキーワードで)
言い換えれば、ts を勉強してれば js が出来るようになる

171 名前:デフォルトの名無しさん [2019/02/14(木) 11:22:03.05 ID:MlsuSDTj.net]
>>167
javascript9割以上+TypeScript追加仕様なんだからjsやらないなら使う意味ねえだろ

172 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 00:32:30.89 ID:UOWlr3Ch.net]
正確にはTypeScript使ってるとJavaScriptの深い部分が気になってきて、最終的には自然とJavaScriptを勉強し始めてるよ
気にせずTypeScriptから始めれば良い

173 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 19:47:15.67 ID:iHivKYcL.net]
tsだけで理解できることをjsを経由する意味はないしむしろ型を考慮しないダーティーな解法を覚えさせられるだけ有害

174 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 22:59:18.80 ID:XxBbyQo/.net]
tsの、ライブラリの95パー以上がjsなんだから
どうにもならん。

pythonの型アノテーションを
完全に付ける書き方に別言語名つけてるようなもんだ。

175 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:31:11.68 ID:HHyiFibH.net]
>>172
動的型は型を考慮しないと思ってんのはお前だけだ
JavaScriptの全ての変数に型は存在しているし目の前の変数の型を知らずにコーディングしてる奴なんていない
JavaScriptは実行時に型チェックして型の正しさを保証して、
TypeScriptは実行前に型チェックして型の正しさを保証するって違いだけだ

176 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:54:05.42 ID:sYjKK7tj.net]
作ってる時に頭の中にある型なんか、作った後には何の意味もないし、実行時に型チェックするなんて馬鹿の極み



177 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 16:59:02.66 ID:bRo2S9Sl.net]
つ外部入力データ

178 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:28:18.38 ID:HHyiFibH.net]
>>175
頭の中w
JavaScriptには全ての変数に型があるんだ

179 名前:
アンダースタン?
[]
[ここ壊れてます]

180 名前:デフォルトの名無しさん [2019/02/16(土) 18:29:05.39 ID:STqQL4YT.net]
jsのboolの型チェックはバグあるけどな

181 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 18:59:44.19 ID:qw78JFeM.net]
>>177
保守する人には作ってる人の意図はわからないって意味だよ

182 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 19:03:19.63 ID:qw78JFeM.net]
動的のつらみはrubyとかjavascriptで散々通ってきてtypescriptに行き着くわけだけど、
まだそこを通過中の人とは話が噛み合わないんだよなあ
結局こっちに来ることになるのに

183 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 19:28:50.73 ID:HHyiFibH.net]
TypeScriptにUnion型がある時点で最早動的型と言ってもいい
宣言したあとに離れた場所のコードを見ても、パッと見じゃどっちの型になってるかは分からないからね

184 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 19:36:05.44 ID:JPFBQxX7.net]
any型もあるぞ

185 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 19:38:44.73 ID:qw78JFeM.net]
>>181
typescirptってそういうところもチェックしてくれるんだぞ

186 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 21:04:52.10 ID:czmkS5Li.net]
データ型と混同してない?



187 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 21:15:59.20 ID:dfsqwbBr.net]
動的型の言語、結局人気が年々下落しはじめてる。
c#やtypescriptぐらいの、型あり基本で、
いざとなったら、部分的問わないのも、
自然で簡単に書ける、程度が今はよいな。

188 名前: mailto:sage [2019/02/16(土) 21:32:01.93 ID:rUZ2ZZ3T.net]
>>185
型を意識しない、というのは私には有用にみえます、ただし変数宣言は動的型言語にも必要だと思いますが、それを表立って採用している言語はありますかね…






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

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

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