X



TypeScript(MS) VS Swift(Apple)

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2014/06/03(火) 10:20:03.13ID:Tlzh3MoL
まあ、どちらもタイプセーフJavaScriptという
似たような言語なんだから仲良くしろや。
0151デフォルトの名無しさん
垢版 |
2014/07/02(水) 02:00:05.61ID:C0tb1eHd
インタプリタではないがこれ面白いぞ。

LLVM IR をWEB上で変更して実行するデモ。
http://kripken.github.io/llvm.js/demo.html
emscriptenと言うプログラムで、LLVM IRをJavascriptに変換している。

実際に動く所を見ると興味がさらにわく。 SwiftのLLVM IRからJavascriptを吐き出せる。

Emscripten
https://github.com/kripken/emscripten/wiki
Emscripten is an LLVM to JavaScript compiler.
It takes LLVM bytecode (which can be generated from C/C++ using Clang, or any other language that can be converted into LLVM bytecode)
and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).

ここに変換した後のJavascriptのデモが有る。
https://github.com/kripken/emscripten/wiki
結構それなりに動いてる。
ゲームも面白いが、 EmulatorsのClassic Mac OSも面白い。 それなりに実機のように動く。
LLVM IRと言うのが一番最初にあげたデモと同じ。

面白いな、LLVMを介して色んな言語がHTML上で動くことになる。
Swiftの応用範囲が広がるね。

LLJVM interpreter と言うのは、LLVM IRからJava byte code を作り出してる。
http://stackoverflow.com/questions/4934707/is-it-possible-to-transform-llvm-bytecode-into-java-bytecode
0153デフォルトの名無しさん
垢版 |
2014/07/03(木) 00:31:43.56ID:/QLPOJJ3
>>151 NaClやPNaClも一応動いてるんだな。 Chromeでサンプルが見れる。

asm.jsとかPNaClとかLLVMに興味あったので調べて回ったら少しだけ理解できた話
http://d.hatena.ne.jp/hdk_embedded/20131128/1385669904

Web周りの言語
Google----(Chrome拡張で一部デモが見れる)
任意 (NaCl LLVMコンパイル) 機械語  ターゲット依存
PNaCl    LLVM IR > 機械語 (今は拡張機能?)
       LLVM IR > Javascript(Emscripten/pepper.js )
Dart クロスコンパイルin ブラウザ / JIT?
pepper.js とPNaClのExample
http://trypepperjs.appspot.com/examples.html

Mozzila---
asm.js  ( LLVM IR >) Javascript(Emscripten/asm,js)

WebKit---
javascript (LLVM IR) JIT(一部)
(Swift >LLVM IR > Javascriptは可能だが公式発表は無し)

Microsoft---
Typescript->Javascript
VSにEmscriptenプラグイン
--------------
LLVMがカギを握ってるみたいに見える。 すぐに実用的なのがEmscripten
(但しライブラリが機械語の物はリンク不可能)
LLVM IR実行環境の流れは時間がかかりそうだが、進みそう。
(セキュリティの問題が有る)
0154デフォルトの名無しさん
垢版 |
2014/07/03(木) 01:14:36.62ID:9OGBgTec
LLVM-IRからJavaScriptに変換できても、
元のコードが使ってるAPIからJavaScriptのAPIに変換する仕組みの実装が高難易度で不十分なせいで実用には遠い
printfで出力垂れ流す程度なら簡単なんだけどね

LLVM-IRを直接解釈して実行する仕組みを作る場合も同じような問題をクリアする必要がある

