次世代言語11[Rust Swift TypeScript Dart]

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:53:27.92ID:vrBh4O6u
スレタイ以外の言語もok

前スレ
次世代言語10[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1524607347/
2018/06/17(日) 19:18:30.51ID:510xBBBe
Java8のどこらへんが次世代なのかは言わんのな
2018/06/17(日) 19:26:09.30ID:iWNJr2Uz
>>535
倒すだの勝つだの物騒な話してねえから
安定したプログラムを工数圧縮して作るのが目的だから
2018/06/17(日) 20:20:10.90ID:En9MtaF9
>>518
Java8 のサポート期間いつまでか知ってるかい?
540デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:25:05.46ID:p2Sm4Lro
たぶ今頃サンに問い合わせてるんだろな
2018/06/17(日) 20:38:25.12ID:SLSvvYl3
導入したい技術は、きちんと上司に根回しして
承認印を頂くこと
2018/06/17(日) 20:43:39.42ID:dJUJdMR3
上司がバカな可能性も十分あるからなんとも言えん。
しかし、同じくらいの割合でバカな新人が新しいクソツールをねじ込むこともあるからな。
一般に表面だけ見て判断はできんわ。
2018/06/17(日) 20:50:01.61ID:wbEMQisX
五年後からJava8とか地獄のような現場もあったもんだな
現場を知らなかったわ
2018/06/17(日) 20:55:06.44ID:wY+r/3B/
アップデートがあるうちはまだまだ未完成
LTSが終了したところで真の安定板になるのですよ…
2018/06/17(日) 21:26:03.64ID:u2X2MJCJ
そろそろ次世代の話がしたい
2018/06/17(日) 21:27:10.33ID:wbEMQisX
現場知ってる人にASTの話題流されたからな
2018/06/17(日) 21:34:27.48ID:Nk/Dtbgv
Java8は流石にネタだと信じたい
ネタとしては面白かったけど
2018/06/17(日) 21:44:52.52ID:Zsovn15r
面白かった次スレから入れるか?w
2018/06/17(日) 22:04:53.41ID:SLSvvYl3
やれやれ・・・(肩をすくめ、冗談だろ?と失笑しながら、イケメンを少し崩した変顔でつぶやく僕)
2018/06/17(日) 22:19:46.98ID:IxLGC6rA
昔クソツールと言ってgradleを拒否した爺さんが弊社にいた
蓋を開けてみると新しいからダメっていうか爺さんがわからないからごねてただけだった
爺さん今はKotlinを猛烈に攻撃してる
こういうのって沢山あるんだろうな
2018/06/17(日) 22:32:18.24ID:EBuoSE6p
サポート終わったものは社内のセキュリティ監査で引っかかるから使えんけどなあ
2018/06/17(日) 22:36:34.77ID:dJUJdMR3
>>550
逆もまた然り。
rails 無理やり使わせてメンテせず逃げたバカを何人も知っとるわ。
2018/06/17(日) 22:59:16.75ID:iFYzb9cl
ドカタ言語としてはJava SE 1.4くらいがちょうどよかった。あれのLTSがあったらなぁ。
2018/06/17(日) 23:00:14.53ID:9aKhKpN8
C#やりたいなあ
2018/06/17(日) 23:06:55.31ID:SLSvvYl3
railsはさすがにゴミですわ
ド型にすらなれないゴミ
556デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:21:54.59ID:p2Sm4Lro
グレードルもクソだと思うけどそもそもjavaがクソなのでツールを責めるのは酷だすな
コトリンは救いようがない滅せよ
2018/06/17(日) 23:28:49.24ID:dJUJdMR3
言語もそうだがクソなものを勧めてくる奴の特徴は
おそろしくモジュラリティーの低いものばっかり勧めてくるってところだ。
2018/06/17(日) 23:47:42.67ID:Zsovn15r
その発言!η変換すると「クソなものはモジュラリティが低い」になるぜ!
2018/06/18(月) 00:41:09.48ID:szLLB6p9
>>556
やっぱりそうなったか…
場当たり的な甘さがこれほど早く破綻をまねく分野もない
2018/06/18(月) 00:44:39.69ID:szLLB6p9
>>559
kotlinなにがだめだったん?
2018/06/18(月) 00:44:54.86ID:szLLB6p9
>>556
2018/06/18(月) 00:56:40.78ID:5zfP7m4z
gradleがクソはまあわかるがantよりはマシ
爺さんがごねなきゃ最低のクソから並みのクソぐらいには昇格できたかもしれない
新技術拒否爺さんは業務効率化を阻む害悪でしかない
2018/06/18(月) 01:07:58.13ID:OiAJbwiy
>>555
今から rails に取り組もうと思っていたのですが…(?然)
564デフォルトの名無しさん
垢版 |
2018/06/18(月) 01:49:33.50ID:2+ok0PtZ
気にすんな。世の中には自分の能力が足りなくて理解できないものをクソだということにして
自分の心を安定させようとするやつが居るってだけのことだから。そういうやつは何千年も
前から居る。ほとんど人間という動物の習性だと思っていい。誰でもそういう状態にハマる
可能性がある。ハマってる最中はそいつは他をクソ呼ばわりするだけで新たな事は何も
学習しなくなるので馬鹿な状態が維持されて発展しない。
2018/06/18(月) 07:01:11.25ID:Jei0+sA2
>>563
いい加減に板を荒らすのやめろよ

特にここ最近はRubyスレを荒らしまくって何考えてんだ?
2018/06/18(月) 07:13:46.91ID:wJzzPYpc
>>564
歴史に何も学ばないやつに発展はない。
https://anond.hatelabo.jp/20171129214218
565はこの種のバカなことを引き起こしといてトンズラするタイプだな。
だいたいこのタイプは仕様が満たされるものだと過信してるタイプで
機能の堅牢性なんてまともにチェックしてない。
2018/06/18(月) 07:25:45.84ID:OPxRI0Cf
歴史を学習した人間より科学を学習した自動運転の方が安全というのが
シンギュラリティの思想だよな
2018/06/18(月) 08:03:14.74ID:GT4ypnkz
>>564
それを「固定された思考態度」という。
569デフォルトの名無しさん
垢版 |
2018/06/18(月) 08:19:55.49ID:AHTeguQN
どっちも危険な盲信になりえる
>>564 みたいに一方的なのは危険
2018/06/18(月) 10:03:33.26ID:1wi3jEJk
「新しいものをバカみたいに導入しようとする奴は危険」ってのはまあその通りなんだが
上の「5年後にJava8を導入おじさん」も同じくらい危険人物な訳で

結局突き詰めてメリデメリをジャッジできる思考力ないだけのバカは開発を地獄にするってのは変わらんよね
2018/06/18(月) 11:21:38.28ID:cgeQ1bE7
プロコンという語を覚えると便利だよ>メリデメリ
英語のプレゼンでprosとかconsとか見たことあるでしょ?まあ英語というかラテン語なんだけど。
2018/06/18(月) 11:40:21.90ID:OPxRI0Cf
デメリット、コスト、人月の見積もり
見積もりを妄信するのも危険と言われる
2018/06/18(月) 13:11:53.12ID:byOf5Soa
>>449
>>448
>なんと!
>日本語審査会で審議しないといけないな。

言い忘れたがこの混同は英語でもある
というか放射能漏れは leakage of radioactivity の直訳
2018/06/18(月) 14:05:58.53ID:7nYEmGe5
そもそも次世代言語が次世代なうちは個人の趣味プロぐらいにしか使わんだろ
2018/06/18(月) 14:33:09.83ID:sQTrKk9Y
HaskellやElixirを実業務で使ってるところも
実在するわけだよな恐ろしい
2018/06/18(月) 14:45:17.24ID:UoKY4/G0
そのへんはむしろ枯れてるし実際ある
2018/06/18(月) 14:48:34.03ID:soq2obRK
まあHakellに関してはもう次世代というよりLispと似たようなポジションだということで
578デフォルトの名無しさん
垢版 |
2018/06/18(月) 15:30:15.87ID:soq2obRK
ところで、またATS2に話を戻すんだけど、
日本語訳もあったしチュートリアルやってみてるんだけど
↓の再帰関数の停止性検査とやらで躓いている
ttp://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/x2485.html

特に
fun isevn{n: nat} .<2*n>. (n: int n): bool = if n = 0 then true else isodd (n-1)
and isodd{n: nat} .<2*n+1>. (n: int n): bool = not(isevn(n))
が何故.<2 * n>.と.<2 * n + 1>になるか理解できん…
.<n>.と.<n + 1>.で大丈夫だと思ったんだが…
たぶんまだ、停止性メトリクスとやらが正しく理解できていないんだろうな…
誰か詳しく解説してくれないか?
2018/06/18(月) 15:31:22.53ID:/sFO+jYl
>>575
ドワンゴ(失笑)とかか?wwww
2018/06/18(月) 15:37:03.09ID:/sFO+jYl
ドワンゴが使ってると公言した言語を使ってる会社はドワンゴレベル

気を付けろwwwww
2018/06/18(月) 16:10:43.68ID:soq2obRK
ドワンゴってScala以外にもSwift, Kotlin(スマホアプリ)やReact(Typescript)やRustとかも使ってるからな…
開発事例は聞いたことないけどGoの勉強会とかもやってるし…
その基準だと、このスレでよく話題に挙がる言語はほとんど全てドワンゴレベルだな
ドワンゴレベルじゃない次世代言語はDartくらいか?www
2018/06/18(月) 16:24:24.97ID:NEyGx0zg
ドワンゴには、C++ の標準化委員の江添亮もいるし、Rust, Elixir, HDL もやってる。
クックパッドには、RubyVM を作った、笹田耕一もいる

基本は、Ruby。
Gradle で使うGroovy も、Ruby そっくり。
Elixir もそう。
jQuery のメソッドチェーンも、Ruby っぽい

無料のRails チュートリアルをやれば、すべてのフレームワークがわかる
2018/06/18(月) 16:24:43.92ID:yVgz9/Zm
言語と品質には何の関係もないのを
日々実証し続けているドワンゴさん
2018/06/18(月) 16:29:30.09ID:pZ1JIWjn
まだRubyのチュートリアルの話してんの?
Rubyっぽい、って、第一言語がRubyだからそう見えるだけだろ。
2018/06/18(月) 16:40:07.48ID:OPxRI0Cf
フリーソフトがあるから品質と価格が無関係
2018/06/18(月) 17:22:50.97ID:qMNnTEHn
ドワンゴってエンジニアだけ見ると技術力高そうなのに
なんで成果が全部ゴミなんだろうな
2018/06/18(月) 17:37:58.73ID:NEyGx0zg
YouTube, AbemaTV は、広告
ニコ生は、有料
Showroom は、寄付

ビジネスモデルが異なるから、
1つのチャネルの視聴者数が1万を超えると、追い出す

乃木坂みたいに、数万人も見ると、追い出す。
広告が無いから、1万人以上が無料で見ると、電気代が払えず、赤字になる
2018/06/18(月) 18:02:04.30ID:EvkbZGBx
>>578
isevn.<n>.とisodd.<n+1>.だと
isevn 3 のメトリックは.<n>. = .<3>.
そこから呼ばれるisodd 2 のメトリックも.<n + 1> = .<3>.
減ってねえ!エラー!ってことじゃね
想像だけで試してないので違ってたらすまん
2018/06/18(月) 18:04:53.53ID:xdRdwSco
>>578
とある関数呼び出しの定義内に表れる再帰的呼び出しの
停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。

そして停止性マトリクスの記述に表れる n は issven や isodd の引数そのものだということに注意

iseven、isodd の停止性マトリクスがそれぞれ n、n+1 だと、

iseven n の停止性マトリクス→n
iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→n-1+1=n
減っていないから停止性が担保されない(NG)。

説明にあるように <n, 0> と <n,1> ならば、
iseven n の停止性マトリクス→<n,0>
iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→<n-1,1> (下降している!OK)
isodd も同様に
isodd n の停止性マトリクス→<n,1>
isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK)

そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
2018/06/18(月) 18:08:28.85ID:xdRdwSco
>>589
>停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。

この説明「下降していく」だと本当に再起をどんどん
実行していくみたいで間違ってるか。

とある関数呼び出しの停止性マトリクスよりも、
その関数の定義に表れる全ての再帰的呼び出しの停止性マトリクスのほうが辞書順で小さい、
というべきか。
2018/06/18(月) 18:09:50.53ID:xdRdwSco
>>589
>isodd も同様に
>isodd n の停止性マトリクス→<n,1>
>isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK)

最後の行は
isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,0> (下降している!OK)

の間違いでした
2018/06/18(月) 18:32:21.74ID:NEyGx0zg
偶数は、2*n

奇数は、2*n+1
2018/06/18(月) 18:34:45.57ID:EvkbZGBx
>>592
理解してないだろw
2018/06/18(月) 18:51:32.37ID:OPxRI0Cf
安全装置のたぐいは損失を防ぐばかりで利益は全然ない
利益がないから理解できない人が続出
2018/06/18(月) 18:58:41.11ID:soq2obRK
>>589
ありがとう
冷静に計算していったら、確かにnとn+1じゃ減ってないからダメで
2*nと2*n+1だときちんと減ってるからOKってところまでは理解できた
でも、一体何を考えて<n,0>と<n,1>のタプル?のメトリクスが出てきたか全然分からない…

> そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
すまない。俺はバカなんだ。分からないんで教えて下さい。

自分でも自分がどこまで分かっているのかさえよく分かっていないんだが、
たぶん、停止性メトリクスがきちんと減っているかどうかを計算する方法までは理解できたが、
きちんと減っている停止性メトリクスを導き出す方法が分かってないんだと思う
2018/06/18(月) 19:23:14.64ID:xdRdwSco
>>595
>すまない。俺はバカなんだ。分からないんで教えて下さい。

辞書順を保ったまま <n, 0>, <n,1> をそれぞれ 2*n, 2*n+1 で置き換えられる
3*nとか4nでもいいけど2つしかないから2nで十分



fun f
{n:nat} .<3*n>.
(n: int n) : bool =
if n = 0 then true else g (n-1)
and g
{n:nat} .<3*n+2>.
(n: int n) : bool = not (h (n))
and h
{n:nat} .<3*n+1>.
(n: int n) : bool = not (f (n))
2018/06/18(月) 19:24:20.04ID:EvkbZGBx
>>595
引数のnと、isoddとisevnの2つの関数の区別(+0, +1)を位取り(*2)して足してるだけじゃないかな……
2018/06/18(月) 19:33:04.83ID:vrc1WpPf
>>581
全部そうだよ

