TypeScript part4 (396レス)
TypeScript part4 http://mevius.5ch.net/test/read.cgi/tech/1640872622/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
182: デフォルトの名無しさん [] 2022/11/03(木) 12:08:35.27 ID:S9tMl46F or型というのかunion型というのか忘れたけど、C#にはなくない? type a = b | c (C#にもこの機能欲しい) http://mevius.5ch.net/test/read.cgi/tech/1640872622/182
183: デフォルトの名無しさん [sage] 2022/11/03(木) 12:23:54.28 ID:d31vVPfb JavaScriptに静的型付けの恩恵を与えるために作られたのがTypeScript C#でそれは出来ないでしょ http://mevius.5ch.net/test/read.cgi/tech/1640872622/183
184: .NET MAUI HighScool [] 2022/11/03(木) 12:26:39.11 ID:Kj7ywx2W >>183 C#が静的型付けじゃん http://mevius.5ch.net/test/read.cgi/tech/1640872622/184
185: デフォルトの名無しさん [sage] 2022/11/03(木) 12:29:42.91 ID:d31vVPfb C#ではJavaScriptに静的型付けの恩恵を与えられないでしょ http://mevius.5ch.net/test/read.cgi/tech/1640872622/185
186: .NET MAUI HighScool [] 2022/11/03(木) 12:39:42.87 ID:Kj7ywx2W >>185 なんで? http://mevius.5ch.net/test/read.cgi/tech/1640872622/186
187: デフォルトの名無しさん [sage] 2022/11/03(木) 12:47:16.05 ID:d31vVPfb >>186 君はC#がJavaScriptに静的型付けの恩恵を与えられると思ってるの? http://mevius.5ch.net/test/read.cgi/tech/1640872622/187
188: デフォルトの名無しさん [sage] 2022/11/03(木) 12:57:24.44 ID:t+iDkaHi >>182 これについてはTypeScriptが便利というよりは、JSのやり方に合わせるために必要となっているものだと思う C#では型が条件によってコロコロ変わるような設計は普通しないから、nullabilityさえ指定できれば多くの場合十分 http://mevius.5ch.net/test/read.cgi/tech/1640872622/188
189: .NET MAUI HighScool [] 2022/11/03(木) 13:04:33.62 ID:fiCeisHS >>187 いや別にJavaScript使う必要なくね? http://mevius.5ch.net/test/read.cgi/tech/1640872622/189
190: デフォルトの名無しさん [sage] 2022/11/03(木) 13:12:15.66 ID:d31vVPfb >>189 それは論点のすり替えでしょ http://mevius.5ch.net/test/read.cgi/tech/1640872622/190
191: デフォルトの名無しさん [sage] 2022/11/03(木) 14:21:47.63 ID:M3w0A0V3 代数的データ型は静的型付け言語にもあるよ。 最近のC#でも出来るけど記述量が多い。F#なら比較的楽に書けるけど。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/191
192: デフォルトの名無しさん [sage] 2022/11/03(木) 15:50:32.38 ID:BAhN8xRm typescriptが実行時型安全まで保証してくれたらもう他の言語いらんのよな REST APIというかJSONとの相性もマックスバリューだし 世にはびこっている型なし糞言語を全て地獄に葬り去ってほしい http://mevius.5ch.net/test/read.cgi/tech/1640872622/192
193: デフォルトの名無しさん [sage] 2022/11/03(木) 16:11:11.85 ID:cSIPlVD9 >>191 union typesは静的型において一般的な直和型とはかなり違ってて癖が強い 値が型持ってないからね http://mevius.5ch.net/test/read.cgi/tech/1640872622/193
194: デフォルトの名無しさん [sage] 2022/11/03(木) 16:27:43.63 ID:M3w0A0V3 >>193 まあそれはそうか。型ガードベースだもんね。 別に型が一致してなかったとしてもメンバさえ合ってれば雑代入しても問題ないし。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/194
195: デフォルトの名無しさん [sage] 2022/11/03(木) 18:23:11.89 ID:zVDUtzQU >>192 型をバリデーションライブラリから生成すると捗るよ http://mevius.5ch.net/test/read.cgi/tech/1640872622/195
196: デフォルトの名無しさん [sage] 2022/11/03(木) 20:49:50.25 ID:BAhN8xRm >>195 おっ zodmanか? http://mevius.5ch.net/test/read.cgi/tech/1640872622/196
197: デフォルトの名無しさん [sage] 2022/11/03(木) 20:56:17.04 ID:tn2ZhR3p interface/classからjsonschemaを生成して、それを型ガード関数で使うってのが鉄板。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/197
198: デフォルトの名無しさん [sage] 2022/11/03(木) 21:05:34.21 ID:zVDUtzQU >>196 すまねぇsuperstructなんだ。すまねぇ。 >>197 AJVはコードサイズデカくね? http://mevius.5ch.net/test/read.cgi/tech/1640872622/198
199: デフォルトの名無しさん [sage] 2022/11/03(木) 21:36:19.22 ID:tn2ZhR3p コードサイズは気にしたことがないがスキーマ手書きは面倒臭いからやだなあ。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/199
200: デフォルトの名無しさん [] 2022/11/03(木) 22:05:24.52 ID:S9tMl46F RestAPIの型チェックはio-tsっていうライブラリつかってバリデーションしてるな。 実行時コストがあるけど、自分は業務アプリがメインなんで変な結果で次に進まない方が大事。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/200
201: デフォルトの名無しさん [sage] 2022/11/03(木) 22:38:04.12 ID:zVDUtzQU >>199 ZodとかSuperstructとかはtypeで型書くのとほぼ同じくらいの手間でバリデーションと型が生成されるからすげー楽だよ。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/201
202: デフォルトの名無しさん [sage] 2022/11/03(木) 22:52:51.54 ID:tn2ZhR3p うーん、俺はやっぱりTypescriptで書いた型そのまま使える方が楽だわ。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/202
203: デフォルトの名無しさん [sage] 2022/11/04(金) 15:37:16.21 ID:NHN4pq/h HighScool君は納得して帰ったのか http://mevius.5ch.net/test/read.cgi/tech/1640872622/203
204: デフォルトの名無しさん [sage] 2022/11/04(金) 23:24:08.39 ID:/YFZG+0u superstruct と zod ならどっちがええのんか? http://mevius.5ch.net/test/read.cgi/tech/1640872622/204
205: .NET MAUI HighSchool [] 2022/12/16(金) 16:55:41.78 ID:3qj0lL1U C#だとvar型でも何ら問題無いと思われてるのにTypeScriptのanyはなんでTwitterでネタにされるんでしょうか? 私もあまりvar型使いませんが公式とかvar型使いまくってるしTypeScriptでany使っても何ら問題なさそうなのですが… http://mevius.5ch.net/test/read.cgi/tech/1640872622/205
206: デフォルトの名無しさん [sage] 2022/12/16(金) 17:30:57.27 ID:p0Ky0qXF コーディング時にvarは右辺で型が決まるけどanyは決まらないからかな http://mevius.5ch.net/test/read.cgi/tech/1640872622/206
207: .NET MAUI HighSchool [] 2022/12/16(金) 18:26:46.45 ID:3qj0lL1U >>206 決まらないんですか? ではvar型ではなくdynamic型と言うことなのですかね http://mevius.5ch.net/test/read.cgi/tech/1640872622/207
208: デフォルトの名無しさん [sage] 2022/12/16(金) 21:33:55.14 ID:AqSpfMIV そもそもvarは正確には型じゃないだろ http://mevius.5ch.net/test/read.cgi/tech/1640872622/208
209: デフォルトの名無しさん [sage] 2022/12/16(金) 21:58:06.83 ID:V2l7/OO4 var型はないな 型の堅牢性などを享受するためにTypeScriptを使用しているはずなのに、anyを持ち出せばそれが途端に失われるから絶対に使わない方がいい そして確かにanyはdynamicに近いものと考えて良い http://mevius.5ch.net/test/read.cgi/tech/1640872622/209
210: デフォルトの名無しさん [sage] 2022/12/16(金) 22:10:24.90 ID:Hm0gKYO4 TypeScriptに対する理解が浅いのはともかくC#の理解もそんな程度だったのかこのコテ http://mevius.5ch.net/test/read.cgi/tech/1640872622/210
211: .NET MAUI HighSchool [] 2022/12/17(土) 00:18:30.36 ID:WFRGIGZB >>208 型推論型だろ >>210 何いってんだこいつ? http://mevius.5ch.net/test/read.cgi/tech/1640872622/211
212: .NET MAUI HighSchool [] 2022/12/17(土) 00:22:25.11 ID:WFRGIGZB dynamic型は次の値を入れたらその型に変わる 例えば dynamic x="おはよう" dynamic x=123 でも大丈夫なわけ anyは型の再代入ができないって見たけど?これdynamic型なの? http://mevius.5ch.net/test/read.cgi/tech/1640872622/212
213: デフォルトの名無しさん [sage] 2022/12/17(土) 00:38:58.67 ID:1fKT+2Wj >>178程度の理解のヤツに何を説明しても無駄よ http://mevius.5ch.net/test/read.cgi/tech/1640872622/213
214: デフォルトの名無しさん [sage] 2022/12/17(土) 00:50:14.95 ID:/cYfBcZ5 >>212 流石にこれは触っちゃいけないレベル http://mevius.5ch.net/test/read.cgi/tech/1640872622/214
215: デフォルトの名無しさん [sage] 2022/12/17(土) 00:55:05.65 ID:Q7rx/k0e anyはまさにJavaScriptの元々の変数の扱い様そのもの。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/215
216: .NET MAUI HighSchool [] 2022/12/17(土) 01:46:39.51 ID:WFRGIGZB >>213 TypeScriptはC#以下だったってわけか 理解 http://mevius.5ch.net/test/read.cgi/tech/1640872622/216
217: デフォルトの名無しさん [sage] 2022/12/17(土) 01:54:57.82 ID:Q7rx/k0e 目的が違うんだよ。C#ではTypeScriptのようなことは出来ない。 良い意味でも悪い意味でもJavaScriptのスーパーセットかつトランスパイラである必要があるんだから。 ただTypeScriptが将来C#でやってることを概ね肩代わりすることは可能だったりはするんだけどね.netライブラリをそのまま動かすように改変していくことも障害は少ない。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/217
218: デフォルトの名無しさん [sage] 2022/12/17(土) 02:13:01.40 ID:dtBkzR03 そいつにかまうなよ あちこちの言語やフレームワークスレに乗り込んでは意味不明な喧嘩売って C#マンセーMAUIマンセーしてるだけの荒らし http://mevius.5ch.net/test/read.cgi/tech/1640872622/218
219: デフォルトの名無しさん [sage] 2022/12/17(土) 03:00:17.54 ID:7f5jCiop 再代入と型は関係ないだろ 見た感じC#も満足に使えてないじゃん http://mevius.5ch.net/test/read.cgi/tech/1640872622/219
220: .NET MAUI HighSchool [] 2022/12/17(土) 04:20:14.04 ID:WFRGIGZB >>219 どこが? dynamic型知ってる? http://mevius.5ch.net/test/read.cgi/tech/1640872622/220
221: デフォルトの名無しさん [sage] 2022/12/17(土) 08:49:17.76 ID:J7I3yK2m >>211 まぁ初心者なら便宜的に型だって覚えときゃいいよ >>212 型の再代入って何? 値の再代入とは違うの? http://mevius.5ch.net/test/read.cgi/tech/1640872622/221
222: .NET MAUI HighSchool [] 2022/12/17(土) 11:38:05.95 ID:WFRGIGZB >>221 値は型があってたら普通は再代入はできる ただ型があってなかったらできない dynamic型は型があってなくても再代入できる http://mevius.5ch.net/test/read.cgi/tech/1640872622/222
223: デフォルトの名無しさん [sage] 2022/12/17(土) 12:01:06.61 ID:d07Wp+U/ >>222 それをC#では型の再代入って呼ぶの? TypeScriptでは変数をletで宣言すれば値を再代入できる 変数がany型ならどんな型の値でも代入できる 変数をconstで宣言すれば型が同じであろうと再代入できない >>219の言ってるのはそういうこと http://mevius.5ch.net/test/read.cgi/tech/1640872622/223
224: .NET MAUI HighSchool [] 2022/12/17(土) 12:25:09.54 ID:EKmrQGNL >>223 そういう決まった名前無いけどdynamic型は型を変えれるからそう言ってる http://mevius.5ch.net/test/read.cgi/tech/1640872622/224
225: .NET MAUI HighSchool [] 2022/12/17(土) 12:25:55.57 ID:EKmrQGNL つまりletがvarでanyがdynamicってことか http://mevius.5ch.net/test/read.cgi/tech/1640872622/225
226: デフォルトの名無しさん [sage] 2022/12/17(土) 12:32:09.45 ID:AZCBrKeq ここでもバカ晒してるのかよw http://mevius.5ch.net/test/read.cgi/tech/1640872622/226
227: .NET MAUI HighSchool [] 2022/12/17(土) 12:38:11.73 ID:WFRGIGZB >>226 何いってんだこいつ? http://mevius.5ch.net/test/read.cgi/tech/1640872622/227
228: デフォルトの名無しさん [sage] 2022/12/17(土) 12:56:35.19 ID:d07Wp+U/ >>225 説明の仕方が悪かったか C#の dynamic x = "abc"; x = 123; //OK に相当するのは let x:any = "abc"; x = 123; //OK var y = "abc"; y = "def"; //OK y = 123; //NG に相当するのは let y = "abc" y = "def"; //OK y = 123; //NG 変数の型を推論に任せるときは型指定を省略する http://mevius.5ch.net/test/read.cgi/tech/1640872622/228
229: .NET MAUI HighSchool [] 2022/12/17(土) 14:07:48.19 ID:WFRGIGZB >>228 なるほど理解したサンクス http://mevius.5ch.net/test/read.cgi/tech/1640872622/229
230: デフォルトの名無しさん [sage] 2022/12/17(土) 18:19:24.77 ID:EAGB3+7T なんでぽまいらはC#の話をしているんだ? http://mevius.5ch.net/test/read.cgi/tech/1640872622/230
231: .NET MAUI HighSchool [] 2022/12/17(土) 18:58:14.82 ID:WFRGIGZB anyはネタにされるけどvarはネタにされないなと思ってさ まぁ勘違いだったんだけどね http://mevius.5ch.net/test/read.cgi/tech/1640872622/231
232: デフォルトの名無しさん [sage] 2022/12/17(土) 19:14:45.81 ID:ETb1szGB なぜanyがネタにされたり忌み嫌われたりするのかはその機能だけ見ても分からんだろうね 言語特有の背景を理解してこそ https://qiita.com/uhyo/items/aae57ba0734e36ee846a http://mevius.5ch.net/test/read.cgi/tech/1640872622/232
233: デフォルトの名無しさん [sage] 2022/12/17(土) 20:38:09.95 ID:/cYfBcZ5 any無しはJSONの扱いが面倒臭過ぎるんだよなあ 必要に応じて型のランタイムチェックを入れてキャストできる機能さえあれば格段に便利になるんだが http://mevius.5ch.net/test/read.cgi/tech/1640872622/233
234: デフォルトの名無しさん [sage] 2022/12/17(土) 20:55:50.21 ID:AZCBrKeq ユーザー定義型ガードで足りると思うが http://mevius.5ch.net/test/read.cgi/tech/1640872622/234
235: デフォルトの名無しさん [sage] 2022/12/21(水) 14:23:05.41 ID:FWjNfdlT JSONだろうがanyを許すな。Zodとか使うのだ http://mevius.5ch.net/test/read.cgi/tech/1640872622/235
236: デフォルトの名無しさん [] 2023/01/03(火) 23:03:14.80 ID:6VbKu+1R pythonを書いていると型縛りが馬鹿らしくなる http://mevius.5ch.net/test/read.cgi/tech/1640872622/236
237: デフォルトの名無しさん [sage] 2023/01/03(火) 23:51:28.97 ID:FIKRmyvH JavaScriptを書いていると型縛りが馬鹿らしくなる みんながそう思ってたらTypeScriptは生まれてこなかっただろうね http://mevius.5ch.net/test/read.cgi/tech/1640872622/237
238: デフォルトの名無しさん [sage] 2023/01/04(水) 00:03:33.25 ID:eKtKRLft 型なんて要らねーとか言ってるのは、ほぼ1人でコーディングしてる奴 まぁ、実際1人でなら要らないかも知れない これが複数人でコーディングする事になると、他人が実装した関数にどんなデータを渡していいか全然分からない その為にTypeScriptがある http://mevius.5ch.net/test/read.cgi/tech/1640872622/238
239: デフォルトの名無しさん [sage] 2023/01/04(水) 00:08:02.09 ID:PCFpglko 型がない方が縛りプレイだろ http://mevius.5ch.net/test/read.cgi/tech/1640872622/239
240: デフォルトの名無しさん [] 2023/01/04(水) 00:44:19.33 ID:B1scSs4x JavaScriptは引数の数すらチェックされない上に暗黙の変換にundefined/null/NaNと昔はブロックスコープもなくてバグの温床てんこ盛りだったからやろ intとかStringとかのベーシックな型を書きまくつてるコードを見ると欠陥言語だなと思う http://mevius.5ch.net/test/read.cgi/tech/1640872622/240
241: デフォルトの名無しさん [] 2023/01/04(水) 09:28:28.37 ID:77WW46pZ >>239 縛り方を間違うと死ぬからな http://mevius.5ch.net/test/read.cgi/tech/1640872622/241
242: デフォルトの名無しさん [sage] 2023/01/04(水) 10:15:30.84 ID:y9fxcgcU Flow「…」 http://mevius.5ch.net/test/read.cgi/tech/1640872622/242
243: デフォルトの名無しさん [sage] 2023/01/04(水) 11:23:06.77 ID:PU4coe7B パラメタ名・変数名で型がわかるようにしとけば大概は済む 引数の個数をテキトウに呼ぶ奴がいたら、それはそんな作り方する方がおかしい http://mevius.5ch.net/test/read.cgi/tech/1640872622/243
244: デフォルトの名無しさん [sage] 2023/01/04(水) 11:53:32.34 ID:+W5BVHVt そういう開発者にのしかかる煩わしさを軽減するのが型の役目だろうに http://mevius.5ch.net/test/read.cgi/tech/1640872622/244
245: デフォルトの名無しさん [] 2023/01/04(水) 16:13:02.47 ID:s5vEki4C コーディングルールの運用で型限定するのも コンパイラにまかせて型限定するのも 少なくとも js に限って言えば前者の方が手間は少ない http://mevius.5ch.net/test/read.cgi/tech/1640872622/245
246: デフォルトの名無しさん [sage] 2023/01/04(水) 16:35:42.97 ID:WgdCy7ph 本気で言ってるのか・・・? http://mevius.5ch.net/test/read.cgi/tech/1640872622/246
247: デフォルトの名無しさん [sage] 2023/01/04(水) 16:38:46.50 ID:oLi3mo91 >パラメタ名・変数名で型がわかるようにしとけば大概は済む よく事故るのは受け渡すオブジェクトのメンバーの有無だったりするけどそれには無力だな。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/247
248: デフォルトの名無しさん [sage] 2023/01/04(水) 16:48:19.89 ID:PU4coe7B 大概、おおむねって話よ よほど便利だろうから、こういう言語が生れたのだろうし全否定するわけではない あと、処理系が変数の型を把握できても、しかるべき名前でないと、開発者に分かりにくい場合がある 自作でもこれなんだっけ?紛らわしいなって、結局名前弄ったり、名前って大事 http://mevius.5ch.net/test/read.cgi/tech/1640872622/248
249: デフォルトの名無しさん [] 2023/01/04(水) 16:56:26.80 ID:+smwzq4n 型付けはあった方が良いけど、肝心の成果物がしょーもないことは多々あるな 最近まで参画していたアプリはすげー健康なブスだった http://mevius.5ch.net/test/read.cgi/tech/1640872622/249
250: デフォルトの名無しさん [sage] 2023/01/04(水) 17:01:25.31 ID:WgdCy7ph 開発途中で型の変更が必要になったとき安全に漏れなく修正できるメリットとかは無視できないんだけど 今までそういう経験がなかったんだろうか http://mevius.5ch.net/test/read.cgi/tech/1640872622/250
251: デフォルトの名無しさん [sage] 2023/01/04(水) 17:46:37.74 ID:JvBm8lal そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う それよりも代入により生じる依存関係を静的に追跡可能であることが重要で、その点では型があることで飛躍的に静的解析の精度が上がる ただ、そのためには静的解析しやすい作りになっていることが大前提だ 動的型畑の人って概してオブジェクトと連想配列の区別が曖昧で、静的型に馴染んだ人からすると信じられないような型安全もクソもないコード書くからな それを根本的に改めないなら型なんて大して役に立たん http://mevius.5ch.net/test/read.cgi/tech/1640872622/251
252: デフォルトの名無しさん [sage] 2023/01/04(水) 18:22:26.69 ID:thANRos2 >そういうのはどのみち影響しそうな箇所を全部見て確認しなきゃいけないから、値に型があることはそれほど重要じゃないと思う その影響しそうな箇所の把握に型があるのとないのでは大きく正確性や効率に差が出てくるでしょって話 http://mevius.5ch.net/test/read.cgi/tech/1640872622/252
253: デフォルトの名無しさん [sage] 2023/01/04(水) 22:43:59.04 ID:PCFpglko まぁRubyやPHP出身の低能にそもそも型書かせるのが難しいという意見には同意 根本的に教養・学が足りないから、どうしようもない もはや言語仕様で救えないレベルの話である http://mevius.5ch.net/test/read.cgi/tech/1640872622/253
254: デフォルトの名無しさん [sage] 2023/01/04(水) 22:52:50.06 ID:492NQUrQ 動的型畑の奴が一概にバカとは思わないが、オブジェクトの全プロパティ舐めて値を書き換えたりするコードが突如出現したりして面食らう 根本的に思考回路が我々とは違うのだなと感じる http://mevius.5ch.net/test/read.cgi/tech/1640872622/254
255: デフォルトの名無しさん [] 2023/01/04(水) 23:21:22.18 ID:+smwzq4n クスクス http://mevius.5ch.net/test/read.cgi/tech/1640872622/255
256: デフォルトの名無しさん [sage] 2023/01/05(木) 10:41:34.55 ID:Cbg+aaE9 >240 >暗黙の変換 これが諸悪の根源 http://mevius.5ch.net/test/read.cgi/tech/1640872622/256
257: デフォルトの名無しさん [] 2023/01/05(木) 21:34:07.80 ID:OE/QT1xu JavaScriptは信用できない、JavaScriptは危険。 だからJavaScriptを撲滅しようとした時代があったんだよな。 JavaScriptそのものは書くものではなくて、使うものに変化した。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/257
258: デフォルトの名無しさん [sage] 2023/01/05(木) 22:57:13.13 ID:ySLiYJwl JSを半端に知ってるやつこそそう言うけど、地雷がたくさん埋まってる以外は悪い言語じゃない。TypeScriptも今となっては薄いラッパーに過ぎないし http://mevius.5ch.net/test/read.cgi/tech/1640872622/258
259: デフォルトの名無しさん [sage] 2023/01/05(木) 23:01:32.86 ID:+/A/RNe/ 何作るかによるな んで、Typescriptでしょーもないもの作ってる奴はかなり多い http://mevius.5ch.net/test/read.cgi/tech/1640872622/259
260: デフォルトの名無しさん [sage] 2023/01/06(金) 00:04:22.96 ID:B+7qMiMZ 動的型付けでしょーもないもの作ってる奴の方が圧倒的に多い事実 http://mevius.5ch.net/test/read.cgi/tech/1640872622/260
261: デフォルトの名無しさん [] 2023/01/06(金) 16:55:41.96 ID:YIB2cDqh jsもperlも卒業しろよ http://mevius.5ch.net/test/read.cgi/tech/1640872622/261
262: デフォルトの名無しさん [sage] 2023/01/07(土) 02:08:56.86 ID:cY6/G25e TSも卒業してrust書け http://mevius.5ch.net/test/read.cgi/tech/1640872622/262
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 134 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s