苦労してその問題をクリアできてもパフォーマンスガタ落ちは避けられないんで、真剣に取り組む人がいない
0155デフォルトの名無しさん
垢版 |
2014/07/03(木) 01:25:30.74ID:/QLPOJJ3
>>153 そのExampleの Voronoi でベンチマークしてみた。
Emscriptenが13.681秒 PNaCl が6.723秒 倍違うね。
0156デフォルトの名無しさん
垢版 |
2014/07/03(木) 01:38:00.13ID:/QLPOJJ3
>>154 一般APIを使うとみんなダメだろ。 
Webブラウザで動けるAPIだけを使うと言うように限定しないと当然リンクエラーだよ。
あくまでもWebアプリなんだから。
Hello Worldだって、ブラウザ上に表示しないといけないんだからね。 標準出力なんか使えないよ。
HTMLダイレクトかJavascriptを通して表示させるとかやらないと。 HTMLも知らない人が使おうたってそりゃ無理だよ。
0158デフォルトの名無しさん
垢版 |
2014/07/03(木) 01:56:26.86ID:/QLPOJJ3
>>153  Earth ベンチマーク
Emscripten 8.6秒 0スレッド(スレッド指定不可)
PNaCl   0スレッド 2.5秒  8スレッド 1.23秒
0159デフォルトの名無しさん
垢版 |
2014/07/03(木) 02:03:00.95ID:9OGBgTec
逆に元の言語でブラウザのAPIを使ってそれをJavaScriptに変換する場合は
元の言語側でブラウザのDOMにアクセスするような(仮想的な?)ライブラリを用意して
それをうまいことJavaScriptのコードに対応づけてやる必要があるだろうな
例えばEmscriptenはそういう仮想的なライブラリを各言語毎に用意してんの?
0160デフォルトの名無しさん
垢版 |
2014/07/03(木) 02:07:16.47ID:/QLPOJJ3
>>157 あらゆる言語が有るんだから全ての言語がCライブラリを利用している訳でもないし、
全てのCライブラリが変換出来る訳でもない。
コンパイル環境によってリンクされるライブラリも違うだろうし、
VSでコンパイルすれば多分エラーのオンパレードになるだろう。
0161デフォルトの名無しさん
垢版 |
2014/07/03(木) 02:09:41.14ID:vth2CvYs
最終的にC,C++を経由しないライブラリなんてあるのか?
Pythonとかも動いてんだ
何の問題もない
0162デフォルトの名無しさん
垢版 |
2014/07/03(木) 02:23:50.93ID:9OGBgTec
>>160
Emscriptenの仕組みを根本的に勘違いしてる?
これはC言語の一般的なライブラリ(libcとかSDLとかもいけるらしい)にリンクされた形式のLLVM-IRを入力にして、
JavaScriptを出力するものだと思うんだけど

>>159で挙げたみたいな仕組みも別に用意されているのかな?

各言語毎に用意された独自の様々なライブラリとリンクされたLLVM-IRを
漏れなくJavaScriptに変換できるとしたらそれはものすごい規模の仕組みになると思うけど
そんなの神業すぎて有り得ん
0163デフォルトの名無しさん
垢版 |
2014/07/03(木) 02:33:38.51ID:9OGBgTec
だから>>153のこれも
(Swift >LLVM IR > Javascriptは可能だが公式発表は無し)
まだ現実的には意味が無いはず

すべてのLLVM-IRをJavaScriptに変換できるわけでは無い
変換可能なのはEmscriptenがサポートする範囲のライブラリがリンクされたLLVM-IRなわけ
今のSwiftにはまだEmscriptenがサポートするライブラリとか用意されてないよね
0164デフォルトの名無しさん
垢版 |
2014/07/03(木) 08:49:38.57ID:2Ze3kKMg
SwiftをJavaScriptに変換したところでアプリがそのまま移植できるわけではないし
(APIを移植したらAppleに訴えられるだろう)
どうせ互換性がないなら無理にSwiftやemscriptenなんか使ってコードを肥大化させる必要なんかない
それこそTypescriptやCoffeeでいい
0165デフォルトの名無しさん
垢版 |
2014/07/03(木) 12:34:47.74ID:/QLPOJJ3
Emscripten は標準でEmscripten自体からC++のコンパイラclangを呼び出し直接JSを吐き出せる。
この場合はライブラリ環境はGNU ldをエミュレートしているらしい。

Emscripten で C++ の Hello World を JavaScript に変換してみた
http://tips.hecomi.com/entry/20130416/1366124901