やっぱりJavaやC、Pythonが最終的に一番良いってことだな
新しいものに飛び付いてるとドワンゴになるぞ
2018/06/18(月) 19:52:57.33ID:wJzzPYpc
ドワンゴはc++みたいなもんだな。
とりあえず新言語(新機能)の実験台になってもらえるっていう。
2018/06/18(月) 20:40:04.20ID:bcKP+A2z
>>599
つまりドワンゴがスレタイ言語は
ほぼ使えないと証明してくれてるってことだな
2018/06/18(月) 20:46:12.17ID:7nYEmGe5
ドワンゴは本当のC++プログラマーも募集してるしな
2018/06/18(月) 21:40:32.50ID:poCVJCAd
やきそば焼かせてるようなクズ会社にいくのか?
2018/06/18(月) 21:49:26.33ID:c5Ieze8t
bio100%の戀塚もいるんだよな
いかんせん上がアホだから
2018/06/18(月) 21:55:35.52ID:soq2obRK
>>596
辞書順を保ったまま置き換えられるってのが何をしてるのかイマイチよく分からんが
とりあえず、2つの関数で相互再帰なら2n、3つなら3nといった感じ……なのか?
うーん…まだ勉強し始めたばかりだし、やってればそのうち分かるようになるかぁ…
あざっす。
2018/06/18(月) 22:18:33.96ID:ejyTxCd5
>>604
いやここで堪えて理解しておくべき。
引数から算出できて、再帰で減るものを何か考えてそれを停止性マトリクスとする。

