+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/08/29(月) 01:23:24.09ID:MUTWRWKoトランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。
ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/
JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。
※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。
+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1463395557/
前スレ + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1468158373/
0175デフォルトの名無しさん
2016/09/02(金) 01:25:11.41ID:gFIXdWf6> 「ES6のトランスパイラ」で処理されるためのJavaScriptソースがある、
それはどんなJavaScriptソースなんだ?
ここに具体的なコードを書いてみろ。
理解はしてるよ。
中身が同じにこだわるのは、
「一つの言語で云々、babelというのはなんに対しても最新のJavaScriptが使えるもの」ってお前の発言に則って話してるから、
それを否定するなら俺としてはありがたい話だ。
そりゃ、ES6だよ。
let func = () => console.log('hello');
ただ、目的としてはトランスパイラにかけるためのソースなだけで。
だから、目的論なの。
>>159の後半な。
0178デフォルトの名無しさん
2016/09/02(金) 01:27:51.64ID:gFIXdWf6> 中身にこだわってはないよ。
176 名前: ◆SEdFBOkLSw [sage] 投稿日:2016/09/02(金) 01:25:31.37 ID:nUqjDcPO [11/11]
> 中身が同じにこだわるのは、
↑ こいつ頭大丈夫か?w
中身にこだわってないと言ったくせに
ほんの6レスで中身が同じにこだわってるwww
0179デフォルトの名無しさん
2016/09/02(金) 01:28:54.56ID:gFIXdWf6> let func = () => console.log('hello');
そのコードはどの部分が、
「ES6のトランスパイラで処理されるため」になってるんだ?
お前敢えて誤読してるか理解してないフリしてんの?
それともマジでバカなの?
0182デフォルトの名無しさん
2016/09/02(金) 01:31:21.75ID:gFIXdWf6俺は
「ES6のトランスパイラ」で処理される、ES6のコードと
「ES6のトランスパイラ」で処理されない、ES6のコードの
違いが何かってことを聞いてるんだよ。
0183デフォルトの名無しさん
2016/09/02(金) 01:37:01.83ID:gFIXdWf6ES6に対応しているブラウザではそのまま動かせるって分かってないのかな?
babelを通すか通さないかの違いは、それぞれのブラウザで動作するかどうかの
テストコードが有って、それで保証されるから何の問題もない。
中身が変わるだけで(中身にはこだわりません)
動きが変わってなければ(テストで保証する所)何も問題ない。
babelは言語ではなくトランスパイラであって
言語はES6。このES6はブラウザでネイティブに動く言語
その他のAltJSはブラウザでネイティブに動かない言語
だから、AltJSとES6は「同じ言語というカテゴリで比較すると「立ち位置が違う」と言えよう。
なおAltJS(言語)とbabel(トランスパイラ)はそもそもカテゴリが違う。
0184デフォルトの名無しさん
2016/09/02(金) 03:38:22.58ID:kWkQROgWザ シティ・ベルシティ伊勢佐木町店(神奈川県)の周りにはソープランドがたくさんあります(ソープランド街です)。
このパチンコ店は韓国人か中国人が経営者の可能性があります(パチンコ店のほとんどは韓国人が経営してます)。
ザ シティ・ベルシティ伊勢佐木町店の周りには韓国料理店がたくさんあり、数キロ先には横浜中華街があります(韓国人、中国人がすごく多い地域です)。
普通はこんな場所に店を出さない気がします。
DICE系列 関東圏4
http://hayabusa6.2ch.net/test/read.cgi/netspot/1467360487/
ダイス(DICE)=まんがランド(漫画喫茶)=ちょっと気分転館(漫画喫茶)=ねっとラボ=ベルシティ(ザ シティ)というパチンコ店
↑
パチンコ店のほとんどは韓国人が経営してます
0185デフォルトの名無しさん
2016/09/02(金) 12:34:18.86ID:n2lhI+0z違う。普通はテストに引っかかる前でも後でも、
互換性のない部分で問題ないように書こうねということになる。
つまり使えるのはちょっとES2015に近いaltJSであって、
ES2015フルに使っていい状況で作るのとは大きく違う。
0186デフォルトの名無しさん
2016/09/02(金) 22:23:40.28ID:gFIXdWf6> 互換性のない部分で問題ないように書こうねということになる。
それはbabelを使わなくても、やってることだろ?
babelが対象とするのはECMAScriptの部分でDOM APIは対象外。
特定のブラウザでしか使えないAPIに比べれば
互換性がない部分は遥かに少ない。
その互換性がない部分っていうのはES6の部分なんだから・・
おまえ、普段ES6のコード書いてないだろ?
お前はES6のコードを書かないように気をつけている。
それに比べれば書かないように気をつけるコードはほんの僅かだよ。
互換性がない所はES5で書けば良いんだしね。
0187デフォルトの名無しさん
2016/09/02(金) 22:25:51.84ID:gFIXdWf6知らずに書いてしまうことはほとんどありえない。
0188デフォルトの名無しさん
2016/09/02(金) 22:34:24.02ID:gFIXdWf6中身が違うからポリフィルは使ってはいけない。
動作が同じになるように作られていたとしても
中身が違うからポリフィルは使ってはいけない。
また、MSが実装したPromiseも使ってはいけない。
PromiseはFirefoxが作ったものが唯一の本物であり、
中身が違えば動作が同じでも別物である。
0189デフォルトの名無しさん
2016/09/03(土) 05:16:03.21ID:N47o0j5/Proxyが非対応でSymbolやWM周りが非常に気をつける必要がある時点で1%じゃ済まないね。
>>それはbabelを使わなくても、やってることだろ?
やらないし。もうモダンブラウザはほぼ100%対応してるのだから。
実質8割のbabelとは全然全然違う。
おまえ、普段ES6のコード書いてないだろ?
0190デフォルトの名無しさん
2016/09/03(土) 08:43:25.11ID:GDuT1yRG0191デフォルトの名無しさん
2016/09/03(土) 10:02:38.69ID:1nvmVGqXならそれだけ使わなければいいだけだろ?w
babelを使わない場合に、Proxyが使えるのか?
0192デフォルトの名無しさん
2016/09/03(土) 10:08:49.40ID:EZVA2rF2> タイマー関連を使えないのでしょうか?
使える。
> これが使えないならば、WebWorkerでも極力使わない方が良い様に思います。
タイマー関連が使えるかどうかが、WebWorkerとどう関係があるのか
さっぱりわからん。
まず前提として以下のような制限がある。
https://developer.mozilla.org/ja/docs/Web/API/Web_Workers_API/Using_web_workers
> 例えば、Worker 内から直接 DOM を操作することはできません。また window
> オブジェクトのデフォルトのメソッドやプロパティで、使用できないものがあります。
そして以下にはsetTimeoutはWorkerの中で使えると書いてある。
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers
0193+ JavaScript の質問用スレッド vol.122 +の73
2016/09/03(土) 10:41:23.55ID:e3VOV86pPromiseは非同期処理群の処理と認識しています。
WebWorkerは単発の非同期処理と思っています。
WebWorkerはタイマーの稼働・停止の一連の処理を処理内部でまとめているのに対して
Promiseは非同期処理群の処理中ならば
タイマーの稼働・停止を別の処理で対応出来るかと思っていました。
Promiseの指定した処理群の個々でタイマーの稼働・停止が必要ならば
WebWorkerと同じ感じで作れば良いのかな。
Promiseは未使用なので、VS2015の実装状況を確認してから試してみます。
0194デフォルトの名無しさん
2016/09/03(土) 10:53:57.66ID:EZVA2rF2それ自体は間違ってはいない。
だけど重要なのはJavaScript自体はシングルスレッドということ
まずJavaScript(≒ECMAScript)自体にスレッドを扱う機能はない。
setTimeoutやXMLHttpRequest とかはブラウザが提供する機能であり、
その内部ではスレッドが使えるし、使っている。
そしてこれらの機能からイベントと言う形で処理の状況を知ることができる。
イベントは通常コールバックを使うことで知ることができるが、
Promiseっていうのはコールバックの一部である「処理が終了したというイベント」を
容易に扱えるようにしたもの。
終了したと言うイベントというのは「setTimeoutで指定した時間が過ぎた」とか
XMLHttpRequestであれば「HTTPリクエストが完了した」とかいうイベント。
なので、HTTPリクエストが10%完了、20%完了という進捗状況をPromiseで知ることは出来ない。
0195デフォルトの名無しさん
2016/09/03(土) 10:58:35.97ID:EZVA2rF2JavaScriptでスレッドを使うものとざっくり言われているが、
正確に言えば、JavaScriptではスレッドが使えないのは変わらずで、
ブラウザが新たなスレッドを作って、そのスレッドの環境内で
新たなJavaScriptを実行するというのが正しい。
WebWorkerの作り方なんてこんなんだしねw
> var myWorker = new Worker("worker.js");
他の言語のスレッドの作り方を知ってると、
JavaScriptファイルを指定するとか、なんじゃこりゃ?って思うよw
そして、メインのJavaScriptと、Workerで作ったスレッドとは
postMessageを使って通信することができる。
メッセージの内容は自由だから、どんなやり取りでもできる。
0196デフォルトの名無しさん
2016/09/03(土) 11:03:08.37ID:EZVA2rF2> Promiseは未使用なので、VS2015の実装状況を確認してから試してみます。
Promiseは別にVS2015で実装されてるかどうかを考える必要はないよ。
動かすブラウザがPromiseの機能を持っているかどうかだから。
そしてPromiseは純粋なJavaScriptの範囲で実装できるのでJavaScriptライブラリが存在する。
jQueryライブラリ導入のようにPromiseライブラリ導入すればよい。
そももブラウザが持ってるPromiseの機能は最低限のものなので
それを拡張して便利なメソッドを追加したbluebirdが使われることも多い。
http://bluebirdjs.com/docs/getting-started.html
0197デフォルトの名無しさん
2016/09/03(土) 11:04:45.06ID:EZVA2rF2で、ここまで説明したんだが、
> WebWorkerはタイマーの稼働・停止の一連の処理を処理内部でまとめているのに対して
> Promiseは非同期処理群の処理中ならば
> タイマーの稼働・停止を別の処理で対応出来るかと思っていました。
それはこれが意味不明だからなんだわw
そもそもの前提知識がずれてるよって話。
0198デフォルトの名無しさん
2016/09/03(土) 11:16:01.65ID:EZVA2rF2ある処理をする関数があったとして「その処理をWebWorkerを使って実行する。」
というのは文章として成り立ってる。
だけど「その処理をPromiseを使って実行する。っていうのは文章としておかしい。
Promiseっていうのは単に終了イベントを知るためのものだから。
ある処理をする関数があったとして、その関数はPromiseオブジェクトを返す。
その処理の終了はPromiseの仕組みで知ることができる。
というのであれば文章として問題ない。
従来は処理の終了をコールバックを使って判断していた。
0199193
2016/09/03(土) 11:20:58.37ID:e3VOV86p説明ありがとうございます。
WebWorkerは自分で書いてみた事が有ります。 入門書片手ですが。
入門書でメッセージの構成が明確でなかったので、苦労しました。
Promiseの動作確認は、現在有るWebWorkerの処理の塗り替えでやってみます。
ありがとうございました。
0200デフォルトの名無しさん
2016/09/03(土) 11:35:38.80ID:EZVA2rF2そこがなんかずれてるんだよねw
PromiseかWebWorkerか じゃないんだよw
スレッドを使う方法としては、2通りの方法があって、
WebWorkerを使うか、WebWorkerを使わないか。
WebWorkerを使わないでスレッドを使うっていうのは、
WebWorker以外のブラウザの機能、つまりsetTimeoutやXMLHttpRequestが
内部で使ってるスレッドを使うって意味ね。
で、これらとPromiseは全く別の概念。Promiseは処理の終了処理を
コールバックよりも容易に判定したいだけ。
だから、XMLHttpRequest + Promise (Fetch APIがまさにこれ)や
WebWorker + Promiseという組み合わせで使うんだよ。
WebWorkerからは通常postMessageを使って処理をやり取りするんだけど、
その部分(new Worker部分まで含めて)を関数やクラスでラッピングしてPromiseを返すことで
「内部で別スレッドを使って非同期で処理してその結果をPromiseで知ることができる」
と言うものを作ることができる。
>>188
Promiseがどうの、誰かどうの、じゃ無くて。
中身が違えば動作が同じでも別物である、の着眼点の違いがわかったわ。
ブラックボックスを許さないし、違うのであれば、その違う部分が同じ動きをする保証が必要である、それは、「ほぼ同じ」では無意味で「完璧に全く同じ」と保証されないといけない、
故に完璧に同じだと保証する工数が無駄なので、ポリフィルは使わない。ポリフィルのバージョンアップに追従する価値は余計にない、
だな。
要はその程度の開発だってことだろ、Webってのは(笑)
イベントドリブンに最初からしておけば、Promiseなんか要らんのだけどな。
何を発火させて何をリッスンするかの違いに落ち着くんだけど。
0203デフォルトの名無しさん
2016/09/03(土) 12:18:31.50ID:EZVA2rF2> イベントドリブンに最初からしておけば、Promiseなんか要らんのだけどな。
実現できるか? 実現できないか?
だけで判断するのは未熟な証拠。
Promiseはコールバックでもできることを別の形で実現したもの。
必須か必須でないかの話をするならば、最初から必須ではない。
Promiseは可読性とメンテナンス性を上げるための道具なんだから。
だからお前がしたり顔で「要らんのだけどな」って言ったところで
俺は最初からそれは知ってるとしか言いようがない。
無くてもできると言うのを踏まえた上でみんな話をしてるのに、
あんたはその話をする最低ラインに到達していない。
0204デフォルトの名無しさん
2016/09/03(土) 12:20:20.05ID:EZVA2rF2> ブラックボックスを許さないし、違うのであれば、その違う部分が同じ動きをする保証が必要である、それは、「ほぼ同じ」では無意味で「完璧に全く同じ」と保証されないといけない、
じゃあ、お前、IEとChromeとFirefoxは
ブラックボックスで、同じ動きをするという保証もないけど、
どうすんの?
OSの違いもあるし、今はAndroidで機種ごとに
微妙に動き違うんだけど?
お前、そんなんで仕事できるの?
「俺はIEでしか仕事できません!」じゃ
仕事にならなんからねw
0205デフォルトの名無しさん
2016/09/03(土) 12:22:20.80ID:EZVA2rF2Webは多くのブラウザやOSに対応するのが絶対条件なんだが、
何を持って「Webはその程度」って言ってるの?
顧客の条件が、多くのブラウザやOSといった
ブラックボックスの環境に対応することなんだけど?
お前は「その程度」のことも出来ないの?
俺も知ってるから使わんのだよ。
それが読み取れない時点でお前がついてこれてなくない?
IEもFireFoxもChromeも全然ブラックボックスじゃないじゃんw
お前がなんのソースも読んだことなければ、MSと保守契約結んだこともなさすぎて笑えるわ。
iOSのバージョンやAndroidごとに動き違うね。だから、社用には決まった機種を使うんだよ。
そんなんで仕事できるよ。
>>205
お前のレベルをもって、その程度、って言ってるんだよ。
0209デフォルトの名無しさん
2016/09/03(土) 13:57:18.18ID:EZVA2rF2へ? IEのソースコード公開されてないよ?
保守契約結んでもIEのソースは公開されない。
つーかソースコード開示する契約があるとしたら
それは保守契約じゃないしwww
> iOSのバージョンやAndroidごとに動き違うね。だから、社用には決まった機種を使うんだよ。
それはお前が決められることじゃない。
客が決めること。
客が世の中で使われているスマホの9割に対応するって言ったら
それに対応しないといけないんだよ。
で、どうするの? お前は出来ないの?w
0210デフォルトの名無しさん
2016/09/03(土) 13:57:46.31ID:EZVA2rF20211デフォルトの名無しさん
2016/09/03(土) 13:59:56.35ID:EZVA2rF2babel自体もオープンソースなので、全然ブラックボックスではありませんね
ブラックボックスってどこから出てきたのでしょうか?w
結んでから言ってねw
後半。
違うよ。要件定義ってそうじゃない。
対応してほしいなら、どの機種のどれに対応して欲しいか明確じゃないと。
保証できない事を約束できないっしょ。
お前、マとしての実務以前に、要件定義すらしたことないの?
9割って、一体何だ?w
お前は本当に馬鹿だな。
それはブラックボックスとは関係なく、中間層の話だろ。
議題が変わると混乱するタイプの話かな。
0214デフォルトの名無しさん
2016/09/03(土) 14:13:08.29ID:EZVA2rF2> 対応してほしいなら、どの機種のどれに対応して欲しいか明確じゃないと。
普通は、IE9以上、Edge、Chrome、Firefoxとかだな。
Edge、Chrome、Firefoxに関しては短期間でバージョンアップするので
固定するようなことはしないし、できない。
一例をあげるとこれぐらいの頻度で更新されてる。1ヶ月に1回だな。
https://ja.wikipedia.org/wiki/Google_Chrome
48.0.2564 2016-01-20
49.0.2623 2016-03-02
50.0.2661 2016-04-13
51.0.2704 2016-05-25
52.0.2743 2016-06-02
53.0 2016-06-02
> 保証できない事を約束できないっしょ。
> お前、マとしての実務以前に、要件定義すらしたことないの?
保証できないことは約束しない。当たり前のことなんだが?
お前開発したときよりも1ヶ月あとにリリースされるバージョンで動作するかどうやって保証するんだ?
なんでもかんでも保証するなよ。保証しませんの一言でおしまいだろ。
> 9割って、一体何だ?w
は? 世の中に存在するスマホの機種の9割に対応するってことだけど?
OSで言えば、iOS8以上 + Android 4.0以上とか。
これ実際に仕事で大手企業から言われた条件な。
お前、スマホ対応とかの仕事できないだろw
0215デフォルトの名無しさん
2016/09/03(土) 14:14:40.62ID:EZVA2rF2> それはブラックボックスとは関係なく、中間層の話だろ。
ブラックボックスって言い出したのはお前だろ?w
お前の言うブラックボックスはどこなんだって話。
babelはブラックボックスではないと確定しました。
はい、で?お前は何がブラックボックスだって?
0216デフォルトの名無しさん
2016/09/03(土) 14:24:14.31ID:EZVA2rF2こっちは恥ずかしくてスルーするんだろうなw
普通とか別に要らないよw
Edgeに関しては撒くKBでコントロールできる、
FireFoxはLTS
ChromeはChronium
で固定できるし、してるよ。
その後の保証が要るなら保守契約結んでもらうだけじゃん?
こっちが保証するのは、要件定義どおりに決めた結果でしかないし、検収印もらったらそれで良い話。
世の中に存在するスマホを全部列挙してもらわないと、その9割なんか定義できんだろ。
iOS8以上、なら俺も発注出すな。
>>215
うん、得体のしれないポリフィル、に対して言ってた。
読めば良いだけ、なら、そんな工数無駄なので、作れば良いだけ。
お前はなんのソースも読まずに、これで大丈夫だ!なぜならこれが最新のもので、オープンソースのグループによって更新されてるから、って態度なんだけど。
0218デフォルトの名無しさん
2016/09/03(土) 14:26:14.91ID:bZbzbaoD制御系をやらせてみたいなwww
ソースコード見ると言うよりも、
動かん、スペックシート送れって言ってみ?
無駄の多いMSDNみたいなクソみたいなの送ってくるから。
それでもおかしいとなると、人間よこせ、確認しろって言って、
確認後KB作ってくれるよ。
.net 2.0になりたての頃よく呼んだ。
いずれにせよ、ソースを見ずに、中身は理解できるし、おかしければ治る。
まぁ、そんなことした事ないんだろうけど(笑)
0220デフォルトの名無しさん
2016/09/03(土) 14:36:29.05ID:EZVA2rF2俺をどうやってKBでコントロールする気だ?w
ウェブの世界っていうのは世界中の人間を相手にしてる。
コントールするのは不可能という大前提がある。
この大前提は、お前の一存で決めることは不可能な絶対条件。
お前にはこの世界の仕事は無理だよw
> その後の保証が要るなら保守契約結んでもらうだけじゃん?
> こっちが保証するのは、要件定義どおりに決めた結果でしかないし、検収印もらったらそれで良い話。
だからbabel使って変換したソースコードが、こっちが保証しているブラウザで
動けばそれでおしまいってだけなんだが?お前が言っていることの範囲内だろ。
当たり前だがbabelはソースコードを変換するだけで納品物は変換されたソースコードだ。
だからbabelが勝手にバージョンアップすることはない。babelが原因で動かなくなることはない。
> 世の中に存在するスマホを全部列挙してもらわないと、その9割なんか定義できんだろ。
Andorid 4.0以上のスマホという条件があれば、全部列挙することはできるだろw
その作業をどちらがやるかは客と相談して決めること。
> うん、得体のしれないポリフィル、に対して言ってた。
ポリフィルはすべてソースコード公開されてるから
ブラックボックスじゃないなwwww
で、ブラックボックスって何の話?w
0221デフォルトの名無しさん
2016/09/03(土) 14:37:53.45ID:EZVA2rF2> 面白いのが居るね。
> 制御系をやらせてみたいなwww
制御系は特許の塊だから、ブラックボックスのまま
使う必要があるだろうね。
ブラックボックスだから保証できません!
だからブラックボックスの環境では仕事できません!
じゃだめなんだよね。
ブラックボックスがあるという前提で
どこまで保証できるか?できないかを
はっきりさせるのが仕事。
死屍累々だぞこの調子だと。
でも未だに業界的に変なの動いてるからな。
俺もCバスはそろそろ捨ててほしいと思うが、思うだけであって実際問題は金かかるからな。リプレイス待ち案件。
そういうのを見た上で、それでも、彼は最新のコードを使えば大丈夫だと思っているに違いないよ。
>>220
うん、だから、イントラの話しであって、Webの話じゃないじゃん。
で、その上で、お前の開発への考え方聞いて、Webってそんなもんなんだな()って言ってんの。理解できる?
ブラックボックスじゃない、は読んだあとわかるんだよね。それまでは依然としてブラックボックスだよ。
読む工数は誰かくれんの?
0223デフォルトの名無しさん
2016/09/03(土) 14:39:52.29ID:EZVA2rF2> 確認後KB作ってくれるよ。
いや、KB作って終わりじゃないだろ・・・・
ウェブの世界では多くの人と環境を相手してる。
という変えられない絶対条件があるんだよ。
その条件で仕事しないといけないの。
KBあればばっちりだ!じゃない。それを世界中の人に使わせないことには
お前のやり方じゃ仕事できんだろ。つまりそのやり方は破綻してるんだよ。
0224デフォルトの名無しさん
2016/09/03(土) 14:42:29.94ID:EZVA2rF2> うん、だから、イントラの話しであって、Webの話じゃないじゃん。
だからお前は「ウェブ程度」のことができないって結論なの。
一度世界中の人と環境を相手に仕事してごらん?w
> ブラックボックスじゃない、は読んだあとわかるんだよね。それまでは依然としてブラックボックスだよ。
> 読む工数は誰かくれんの?
何を読む工数?
ChromeやFirefoxはブラックボックじゃなくて
お前はそれを読んでるんだろ?
その工数を誰かがくれたんだろ?
マッチポンプかw
ブラックボックスは駄目だ!ソースコード読まなきゃ!
→ ソースコード読む工数は誰がくれるんだ!
じゃあブラックボックスでやれよw
9割、が要件じゃないような。
納品はバベったコード、で、改修させてえらい工数見積もられたことあるな。
即切ったわ。
>>221
NDAさんはどこ行くんだよ。
Web程度、って言うほどの事でもないような。
Web屋には一目置いてるけど、結局こういう精神性なのか、と残念に思ってる所だけど。
世界中の人は相手にしてるよ。割と。
FireFoxとchromeは読んでるよ。いわば環境じゃん。
0227デフォルトの名無しさん
2016/09/03(土) 14:46:43.87ID:EZVA2rF2> 客と相談して決める事なら、決めた結果が要件定義に反映する内容であって、
はぁ。いっつもこいつそうだよ。
俺が以下の文脈で「相談」って言ったら、
> Andorid 4.0以上のスマホという条件があれば、全部列挙することはできるだろw
> その作業をどちらがやるかは客と相談して決めること。
その「相談」だけを抜き出して、別の意味で使うんだよ。
卑怯だよねw
> 客と相談して決める事なら、決めた結果が要件定義に反映する内容であって、
> 9割、が要件じゃないような。
9割は客が決めた要件。相談して決めていない。俺が言って「相談」とはAndoroid4.0以上のスマホの列挙作業を誰がやるかだ。
0228デフォルトの名無しさん
2016/09/03(土) 14:48:21.76ID:EZVA2rF2> FireFoxとchromeは読んでるよ
その工数は誰が出してると思ってるんだ?
じゃあ、FirefoxでPromiseを定義している
ソースコードはどれだい?みたいな質問に
答えられるはずだよな。
一応証拠として聞いておこうか?
0229デフォルトの名無しさん
2016/09/03(土) 14:48:57.81ID:EZVA2rF2その中身まで理解していなければ読んだことにはならない。
ブラックボックスのまま、ってどういう事かわからん。
エラッタかどうか挙動を確かめる行為すら、既に解析行為だろ。
0231デフォルトの名無しさん
2016/09/03(土) 14:50:05.16ID:EZVA2rF2> 納品はバベったコード、で、改修させてえらい工数見積もられたことあるな。
なんでだ? babelは単なるES6なんだが?
そのES6のコードをbabelで変換せずに
納品すればいいだけじゃねーかw
何の噛みつき方かわからんよ。
そりゃ業務知識だからほいほい言うわけないじゃん。
0233デフォルトの名無しさん
2016/09/03(土) 14:50:48.72ID:EZVA2rF2> 知財かどうかなんて、APIが知財かどうかすら関係するんだから、弁理士弁護士案件だろ。
> ブラックボックスのまま、ってどういう事かわからん。
そもそもお前が、ブラックボックスって話を始めたよな?
マッチポンプかwwww
0234デフォルトの名無しさん
2016/09/03(土) 14:51:38.25ID:EZVA2rF2> そりゃ業務知識だからほいほい言うわけないじゃん。
Promiseのソースコードがどれかって質問しただけで、
業務知識(?)なんか聞いてませんよw
請け先に言えw
babel変換元を納品してないが故に、うち用にも使ってる社内ライブラリがうんぬん、その当時のうんぬん、で結果そうなったんだよ。
バイナリ書かせてる時代にはよくあった話だけど、またこれかと。
お前頭おかしいだろ。
仕事で調べたことは、会社の資産な。
0238デフォルトの名無しさん
2016/09/03(土) 14:53:23.42ID:aPmwwe34> Cバス
脱線するが、君はそっち系なのか?酷く懐かしすぎる名前だが。
新商品なんて出てるのか?母艦が手に入らないと思うが。
0239デフォルトの名無しさん
2016/09/03(土) 14:53:30.60ID:EZVA2rF2> babel変換元を納品してないが故に、うち用にも使ってる社内ライブラリがうんぬん、その当時のうんぬん、で結果そうなったんだよ。
はぁ? それって実行ファイルのバイナリ(exeファイル)だけを納品して
ソースコードを納品してないという、ちゃんとした仕事をしてない所に
ありがちな話ってだけじゃねーか。
それは明らかにbabelの問題じゃねーよw
0240デフォルトの名無しさん
2016/09/03(土) 14:57:15.99ID:EZVA2rF2> 仕事で調べたことは、会社の資産な。
それは違うぞw
データベースの著作権の話でもぐぐれ。
内容が非公開情報であるとか特殊な条件が揃わない限り、
それは会社の資産にはならない。
(当然オープンソースのChromeのソースコードは非公開ではない)
80年生まれのくせにそのへん触れるか故にオッサン扱いされてるけど、
機械から人体から得体のしれない設備まで手広く通信周りやってるよ。
手に入らんから困るんよ。もう共食いも良いところだよ。
捨てないで!ってアナウンスするレベル。
0242デフォルトの名無しさん
2016/09/03(土) 14:59:04.36ID:EZVA2rF2◆SE って変化させる能力が
極端に劣ってるみたいねw
babelのせいじゃない?うん、まぁ、その会社がbabelをつかったせい、であってbabelに罪はないのは確かだよ。
だから、ネイティブでES6で書くか、古いJavaScript書くかどっちかにして、って話なんだけど。
>>240
それは著作権というか、それこそ知財の問題であって、
そうじゃなくて俺なり社内のだれなりが工数使って調べたことは、資産なの。
お前働いた事無いの?
0244デフォルトの名無しさん
2016/09/03(土) 15:01:00.03ID:EZVA2rF2え? Cバスの中身、ブラックボックスじゃなくて
全部知り尽くしてるんでしょ?
自分で作れば良いんじゃないですかねぇw
そりゃ、敢えて変化させないからな。
それで良いと思ってるよ。
誰がどの金で?
お前バカなの?
0247デフォルトの名無しさん
2016/09/03(土) 15:02:36.24ID:EZVA2rF2> だから、ネイティブでES6で書くか、古いJavaScript書くかどっちかにして、って話なんだけど。
ネイティブでES6を書くという結論でいいだろw
そして納品してから1ヶ月後にな、やっぱり古いブラウザでも動かしたいって
客に言われたらな、そんときにbabel使って変換してやれば良いんやで?
0248デフォルトの名無しさん
2016/09/03(土) 15:02:47.73ID:aPmwwe34ちなみにCバスにこだわる理由は?
まあ色々便利だとは聞いているが、保守部品なら仕方ないとして、新規商品で使う必要はない。
今時ならarduinoなりラズパイみたいな奴にに仕込んでイーサで通信する方が楽なはずだが。
0249デフォルトの名無しさん
2016/09/03(土) 15:03:41.91ID:EZVA2rF2馬鹿はお前だ。
ブラックボックスが嫌なら金がかかる。
金がかからないならばブラックボックスのままでやる
ブラックボックスのままテストをしっかりやれば
それで十分だって話をしてるんだよ。
0250デフォルトの名無しさん
2016/09/03(土) 15:05:42.57ID:EZVA2rF2否定しているだけ。
つまりお前は金がかかるからブラックボックスのままでやるんだろ?
0251デフォルトの名無しさん
2016/09/03(土) 15:07:52.79ID:EZVA2rF2変わることだってあるんだが。
同じ製品であっても、中身を変えることがある。
中身にこだわるな。中身が違っていたとしても、
テストに合格すればそれは問題ない。
え?うん、ネイティブで動くものに対してES6で書くことは全く否定してないけど、どしたの?
やっぱり古いブラウザで動かしたい、は多分断るな。
余程言われても、babelは使わずに直すと思うよ。
>>248
新商品で積極的には使わないよ。
リプレイスするなら新しい組込の仕様品あるからそっちで構築するんだけど、
2台壊れたから!とかそう言うの多い。
法改正で制度上この数値が残らないと困るからこれだけDBに残して!とか。
上的にはSIになったから単位だけ、で改修受けたのがマズったなって思ってるとのこと。
Cバスにこだわると言うより、何故か他社製旋盤に相乗りしてる、とか、いにしえの何かがあるらしいよ。自分が幼児の頃の歴史を紐解いて良いもの出てきた事無いから積極的には聞かん。
何を言うてるかわからん。
ソリューション売りしてんだよ。
0255デフォルトの名無しさん
2016/09/03(土) 15:18:04.76ID:EZVA2rF2> やっぱり古いブラウザで動かしたい、は多分断るな。
> 余程言われても、babelは使わずに直すと思うよ。
そのコスト誰がだすん?w
babel使ったら簡単に対応できる。
テストコードがあるからそのテストを通せば良い。
babelはブラックボックスではないがブラックボックスと考え
中身がどうなっても、テストが動けば良い。そうだろう?
いざとなったら中身を確認することもできる。
どうせ古いIEへの対応でIEはブラックボックス
IEとFirefoxとChromeで動きも違う。バージョンごとで動きも違う。
ホワイトボックスとして扱うことはコストの点から実質不可能。
問題はコストだよ。最新のES6を使ってコストを減らせ
babelを使えば古いブラウザに対応するコストも減らせる。
0256デフォルトの名無しさん
2016/09/03(土) 15:18:46.25ID:EZVA2rF2> 何を言うてるかわからん。
他の人に聞きたい。
> ソリューション売りしてんだよ。
↑これ何を言うてるか分かる人おる?w
0257デフォルトの名無しさん
2016/09/03(土) 15:19:58.56ID:EZVA2rF2> 金がかかるから、ブラックボックスを使わんのだよ。
じゃあ、ブラックボックスがあったら、
それに相当するものを自分で作るわけですよね?
その金誰が出すの?w
はぁ、ブラックボックスがあるという
絶対変えられない世界に生きてるって分かってないのかな?
IEやWindowsのソースコードは保守契約結んでも見れません(笑)
0258デフォルトの名無しさん
2016/09/03(土) 15:20:23.76ID:EZVA2rF2能力がないから
0259デフォルトの名無しさん
2016/09/03(土) 15:23:04.80ID:aPmwwe34なるほど何となく状況は想像がついた。回答ありがとう。
0260デフォルトの名無しさん
2016/09/03(土) 15:23:16.22ID:EZVA2rF2最新のSafari 9でもArrow functionsに対応していない。
http://caniuse.com/#feat=arrow-functions
書いてあるSafari 10はまだリリースされてません
0261デフォルトの名無しさん
2016/09/03(土) 15:25:34.19ID:EZVA2rF2このブラウザはこのES6の機能に対応している?していない?
って考えて特定のブラウザのために使うのをやめるよりも
babel使ってES6の機能はどのブラウザでも使える。
ただし一部完璧じゃないものがある。
って考える方がはるかにコストが低いんだわ。
Android 4.0以上という要件だと、それらの
ブラウザを全部集めないとテストできないからね。
ようわからんな。
対応はできてもテストの金がかかる事は否定しないとか。
メンツの勝負になってない?
そういうメンツの勝負であれば、お前の勝ちで良いけど。
ホワイトボックスとして扱う事はコスト上不可能、ってそれくらいのコストしかかけない製品作んないから良いんだよ。
変な言い方で、敢えて語弊のある言い方すると、
高いほう、全て内製が良いとすら言われる製品だからお前がいってる製品とは多分だいぶ違うので、その辺の予算とは乖離あると思うわ。
ただその金の根拠は必要だけど。
内製良いよ。ライブラリに左右されんから。
コンパイラと処理系自体すら昔は作ってたしな。
そろそろまた元号でテキトーにやってる会社は死に目見るだろうし。
0263デフォルトの名無しさん
2016/09/03(土) 15:53:21.77ID:EZVA2rF2> 対応はできてもテストの金がかかる事は否定しないとか。
そこはbabelと関係ないからだよ。
babelを使っても使わなくてもテストはしないといけないだろ。
テスト内容自体は同じ。
0264デフォルトの名無しさん
2016/09/03(土) 15:53:47.63ID:EZVA2rF2> 内製良いよ。ライブラリに左右されんから。
そのコストは誰が出すと思ってるんだ?w
え?うん。
なら、最初から使わずに書けばいいんでは?って話だけど。
>>264
客。
あのさあ、何が言いたいの?
babelは完璧なES6で、AltJSとは一線を画す物だ、とエヴァンジェリスト気取りたいなら、それでいいよ。
もうその話題には触れん。
何が自分の苛立ちの原点なの?否定されたところ?正しいと思ってるところが理解されないところ?
0266デフォルトの名無しさん
2016/09/03(土) 15:58:34.24ID:EZVA2rF2> なら、最初から使わずに書けばいいんでは?って話だけど。
図式化しないと理解できんのかな?w
[ 開発 ] + [ テスト ]
テストは同じ。開発はbabelを使ったほうが簡単になる。
0267デフォルトの名無しさん
2016/09/03(土) 15:59:48.40ID:EZVA2rF2> babelは完璧なES6で、AltJSとは一線を画す物だ、とエヴァンジェリスト気取りたいなら、それでいいよ。
だからbabelはトランスパイラ。言語はES6(JavaScript)
AltJSとはJavaScriptではない言語のことなんだから
その言葉自体が間違ってんの。
0268デフォルトの名無しさん
2016/09/03(土) 16:00:56.87ID:EZVA2rF2なに? コストは客が払うだって!
ならbabel使ってもコストは客に払わせばいいじゃないかw
もっともbable使ったほうがコストは下がるけどな。
0269デフォルトの名無しさん
2016/09/03(土) 16:04:48.79ID:EZVA2rF2先に反論しておくと、最新版Safariも完全対応してないw
ブラウザごとにコードを変えるっていうのはコストがかかる。
どうせ客がコストを払うから知ったことじゃないっていうんだろうけどさw
ブラウザがバージョンも含めればたくさんあって
ウェブの世界では特定のブラウザとバージョンを指定できないのだから
使用されているほぼ全てに対応しないといけない。
それごとにコードを変えるなんてやってられないので、
babelを使う。babelを使うとそれぞれのブラウザの差が減る。
そのため単一のコードで多くのブラウザに対応できるのでコストも減る。
どうせコストは客が払うから、いくらかかっても
知ったことじゃないって考えの人にはわからないかw
0270デフォルトの名無しさん
2016/09/03(土) 16:16:36.11ID:EZVA2rF2お前、頭の固いおっさんに育ってしまったな
リアルで誰も言ってくれないだろうから俺が言ってあげるよ。
お前は子供の頃誰もが、ああはなりたくないと思ってる
頭の固いただのおっさん。
変化することをやめ、挑戦することをやめ、
現状維持。これ以上何もしたくない。
そういう、頭の固いおっさん。
変化させない事と、変化させる事、ひいては、運用する事、改善する事は全部ひとつながりだけど、全部それぞれが違うよ。
何かを変化させない事が別の何かを変化させることだったり、何かを変化させて何かを変化させない事もあるし、
そんな革新、革新!と騒いでも、何が革新か自体よくわからなくなるよ、そのうち。
今まであった物に、新しい名前をつけると割としっくりくるようなもんと同じ。今俺が何ヤジってるかはわかると思うけど。
0272デフォルトの名無しさん
2016/09/03(土) 16:35:14.63ID:EZVA2rF2また関係ない話をしだしたぞw
お前と話をしてると話がまとまらないって
よく言われるだろwww
0273デフォルトの名無しさん
2016/09/03(土) 16:36:40.92ID:EZVA2rF2変える能力がないってこと。
個人の能力だよ。
あ、だから変えるのは研究所とかがやってくれることで
俺には関係ないって発想につながってるのかwww
それは処理系作ってた人間が一番わかってんだけどなぁ。
同じ正しいCのソースでも何でコンパイルするかで割と意味が違ったり、そのチューニング、このコンパイラだと無意味だからオプティマイザにまかせましょ、みたいな話に近い。
そのうち、C++が出来て、でもまだCへのトランスパイラで、そのうち、STLだ、いや、これは標準になったんだ、って無駄なやりとりがあった時代を知らんのだろうな。俺もリアルタイムじゃないけど。
■ このスレッドは過去ログ倉庫に格納されています