これを見ると  linker emulating GNU ld と有るからこれらはHTML環境に変換してるみたい。
それ以外のライブラリを使う場合は難しそう。 Objective-Cもダメらしい。
Emscripten がライブラリをエミュレートしない限りはかなり難しいだろうな。
0167デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:06:52.84ID:LsDaD5j+
>>163
> すべてのLLVM-IRをJavaScriptに変換できるわけでは無い
> 変換可能なのはEmscriptenがサポートする範囲のライブラリがリンクされたLLVM-IRなわけ

基本的には全てのLLVM-IRをJavaScriptに変換出来るんじゃないの?

OpenGL→WebGLみたいにJavaScriptのAPIにマッピング出来るライブラリがあるかないかと
変換出来るかどうかを一緒にしては駄目だ
0168デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:10:36.81ID:/QLPOJJ3
Dartプログラミング言語をGoogleのApp Engineがサポート…ついにサーバ言語としても位置づけ
http://m.jp.techcrunch.com/2014/07/01/20140629googles-dart-programming-language-is-coming-to-the-server/

これでW3Cは無理が有る様に思うが、きっかけにはなりそう。

あまり使いたいと思わせる要素は少ないな。あるのは数の力かな。
多分この辺りの言語戦争がWebKit内で有って分裂したんじゃ無いだろうか。表面は違うが。
0169デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:16:30.98ID:/QLPOJJ3
>>167 その通り、全て言語的には変換出来る。
出来ないのは、リンク結合出来るか出来ないか。
だから使えるか使えないかと言ったら、使い方次第。
無理して使う人は少ないだろうが。
0170デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:18:28.55ID:9OGBgTec
>>167
少なくともEmscriptenによるJavaScriptへの変換は
マッピングされてないライブラリをリンクしてるLLVM-IRをJavaScriptのコードには変換できないだろ?
ネイティブコードへ変換する通常のLLVMのバックエンドとはちょっと事情が違う
0171デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:25:03.31ID:y3Vpqy8O
>>170
Emscriptenはリンクする前にJavascriptへ変換すんだよ。あんまり半端な知識で知ったかぶりしないほうがいいぞ
0172デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:26:35.21ID:9OGBgTec
>>169
だからEmscriptenは通常のLLVMバックエンドと違って実際にリンク結合するわけじゃいんだってば
リンク結合されるべき部分を無理やりEmscriptenが用意してるJavaScriptランタイムの呼び出しに変換する
その変換が用意されてないライブラリの呼び出しを見つけたらEmscriptenの変換は失敗するわけ
0173デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:31:02.65ID:9OGBgTec
>>171
実際にリンクするわけじゃないだろ?
呼び出すJavaScriptランタイムがなければそれはEmscriptenにとっては変換失敗じゃないか
0174デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:40:23.64ID:9OGBgTec
>>170はちょっと書き方が悪かったなライブラリをリンクしてるというかライブラリの関数を呼び出してると書くべきだった
そしてライブラリ関数の呼び出しはとりあえずJavaScriptに変換されて、
Emscriptenが用意してるJavaScriptとランタイムと一緒に実行したときに
ランタイムがそのライブラリ関数をサポートしてれば実行されるし、サポートしてなければ実行時エラーになるのか
このへんはちょっと勘違いしてた
0176デフォルトの名無しさん
垢版 |
2014/07/03(木) 17:50:05.06ID:9OGBgTec
だからとりあえずどんなLLVM-IRでもJavaScriptへの変換は可能。これは訂正しとくは

そして、Swiftをブラウザで実行しようと思ったらSwift用のJavaScriptランタイムを用意する必要があると

Cocoaに相当するランタイムは実質不可能だろう
SwiftからDOMにアクセスするランタイムは作れなくも無さそうだけど、
Swift側のAPIを決めて、それにマッピングするようランタイム作る必要があるわけだ
0180デフォルトの名無しさん
垢版 |
2014/07/06(日) 11:16:42.61ID:uI+Octwc
>>176 XcodeのSwiftデバッグ情報を見ると、WebKitのJS JIT(VM/LLVM)が動いてREPLを実行してるようだ。

Xcodeが落ちた時に詳細情報を見ると、中にこんなのが見える。