値そのものじゃなく大小関係だけが大事だから、
m が 0 と 1 のどちらかしかなければ
<n, m> の代わりに n*2+m で ok ってこと


<5,0> は <4,1> より大 ⇔ 5*2+0 は 4*2+1 より大
2018/06/18(月) 22:30:23.80ID:ejyTxCd5
ちなみに辞書順というのは停止性メトリクスのタプルについて、

先頭の要素同士を比較、等しければ次の要素同士を比較、また等しければそのまた次の以下略…
という風に比較したときの順序関係
2018/06/18(月) 22:47:52.93ID:ejyTxCd5
上で散々マトリクスと誤記しているメトリクスはこの場合「(停まるまでの)距離」という意味
608デフォルトの名無しさん
垢版 |
2018/06/18(月) 23:09:05.63ID:soq2obRK
>>605
なるほど。(n, 0)と(n, 1)が2nと2n+1に変換できることまでは分かった。ありがたい。
でも、そもそもの話として(n, 0)と(n, 1)っていうのが
一体何を考えて導き出されたのかが分からないんだよ…
チュートリアルに「isevn と isodd に (n, 0) と (n, 1) のメトリクスを与えれば、
これら2つの関数の停止性もまた検査できることは明白です。」って
書いてあるんだけど、俺にとっては全然明白じゃない…
何をどう考えたら(n, 0)と(n, 1)のメトリクスを与えようと思うんだ…?

現状、分かっているのは2nと2n+1ならメトリクスが減っているからOKってところと
(n, 0)と(n, 1)のメトリクスが2nと2n+1に変換できるってところまで…
一番肝心な部分が理解できていない気がする…
609デフォルトの名無しさん
垢版 |
2018/06/18(月) 23:17:38.17ID:Tp0/3gfg
なんの話か分からないけどこういう奴らが使ってる技術は使いたくない
2018/06/19(火) 00:28:07.36ID:2myyjakz
ATSは依存型言語の中でも奇抜な方だと思うよ
Coqとソフトウェアの基礎の方が易しいと思う
2018/06/19(火) 01:44:59.48ID:menX4d1R
CoqとAgdaは敬遠してるんだよね…
あの二つはプログラミング言語じゃなくて証明支援器だって聞いてるから…
オレは別にPCに証明問題を解くのを手伝ってもらいたいんじゃなくて、
従来の型システムを発展させた依存型とかを使ったより安全な
プログラミングを行うの方法が知りたいんだよって思って…
けど、学ぶ順番としてはCoqが先のほうが良かったのかな?
でも、Coqだとどうにもモチベーションが…

