- 1 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 19:30:29.58 ]
- pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。 node.js - googleが開発したV8エンジン上で実行できる処理系 nodejs.org/ Rhino - JVM上で実行できる処理系 https://developer.mozilla.org/ja/Rhino javascriptはrubyと比較してもかなり速い shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv 基礎から学ぶNode.js gihyo.jp/dev/serial/01/nodejs node.jsの概要とアプリケーション開発の準備 gihyo.jp/dev/serial/01/realtimeweb/0002 前スレ 【node.js】サーバサイドjavascript【Rhino】 toro.2ch.net/test/read.cgi/tech/1310087535/
- 331 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 18:59:54.76 ]
- URL変わらない時のイベント処理は今までのBackboneと同じでViewでする
フォームの処理とか始めると肥大化しがちなのも同じ Backboneはシンプルでいいけど双方向バインディングのあるMV*版のRendrも欲しくなる
- 332 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 20:32:57.13 ]
- Rendrの日本語情報って1件しかないよね (´・ω・`)
- 333 名前:デフォルトの名無しさん mailto:sage [2013/10/13(日) 07:38:31.83 ]
- >>332
オハ 無いですね、 確かに、、、 Gitヒストリー見る限り、本体更新の連続で安定してなかったからだと思いますが、 最近はサンプル修正程度のようで、安定しつつあるから、いよいよ、本腰入れてブログ書く人が出てくるとオモ? >>329 ありがとんです。 サンプルトレースと中身を読んで大方理解できました。 さて、今日は、mongodbとpassport、canvas、markdown入れてちょっと込み入ったブログを仕上げてみます。 まだ、ServerとClientのDOM切り分けがモヤとしていますが w こういう目新しいフレームワークを見つけるとおもちゃを手に入れたような感じで楽しい w
- 334 名前:デフォルトの名無しさん mailto:sage [2013/10/13(日) 10:18:46.36 ]
- Node.jsもExpressもBackbone.jsも活発に開発されてた頃からブログあった
QiitaのRendr記事人気エントリなのに後が続かなかったのはなぜなんだぜ
- 335 名前:デフォルトの名無しさん mailto:sage [2013/10/13(日) 13:31:53.76 ]
- >>333
DOMを操作するのはクライアントだけだから切り分けを考える必要はない 基本イベントハンドラしかDOMには触らない あとは必要に応じてpostRender()でキャッシュ(this.$xxx= this.$('#xxx');)するだけ
- 336 名前:デフォルトの名無しさん mailto:sage [2013/10/13(日) 23:06:59.76 ]
- Backboneがあんまり好きじゃない
- 337 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 02:50:52.66 ]
- 循環参照を持つオブジェクトを文字列化&パースする方法はありませんでしょうか?
- 338 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 14:02:18.82 ]
- >>336
何が好き?
- 339 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 15:25:58.10 ]
- >>338
お前
- 340 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 16:34:41.23 ]
- アッー!
- 341 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 16:36:49.80 ]
- >>339
気付かなくてごめん
- 342 名前:デフォルトの名無しさん mailto:sage [2013/10/15(火) 07:57:24.24 ]
- >>335
まだバグが残ってますが、取り敢えず仕上げました。 ありがとんです。 確かにDOMはクライアントだけてすね。 しっかし、目からウロコな部分があちこち。 凄いもんです。
- 343 名前:デフォルトの名無しさん mailto:sage [2013/10/15(火) 23:24:13.32 ]
- Nodeベースのジェネレーターの公演があった
なぜPromiseがいいのかの説明もある Noderは必見 www.youtube.com/watch?v=qbKWsbJ76-s pag.forbeslindesay.co.uk/
- 344 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 01:55:02.07 ]
- Async使ってる奴少ないのか?
- 345 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 09:34:34.83 ]
- むしろ多数派
https://npmjs.org/ 「Most Depended Upon」の2位がasyncで3000以上のモジュールに依存されてる Promise実装ではqが人気で650モジュールに依存されてる
- 346 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 12:13:11.53 ]
- そもそもPromiseがただコールバックをメソッドチェーン状にするだけのものと認識されているから仕方ない
本来はジェネレータ関数をラップするみたいな奇妙のことをせずとも、それに勝るポテンシャルを持っているのに
- 347 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 13:21:46.94 ]
- つーか、結局コールバックを使う時点で察し
元々(ヒューイット)のプロミスは非同期の文脈が付いただけで本来の値のように扱えるもの (今でいうモナド)だったが、JSのプロミスはなんちゃってだから
- 348 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 13:34:20.79 ]
- そういうスタイルは整合性が崩れないように注意深いプログラミングが必要だから
コールバックを楽に扱う仕組みとしてのPromiseでは本末転倒だろ
- 349 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 14:00:47.00 ]
- だからJSのプロミスなんかたかが知れてるっつー話な
- 350 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 14:02:06.04 ]
- await/yieldとPromiseは役割が違うし共存可能
問題はyieldとPromisehaES6だがawaitがES7で間が開くこと この間に無理してawaitっぽいことしても将来ゴミを残すだけだろうから なるべくPromiseベースで設計するのがいいと思う
- 351 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 14:03:34.63 ]
- >>349名前が同じだけであんたが思ってるのとはそもそも別モン
- 352 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 14:57:05.63 ]
- >>351
ん? 別物だとわかってるからたかが知れてるって書いてるんだが たかがコールバックを楽を扱う仕組みってところは同意よ こっちは何も反論してないんだが誰と何を争ってるんだ?
- 353 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:11:54.13 ]
- たかが知れてないものなんてあんのか?
たかが知れてるというものに限って実は奥深かったっていう落ちならよくしってるが JavaScriptも昔はそう思われてたよな
- 354 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:18:50.87 ]
- >>353
で、何を争ってるの???
- 355 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:26:26.58 ]
- node.jsのnpmをグローバルにインストールして使っていく前提として仮想的にnpmを分けることってできませんか?
pythonのvirtualenv見たいな感じで やりかたおしえてください
- 356 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:28:28.60 ]
- ただPromiseベースで設計するのもいいねって話では
もし争ってるように見えたのならそれは病気だよ
- 357 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:33:42.80 ]
- >>355
nodeenvがNode版virtualenvじゃなかった? >>357 争う気がないにしちゃ>>351や>>353は言葉遣いが荒いんじゃね?
- 358 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:41:54.00 ]
- そうか?
>>351は自分じゃないが両方荒いとは思わないが もしこれらが荒いのなら >>347,349,352 はより荒いでしょうに
- 359 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:46:41.87 ]
- Window版でInstaller使わないでbinaryだけの使ったときに
npmでパッケージのインストールに失敗するバグって直った?
- 360 名前:デフォルトの名無しさん [2013/10/16(水) 15:52:57.27 ]
- 64bit版の話ですね
- 361 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:57:50.11 ]
- スレタイに関係ないお話はお慎みください
- 362 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 17:16:08.62 ]
- Rendrの記事第二弾来たね(>>329をもっと詳細にした内容かな)
Rendr入門(2): リクエスト処理の流れ(Router, Controller、View、Template) qiita.com/mshk/items/b9fa3a1886241e579497
- 363 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 17:27:39.85 ]
- 助けてください
Node.js 0.10.20とSails最新版で行き詰ってます npm install -g sails sails new test cd test sails lift ってしてサーバが立ち上がりlocalhost:1337にアクセスすると { "status": 500, "errors": [ "Failed to lookup view \"home/index\"" ] } って表示されてしまいます 環境はWindowsです どうしたらエラーが解消されますか?
- 364 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 17:37:11.59 ]
- すいません何かバグっぽいです
https://github.com/balderdashy/sails/issues/983
- 365 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 17:46:08.56 ]
- sails@0.9.7はバグがあるのでsails@0.9.4を使うといいみたいです
- 366 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 21:43:54.33 ]
- RendrはNode.jsというjavascriptのOOPを目指した理想主義だと思うのだが? どうなんだろう?
フレームワークの最後のトドメになれば多すぎるフレームワークに終止符をうてるのでは? 黒魔術が多いから無理かな?
- 367 名前:デフォルトの名無しさん [2013/10/16(水) 22:48:25.99 ]
- イミフ
- 368 名前:デフォルトの名無しさん [2013/10/16(水) 23:50:35.76 ]
- スミルノフ
- 369 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 23:55:25.11 ]
- ミノフスキー
- 370 名前:デフォルトの名無しさん mailto:sage [2013/10/17(木) 08:30:25.22 ]
- アシクセイ
- 371 名前:デフォルトの名無しさん mailto:sage [2013/10/23(水) 06:47:36.73 ]
- で、結局Nodeの深刻な脆弱性とやらは一体何だったの?
- 372 名前:デフォルトの名無しさん mailto:sage [2013/10/23(水) 09:18:20.12 ]
- 足が臭いのは雑菌が繁殖しているから
靴消毒して靴下洗って足洗って乾かすといい
- 373 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 05:29:48.35 ]
- 判明
blog.nodejs.org/
- 374 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 14:08:44.22 ]
- sails.jsってどうなの?
ちょっと使ってみたけど、 使いやすいっちゃ使いやすいけど、 細かい部分がわかりづらくて 結局時間かかってしまってる気がする・・・
- 375 名前:デフォルトの名無しさん [2013/10/25(金) 04:26:42.57 ]
- >>374
お前が試したことが全てだよ 結局時間が掛かるのはNode.jsの宿命
- 376 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 05:08:02.07 ]
- Node.jsはアプリケーションサーバーとして本当に最低限なことをさせて
クライアント側でできる限りこなすべし 複雑なやり取りが必要なものは設計から見直す 出来るだけシンプルに、構造ではなくロジックに集中して平べったい設計にする フレームワーク的なもので厳かにする必要は通常ない
- 377 名前:デフォルトの名無しさん mailto:sage [2013/10/25(金) 19:40:17.08 ]
- >>376
最低限ってどこまでだ? ルーティングは?
- 378 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 05:22:41.32 ]
- ルーティングは俺はやらないほうがいいと思う
やるとしても当然単離する
- 379 名前:デフォルトの名無しさん mailto:sage [2013/10/26(土) 06:23:22.83 ]
- XHRもリソースに対してならいいけど、
GETやPOSTでデータを返すみたいな設計はなるべく避けて やるにしてもルーティングの一部として分離した方がいいだろうね CGI的な事をしないってのは味噌だと思う
- 380 名前:デフォルトの名無しさん [2013/10/28(月) 09:52:36.70 ]
- NodeがV8になかなかDirectProxyが実装されないのを嘆いてる
https://code.google.com/p/v8/issues/detail?id=1543
- 381 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 23:03:49.21 ]
- 誰かー
iconv-liteでShift_JISに対応するパッチ書いてー 誰かー
- 382 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 23:39:02.13 ]
- liteじゃないiconv使え
- 383 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 23:54:10.59 ]
- バイナリが必要だからjavascriptオンリーで欲しい
- 384 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 01:38:10.45 ]
- まさかと思うが今時コンパイル環境もない共有サーバ使ってますとか言わないよな?まさかとは思うけど
- 385 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 02:50:13.03 ]
- >>384
nodeで書いてるローカルアプリをコンパイルなしで動くようにして クラスプラットフォームにしたいんよ https://github.com/ashtuchkin/iconv-lite/issues/34 にやろうとしてる外人さんがいたんで参考にやってみたが、 半角カナが変換されない事態になった 文字コードわかんねー 文字コードのプロ求む
- 386 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 04:05:32.41 ]
- 馬鹿には無理
- 387 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 08:54:32.69 ]
- SJISなんて扱おうと思うな
- 388 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 10:45:07.66 ]
- >>385
iconv使って変換テーブル作ればいいだろ
- 389 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 11:57:25.70 ]
- >>383
Emscriptenを使えば……ゴクリ……
- 390 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 13:08:30.26 ]
- Nodeからnpmコマンド叩いてインストールさせればいいだけじゃん?
- 391 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 13:20:44.10 ]
- 新しい技術なのに、そんな古臭い文字コード扱いたくないよな・・・
- 392 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 14:03:29.35 ]
- とあるアプリのプロキシ作った時にはどうしても必要だったが
極力関わりたくない
- 393 名前:デフォルトの名無しさん mailto:sage [2013/10/30(水) 14:46:01.01 ]
- クライアントサイドMVC勉強中
expressとかでやろうとしてたことがたくさんクライアントに任せられれるんだな わざわざサーバサイドでやる必要なかったんや!!
- 394 名前:デフォルトの名無しさん mailto:sage [2013/10/30(水) 15:03:30.95 ]
- クライアント側の構造をMVCにするかどうかと、サーバとクライアントの役割分担の間に、
何か相関関係でもあるのか?
- 395 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 03:14:51.71 ]
- IconvでUTF-8にするだけなのに「Incomplete character sequence.」でハマる
というかIconvに限らずパッケージでしょっちゅうハマって結局ほとんど進展がないパターンだがセンスなさすぎるのかな
- 396 名前:デフォルトの名無しさん [2013/10/31(木) 07:20:35.61 ]
- うん
- 397 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 07:31:02.05 ]
- もう文字コード変換のJS実装モジュール作ってみようかな
iconvの名前とかインターフェイスってパクっていいの?
- 398 名前:デフォルトの名無しさん [2013/10/31(木) 09:12:45.90 ]
- うん
- 399 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 09:29:21.77 ]
- じゃあSJIS<->UTF8をこの休み辺りで作ってみるわ
- 400 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 10:54:39.56 ]
- どうでもいいけどNode.jsだと必要な時Workerをサーバーで肩代わりするような設計が
すごく簡単にできることに気がついた
- 401 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 10:56:12.24 ]
- どういうこと?
- 402 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 11:04:05.47 ]
- Workerサーバー立てて置いてWebSocketでやりとりする
- 403 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 16:13:44.82 ]
- 参加ユーザー全員が経過時間を共有(同期)することってできます?
例えば、ゲーム開始からきっかり30秒後にメッセージを送る、とか。 1.ゲーム開始時間をunixtimeなどで保持する 2.その時間と現在時間を比較して経過時間を計算する 3.その経過時間を参加ユーザー全員と共有 って感じでできそうだけど、 node.js+socket.ioでやるとなると 2や3の部分はどういうプログラム書いたらいいでしょうか?
- 404 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 16:29:36.56 ]
- とりあえずSJIS->UTF8作った
www1.axfc.net/u/3074413.zip
- 405 名前:デフォルトの名無しさん [2013/10/31(木) 16:50:20.78 ]
- イラネ
- 406 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 16:53:24.41 ]
- 要らないのが何よりも幸せ
- 407 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 16:59:48.79 ]
- 最近、node.jsがんばってるね。 なんか変わった? 昔作ったwicket appをどうしようか考え中
- 408 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 18:48:31.13 ]
- >>404
文字コードのプロキター
- 409 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 18:49:12.90 ]
- >>404
プルリクしろ
- 410 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 19:03:53.74 ]
- githubの垢なんかめんどいから作らん
- 411 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 19:18:57.78 ]
- >>404
Shift_JISの1byte文字の一部(半角カナ等)、特殊文字(dj等)の変換に失敗する
- 412 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 19:23:03.10 ]
- うわ、cp932じゃないただのShift_JISのみ対応かよ…
- 413 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 22:42:54.36 ]
- >>411,412
やってみるわ
- 414 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 00:30:12.16 ]
- こんなもんか
www1.axfc.net/u/3074911.zip
- 415 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 01:01:22.26 ]
- 入れてほしい機能があったら教えて
githubとかは一通り形になってから考える
- 416 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 01:03:26.15 ]
- >>414
乙! しかし第二水準以外の漢字及び記号が変換できないのがある ex) 草g剛のgなど ex) A B C D E F G H Iなど
- 417 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 01:16:10.31 ]
- これ拡張漢字と言うのか
ここに解説があるけど... シフトJIS / EUC-JPとUnicodeとの妥当な変換表 | Netsphere Laboratories www.nslabs.jp/round-trip.rhtml
- 418 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 06:46:57.62 ]
- 直した
www1.axfc.net/uploader/so/3075113
- 419 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 18:57:32.46 ]
- >>407
自分の見識が浅いだけかもしれんけど、新しい技術だから…と言われ続け未だに cakephpやrailsのようなフルスタックのフレームワークが少ないしあっても情報が極端に少なくて socket.ioでリアルタイムを導入するためだけとか限定された使い方がほとんどな気がする
- 420 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:03:24.56 ]
- 浦島さんここは竜宮城ではありませんよ
- 421 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:14:12.14 ]
- >>420
sails使ってみたけど、ドキュメントが十数ページ、stack overflow辺りのQ&Aもほとんどストックないし 商用に導入するには余りにもハードル高いと思うんだが asset pipelineの利便性にもgruntでは代替できてないし、基本的なMVCが備わってるだけに感じる 浦島太郎なら今は具体的にどういう状態なのか知りたい
- 422 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:29:27.82 ]
- こっちでもフルスタックの話題が出てた。このあたりか
ttp://kohada.2ch.net/test/read.cgi/php/1357402658/110-117
- 423 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:44:06.18 ]
- moongiftにかみついてるひといてわろす
- 424 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:46:55.44 ]
- >>421
フルスタックの重力に囚われた者の考え方しか出来ないから浦島太郎なのだよ
- 425 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:49:53.40 ]
- >>422
あざす >>424 具体的に何をいってるのかサッパリわからない あなたが先進的過ぎるのかもしれないけど、実際の業務はフルスタックのフレームワークなしで始まらないんだけど
- 426 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:55:01.60 ]
- >>425
なぜフルスタックありきなんだ?思考停止してないか? 決定的なフルスタックフレームワークがなくてもGrouponはNodeに移行出来た 彼らに出来てお前に出来ないのはなぜだと思う? ttp://wazanova.jp/post/65591805348/groupon-rails-node-js
- 427 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:57:37.99 ]
- >>424はガンダムにそんなセリフがあったなって書いたただのネタでし
- 428 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 19:59:19.52 ]
- >>426
Grouponが個別の事例としてRailsから移行したのは事実でもそれが主流なんですか? 自分に満足なスキルがないのは分かってるが、世の企業はみんな天才・秀才エンジニアばかりじゃないし 委託業務をこなしたり短い納期に追われてるところがほとんどで ハマったら即ググるくらいの情報がないととてもじゃないけどやってられない
- 429 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 20:06:35.92 ]
- >>428
Nodeの世界ではフルスタックフレームワークを使わないのが主流だよ 現実に普及してるものはないんだから 情報は大概ある、ただフルスタックフレームワークがないだけだ 必要なのは自分にあったモジュールを自分で選ぶこと、それだけ そこを人任せにしたいなら(文化的に)Nodeは諦めた方がいい
- 430 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 20:08:37.22 ]
- >>418
ほんと乙! 大体変換できるのだけど、SJISの0xFA40以降で変換がずれてしまってるのがある ex) 以下をテストに使うといいかも www.seiai.ed.jp/sys/text/java/shiftjis_table.html
- 431 名前:デフォルトの名無しさん mailto:sage [2013/11/01(金) 20:10:51.09 ]
- >>429
なるほど 非常にわかりやすいですw
|

|