VM Region Summary:
JS JIT generated code          8K
JS JIT generated code (reserved)   1.0G   reserved VM address space (unallocated)
VM_ALLOCATE              16.5M
WebKit Malloc               1232K

なんだかすごく楽しみだな。
0181デフォルトの名無しさん
垢版 |
2014/07/06(日) 12:59:26.62ID:uI+Octwc
>>176 Javascriptライブラリは一通りそろってるはず。
こんどのOSX10.10(Yosemite)では、Javascriptがシステムオートメーション用のスクリプトとして動き始めるからJavascriptのすべてのライブラリは揃ってると見て良い。

Release Notes This is a preliminary document
https://developer.apple.com/library/prerelease/mac/releasenotes/interapplicationcommunication/rn-javascriptforautomation/index.html
This article describes JavaScript for Automation, a new feature in OS X 10.10.

当面はOSXで実績を積んでいずれSwiftとマージと言う話になると思う。
JavascriptからObjCとの相互呼び出しも可能だからとうぜんSwiftとの間の相互呼び出しも可能のはず。(WebKitで許すかどうかは別の話)

SwiftからJSへの変換は結構早い時期に発表が有ると思う。 将来的には、JavascriptとSwiftのソースの混在も可能になるだろう。
0183デフォルトの名無しさん
垢版 |
2014/07/06(日) 13:41:28.52ID:J6LM3Iar
>>181
そのリンクの先はOSX上でJavaScriptからCocoa関係にアクセスするための仕組みのように見えるんだけど違うの?
>>176とはほとんど関係無くない?
0185デフォルトの名無しさん
垢版 |
2014/07/06(日) 16:55:42.10ID:uI+Octwc
>>184 こっちは話の流れ上Webクライアント限定。 あっちは本流。

>>183 OSXのスクリプトとしてJavascriptが動き出した。
>>176のSwiftがJavascripに変換されてもクライアントのJavascripライブラリがなければ動き様が無いと言う話は、OSXでJavascriptが動き出すので殆どクライアント用ライブラリも揃ってると見て良いだろうと思う。
iOS用のライブラリはまた別になるのでそのまま全て横流しと言う訳にはいかないが、大した手間では無いだろう。
WebKit用ライブラリは既に揃ってるから、WebKitを使う他社のブラウザでもその範囲なら大丈夫だろう。

WebKitを使わないブラウザ用としては変換したJavascriptが動く様にしておけば良いだろう。
この考え方はDartでも同じ。

このスクリプトで面白いのは、スクリプトエディタでJavascriptをアプリケーションとして保存すると、Appletとして呼び出して使える事。
この保存形式は解らないが、Javascriptのソースコードで無いことは明らか。
例えば、LLVM IR がApplet用バイトコードとして使われる可能性は結構有ると思う。
Googleとは別々の道を進んでいても、バイトコードとしてLLVM IR形式を使おうと言う合意の可能性はまだ残されてるんじゃ無いかな。 LLVM IR で無くても良いが何らかの統一コードは必要だろう。
しかし何故Java中間コードでは満足出来なかったんだろう?冗長性有り過ぎ?

ネイティブコード/バイトコードのアプレットが広く普及するとは思えないが、企業などの作り込みアプリなら利用されるだろう。

このスレでこの話題を話すのは、Webクライアントソフトが今後どう言う方向に進んで行くかと言う話にマッチしてるから。

TypeScriptも今はJavascriptに変換してるが、もし統一中間コードが決まればダイレクトにそのコードにコンパイルする様になるだろう。 その方が効率が良いはずだから。
0186デフォルトの名無しさん
垢版 |
2014/07/06(日) 17:04:40.34ID:J6LM3Iar
>>185
JavaScriptからCocoa呼び出せても、ネイティブなCocoaがあるOSでしか動かないじゃない?
そんなのは一般的なWebクライアント用言語としては使えないよ
0187デフォルトの名無しさん
垢版 |
2014/07/06(日) 17:48:41.56ID:uI+Octwc
>>186 Java Appletが、動ける範囲を制限してる様に、何らかのクラスの下でだけ動ける様にするはず。
極端な話WebKitの範囲内だけとか。要はJavaScriptが動ける範囲内だけで良いんだよ。WebKitAppクラスとか。