あと、ついでに線形型も学びたかった……
Rustの所有権・借用・ライフタイムはほぼ理解できてるんでそれほど難しくはないだろうと…
まず、依存型で躓いてるんで線形型までたどり着いていない…
んー……一度に色々やろうとし過ぎか…(´・ω・`)
2018/06/19(火) 02:53:39.62ID:8GZLihdn
Idris とかはどうなのよ
2018/06/19(火) 04:24:16.98ID:thfWBPV2
>>608
この場合呼び出しのたびに変化するものが、引数のnと「どちらの関数を呼ぶか」という
2つしかないんだから、呼び出しのたびに減る式を作ろうとしたらこれを組み合わせるしかない
後はパズルだろ
614デフォルトの名無しさん
垢版 |
2018/06/19(火) 07:30:15.96ID:3/FXNCrL
全てのnについて(n, 1)>(n, 0)と2n+1>2nは同値だから当たり前だろ。
2018/06/19(火) 08:33:24.05ID:vJmt1KGh
わかりにくい記法は自分で自由にわかりやすい記法に変換すればわかる
Cのポインタの記法と同じ
自由に考える方が早い
偉い人にいちいち許可を求めたり質問したりすると時間がかかる
2018/06/19(火) 08:33:59.97ID:menX4d1R
>>613
んー…1日置いたらやっと分かったような気がする…
気がしてるだけかもだけどあとは自力でどうにか理解できそう…
まあ、新しい概念を覚えるときはどうしても時間が掛かるものだし、
あとは腑に落ちるまでサンプルコードひたすら写経したりするか…
皆ありがとう

>>610
ATSの依存型は奇抜なの?
他の依存型がある言語も似たようなことやるんじゃないの?
2018/06/19(火) 08:51:24.21ID:vJmt1KGh
コンパイル時のメタプログラミングはみんな奇抜
2018/06/19(火) 19:52:01.92ID:R39QGoSG
型を静的に解析しつつマクロみたいに評価順序を入れ替えようってのが
そもそも無理があるんだよ。
2018/06/19(火) 20:25:55.46ID:b5m1uThb
そもそも型に期待しすぎるのがキモい
型の役目なんてOCamlくらいでちょうどいいのに
2018/06/19(火) 21:54:08.10ID:vbOWauRQ
型安全のためにDRY原則すら無視してるのあるからな
2018/06/20(水) 01:28:01.72ID:QSlqi/vd
型安全を崩す水準のDRYはかなり悪い印象があるな
共通化すべきでないものまで共通化してるのではと
2018/06/20(水) 11:07:04.58ID:YLzmhKZ9
一生型書いてろ
俺はプロダクト書くからよ
2018/06/20(水) 11:47:35.83ID:CARL/ed1
人は型かプロダクトかどっちかしか書けないからなw
2018/06/20(水) 13:04:18.23ID:pTH4tzak
>>620
ジェネリクスやインターフェース正しく使ってれば
DRY原則無視しなきゃ型安全守れないこととかほぼ無いだろ
どんなコード書いてるんだよ?
2018/06/20(水) 21:17:56.02ID:vXpw0FFs
型って建物に例えると水準器だろ
柱がまっすぐ立ってるか見るための補助具

補助具ばっか作って家が建つのか?
2018/06/20(水) 21:34:34.91ID:kjCaqS0j
一生水準器使ってろ
俺は家建てるからよ
2018/06/20(水) 21:39:33.95ID:pTH4tzak
そうか、じゃあ動的言語で作ったプログラムって例えるなら水準器なしで建てられた家なのか…
それは欠陥住宅というもので工期が遅れてる建物よりもっと害悪だと思うんだがそれは…
2018/06/20(水) 21:55:16.85ID:nu99cs2X
いや単なる犬小屋欲しいだけなのに設計書に一年くらい時間かけるようなもんだ。
2018/06/20(水) 22:31:25.72ID:R/RR2gVc
>>628
犬小屋ってどれくらいの規模のものを指してるの?
リソース3つくらいのweb apiサーバとか?
2018/06/20(水) 22:35:54.20ID:R/RR2gVc
>>625
それだけじゃないよ。メンテナンスという観点でも必要。
いわば動的言語なら釘で家を建てるけど、
型付きなら、簡単に取り替えられるようにボルトで止まってる。
ちゃんとネジに印がついていて交換ミスも起こりにくい
631デフォルトの名無しさん
垢版 |
2018/06/20(水) 22:37:33.02ID:6Ldi6ZQ0
例え話をするエンジニアは無能の法則
2018/06/20(水) 22:45:13.44ID:pTH4tzak
>>629
犬小屋なんだから日曜大工、つまり個人の趣味レベルのものでしょ
2018/06/20(水) 23:03:24.49ID:kjCaqS0j
型は水準器というより物差しに近い
2018/06/21(木) 00:46:09.92ID:j3Jry11G
オプションでも型制約無い言語なんてもうJSとRubyくらいじやね?
2018/06/21(木) 01:00:00.42ID:9yZQgWTf
Lua忘れるとか
2018/06/21(木) 01:15:00.23ID:Xm+RspnJ
c++のstd::chornoみたいな設計は行き過ぎた型安全だと思う
2018/06/21(木) 01:16:19.88ID:tnwaIVRK
C++は存在そのものが行き過ぎている
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況