別に汎用のCocoaを網羅する必要は無いし動いたら却って怖い話。 そんなのセキュリティ上有り得ない。
0188デフォルトの名無しさん
垢版 |
2014/07/06(日) 17:53:53.35ID:5z9UYEB8
あんたが言ってるようなのって今現在沢山あるぞ?
どれも中途半端でイマイチ流行らないけどね
OSのAPIをひたすらラップするだけの作業だから
手間さえかければ良い物ができるよ
>>187による実装に期待
0189デフォルトの名無しさん
垢版 |
2014/07/06(日) 18:03:43.16ID:J6LM3Iar
>>187
クラスの下で動くって意味がわからないよ
そのクラスっていうのは実体が何で、世の中の一般的なブラウザはそれをどうやって利用するの?
0190デフォルトの名無しさん
垢版 |
2014/07/06(日) 18:18:44.85ID:uI+Octwc
>>186 それとクラスと言ってもそれは上位言語の話で有って、中間言語などに降りてきたらクラスなんか関係無い。
単なる汎用のマシン語が動くかどうかの世界。

ただ、まっさらなマシン語の実行を許すと大きなセキュリティの危険にさらされるから、何らかのガードの元で実行出来る様にするはず。
0191デフォルトの名無しさん
垢版 |
2014/07/06(日) 18:22:58.33ID:J6LM3Iar
>>190
だからその中間言語を一般的なブラウザでどうやって実行するつもりなんだって聞いてるんだ
プラグインか?JavaScriptランタイムか?アップルはそんなもの提供するなんて一言も言ってないだろ
0194デフォルトの名無しさん
垢版 |
2014/07/06(日) 20:13:32.73ID:uI+Octwc
>>191 一般ブラウザは中間コードじゃなくて単なるJavascriptだよ。
つまり、Native/bytecode またはJavascriptの両方出力できるようにするはず。 Dartも同じ。
多分HTML上も両方スイッチできるようにしておいてクライアントに応じてどちらかをダウンロードする形。
0195デフォルトの名無しさん
垢版 |
2014/07/06(日) 20:25:18.93ID:uI+Octwc
>>191 >JavaScriptランタイムか?アップルはそんなもの提供するなんて一言も言ってないだろ
全て妄想の範囲だよ。 だが現実味が強い。

1.Javascriptランタイムライブラリは殆ど揃ってる。 <−JavascriptがOSスクリプトに採用されたから。 <−公式発表
2.SwiftからLLVM IRは今でも出力できる。 <−既に動いてる。
3.LLVM IRからJavascriptへのコンバータは既にある。 だからライブラリさえ提供されれば可能になる。

いつごろ実現するかはわからんが1年以内だろう。
0196デフォルトの名無しさん
垢版 |
2014/07/06(日) 20:35:43.02ID:J6LM3Iar
>>194-195
LLVM-IRからJavaScriptに変換したコードを他ブラウザで実行する際に必要とするJavascriptランタイムは、
JavaScriptをOS Xのスクリプトとして利用するための仕組みに関係するものとは全然性質が違うんだよ
前者はcocoaの機能に相当する部分までなんとかしないといけないけど、
後者は単にOS Xへのラッパーにしか過ぎない
この違いが理解できるかな?

前者はかなり大変な仕組みだからアップルが何の発表もしてない時点で現実味が全く無い
0198デフォルトの名無しさん
垢版 |
2014/07/06(日) 21:16:00.20ID:uI+Octwc
>>196 逆にJavascriptに変換すると言う事は、javascript実行環境で使うのであればJavascript内でクローズしていれば良いのだから複雑なライブラリは必要ないとも言えるのでは?
だからすべてのブラウザで動く事が出来る。
Javascriptに変換した後の環境は単にウエブブラウザのJavascriptインタプリタのみ。 
必要なランタイムライブラリはインタプリタが実装していると言える。
0199デフォルトの名無しさん
垢版 |
2014/07/06(日) 21:36:38.50ID:J6LM3Iar
>>198
そうだよ。単にDOMにアクセスするためなら複雑なランタイムは必要無い
だから>>181のJavaScriptからcocoaを呼び出す仕組みとか関係無いってことだ
0200デフォルトの名無しさん
垢版 |
2014/07/06(日) 21:44:52.63ID:c4JqBC4F
WebになるとSwift関連ツールがWindows向けに提供されない場合、Windowsでのデバッグがやりにくくなる
スマフォ用Webアプリには使われても、直ぐに後追いが出てマルチプラットホームでのツール提供をすればそれに越されそう
0202デフォルトの名無しさん
垢版 |
2014/07/28(月) 12:30:56.51ID:4XV/yzRg
emscripten使えばわかるけど、生成されたゲロみたいなjsコードのデバッグは非常に困難
極めて綺麗なJSを吐くTypeScriptとは一緒にしてはいけない
0203デフォルトの名無しさん
垢版 |
2014/07/28(月) 13:21:39.99ID:zl94e36f
>>202 どのレベルのJSを吐くかによるだろ。 EmScriptenはasm.js を吐き出すんだろ?
性能を取るか視認性を取るかの違いだろ。
asm.jsを吐き出しても元のソースコードをコメントで入れてあれば見やすいのにそれはしていないんだろうな。
そのうち成長してくるだろう。
0206デフォルトの名無しさん
垢版 |
2014/07/28(月) 14:39:54.10ID:4XV/yzRg
>>203
ジェネレータは関係ない
コンパイル時のデバッグ情報を使わない限り、IRの時点でデバッグは十分困難だから
0207デフォルトの名無しさん
垢版 |
2014/07/28(月) 15:22:21.31ID:WmVK7Shw
>>206 詳しいことは知らないんだけど、IRにまでデバッグ情報は持ち込めるんじゃ無いの?
IRを使ってLLDBでデバッグ出来るんだから。 LLDBはClangでしかデバッグ出来ないの?
0209デフォルトの名無しさん
垢版 |
2014/08/05(火) 17:59:50.13ID:DgDBu3xR
>>202 あのね、コンパイラ言語はソースでデバッグするだろ、アセンブラでデバッグする事は滅多にないよ。
0210デフォルトの名無しさん
垢版 |
2014/08/05(火) 21:08:06.58ID:ghCtuQ0N
>>209
TypeScriptと同じ土俵ってところへの突っ込みでしょ。TypeScriptにとってJSは中間言語じゃない。
あっちはデバッガ含めJS資産を完全にシームレスに活用できるのが売り。
最悪、生成されたJSコードをベースにしてJSに戻って開発を続けることも十分可能なほど。
0211デフォルトの名無しさん
垢版 |
2014/08/05(火) 21:51:55.04ID:q3/M2RFT
言語が違うんだから、デバッグ方法が異なっても当然だな
しかし、JSのデバッグはお世辞にもデバッグしやすいとは言えないだろ。
0212デフォルトの名無しさん
垢版 |
2014/09/17(水) 19:13:24.03ID:C5lp8vtK
iPhone修理の仕事してる人っている?
iPhone6とかすでに受け取ってるんかね?

そういえば、ビックカメラとキタムラのiPhone修理受付の求人が入れ食い状態だとか噂を聞いたことある。確かに最近混雑して待ち時間が6時間とからしいからな

可愛い女の子も多いし応募してみようかと思ってる
0213デフォルトの名無しさん
垢版 |
2014/11/30(日) 10:37:14.85ID:tEmwOrdq
>>211
とはいえ最近かなり環境整ってるぞ
JSソースからデバッグ用JSソースのコンパイルってのも増えてきたし
0218デフォルトの名無しさん
垢版 |
2016/11/16(水) 13:22:30.64ID:fzskfnoe
バックレScript
0220デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:20:08.99ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

PPU1S
0221デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:37:38.99ID:RfoszcD2
KWT
0222デフォルトの名無しさん
垢版 |
2019/01/30(水) 15:12:57.19ID:M7eOsbET
>>1 しかしなんのために TypeScript と Swiftを並べてみようという気になったのかが気になる。
全く比べるようなものじゃないだろ。
■ このスレッドは過去ログ倉庫に格納されています

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