1 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:21:23.08 ID:zn5a5dIZd.net] JavaScript を自ら学ぶ人のための質問スレッドです。 >>2-6 のテンプレを読んだ上で質問してください。次スレは>>950 が>>2 のテンプレ案(本スレで改善案があれば考慮)を元に立ててください ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2 の質問テンプレートを活用してみてください。 (9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。 (10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。 ※前スレ + JavaScript の質問用スレッド vol.121 + echo.2ch.net/test/read.cgi/tech/1468158373/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:22:19.52 ID:zn5a5dIZd.net] ■質問テンプレート 【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4) 【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。 【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用) 【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。 【サンプルコード】現象を再現可能な最小限のコードを書いてください。 1レスに収まらないならコード投稿サイトを利用してください。 jsdo.it/ jsbin.com/ jsfiddle.net/ ideone.com/ ■前スレ + JavaScript の質問用スレッド vol.120 + [無断転載禁止]c2ch.net echo.2ch.net/test/read.cgi/tech/1463914293/ ■過去スレ全集 www2.atpages.jp/mirror/2ch/javascript/ usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ) ■テンプレ案 https://fiddle.jshell.net/6018r9tu/1/show/light/ ■関連スレ JavaScript ライブラリ総合質問所 vol.5 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/hp/1465399470/ JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]c2ch.net echo.2ch.net/test/read.cgi/hp/1465566635/ 【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]c2ch.net echo.2ch.net/test/read.cgi/tech/1460359714/ (X)HTML/CSS の質問に優しく答えるスレ23 [無断転載禁止]c2ch.net echo.2ch.net/test/read.cgi/hp/1467511443/ Canvasについて語ろう peace.2ch.net/test/read.cgi/hp/1305093769/
3 名前: ◆Pj4prouD92 (スププ Sdb8-LFRZ) mailto:sage [2016/08/29(月) 08:24:24.04 ID:zn5a5dIZd.net] ■FAQ fiddle.jshell.net/vSqKr/44/show/light/ ◆開発者ツール(Developer Tools)の基本的な使い方 (全部はfiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools ) ▼諸注意 - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。 - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません) - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。 https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html ▼要素を検証 1. ページ上で右クリックして [要素を検証] 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す) 3. 右側のサイドバーから知りたいステータス名のタブを選択する - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される) - [Computed] タブ … CSSプロパティの算出値を表示(
4 名前: ◆SEdFBOkLSw (スププ Sdb8-LFRZ) [2016/08/29(月) 08:25:42.49 ID:zn5a5dIZd.net] ■FAQ(続き) ◆JavaScriptの実行速度 JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。 速度の疑問解消の為に jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。 例外として、仕様における理論上の速度が明確になっている場合があります。 例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。 ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。 ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。 ■各種仕様 ( fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 ) ◆ Standard ECMA-262 bclary.com/2004/11/07/ (ECMAScript 3 HTML版) www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳) www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版) tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳) www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015) kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table) kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table) ◆ HTML Standard (HTML5) www.whatwg.org/specs/web-apps/current-work/multipage/ momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳) www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
5 名前: ◆Pj4prouD92 (スププ Sdb8-LFRZ) mailto:sage [2016/08/29(月) 08:26:07.58 ID:zn5a5dIZd.net] ■FAQ fiddle.jshell.net/vSqKr/44/show/light/ ◆開発者ツール(Developer Tools)の基本的な使い方 (全部はfiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools ) ▼諸注意 - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。 - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません) - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。 https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html ▼要素を検証 1. ページ上で右クリックして [要素を検証] 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す) 3. 右側のサイドバーから知りたいステータス名のタブを選択する - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される) - [Computed] タブ … CSSプロパティの算出値を表示(
6 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:28:22.86 ID:zn5a5dIZd.net] ■各種仕様 (続き) ◆ Document Object Model (DOM) / CSS Object Model (CSSOM) www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳) www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events) www.w3.org/TR/uievents/ (UI Events) www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳) www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳) ◆ その他のWeb関連仕様 domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等) www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳) www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳) www.whatwg.org/specs/ (WHATWGの仕様一覧) ◆ MDN (Netscape/Mozilla) https://developer.mozilla.org/ja/docs ◆ MSDN Library https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API) msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript) msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript) msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML) ◆ JavaScript Garden (ja) bonsaiden.github.com/JavaScript-Garden/ja/ ◆ JSON (JavaScript Object Notation) www.json.org/json-ja.html
7 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:28:57.37 ID:zn5a5dIZd.net] ■各種仕様 (続き) ◆ Document Object Model (DOM) / CSS Object Model (CSSOM) www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳) www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events) www.w3.org/TR/uievents/ (UI Events) www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳) www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳) ◆ その他のWeb関連仕様 domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等) www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳) www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳) www.whatwg.org/specs/ (WHATWGの仕様一覧) ◆ MDN (Netscape/Mozilla) https://developer.mozilla.org/ja/docs ◆ MSDN Library https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API) msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript) msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript) msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML) ◆ JavaScript Garden (ja) bonsaiden.github.com/JavaScript-Garden/ja/ ◆ JSON (JavaScript Object Notation) www.json.org/json-ja.html
8 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:29:18.16 ID:zn5a5dIZd.net] ■諸注意 vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問はvol.116から禁止されました。 vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。 本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを推奨します。 ライブラリの質問はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。 -----ここまでテンプレ-----
9 名前:デフォルトの名無しさん (ワッチョイ 2aa7-gQqU) mailto:sage [2016/08/29(月) 12:07:07.79 ID:uRu8v7uy0.net] 取りあえず一乙だけどレスポンチは他所でやってほしい
10 名前: ◆SEdFBOkLSw (スプッッ Sdc8-t1qj) mailto:sage [2016/08/29(月) 12:12:04.30 ID:v+VBJ2wid.net] >>9 うん、それはマジですまんかった。 新しいスレ立ててもらえたようだし、ワッチョイもやってみたし、迷惑掛けた分多少なりとも貢献させてくれ。
11 名前:デフォルトの名無しさん (ワッチョイ 7f5b-gQqU) mailto:sage [2016/08/30(火) 19:50:02.89 ID:XVRDpTr20.net] 一乙ワッチョイ乙。 個人的にはやりたいことをやればいいと思うから、 「スレを乗っ取る」のではなく、「新しいスレを立てて何かやる」のはいいと思うよ。 今回はその新しいスレが「質問スレ」と銘打っているから駄目だと思うけど。 仕様について語りたい人が多いのなら、「仕様スレ」を立てればいいんだよ。 人を集めるのが面倒だからといって、既存スレを乗っ取るのは駄目だよ。 結果的に「質問スレ」「仕様スレ」と並立した状態で、質問スレが過疎って落ちるのなら、 それは不要という意味だから、その時統合すればいいだけ。 それ以前に無理矢理方針変更するのは、ただの乗っ取りでしかない。 質問スレは単独で十分流れているわけだし。 前回何故か「仕様スレ」が放置されて落ちたでしょ。 それも含めて単独で「仕様スレ」が存在出来ないと考えて「質問スレ」としたのなら姑息だよ。 単独で存在出来ないのならそれは需要がないということでしかない。 それでも需要を掘り起こしたいのなら、ぬしって保守していくしかない。 自分では何もする気がなくて、他人が作り上げた物を横取りすることしか考えないのは、ただのクズだよ。 実際、君らには「仕様スレ」が必要なのだろう? だったら姑息なことをせずに正面から「仕様スレ」立てて勝負すれば良かっただけの話だよ。 それが落ちたらそれまでの話でね。別に殺されるわけでもなし。 というのが今回の顛末で思ったことだね。 はい、では次の質問どうぞ。
12 名前: ◆SEdFBOkLSw (アウアウ Sa45-t1qj) mailto:sage [2016/08/31(水) 02:07:12.14 ID:hBi44Zvna.net] >>11 いや、俺にそこまでの強い意図があったわけでは無いんだ。 質問スレで、間違ってる答えってのはその中で訂正、再発言されて然るべきだと思って、おかしいんじゃねえの? って言ったのを、良くわからん理屈で訂正どころか、 間違いに間違いを重ねるから。 訂正してほしかっただけよ。後続の人のために。 売り言葉に買い言葉になっているだけで仕様を語りたいわけでは(俺は)無くて、間違ってなければそれで良いよ。どんな話してても。
13 名前:デフォルトの名無しさん (ワッチョイ 7dce-gQqU) mailto:sage [2016/08/31(水) 03:17:11.25 ID:Z+fjIbnf0.net] 訂正してほしかったじゃなくて、お前が訂正するんだよ。 正しい情報をちゃんとしたソース込みで。 相手はちゃんとソース出しているんだから、 お前がそれよりも信頼できるソースを出せない以上、 相手が正しいで終わりだろ。
14 名前: ◆SEdFBOkLSw (アウアウ Sa45-t1qj) mailto:sage [2016/08/31(水) 07:41:52.69 ID:VVMtMJPza.net] >>13 平行線だろ。 こっちが、ソースやら考え方を話しても聞かないんだから。 だから説得は諦めた。
15 名前:デフォルトの名無しさん (ワッチョイ 27b1-CT9T) mailto:sage [2016/08/31(水) 07:49:31.73 ID:xPKmFyyb0.net] 以下の言語がいいよって言われたんですが聞き取り間違えたのか検索しても出てきませんでした。 ホトリン 正確な言語名を教えて欲しいです。
16 名前:デフォルトの名無しさん (ワッチョイ 11a1-qQHP) mailto:sage [2016/08/31(水) 20:30:25.87 ID:VPZCfIA10.net] kotlinじゃないかな 間違ってたらすまん
17 名前:デフォルトの名無しさん (ワッチョイ 75ce-gQqU) mailto:sage [2016/08/31(水) 23:30:36.59 ID:mxX4GOAr0.net] ポワトリン 年齢がわかる
18 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/01(木) 01:07:46.75 ID:vX3kyOFIr.net] ここが比較的まともだな
19 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/01(木) 07:30:55.95 ID:x5Fi8ahca.net] ガンは切らないとね。
20 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/01(木) 08:21:27.50 ID:bs0MIC6Pr.net] >>19 だったら、向こうのスレでレスするのを止めなよ
21 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/01(木) 11:17:03.88 ID:4NaaelJAd.net] >>20 あっちが閑古鳥鳴いたら来ちゃうじゃん。
22 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/01(木) 13:36:19.91 ID:Z7/OzEHdr.net] >>21 構わなければあの話題に関しては自然消滅するでしょ あっちが本スレだと勘違いする人も出てくるだろうし、スルーが一番
23 名前:デフォルトの名無しさん (ワッチョイ 17c9-wh/5) mailto:sage [2016/09/01(木) 18:09:09.45 ID:yAfRysov0.net] promiseのチェーンをn個動的につなげたいときはどうしたらいいの?
24 名前:デフォルトの名無しさん (ワッチョイ 17c9-wh/5) [2016/09/01(木) 18:17:54.49 ID:yAfRysov0.net] a().then(b).then(c).then(d); これをこう書き function run(a){ return a[0]().then(a[1]).then(a[2]).then(a[3]); } a[] を4個固定じゃなくてn個にしたい
25 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/01(木) 18:44:11.05 ID:P+2ORA+3r.net] >>24 Promise.all の事?
26 名前:デフォルトの名無しさん (ワッチョイ 17c9-wh/5) mailto:sage [2016/09/01(木) 19:14:13.95 ID:yAfRysov0.net] >>25 allじゃない。 thenの方。
27 名前:デフォルトの名無しさん (ワッチョイ efce-wh/5) mailto:sage [2016/09/01(木) 20:03:48.39 ID:EP8ZkXWM0.net] >>23-24 PromiseはECMAScriptの範囲なので + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1472401404/ こっちのほうがふさわしい。
28 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/01(木) 21:56:03.01 ID:x5Fi8ahca.net] >>24 var f=function (a){ var y=a.shift(); if(y) y().then(function(){f(a)}) } で全部いけるんでないの?
29 名前:デフォルトの名無しさん (アウアウ Sacf-vSVO) mailto:sage [2016/09/01(木) 22:40:36.60 ID:ZxoQ7kpta.net] >>26 処理の連続性は保証されるはずだが、Promise.all では要件を満たせないのだな? 並列処理がNGなら下記URLを参考に azu.github.io/promises-book/#promise-sequence
30 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/01(木) 22:41:37.26 ID:scPPFiSF0.net] >>26 こっちに答えがあったよ。 echo.2ch.net/test/read.cgi/tech/1472401404/130
31 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/01(木) 22:59:22.58 ID:+SVnGf+J0.net] >>28 前から思ってるんだけど、何でお前らそんな奇妙なコードを書くの? そういう可変長ループはwhileが鉄板で、>>24 はそれを知らないだけだろ? 関数型()でインミュータブル()なら、shift使っちゃ駄目だと思うし。(俺は詳しくないが) そのコード自体は自前Promiseとしてarrayを持ち、途中で挿入も出来るから、 そういった用途には面白いと思うよ。 ただ、普通は>>24 に対してそれはない。 というか、お前らどこで習った?或いは誰を参考にしてそのコードを書いてる? >>24 while使って書いてみ? 正直、書くのは手間ではないのだけど、コードクレクレ君が集まるのはウザイから、 今回の質問レベルならコピペで動くコードを書く気はない。 ただ、十分なヒントだと思うから、クレクレ君でなければ書けると思うが。
32 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/01(木) 23:19:49.59 ID:x5Fi8ahca.net] >>31 while使って書くって、プロミスなのに? 順序が保証できるのならそれで良いとは思うけど。 別に、shiftでも、carとcdrに相当するものでも良いよ。 どこも奇妙じゃないと思うけど。
33 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/01(木) 23:29:32.66 ID:+SVnGf+J0.net] >>32 いや俺はPromise使ったことがないからその辺詳しくはないが、 >>24 なら見た目普通に書けそうだが駄目なのか? そもそも>>24 が駄目(動かないコード)なのか?そうだったら済まんかった。 やはりcarとcdrか。 つかcar/cdrで抽象化している関数型みたいな奴って、一般的にarrayを破壊的に使うものなのか? (lispなら最近の大富豪プログラミング以前だからそうなのかもしれんが、 多分最近の関数型なら嫌われるのでは?)
34 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/01(木) 23:31:41.25 ID:scPPFiSF0.net] >>31 ◆SEdFBOkLSw は技術レベル低いくせに 口ばっかりうるさいやつですから・・・ これまでも何度となく、意味不明なこと言ってるよw
35 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/01(木) 23:46:42.27 ID:+SVnGf+J0.net] うーん、一応PromiseをMDNで確認してみたけど、書けると思うけどね。 見た目、functionで入れ子になるのが嫌で、タマネギ型オブジェクトにしてみただけだろ? まあ、俺は使ったことがないから、壮絶な勘違いをしているかもしれんが。 ちなみに>>30 は「タマネギ型」であることを説明しているわけだが、 それは>>24 見る限り本人は分かってると思うんだよ。 そうではなくて、「n個にしたい」って言ってるんだから、そこを答えないと意味無いだろ。 なんつーか、Promise知ってる俺カッケーな答えでしかないんだよ。>>30 は。
36 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/01(木) 23:52:20.69 ID:scPPFiSF0.net] n個にしたいなら、i < 10 の代わりに i < n にすればいいだけじゃんw
37 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/01(木) 23:57:35.19 ID:+SVnGf+J0.net] だからそこを説明しろってこと。Promiseの説明全くいらんよね。 というか、これを書けないレベルの人がPromiseの使用を強制されられるところが 若干JavaScriptは歪んでる。まあこれも前から思っていることだが。
38 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/02(金) 00:00:22.58 ID:gFIXdWf60.net] >>24 本人、そしてそれ以外の人は、これでわかってるよw echo.2ch.net/test/read.cgi/tech/1472401404/130 お前だけが分かってない。
39 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/02(金) 00:26:17.09 ID:nUqjDcPOa.net] >>33 まぁ、破壊されたものを次に渡してるし、参照型で渡ってるから気持ち悪いだけで、破壊せずに渡してもいいと思うよ。 多分嫌われるw >>34 本質理解してないお前よりマシだけどな。 なんだあのセンス無いやつ。 >>35 thenの中はコールバック関数で遅延評価だから、whileだと終わったかどうかわかんないと思うけど、どんなソース想定してる?
40 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/02(金) 00:40:54.92 ID:oKN/Shh+0.net] >>39 いやPromiseで書くのはあくまで処理の事前予約だよな? そこは変更不能だし、同期的に確定する。 もちろん中身の関数は実際には後に呼ばれるけど、 一般的にそれを「遅延評価」とは表現しない。 俺の想定しているコードなら、>>30 をwhileに変えただけに近い。 とりあえず君の言い分が正しいのなら、>>30 は間違いだということになるが、そうか?
41 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/02(金) 01:01:25.21 ID:nUqjDcPOa.net] >>40 あー、そういう事か。いや、間違ってない。面目ないな。 入れ替えると言うか、それごと変えるという事か。 それは再帰とどっちが良いのかは目的次第かもしれん。 俺は残り回数渡して再帰すると思うわ。setTimeoutで包んで。
42 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/02(金) 01:23:27.78 ID:oKN/Shh+0.net] >>41 >>23 が「動的に」って言っているからそこは微妙なのだけど、 まあ初心者にそこまで厳密に言っても仕方ないからね。 多分あの質問なら単純に「可変長ループ」が分からないのだと思った。 それはさておき、>>28 のコードは面白いとは思うが、 >>28 を読める奴がこの質問はないだろってこと。 Promiseなら突っ込んだ時点でそこまでの処理は確定だが、 >>28 なら途中の関数内で処理を変更出来る。 これを「動的に」と表現するのは自然ではあるが、 これを記述しようとする奴が>>24 の質問はない。(と見た)
43 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/02(金) 01:52:27.16 ID:gFIXdWf60.net] > setTimeoutで包んで。 またなぁw 余計な一言。 なんでsetTimeoutを含まなきゃならんのか。 これも何も分かってない証拠よ。 理屈はわからないけど、これやったら動いた! 正しい理解をせずに長年やったやつの末路だなw
44 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/02(金) 02:32:24.71 ID:oKN/Shh+0.net] んー、まあ俺は>>41 の使い方ならsetTimeoutで包んだ方が妥当だと思うがな。 ただし俺はC派だからそういう余計な処理は出来るだけ入れたくなくて、 俺は実際にはほぼ直接呼び出しにしているが、その分気を使わなければならなくなる。 そういう面倒なことは無しにしようってのが昨今のプログラミングスタイルだろ。 つーか、お前も若いんだと思うが、噛み付きまくるのはやめい。 setTimeoutで包むかどうかは上位のコーディングポリシーの話だから、 「常に」どっちがいいとかいうことはないし、ここで白黒つけられることでもないよ。 むしろそこに噛み付いた時点で無知だと晒しているようなもん。 まあそれでも「技術的に」やり合うのならどうぞご自由にだが。
45 名前:デフォルトの名無しさん (ワッチョイ 3fa7-wh/5) mailto:sage [2016/09/02(金) 03:01:31.89 ID:L3z5oHD70.net] ご自由にされちゃたまらんわ やり合うんだったら>>27 の隔離スレでやってくれ
46 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/02(金) 07:39:58.54 ID:HDM5TMU3a.net] >>43 よく理解して実装してるにきまってるでしょ。 自分の経験書かないでよ。
47 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 08:28:05.43 ID:ZAub+DJjr.net] >>46 いや、setTimeoutは不要でしょ 遅延処理をするわけでもないのになぜ使う必要があるのさ?
48 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 08:40:46.72 ID:Nu/77N8Pd.net] >>47 生粋のネイティブなPromiseなら、非同期になることは保証されてるけど、 どんなPromiseっぽいものかわからん現状安全側に倒すよ。 次の処理始める、ではなくて、 今もし、今回の呼び出しでキュー溜まってるならそれ終わらしてからやりたいし、 コールスタックも深くなるじゃん。
49 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 08:45:09.66 ID:ZAub+DJjr.net] >>48 非同期の逐次処理で重要なのはコールバックでしょ 非同期処理が完了したことを確認するにはコールバックするしかない seTimeoutはコールバックを楽に実装する機能がないわけで何の役にも立ってない
50 名前:デフォルトの名無しさん (ワッチョイ efa5-w0F2) [2016/09/02(金) 11:47:53.06 ID:RZSd/NSC0.net] こんにちは、初歩的な話で恐縮ですが、 textareaの入力から複数行、行頭スペース・連続スペースを含む文字列を取得したいのですがJS側で何とかすることはできませんか?
51 名前:デフォルトの名無しさん (ワッチョイ 739d-Es5g) mailto:sage [2016/09/02(金) 11:52:59.18 ID:d9/aWFQj0.net] >>50 できるよ
52 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 11:56:09.84 ID:Nu/77N8Pd.net] >>49 thenの中の話だが。 promiseのそれっぽいポリフィルだと、即時に関数呼び出しするから、 promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。 そうじゃなくて、キューイングすることで、もし何かが実行されていてもその後に実行されるじゃん。 あと、コールバックが書けない、は一番ナンセンスじゃない? 配列の最後のPromiseが、「コールバックを呼び出す」ってPromiseであれば良い。 >>50 それぞれ取りたい感じ? valueで全体は取れるけど、あとは正規表現でマッチした部分使えば良いんじゃないかな。
53 名前:デフォルトの名無しさん (ワッチョイ efa5-w0F2) [2016/09/02(金) 12:59:55.23 ID:RZSd/NSC0.net] 取得ではなく出力の時に に置換するのを忘れていたことに気づきました…… お騒がせしました……
54 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 15:53:26.83 ID:XGUTMOjhr.net] >>52 君はPromiseとsetTimeputを激しく誤解している気がしてならない > promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。 そんなことはない そもそも、非同期処理を上手く活用することを目的としているPromiseにそれが出来ないわけがないだろう やり方は既出だが、ちゃんと理解してないのではないか? > そうじゃなくて、キューイングすることで、もし何かが実行されていてもその後に実行されるじゃん。 君の言葉を借りるなら非同期処理に対してsetTimeputを適用したらsetTimeputの数だけキューが増えると思うんだが setTimeputは同期処理を非同期処理にするのに有効だが、非同期処理にsetTimeputを使っても遅延処理以上の結果は得られない > あと、コールバックが書けない、は一番ナンセンスじゃない? 「コールバックが書けない」とは誰もいってない
55 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 16:23:16.06 ID:Nu/77N8Pd.net] >>54 だからそれっぽいポリフィルだって言ってんじゃん。 日本語読めないならもう書かんほうが良いよ。 キューが増えていいんだよ。 promiseの中でsetTimeout(..,0)された物を先に動かしたいだけだから。 お前実装見ずに概念で話してない?
56 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 18:24:53.65 ID:Z6ER1HHhr.net] >>55 それはPolyfillがおかしいだけだろ おかしなPolyfillを基準にされてま困る setTimeoutは役に立たんという意見もスルーするし、お前の方こそ日本語を読め
57 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 18:33:05.77 ID:Nu/77N8Pd.net] >>56 あ、うん。 最初からそう言ってんじゃん。 まぁ、thenを持ったオブジェクトさえ返せば別にPromiseで無くともその辺誤魔化しつつ走ってくれる便利なやつなんだけどね。書いた関数。 なんでsetTimeoutするかの理解出来てないんだったら、同じようにcatch書いたときにどう例外オブジェクト飛んでくるか見たら? catchで、setTimeoutしてthrowし直すとか割と普通っしょ。 コールスタックって言ったのになぁ。
58 名前:デフォルトの名無しさん (ワッチョイ 739d-Es5g) mailto:sage [2016/09/02(金) 18:36:22.17 ID:YHEl/7lL0.net] そもそもpromiseってそんなに必要か?
59 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 18:40:34.64 ID:Z6ER1HHhr.net] >>57 Promiseが理解できていればsetTimeoutが不要なことがわかるはずなんだがな 「それっぽいPolyfill」とやらも具体例が皆無 必要なら完璧なzPolyfillを探すなり、自分でPolyfillを書くなりやれと お前さんのPolyfillらしきものがsetTimeoutなのかもしれんが、無駄が多すぎだろ
60 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 18:40:39.63 ID:Nu/77N8Pd.net] >>58 ちゃんと処理が出来るならなんでも良いよ。 俺は嫌いだからeventEmittet的なものでイベント起こす。 イベントのリスナが一つとも限らんし、発火させるやつが一つとも限らんし。 そのイベントがリエントラントでさえあれば良い。
61 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 18:41:53.96 ID:Nu/77N8Pd.net] >>59 書いたでしょ。 >>48 で。 噛みつきたいだけならお前圧倒的に理解力足らんわ。
62 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 18:44:14.81 ID:Z6ER1HHhr.net] >>58 Promiseがなくてももちろん実装できる Promiseの利点は統一されたインターフェースで非同期処理を管理できること 自分なりのコード資産があるのならPromiseを使わなくてもいい が、他人に読ませるならPromise一択だな
63 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/02(金) 18:51:50.44 ID:Z6ER1HHhr.net] >>61 >>48 のどこに「ポリフィルっぽいもの」の具体例がある? 余所様のPolyfillが使用できないなら自分で書けばいいのにな
64 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 18:57:53.41 ID:Nu/77N8Pd.net] >>62 error,resultほうが余程そして統一されてるんでは?
65 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/02(金) 18:59:39.77 ID:Nu/77N8Pd.net] >>63 逆じゃん。 生粋のものであれば、の方でPromiseの定義してるでしょ。 もちろん使うなら内製はするだろうけど、基本的にはポリフィル自体を使わんよ。
66 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/02(金) 21:24:55.46 ID:oKN/Shh+0.net] >>58 自分では使わないが、 意識高い系APIが返してくる場合はどうしようもないだろ。
67 名前:デフォルトの名無しさん (ワッチョイ f3ce-wh/5) mailto:sage [2016/09/02(金) 22:29:55.63 ID:gFIXdWf60.net] ◆SEdFBOkLSw お前はポリフィル使ったらだめだよ。 中身が違うだろ?w
68 名前:デフォルトの名無しさん (オッペケ Sr8f-vSVO) mailto:sage [2016/09/03(土) 07:07:29.63 ID:z0le1ilUr.net] >>65 > 生粋のものであれば、の方でPromiseの定義してるでしょ。 そんなことは聞いてない > promiseの中でsetTimeoutしてた場合、そいつらが走る前に、次のPromiseが走るよね。 こんなおかしなPolyfillがあるならそのPolyfillをDL出来るURLを出せ、って事だ 正直、そんなPolyfillがあるなら「Promise」と呼ぶのもおこがましいレベルだが、 実際のところは君が書いているPromiseのコードがおかしいだけでPolyfillに罪はないと思ってるよ どうせsetTimeoutをPromise化してないんだろ?
69 名前:デフォルトの名無しさん (ワッチョイ a3a1-10NS) mailto:sage [2016/09/03(土) 08:12:05.87 ID:I7zaPf2I0.net] promiseの中でsetTimeoutしたらその先まで面倒見るのは promiseの仕事じゃない気がするんだが どんなコードを前提にしてるのかさっぱり分からん
70 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/03(土) 08:26:26.61 ID:Y2U/H6HXr.net] ◆SEdFBOkLSw がPromiseを理解してないってことはわかった
71 名前:デフォルトの名無しさん (ワッチョイ e33c-10NS) mailto:sage [2016/09/03(土) 09:05:52.38 ID:KrSHBF2N0.net] >>69 Promiseの中でsetTimeoutした場合に、その先まで面倒見るかどうかは使う側の問題なのでどちらとも言えない Promise自身は内部で何をしているかに関わらず、resolveまたはrejectが呼ばれるまで次の処理に進まずに待つだけだ setTimeoutの処理を待ちたいならsetTimeoutの中でresolveを呼べばいいし、待たないならsetTimeoutの外でresolveを呼べばいい Promiseなんてちょっと賢いコールバックの仕組みでしかなく、正しく使えるかどうかは使う側の問題 まあそのちょっと賢いに慣れてしまうとわざわざ他を使おうなんて思えなくなるぐらい便利なんだがw
72 名前:デフォルトの名無しさん (ワッチョイ a3a1-RETc) mailto:sage [2016/09/03(土) 09:15:44.52 ID:I7zaPf2I0.net] >>71 ありがとう setTimeoutの中でresolveを呼んでる場合 引数を受け取らずに次が走るって状況が想像付かんのだわ
73 名前:デフォルトの名無しさん (ワッチョイ f77b-RETc) mailto:sage [2016/09/03(土) 09:29:11.12 ID:e3VOV86p0.net] 一つ教えて下さい。 Promiseで実行指定した処理群内部では タイマー関連を使えないのでしょうか? これが使えないならば、WebWorkerでも極力使わない方が良い様に思います。
74 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/03(土) 13:42:23.73 ID:WfmCkwdkd.net] 理解してない、というか理解したつもりになってる人が、 それでよいと盲信して使っているが故にこうなる見本じゃん。
75 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/03(土) 13:55:25.79 ID:40V3o/40r.net] >>74 鏡
76 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/03(土) 13:58:36.46 ID:WfmCkwdkd.net] >>75 おまえに必要なもんだな。
77 名前:デフォルトの名無しさん (ワッチョイ 0bce-wh/5) mailto:sage [2016/09/03(土) 14:22:41.73 ID:EZVA2rF20.net] ここでも◆SEは能力不足だって指摘されてるなw
78 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/03(土) 18:29:27.52 ID:fDA8i4Yzr.net] 向こうのスレでは ID:EZVA2rF2 が頑張ってるな
79 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/03(土) 18:49:19.66 ID:fDA8i4Yzr.net] >> はい、で?お前は何がブラックボックスだって? > うん、得体のしれないポリフィル、に対して言ってた。 > 読めば良いだけ、なら、そんな工数無駄なので、作れば良いだけ。 この人(◆SEdFBOkLSw )、他作製コードは全く使わんつもりなのかな このポリシーではライブラリ系が全く使えん それとも、jQueryやらReactやらは盲目的に信頼するタイプなのか 信頼の多寡をはかる指標の問題だろうが
80 名前:デフォルトの名無しさん (ワッチョイ 0bce-wh/5) mailto:sage [2016/09/03(土) 18:51:02.59 ID:EZVA2rF20.net] >>79 ブラウザはソースコードを全部読んで ライブラリは全部自分で作るらしい。 コストは全部客持ちだから何も痛くないだってさw
81 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/03(土) 19:42:03.71 ID:fDA8i4Yzr.net] >>80 > ブラウザはソースコードを全部読んで > ライブラリは全部自分で作るらしい。 わざわざブラウザのソースコードを読む理由が分からんのだが、実装依存な挙動を確認する目的? 実装依存に頼るコードは様々な対策をやりきってどうしようもないときぐらいしか出番がないわけで 定常的にはWHTWG HTMLやECMA262を読む方に時間をかけると思う (まあ、その辺の仕様書を読まないからわざわざソースコードを読みにいっているのかもしれないが)
82 名前:デフォルトの名無しさん (ワッチョイ 0bce-wh/5) mailto:sage [2016/09/03(土) 19:47:33.04 ID:EZVA2rF20.net] >>81 > わざわざブラウザのソースコードを読む理由が分からんのだが、実装依存な挙動を確認する目的? ◆SE曰く。全く同じ動作をしていて同じコードが動いてテストコードを使ってテストしていても 中身が違えば、ブラウザごとに違うテストが必要になるって思ってるらしいよw 挙動じゃなくて中身のコードが同じかどうかで考えてる。 だからES6という言語で書いたソースコードをそのまま動かす(テストにも通る)のと babelを使ってES5にして動かす(もちろんこちらもテストに通る)のとで 動きが全く一緒だけど、それはbabel用の言語(?)だって言い張ってるw
83 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/03(土) 20:24:19.03 ID:YIu9WVDua.net] >>79 全くじゃないけど、基本的には使わんなぁ。 jQueryは検証しまくったし、パッチもだいぶ出したから使うけど、それでも割と古い。 Reactは使わんねぇ。個人的にはRiotが使いたいけど。 似たようなのはあるが、仮想DOMでは無いんだよなぁ。 >>81 どっちも読んでるよ。 ブラウザ見るときは、例外として何という文言で飛んできてくるか、とか。 ログに落としてたりするから。 FireFoxはmessageにスタックトレース飛んでこないしね。 例外が起こる、とだけテストしても無意味だし。
84 名前:デフォルトの名無しさん (オッペケ Sr8f-vSVO) mailto:sage [2016/09/03(土) 20:46:37.83 ID:fDA8i4Yzr.net] >>83 仕様書を読めるならPolyfillを書けばいいのになぜ書かないんだ? いつまでも古いES用のコードにしがみつく理由が分からん そのやり方なら動作保証している最も古いブラウザに合わ
85 名前:ケたコードしか書けないだろうに setTimeoutを使ったコード例が欲しいな(setTimeoutはPromiseの代替にはならないと思ってる) [] [ここ壊れてます]
86 名前:デフォルトの名無しさん (ワッチョイ 0bce-wh/5) mailto:sage [2016/09/03(土) 20:55:50.71 ID:EZVA2rF20.net] > setTimeoutを使ったコード例が欲しいな(setTimeoutはPromiseの代替にはならないと思ってる) 当たり前。 Promiseは終わったと言うイベントを通知するだけ。 setTimeoutでいえば、setTimeout(function() {・・・}, 1000)の 「function() {・・・}」この部分の代替。 別スレッドでn秒待つとかいうことはできない。
87 名前: ◆SEdFBOkLSw (アウアウ Sacf-RETc) mailto:sage [2016/09/03(土) 21:12:28.45 ID:YIu9WVDua.net] >>84 しがみついてるわけではなくて、要件定義で絞れるならネイティブにそう書くよ。 ポリフィル使う意味もあんまないと思うわ。 それなら、ライブラリ作ったほうが余程建設的だと思う。 ライブラリ自体の実装を、どれ用、で分ける事はあるだろうけど、面は同じにしとくよ。
88 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/04(日) 12:32:50.46 ID:chJ34NF3r.net] >>86 例えば、ES3、IE8対応の自作ライブラリを永続的に使うとしよう ライブラリ依存から抜け出さないし、ES7→ES8と機能が増えていく度にES5,6,7,8を全て自作ライブラリで担当するのでライブラリの負担は増えていく 社内チームで作っていくなら自作ライブラリを更新する度に制作したあなた以外の人に教えるコストがかかる ドキュメントも作る必要があるだろうし、後に入社する新人は膨大な自作ライブラリを覚えなければならない あなたのスタンスは自分一人で作って自分一人で保守している感覚なんだよな… で、setTimeoutのコードはスルーするんだな
89 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/04(日) 12:39:09.43 ID:chJ34NF3r.net] >>82 前半3行は意味が分からんのだが、「中身」とは何を指してるんだ? > 動きが全く一緒だけど、それはbabel用の言語(?)だって言い張ってるw Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ Polyfill可能な機能は大部分を同じに出来るが、構文が異なる機能を完全に同じにするのは難しい トランスコンパイルされたコードを想定して書くのはおかしなことではないかと
90 名前:デフォルトの名無しさん (オッペケ Sr8f-RETc) mailto:sage [2016/09/04(日) 12:46:48.41 ID:chJ34NF3r.net] >>85 俺に何を説明したいのかよくわからんが、>>84 で書いたようにsetTimeoutがPromiseの代替にならないのは理解している Promiseはコールバックで非同期処理完了を検知するわけだが、Promiseを使わなくともコールバックで完了を検知するしかない だから、自作ライブラリで実装するならコールバックを管理する形になるはずでそこにsetTimeoutの出番はない 少なくとも、発端となった>>23-24 にsetTimeoutを勧める理由はないはずだ
91 名前:デフォルトの名無しさん (ワッチョイ efce-wh/5) mailto:sage [2016/09/04(日) 13:03:47.49 ID:EwnjeGwb0.net] >>88 > Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ 同じものと、不完全なものの二通りある。 ポリフィル用語では前者はshim、後者はshamと呼ばれているものだよ。 > 構文が異なる機能を完全に同じにするのは難しい babelは構文を置き換えるのだから、構文の違いはまったく関係ない。 完全に同じにできない理由は、JavaScriptの内部の機能に依存するから。 同じゃない部分っていうのは動きが違うわけじゃなくて一部が実装されてない(できない) だから動く部分に関しては完全に同じだよ。 > トランスコンパイルされたコードを想定して書くのはおかしなことではないかと 想定する内容は「一部の機能を使わない」ようにするということだけ。 でもこれって難しい? だってそもそもブラウザだってES6のすべての機能をサポートしているわけじゃない。 babelを使わなかったとしてもお、普段からブラウザで動くJavaScriptコードを書いている人がやってることだよ。 このブラウザでは使える機能だっけ?って調べながらコード書いている。 トランスパイルできないコードを想定して書くのも ブラウザが対応してないコードを想定して書くのも大きな違いはない。 むしろ多種多様なブラウザを想定するよりもbabelがブラウザの違いを吸収して ブラウザ間の違いを減らしてくれる方が「想定する必要」が減って楽でしょ?
92 名前:デフォルトの名無しさん (ワッチョイ efce-wh/5) mailto:sage [2016/09/04(日) 13:19:14.13 ID:EwnjeGwb0.net] > Babelは可能な限りES6に似せてトランスコンパイルするが、同じではないと思うぞ ここは完全に間違ってるから訂正w babelはES6に対応していないブラウザで実行できるように、 ES6のコードを可能な限りES5のコードに変換するもの 他の言語からES6やES5のコードに変換するわけじゃない。
93 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 13:35:37.89 ID:ysPFxgV5d.net] >>87 前半はわりとそうかな。 アーキとしてチームで作るし、教育もドキュメンテーションもするし、規約もQAも書くよ。 一人じゃ無いよ(笑)どんな会社だよそれ。。 setTimeout解決してない?なんか誤読してるのかもしれないし、何がひっかかってるの? >>89 うん、そういう意図では使わんのだが。本来のコードに勧めてるわけでもない。 何故二人が、あってもいいって発想で、お前だけ絶対に無しだって発想なのか、どこが差なんだろ。
94 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 13:38:00.98 ID:ysPFxgV5d.net] >>90 関係あるんじゃ?構文の違い。 確か、いくつかが言語仕様上変換しようがないから、 意味合いの変わるコードになるよ、一般解においては結果は同じだけど、とテヘペロしてたような。 またリポジトリ見てくるか。
95 名前:デフォルトの名無しさん (ワッチョイ efce-wh/5) mailto:sage [2016/09/04(日) 13:58:20.34 ID:EwnjeGwb0.net] >>93 質問していい? babelで変換したコードはリポジトリに入れたり 変換したコードは必要ない限り見たりテキストエディタで 修正したりしないんだけどそれはわかってる?
96 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 14:27:30.61 ID:+uXpWhFu0.net] >>92 Promiseっていうのはthenでつなげるためには Promiseオブジェクトを返さなきゃいけないと思ってるのかもしれないけど、 Promise.resolve(1) .then(i => Promise.resolve(i+1)) .then(i => Promise.resolve(i+1)) .then(i => Promise.resolve(i+1)) .then(i => console.log(i)) こういう書き方も問題ないんだよ。 Promise.resolve(10) .then(i => i+10) .then(i => i+10) .then(i => i+10) .then(i => console.log(i)) setTimeoutはそれを入れる明確な理由があるのであれば (「念のため」は明確な理由ではない)入れるべきだが、 理由がない場合は入れない。単なる無駄な処理。 あんたがディスられてるのは、理由をいわずに setTimeoutを持ち出してきたから。
97 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 14:44:53.31 ID:ysPFxgV5d.net] >>94 うん、同じコンパイラが確保できること、納品としてbabelかけたあとのものを納品しない、が前提であれば、わかってるけどそれがなにか? >>95 知ってるよ。 中で、一連のJSが走り終わってから走ってほしいという意図で、setTimeoutやら、setImmediateを使われていたら、 こちらはその意図に合わせて、非同期に呼んだらないとね、って話で、だからこそレベル低いポリフィル引き合いに出して、ネイティブなら、って言ったんだけど。
98 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 14:48:06.06 ID:ysPFxgV5d.net] 理由が理解できてないだけだったか…
99 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 14:51:13.06 ID:+uXpWhFu0.net] >>96 > 中で、一連のJSが走り終わってから走ってほしいという意図で、setTimeoutやら、setImmediateを使われていたら、 そんな話全くしてないよね? 何先走ってるのさw
100 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 15:01:04.48 ID:+uXpWhFu0.net] いつsetTimeoutを使う必要があるかを考えて見ればわかると思うんだけどな(苦笑) まずPromiseを使うときって言うのは、通常は非同期処理を行うAPIを使う時、 同期処理であればそもそもPromiseを使う必要が無い。 非同期処理を行うAPIを使うならば、非同期処理のAPIがsetTimeoutと 同じ効果をもたらすのでsetTimeoutを使うまでもなく一連のJSが 走り終わってから実行になる。 つまりsetTimeoutを使う必要があるのは、 「Promiseを返す関数の中で非同期APIを使ってない場合」に 限られるということ。 何も考えずに付け加えれば万事OKみたいに扱うものじゃない。
101 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 15:07:54.44 ID:ysPFxgV5d.net] >>98 >>48 でも、もし、キューが溜まってるならって言ってるし、 >>52 では同じこと言ってるんだけど、 憎さのあまり読んでなかったのかな。もしくは「キュー」が何のキューなのか理解できてなかったのか。 付け加えてもなく、最初から俺はそうってるし、 「使っていない」なんて元にはないんだから、 「安全側」って言葉が出てくんだけど。
102 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 15:15:16.15 ID:+uXpWhFu0.net] あまり「安全側」という言葉を遣うなよ。 理由を明確に示していない「安全側」というのは とりあえずこうしておけばうまくいくんじゃね程度の 浅い考えでしかない。
103 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 15:37:31.30 ID:+uXpWhFu0.net] なかなかいいサンプルを思いつかなかったが やっと思いついた。 var p = Promise.resolve(1); setTimeout(function() { // 1秒も待っているので、pは確実にresolveされたPromise console.log('start') p.then(i => console.log(i)) console.log('end') }, 1000); この場合、start -> end -> 1 の順で表示される。 ChromeとFirefoxと有名なポリフィルのBlueBirdで確認した。 ここからわかるのはthenを使って呼び出されるのは必ず非同期になるということ。 つまりPromiseを作る段階でsetTimeoutが不要であるということを意味する。 世の中にはPromiseの仕様通りに動かないバグが有るブラウザやポリフィルが 存在するかもしれないが、そんなものに対応するのは「安全側」とはいわない。 問題が確実にあると分かってる場合にだけ問題に対処せよ。 もしかしたら世の中の何処かにバグが有るのでは?という可能性に対応するのであれば for文にすらバグがあるかもしれないって話になるだろw
104 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 17:17:34.55 ID:ysPFxgV5d.net] >>102 そうじゃない、何故1秒も待つのに使うものと、setImmediateと比べんのかわからん。 DOM弄って0待つ(DOM構築待ち)とか、そういうのじゃん。 getElementById("hoge").innerText=xxxxxx setTimeout(function(){ //hogeの大きさ見たりする処理 },0) みたいなやつ。 >>102 thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。 >>102 問題があるとわかってから対処はその通りだね。 ただ誰のどんな環境かわからん質問への返答としては、安全側としか言いよう無くない?
105 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 17:19:13.61 ID:+uXpWhFu0.net] > thenを使ったら必ず非同期になる、なんて言語仕様に書いてあるのにそういう検証してなんの意味があんのかわからん。 だからsetTimeoutはいらないだろ?
106 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 17:22:39.50 ID:+uXpWhFu0.net] > setTimeout(function(){ > //hogeの大きさ見たりする処理 > },0) > みたいなやつ。 お前が俺が書いたコードの意図がわかってないだけ。 > ただ誰のどんな環境かわからん質問への返答としては、安全側としか言いよう無くない? 誰のどんな環境が分からないというならIE6の可能性もあるが? なんで誰のどんな環境変わらんと言っておきながら 「Promiseが使えるが仕様通りでなく、その仕様通りでないというのは、 Promiseのthenが同期的に動くと言うバグがあること」という 自分の都合のいい環境に限定してるんだって話なんだが? どんな環境かわからないなら、仕様通りの環境を前提にするべきだろ。
107 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 17:26:00.82 ID:+uXpWhFu0.net] 仮にPromiseが仕様通りに動かないブラウザが有ったとして、 仕様通りに動くBluebirdを使えば、 すべてのブラウザで同じ挙動になるわけさ。 仕様外のブラウザがあることを懸念するならば、 素直にポリフィルを使ったほうが良い。
108 名前:デフォルトの名無しさん (ワッチョイ a3a1-10NS) mailto:sage [2016/09/04(日) 18:48:47.88 ID:yHJJ2SAO0.net] promise実装に問題があるならコールバック地獄に書き直せば良いだけの話じゃ無いの 奇策使ってまで残す理由が分からん
109 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc) mailto:sage [2016/09/04(日) 18:58:26.34 ID:ysPFxgV5d.net] 素直に、読んでませんでしたと何故言えんのだろうか。
110 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 19:01:07.31 ID:+uXpWhFu0.net] >>105 へのレスをお願いします。
111 名前:デフォルトの名無しさん (ワッチョイ eb5b-wh/5) mailto:sage [2016/09/04(日) 19:21:57.04 ID:AXUinR+60.net] >>107 Promise使わないと死んじゃう病気なんだろ。 典型的な「手段と目的の混同」でしかないけど、割とどこの界隈でもいると思うが。
112 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 20:30:52.48 ID:+uXpWhFu0.net] >>110 これは「コールバック"地獄"」と書いてあるところから ジョークと受け取って欲しいってことだと思ったがw いや君が分かってやってるのなら良いんだけどさ。
113 名前:デフォルトの名無しさん (ワッチョイ e33c-FA7T) [2016/09/04(日) 20:57:57.38 ID:me3Bqu020.net] 以下のHTMLがあるんですが上のclass="a"のDIVを上のtitle内に、 下のclass="a"のDIVを下のtitle内に入れたいのですが Jqueryでどのように書けばよいでしょうか? どなたか教えて下さい <div> <div class="title"></div> <div> <div class="a">111</div> </div> </div> <div> <div class="title"></div> <div> <div class="a">222</div> </div> </div>
114 名前:デフォルトの名無しさん (ワッチョイ 13ce-dyuG) mailto:sage [2016/09/04(日) 21:19:32.90 ID:XuW4/w2e0.net] $('.title').append(function() { return $(this).next().find('.a'); })
115 名前:デフォルトの名無しさん (ワッチョイ e33c-10NS) mailto:sage [2016/09/04(日) 21:47:50.25 ID:me3Bqu020.net] 素晴らしいです ありがとうございました!
116 名前:デフォルトの名無しさん (ワッチョイ 13ce-wh/5) mailto:sage [2016/09/04(日) 21:48:56.32 ID:m9ZxPHXs0.net] 良いってことよ。でもまあjQueryのスレはこっちだからな + JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/hp/1465566635/
117 名前:デフォルトの名無しさん (ワッチョイ 4979-nUk7) [2016/09/12(月) 16:02:19.79 ID:QAsPefCB0.net] input type numberのフォームリセットボタンを作りたいのですが class名を引数に用いることはできないのでしょうか? <head> <script type="text/javascript"> function(hiki){document.querySelector("div.hiki input").value=0;} </script> </head> <body> <div class="tamago"> <input type="number" value="0"> </div> <input type="button" value="リセット" onClick="resetbutton(tamago)"> <body>
118 名前:デフォルトの名無しさん (ワッチョイ 4979-nUk7) [2016/09/12(月) 16:04:35.58 ID:QAsPefCB0.net] すいませんこうでした わかりづらいかもしれませんがよろしくお願い致します。 <head> <script type="text/javascript"> function resetbutton(hiki){document.querySelector("div.hiki input").value=0;} </script> </head> <body> <div class="tamago"> <input type="number" value="0"> </div> <input type="button" value="リセット" onClick="resetbutton(tamago)"> <body>
119 名前:デフォルトの名無しさん (ワッチョイ f19d-2kU/) mailto:sage [2016/09/12(月) 16:26:45.66 ID:1arG/Lwr0.net] function resetbutton(hiki){ /* hikiは変数 */ document.querySelector("div." + hiki + " input").value=0; } /* tamaleはString(文字列) */ <input type="button" value="リセット" onClick="resetbutton('tamale')">
120 名前:デフォルトの名無しさん (ワッチョイ f19d-2kU/) mailto:sage [2016/09/12(月) 16:52:21.69 ID:1arG/Lwr0.net] /* hikiは引数 */ ねw
121 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/12(月) 21:47:10.72 ID:p0km3lhz0.net] こちらへどうぞ + JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/hp/1463395557/
122 名前:デフォルトの名無しさん (オッペケ Sr3d-j70e) mailto:sage [2016/09/12(月) 21:55:18.12 ID:6fvstpPur.net] >>118 でいいと思うが、resetbutton('a .hoge>.piyo') みたいに書けるのが問題だな 厳密にはエスケープ処理が必要
123 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/12(月) 22:26:08.68 ID:XojLrMQ90.net] >>118 で良いだろ。直接的回答になっている。 強いて言えばclassではなくIDを使う場面であり、 あるいはjQueryと同様に該当全部に対して実行してくれると勘違いしている可能性があるとは思うが、 質問からするとかなりの初心者が見よう見まねでやっていると思われ、 ここはまず118でよく、生暖かい目で見守るべきだろう。 >>121 ユーザ文字列じゃないのに何を言ってるんだお前は? てゆうか正解が出ているのに間違いを垂れ流すのは止めろ。 どう見ても自分でどちらが正しいか判断出来るレベルの質問者ではないのだし、 ただの迷惑行為でしかない。 >>117 ということで、まずは>>118 ね。 ここでは間違った主張をする奴を止めることは出来ないから、こんな感じになってしまうが。
124 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/12(月) 23:08:27.83 ID:ipGCKz/x0.net] なんか低レベルな争いしてるなぁw そんなことまず指摘するべき所あるだろ。 リセットするならvalue=0はやめろ。 俺が軽く見本みしてやるわ。 https://jsfiddle.net/yf9onpas/ textだけじゃなくcheckboxやselectにも対応したやつな。 つってもtextareaやnumberとかには対応してない手抜きコードだけどな。
125 名前:デフォルトの名無しさん (オッペケ Sr3d-GoLj) mailto:sage [2016/09/12(月) 23:08:33.89 ID:6fvstpPur.net] >>122 <p class="a.b"> に対して resetbutton('a.b') と指定できる方が汎用性が高いので「厳密には」と前置きしたわけだが、何が間違ってるんだ? 後は、空白文字が指定された時に例外を投げるか、複数のクラストークンを許可する仕組みにするか、というところで設計思想が分かれそうだな
126 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/12(月) 23:11:29.28 ID:ipGCKz/x0.net] つーかさ、初心者が見よう見まねで〜とか上から目線やめろよ。 自分が初心者のくせにさ。 ここはIDでもクラスでもないく、セレクタを扱えるようにすれば良いんだよ。 >>118 の"div." + hiki + " input" とかほんと、ダサすぎる。 HTMLの構造が変わったら使えなくなるようなクソコードやめろ。
127 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/12(月) 23:13:02.37 ID:ipGCKz/x0.net] あ、一応言っておくけどな。俺は面倒くさいからjQuery使っただけで jQueryがイヤっていうのなら、そいつがjQuery使わない方法に書き直せな。
128 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/12(月) 23:15:50.48 ID:zX7hrAQza.net] > なんか低レベルな争いしてるなぁw > 自分が初心者のくせにさ。 ID:ipGCKz/x0 も上から目線なので「目くそ鼻くそを笑う」になってる
129 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/12(月) 23:16:12.77 ID:ipGCKz/x0.net] >>127 おう?文句があるならコードに対して 指摘しろや。
130 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/12(月) 23:49:33.68 ID:zX7hrAQza.net] >>128 それならお前も「低レベル」や「初心者」と煽ってないでコードだけに言及したら? 当初の質問(>>117 )が「セレクタの一部を引数に取るやり方」を質問をしているのだから>>118 の回答になるのは自然 「セレクタを渡せ」は一つの解だが、質問(>>117 )への回答としては正答ではないだろう 質問は「文字列リテラルの一部に変数を入れるにはどうすればいいですか?」なのだから回答としては ・テンプレートリテラルを使う ・Array#join ・+で文字列と変数を連結する のいずれかになる
131 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/12(月) 23:51:47.93 ID:XojLrMQ90.net] てゆーかマジでお前ら自身がまともに回答出来ないレベルのくせに、 デタラメな回答するのは止めろよマジで。 (JavaScriptにしても日本語にしても) このスレでは>>121 ,123みたいな馬鹿は回答しなくていい。 お前らはWeb板の馬鹿スレに行けよマジで。 俺はあっちはスルーすると決めているから、 お前らのトンチンカンな回答にも、俺が物言いを付けることはない。 初心者じゃないつもりのお前らが意識高い系()Web系()の実力を見せつけるのは自由だ。 質問は、リセットボタンを設置する際にターゲットとの関連をclassで付けたいってことだろ? だったら関連方法にclass使ってない、それ以前に関連方法を説明していない>>123 は論外だ。 何の説明にもなってない。 123が書いているのは各input種別のリセット方法だが、そこは質問されていない。 つまり123に足りないのは日本語能力だ。 >>124 そんなクラス名の付け方なんてしないだろ。 ただ正直、お前とは議論が成立しないことは分かるから、これでおしまいな。 お前がどういう環境なのかは知らんが、もうちょっと他人が書いたJSなりHTMLなり見た方がいい。 普通はそんなことを考えなくていいようにクラス名を付ける。ただそれだけだ。 質問者はquerySelectorの引数がString型であることを理解出来ていないんだよ。 だからそれを気づかせる>>118 が直接的回答で、それでまずは十分だよ。 一応言っておくが、>>118 は俺じゃない。 そして適切に回答出来る奴(118)がいる以上、>>121 ,123みたいな馬鹿は回答しなくていい。 (俺も121が出てこなければ出てくる気はなかった。だって118でいいから。) 質問者が何に引っかかっていて、どうすれば越えられるのか理解してから回答しろよマジで。 そしてお前らのおかしな問答に質問者を巻き込むな。
132 名前:デフォルトの名無しさん (ワッチョイ 9030-ZwPk) [2016/09/12(月) 23:51:54.31 ID:dTaJTDWJ0.net] ま〜たはじまった
133 名前: ◆SEdFBOkLSw (アウアウ Sa09-j70e) mailto:sage [2016/09/12(月) 23:59:32.12 ID:4j9bxHgha.net] 長文でしかもトンチンカンだからよくわかるわ。 こう書くと、何がトンチンカンか指摘しろ、ってキレるんだろうけど。
134 名前:デフォルトの名無しさん (オッペケ Sr3d-GoLj) mailto:sage [2016/09/13(火) 00:07:15.40 ID:+SCJmNCrr.net] >>130 「普通はやらない」が、エスケープシーケンスで指定出来るのだから対応する方が「安全」というだけの話 仕様に厳格であるのが安全面で望ましい 仕様を無視するならいくらでも「(主観的な)普通は」の論理があるけどね ・普通は数値参照や実態参照と被らないから <a href="?a=1&b=2">a=1&b=2</a> と書いても良い ・普通はArray.prototype拡張しないから配列にfor-inを使っても良い ・普通はfor-inが定義順で列挙するから配列にfor-inを使っても良い
135 名前: ◆SEdFBOkLSw (アウアウ Sa09-j70e) mailto:sage [2016/09/13(火) 01:49:27.29 ID:1BT7Whn9a.net] >>130 しかし、Stringなのは理解出来てないか? Stringの中に、変数が入ったままなだけであって。 それを気づかせる、ってお前何言ってるか相変わらずわからん奴だな。
136 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/13(火) 02:05:51.44 ID:5MhN2/GP0.net] てめーら馬鹿なんだから、俺様が気づかせて、あ・げ・て・る・んだよ!
137 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 03:02:21.17 ID:K8VetvZF0.net] なるほどSEも池沼か。 そしてbabel君も池沼。 当然池沼同士の会話は成立せず空回り、それがbabel論争だな。 お前らそんなことばかりやってるから全く上達してないんだよ。 あれで何か得たか?或いは何か得るはずだったか? くだらん争いに精を出すのではなくて、コード書けよマジで。 俺は>>117 が初心者であることについて文句を言っているわけではない。 というか117はあれで良いんだよ。誰しも最初は初心者だし、 基本的なことを押さえた後は、動くコードを改変しながら学ぶのが一番早道だ。 もっとも、基本的なことを押さえているのかについては若干疑問ではあるが、 仮に全くの初心者が一回本を読んだら丁度あの程度だし、とりあえず不問だ。 ここら辺は118も気づいていて、卵に''付けてるだろ。 質問者は「文字列リテラル」を認識出来ていない。 (SEは池沼だからこれに気づけない。だから会話が成立しない。) 118はたまれ?とかよく分からん改変をしているが、 これは多分日本語であることに気づいていないから。 どうせなら「ひよこ」とかのほうが気が利いてた。(それともgo->leって何か頓知の効いたギャグ?) まあ俺は「卵は匹じゃなくて個!」と言いたいところだが。(匹じゃなくて引?) それ以外にも奇妙な点は色々あり、コードを見る限りかなりの初心者が書いたコードだと分かる。 ただ繰り返すが、それでいいんだよ。そこから始めればいい。 そしてこれが分からないbabelとSEは両方とも池沼で初心者レベルってことだよ。 つかおまえらECMAスレで罵りあってろよマジで。 そしてこの池沼共は俺が何言っているのか分からんと喚くに100ペリカ。 まあ池沼がコテ付けてくれることは歓迎だよ。無視すればいいだけだから。 ではさようならSE。お前も今後は無視対象だ。 てか、どっちかというと俺がもう2chでは有効情報を得られないと見切りを付けつつあり、 そういった意味では俺が出て行くから、いいとこ知っていたら教えてくれないかな?
138 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 09:26:53.16 ID:2dH5xCXza.net] > (ワッチョイ fb5b-tq+X) ID:K8VetvZF0 ID:XojLrMQ90 長文を書き連ねる時間があるなら内容に言及している人に返答を返せばいいのに 出ていくというなら二度と来なくていいから 回答としては>>129 >>123 は内容が的外れ(文字列リテラルに言及せず、明後日の方向にコードを書いてる) >>121 ,124,133は「クラストークンを渡す仕様ならエスケープしろ」という仕様原理主義者らしい考えで間違いではない
139 名前:デフォルトの名無しさん (ワッチョイ 7220-tq+X) mailto:sage [2016/09/13(火) 09:42:14.23 ID:+bEheDn00.net] 初心者が書いたクソコード(初心者なのだからこれは仕方ない)をまねて (自称)初心者ではないやつがクソコードを量産(これはいけない)するのが問題。 初心者はクソコードで満足してしまって、その人のためにならない。 あるべきコードを提示するべき。 初心者が言ってるやりたいことっていうのは、こうすればできるんじゃね?ぐらいの意味で 本当にやりたいことではない。
140 名前:デフォルトの名無しさん (ワッチョイ f19d-2kU/) mailto:sage [2016/09/13(火) 09:52:58.43 ID:CCv9tLlM0.net] >>117 の質問に対して、>>118 は正しい回答 >>117 の場合、わからないところを問いただしている「質問」 質問(要求)に答えることが「回答」 「回答」と「問答」を認識し、区別すべし
141 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/13(火) 12:06:28.86 ID:UhHW+pCJd.net] なんか長文で明後日な方向に行ってるな。 babel君でも誰でも良いが。 >>138 後半に同意。 テーブルのあるセルを非表示にして詰めたら、一行のセル数が足りなくなる。 その時次の行のセルを上に持ってきて詰めて表示できないか? の回答は「出来ない」でしかないけど、 「そもそもそれ表じゃ無いよね。並んでるだけなんだから、並べるだけで良いんじゃないの?」って答えはあるべきだと思う。
142 名前:デフォルトの名無しさん (ワッチョイ f19d-2kU/) mailto:sage [2016/09/13(火) 12:33:33.52 ID:CCv9tLlM0.net] >>140 忙しそうですね?w
143 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 15:18:02.53 ID:2dH5xCXza.net] 本題からずれるが、>>116 は input[type=reset] でもいいのではないか、と思った https://jsfiddle.net/4zn5eszn/ 部分的にリセットしたいなら無理だが、それにしても同一form要素上に存在すれば form.elements[name] で参照できて便利
144 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/13(火) 18:27:51.60 ID:UhHW+pCJd.net] >>141 え?普通に昼休みだったけど。 基本あんまり忙しくは無いけどなんなの?
145 名前:デフォルトの名無しさん (ワッチョイ f19d-2kU/) mailto:sage [2016/09/13(火) 18:56:34.25 ID:CCv9tLlM0.net] >>143 誤爆ねw
146 名前:デフォルトの名無しさん (ワッチョイ 4979-nUk7) [2016/09/13(火) 19:55:49.03 ID:E/claygU0.net] 117です >>118 さんのやり方で出来ました! 有難うございます。助かりました。 'tamale'の部分"tamale"だとだめなんですね。'と"は今まで同じに使えると思っていました。 他のアドバイス下さったみなさんもありがとうございます。
147 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 22:07:21.07 ID:K8VetvZF0.net] ではありがたい池沼SEの言葉をもう一度確認してみよう。 >>108 > ◆SEdFBOkLSw (アウアウ Sa09 > ◆SEdFBOkLSw (スフッ Sd28 > 108 名前: ◆SEdFBOkLSw (スププ Sd5f-RETc)[sage] 投稿日:2016/09/04(日) 18:58:26.34 ID:ysPFxgV5d [7/7] > 素直に、読んでませんでしたと何故言えんのだろうか。 お前がな。 所詮池沼は池沼同士、babel君とSEでまともな議論が成立しないのもむべなるかな。 というかマジで、煽ってなだめて情報を出させようとするのはウザイしキモイから止めろ。 どうやらゆとり流の戦法らしいが。(他板でも遭遇した) 俺はもうSEには有効情報を出す気はないんだよ。 だからその部分をキチンと避けて書いてる。それに気づいて欲しいね。 babel君も問題児だが、SEも問題児だよ。>>121 みたいな意味不明な仕様原理主義者もね。 というか何でお前らがそんなに知ったかぶりして非現実的議論を続けるのかさっぱり分からない。 つかおまえらマジでエセプログラマだよな?コードを書いているとは思えないのだが。 お前らが全員消えればこのスレもずいぶんマシになると思うよ。
148 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 22:07:44.79 ID:K8VetvZF0.net] >>145 それは入れ子には出来ないから。 ただその辺も理解してないのなら、ここで質問するのではなくて、 入門書なり入門サイト(>>7 のMDNとか)を読んだ方が早いからそうしろ。
149 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 22:33:06.41 ID:2dH5xCXza.net] Promiseに関しては◆SEdFBOkLSwを擁護するつもりはないけどね >>116 に関する発言については彼(◆SEdFBOkLSw)は特におかしなことは言ってないんだよな (ワッチョイ fb5b-tq+X) は「おまえらはわかってない」系の人はいつも他人をこき下ろすだけで実のある話をしない 「煽ってなだめて情報を出させようとするのはウザイ」が実のある話をしない理由なら黙っているのが一番いい
150 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 22:49:09.99 ID:K8VetvZF0.net] >>148 > ◆SEdFBOkLSw (アウアウ Sa09 (>>134 ) 自演乙。 ここワッチョイありなんだが。
151 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 23:07:05.70 ID:2dH5xCXza.net] >>149 (アウアウ Sa09-j70e) と (アウアウ Sa09-GoLj) の見分けがつかない人?
152 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/13(火) 23:21:40.34 ID:mOQjacar0.net] headline.mtfj.net/2ch_watchoi.php Sa09の部分が同じってことは、IPアドレスが同じ可能性が高いってことだ。 そして使ってるブラウザを変えたってことだ。 afi.click/browser/list/ j70e ・・・ Monazilla/1.00 (2chMate 0.8.9.6) GoLj ・・・ Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
153 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 23:27:43.68 ID:K8VetvZF0.net] >>150 いやワッチョイの仕組みをもうちょっと調べてから言えよ。 まあどちらの言い分を信じるかは各人の自由だが。 あと俺は「質問者」に対しては有効情報を返しているよ。 ・118が正解 ・121はキチガイ ・123は見当外れ ・◆SEdFBOkLSwもキチガイ ・そのレベルなら入門サイトでも読め というか、ここは「質問スレ」なんだから、まずは「質問者」に対して回答するのが当然だ。 お前は何を勘違いしているのだ? 俺は「既に正解が出ているのにおかしな回答をするな」と言っているだけだ。 少なくともお前が主張する◆SEdFBOkLSwよりは「質問者」に対しては有効情報を返している。 お前が主張する◆SEdFBOkLSwの「質問者」に対する有効情報って何? 上記みたいに列挙しようとしてみてくれ。何もないのが分かるから。 そしてその何もしてない◆SEdFBOkLSwをお前が擁護する理由は何? お前のやっている事って色々辻褄が合ってないって理解出来る?
154 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/13(火) 23:28:40.93 ID:mOQjacar0.net] (10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
155 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 23:37:28.38 ID:2dH5xCXza.net] >>152 > いやワッチョイの仕組みをもうちょっと調べてから言えよ。 俺 (アウアウ Sa09-GoLj) が ◆SEdFBOkLSw ではないから反論してるんだよ 可能性レベルの話で ◆SEdFBOkLSw 扱いされてたまるか 俺の主張は>>137 で書いたから付け加える事はない
156 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 23:39:54.80 ID:2dH5xCXza.net] ワッチョイの仕組みは大体理解してるし、アウアウ なら携帯キャリアだろ ◆SEdFBOkLSw が近い場所に住んでるのかな、ぐらいは思うが、それだけで本人扱いされるとは思わなかったな
157 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/13(火) 23:42:51.34 ID:mOQjacar0.net] 同じスレでかぶるとか確率的にないだろうなw
158 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 23:55:35.43 ID:2dH5xCXza.net] 面倒くさい奴だな 俺は9/12(月)から「(アウアウ Sa09-GoLj)」のまま変わってないんだがな なりすましを成立する為には何度もリセッションをしなければならないじゃあないか 1. 「(アウアウ Sa09-j70e) のIP」と「(アウアウ Sa09-GoLj) のIP」を控える 2. ◆SEdFBOkLSw になりすます時には「(アウアウ Sa09-j70e) のIP」になるまでリセッションする 3. 俺になりすます時には「(アウアウ Sa09-GoLj) のIP」になるまでリセッションする
159 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/13(火) 23:56:54.79 ID:K8VetvZF0.net] >>153 その件に関しては俺は勝手にしろという立場だ。(これを嫌っている奴もいるようだが) ただ、やるにしても「正しい」方向に導くべきで、間違っている方向じゃ駄目だし、 その先の議論に関しては議論参加者だけでやるべきで、 無理矢理「質問者」を巻き込むべきではない。 121は明らかに間違った方に誘導している。そんな使い方は普通はしない。 123に関しては、正直なところ、普通のclassの使い方をすればあのコードになるから、 出してきた理由は分かるし、気持ちも分からんでもない。 ただ彼は前からそうだが日本語がイマイチで、今回もそうだが読み違いが多すぎる。 とはいえ彼はこの手の「勢力争い」には全く興味ないらしく、 あるいはこだわりがあるのはコードだけなのか、今回もそうだが引く時は本当にあっさり引く。 そしてID:2dH5xCXzaの主張する◆SEdFBOkLSwが >>132 の時点で俺に攻撃的に絡んでくる理由はない。てかお前何がしたいの? 普通は129を130で否定されたと受け取ったからとしか考えられないのだが。
160 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/13(火) 23:58:12.39 ID:2dH5xCXza.net] ああ、一応いっておくが、Promiseについては ◆SEdFBOkLSw の論はおかしいと思っているので彼を擁護する気はないから
161 名前:デフォルトの名無しさん (アウアウ Sa09-GoLj) mailto:sage [2016/09/14(水) 00:13:44.46 ID:vaFZ+3uqa.net] >>158 基本>>137 以上にいうことはないから 「明らかに間違った方」とか意味わからんし、クラス名を与えるなら classList.add で指定可能な文字列は許可されるのが厳密 「普通は使わない」ってのはあなたの固定観念で例外処理をさぼってるだけ >>123 のコードも「class名を引数に用いることはできないのでしょうか?」に対する解としては明らかに間違い >>134 ◆SEdFBOkLSw の方が明らかにまともな事いってる
162 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/14(水) 00:16:45.81 ID:iN47TnGc0.net] >>157 オマエ馬鹿かw IPアドレスは「アウアウ Sa09」までだっつーのw 証拠見せてやろうか?
163 名前:デフォルトの名無しさん (ワッチョイ 93ce-MXHb) mailto:sage [2016/09/14(水) 00:18:26.67 ID:iN47TnGc0.net] こんな感じか?
164 名前:デフォルトの名無しさん (ワッチョイ 93ce-j70e) mailto:sage [2016/09/14(水) 00:19:11.70 ID:iN47TnGc0.net] 間違えた?
165 名前:デフォルトの名無しさん (ワッチョイ 93ce-GoLj) mailto:sage [2016/09/14(水) 00:19:48.23 ID:iN47TnGc0.net] よしOKだなw
166 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/14(水) 00:20:57.47 ID:iN47TnGc0.net] 後ろ4つを変えるのなんてブラウザ変えるだけでOKだよw
167 名前:デフォルトの名無しさん (ワッチョイ fb5b-tq+X) mailto:sage [2016/09/14(水) 00:31:16.83 ID:55tYl/130.net] >>160 まあどう言おうがそちらの自由だけど、どうとるかは各人の自由だよ。 しかし、常連が10人もいないこんなスレで、 いきなりIPが被って必死に同一人物の擁護とかねーよマジで。 そして、実際、 > ◆SEdFBOkLSw の方が明らかにまともな事いってる の具体例を提示出来ないだろ?だって何も言ってないし。 都合が悪くなったら話題を逸らすのも◆SEdFBOkLSw = ID:2dH5xCXza = ID:vaFZ+3uqa の共通点だよね。話し合いしたければちゃんと回答しろよ。 というか、そもそも121や123が噛み付いてくるのなら分かるのだが、 お前が俺に噛み付いてくる理由は何?
168 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/14(水) 00:53:14.78 ID:rTjoPRhBd.net] 進んでるなぁ。 俺、WiMAXか、spmodeだから多分かぶり倒してると思うよ。 全然逸しても無いんだが、何故理解できないんだろう。 自分の理解を超えたら、逸らされてるって思うのかねえ。
169 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/14(水) 01:03:53.87 ID:rTjoPRhBd.net] ってか、トンチンカンだと言われた程度で攻撃的ってどれだけ煽り耐性無いのかわからん。 もっとひど目の事言ってんのに。 人間、言われて怒る事って、割と図星だってことかねえ。
170 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/14(水) 01:06:11.72 ID:rTjoPRhBd.net] >>159 あれ、Promiseなんか俺誤解したままだったかな。 前スレで、なるほど俺が誤読してたすまん、と言った件意外?
171 名前:デフォルトの名無しさん (ワッチョイ 93ce-tq+X) mailto:sage [2016/09/14(水) 01:15:51.77 ID:iN47TnGc0.net] あ、なるほど。日付が変わったからだねw
172 名前: ◆SEdFBOkLSw (アウアウ Sa09-j70e) mailto:sage [2016/09/14(水) 01:16:34.83 ID:KYZUXwmxa.net] >>170 日付変わってもかわらんからワッチョイなんじゃねえの?変わるんだっけ。 これwimax。
173 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa09-GoLj) mailto:sage [2016/09/14(水) 17:11:19.99 ID:S1CZT+XFa.net] 疑われるので面倒なのでトリップを付けた とはいえ、(ワッチョイ fb5b-tq+X) と会話する気はもうない >>169 >>41 ,48,52 の話がよくわからない 下記コードがあれば、理解できると思うんだが ・PromiseにsetTimeoutをかますと正常動作しなくなるコード ・setTimeoutでキュー管理して正常動作するコード
174 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa09-MXHb) mailto:sage [2016/09/14(水) 17:14:37.57 ID:S1CZT+XFa.net] ブラウザを変えて投稿するテスト
175 名前: ◆SEdFBOkLSw (スフッ Sd28-j70e) mailto:sage [2016/09/14(水) 18:42:49.34 ID:MUKwq2dad.net] >>172 ああ、それか。 Promiseのポリフィルっぽいもののうち、非同期になってないもの、の話 >>48 で言ってるように、ネイティブだったり、ちゃんとしてるものは非同期で動いてくれるから問題ないよ。そこは誤解を招いて申し訳ない。 setTimeoutを入れないと動かないもの、は タグ作ってその中に文字列入れた、その幅が知りたい、とかそう言うの。 SVGのグラフ描くときに、描画しない列見出しを幅・高さから決めたいけど、メディアクエリは使えないとか、そういうやつ。
176 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/14(水) 21:07:46.35 ID:jzervOJ/0.net] 「Promiseのポリフィルっぽいもののうち、非同期になってないもの」 じゃなくて、具体的にライブラリ名を言ってよ。 何の話なのかさっぱりわからん。 まず話の前提をはっきりさせよう。
177 名前: ◆SEdFBOkLSw (アウアウ Sa09-j70e) mailto:sage [2016/09/14(水) 23:28:06.29 ID:RVBM5n3Va.net] >>175 意味がわからん。 具体的なライブラリもなにも。探すのが面倒。 自分でPromise相当のオブジェクト書いてみれば一発で理解できると思うけど。
178 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/14(水) 23:44:17.41 ID:jzervOJ/0.net] 意味がわからんのこっちだw 不具合があるライブラリを知らない=不具合があるライブラリが存在するという証拠がないのに、 なぜそのライブラリの不具合に対処するコードをを書こうとするのか。
179 名前:デフォルトの名無しさん (ワッチョイ 69ce-tq+X) mailto:sage [2016/09/14(水) 23:46:21.44 ID:jzervOJ/0.net] 自分でPromise相当のオブジェクト書いてみた結果、 自分が書いたPromise相当のオブジェクトが腐ってました? 素直にまともなライブラリを使いましょう。 自作なんてやめなさい。
180 名前: ◆SEdFBOkLSw (アウアウ Sa09-j70e) mailto:sage [2016/09/14(水) 23:53:12.82 ID:RVBM5n3Va.net] >>177 >>178 いや、自分では書いてないけどね。納品物だよ。 納品物は直させるとして、当座、回避のパッチ入れないと困っただけ。 まともなライブラリを使う、とかそう言う低レベルな話してないから。 まともなライブラリを作るなら理解できるけど。
181 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 00:04:05.31 ID:Cxc2zChv0.net] なんでお前の会社への納品物に対処するコードを 他の人に書けっていうんだ?馬鹿じゃないか?
182 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 00:28:12.45 ID:ydYpmdlY0.net] ライブラリを使うが低レベル? ライブラリを作るほうが低レベルだろ。 現にバグで困ったんだから。 自分で作るなんて時間によるコスト増加と 品質の定価を無視すりゃ誰でもできる。 コストを減らして品質を高めるためには、作らない技術が必要。
183 名前: ◆SEdFBOkLSw (アウアウ Sa9f-wJFc) mailto:sage [2016/09/15(木) 02:10:01.76 ID:AXf5reAda.net] >>180 だから、Promiseっぽいものだと最初に書いたのに。つまみ読み下手だな。 確固たる動く自分で検証したPromise使ってる自信があるならそれでいいけど、明らかにわかってない人への説明としては正しくないっしょ。 >>44 が部分的に同意してくれてるような話。 >>181 何言ってるか全然わからん。 実際にバグたしたのはうちじゃないし、そのまま部分検収しかしたらなかったよ。そいつらをレベル低いと言うなら、全く同意だけど。 他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。 コスト減らして品質を高めるには、作らない技術が必要、それは尤も。 うちが作らないから、札束でしばいて作るったり選定して検証して弁理士ときっちり擦り合わせて納品するのが下請けさんのお仕事。多分工数はそんなに減らないよ。こっちが要求するものを揃えたら。 お前は下請けの立場にすらなったこと無いの?
184 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 02:30:06.70 ID:AmHCeUDK0.net] > だから、Promiseっぽいものだと最初に書いたのに。つまみ読み下手だな。 > 確固たる動く自分で検証したPromise使ってる自信があるならそれでいいけど、 意味がわからん。 そんなに不安なら自分でテストコード書けばいいだけだろ。 どうせ自分でPromiseを作るならそのテストコードも書くんだから、 それなら作らないでテストコードだけを書けばいい。 普通はテストコードついてるもんだけどな。 自分らで作ったような品質の低いものじゃない限りw
185 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 02:31:19.16 ID:AmHCeUDK0.net] あと話がずれてる。 お前固有の問題に対応するためのコードを ここに書くなって言ってる。
186 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 02:32:55.17 ID:AmHCeUDK0.net] > お前は下請けの立場にすらなったこと無いの? それは無いわw 自社でウェブサービス作ってるからな。
187 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/15(木) 07:06:22.28 ID:FbcVefQGa.net] >>174 そういう抽象的な説明では分からないからコードを出してほしい、といっているのだが… Promiseはコールバック地獄の統合管理形態ぐらいにしか思ってないし、setTimeoutが必要な状況というのが全く思い至らない それと、低品質Promise非互換ライブラリに対処する対策コードというなら、何らかの想定があって対処しているんだから 「想定する低品質Promise非互換ライブラリのコード」と「対策コード」を出せて当然だと思うのだが(全て記載しろとはいわんが、状況が分かる仮想コードぐらい出せるはず) 「低品質コードも対策コードもよく思い出せないけどとりあえず自分のコードで実装できてる」というなら「本当にそれは対策出来ているのか」と俺なら不安になる
188 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/15(木) 07:23:00.87 ID:FbcVefQGa.net] >>183 正直、◆SEdFBOkLSw の説明力にも問題があると思うが、話がずれてる 彼がいってるのは「A社が作成した低品質Promise非互換ライブラリコードの保守/改修を自社で引き受けた時にどうするか」で対策は大きく3通りある 1. 低品質Promise非互換ライブラリコードに対応したコードを書く 2. 低品質Promise非互換ライブラリコードを捨ててPromiseで書き直す 3. 低品質Promise非互換ライブラリコードを捨てて自社ライブラリで書き直す ◆SEdFBOkLSw は 1. を選択し、「setTimeoutでほげほげ」して対策した だが、「setTimeouでほげほげ」が彼以外の人にはさっぱりわからない そんな状況 1. を選択するなら低品質Promise非互換ライブラリのドキュメントを読んで該当ライブラリ独自の書き方で書くのが最良だと思うが、 それでは対応しきれなかったのか、ドキュメントがないから自力で対応したのか、何らかの理由かで「setTimeoutを使う」という解に終着したみたいね
189 名前: ◆SEdFBOkLSw (アウアウ Sa9f-wJFc) mailto:sage [2016/09/15(木) 07:43:16.81 ID:AXf5reAda.net] >>186 かけるけど、スマートもしもしだから辛いんよね。コードうつの。 >>187 「A社が作成した、、保守改修を、自社で、、」ではないよ A社に直させる。 特定パターンの実データ無いと再現させにくかったし、仕方ない。 A社に直させるのに、A社のソースにパッチ入れると割と面倒なの。 A社がそのパッチ取り込んだときの、俺の工数とか改修費の話になるけど。
190 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/15(木) 07:45:15.57 ID:upPgTl6ca.net] test
191 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/15(木) 07:56:24.23 ID:upPgTl6ca.net] リセッションしてIP変えても (アウアウ Sa9f-UmMt) のまま変わらないのね ◆SEdFBOkLSw とはIPレベルで同一ではなくてIP体系が同一レベルっぽい >>188 > かけるけど、スマートもしもしだから辛いんよね。コードうつの。 WiMAXといっていたからモバイルルータだと思ったが、スマートフォンなのか とりあえず、テザリングすればいいのでは? コードが出ないなら机上の空論に過ぎないので、あなたの説明に説得力はないと思う > 「A社が作成した、、保守改修を、自社で、、」ではないよ > A社に直させる。 A社に直させるなら「自社で書くコードは何なの?」って話になると思うが >>187 の書き方が悪かったが、「A社が作成した低品質Promise非互換ライブラリを利用して書いたコードの保守/改修を自社で引き受けた時にどうするか」にすれば合ってるかね やはり、あなたの説明力にも問題があると思うな(説明が端的でとても分かりづらい)
192 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 09:32:51.25 ID:AmHCeUDK0.net] > 説明が端的でとても分かりづらい 作り話を思いつきで作ってるから 矛盾が出てるだけw
193 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 09:35:47.86 ID:AmHCeUDK0.net] > 特定パターンの実データ無いと再現させにくかったし、仕方ない。 単体テストをやる技術がない証拠だな。 やっぱりブラウザでポチポチやってそうw
194 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/15(木) 12:18:52.76 ID:QfaZZNRDd.net] >>190 スマホだよ。 家引っ越した時にネット回線契約すんのめんどくさくて、wimax置いてそのまま。 PCで2chはしないなぁ。 まぁ、空論と言われても。 休みの日にでも書いてみるわ。 自社で書くコードは、自社開発分じゃん。 もしくは講師と講座かなんかの形でウヤムヤにできるグループ会社かそのへん。 保守改修じゃないよ。コンポーネントで発注してるものを組み込んだ側の開発。 >>192 それは下請けに言っとくよ。工数増加を認めない形で。
195 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 21:20:36.32 ID:AmHCeUDK0.net] > 自社で書くコ ードは(略 何を言いたいのかさっぱりわからん。 誰も分かってないぞ > それは下請けに言っとくよ。 下請けでもない俺にいわれてもなw 普通は言うもの。それが出来ない時点で駄目なんだわ。 検収やってんのか? やってるのなら問題でたなら突き返してるはずで、 >>182 で以下のように言ってるってことは、それでOKだしたんだろ? > 他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。 それならお前の責任だよ。 > 工数増加を認めない形で。 それは契約で決めること。どうせいままでそれでOKって言ってきたんだろ? 自業自得だよ。工数をどうするかは話し合って決めろ。それがフェアってもんだ。
196 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 21:22:11.12 ID:AmHCeUDK0.net] で、一番言いたいことはだな。 お前の下請けが作ったPromiseっぽいもの=Promiseではない物の 挙動に対応するためのsetTimeoutを、Promiseの話をしている所に 持ち込むなってことだ。 結局最初に指摘したとおり、setTimeoutは意味なかったじゃねーか。
197 名前: ◆SEdFBOkLSw (アウアウ Sa9f-wJFc) mailto:sage [2016/09/15(木) 21:22:30.90 ID:AXf5reAda.net] >>194 何を問題とされてるかわからん。 何か悔しいことでもあんの?ずっと絡むけど。
198 名前: ◆SEdFBOkLSw (アウアウ Sa9f-wJFc) mailto:sage [2016/09/15(木) 21:23:20.69 ID:AXf5reAda.net] >>195 指摘が間違ってるんだもの。 俺は最初から対象絞ってる。 それが読めなかったお前のミスだよ。
199 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 22:11:54.19 ID:AmHCeUDK0.net] > 俺は最初から対象絞ってる。 なら、その対象を絞っているとわかるという レスを言ってみ。な?できないだろ?w
200 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/15(木) 22:14:48.03 ID:AmHCeUDK0.net] >>41 でこう言ってる。 > 俺は残り回数渡して再帰すると思うわ。setTimeoutで包んで。 ここまでPromiseの話しかしていない。 Promiseでないものの話はしていない。 そして>>43 ですぐに突っ込まれてる > > setTimeoutで包んで。 > > またなぁw 余計な一言。 > なんでsetTimeoutを含まなきゃならんのか。 > これも何も分かってない証拠よ。
201 名前:デフォルトの名無しさん (JP 0H7f-9vqT) mailto:sage [2016/09/16(金) 10:52:56.75 ID:HeaYZHP4H.net] 引用してレスするときは、レス番入れてくれ
202 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/16(金) 11:00:28.46 ID:iNqeUBooa.net] >>199 >>28 プロミス使わない >>41 再帰する、ただsetTimeoutはかける >>48 プロミスかどうかわからんプロミスっぽいものへの言及 なんていうか、否定されたことが悔しくて仕方ないのかな。 無能なのに。
203 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/16(金) 23:13:36.20 ID:90O68WAb0.net] × プロミスかどうかわからんプロミスっぽいものへの言及 ○ 下請けが作ったプロミスではないものへの言及 だったはずだが? プロミスっぽいもの = プロミスではない。 だからPromiseの話題をしている所に、 お前の会社固有のPromiseではないものへの問題の 解決策を書いてどうするんだ?って話なんだが。 どこからどう見ても他の人にとって参考になる話じゃない。 どうしてPromiseとは違う自社固有の問題ですって言えないのかな?
204 名前: ◆SEdFBOkLSw (スププ Sdbf-wJFc) mailto:sage [2016/09/17(土) 00:19:06.22 ID:bfjDDIRyd.net] >>202 そう書いてんじゃん。 プロミスっぽいもの、って。 自社固有と言うより、実装固有の話でしょ。 それがネイティブであろうが、ポリフィルであろうが、babelでトランスパイルされていようが。 少なくとも中がホワイトボックスになるまではさ。 だから、ずっと、実装の話してんだけど。 「プロミスとは違う」とは最初に言ってんじゃん。っぽい、って。 読解力ゼロなの?
205 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 00:48:52.51 ID:46oy45zx0.net] > そう書いてんじゃん。 > プロミスっぽいもの、って。 問題はそこじゃない。 それがプロミスでない以上、それは関係ないものの話だ。 Promiseの話をしているときに、お前は全く別のライブラリ それも下請けに作らせたものの話を、何の説明もなく始めたんだよ。 オープンソースでもない、お前の会社でしか使われてない ライブラリの問題点の解決策をするなって言ってる。
206 名前:デフォルトの名無しさん (ワッチョイ 333c-eXu6) mailto:sage [2016/09/17(土) 13:14:09.94 ID:q/Ue3ybd0.net] このスレで単にPromiseと言えばES6(2015)で標準化された仕様に則ったものだと認識されるだろう それ以外の物を前提に話をされても周りは混乱するだけだから、その場合はライブラリ名を示すなり「下請けが作った独自実装で標準的でないPromiseっぽい物」と呼ぶなりして区別すべき 少なくともただ>>23 としか聞いていない質問者に「下請けが作った独自実装で標準的でないPromiseっぽい物」の怪しい実装を前提にした答えを返すのは間違ってる
207 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 13:31:39.53 ID:5r5hyKhZ0.net] Promiseが使えるのはES6からである。 つまりIEにも対応しないといけない以上ES5も使うしか無い。 babelは間に挟まってるから、使ったらいけない。 polyfillも信用してはいけない。 自社で作るのが最善の選択。 ただしコストがかかるから下請けに作らせる。 下請けは技術力がないからPromiseではなくPromiseっぽいものしか作れない。 Promiseっぽいものにはthenが非同期ではなく同期的にしてしまうバグが有るもの。 それが常識なのだから、そのバグに対応するコードを入れるのも常識。 他社に他社の不具合改修させたら契約周りがクソめんどくさいので、そのへんは俺が見た。 と◆SEが言っている。 一方俺は仕様どおりに作られているbabel(babel-polyfill)のPromiseを使った。 標準Promise+機能強化版のpolyfill、bluebirdもおすすめ
208 名前: ◆SEdFBOkLSw (スププ Sdbf-wJFc) mailto:sage [2016/09/17(土) 13:54:13.02 ID:gYNx5cgjd.net] 自分の読解力の無さを責任転嫁されても。 俺と同じ意見の人も居たわけだし。 ポリフィルで、ポリフィルで、babelで、でもまあ好きにすれば良いよ。 ただ、それらが提供するのは開発者側への作りやすさ、であって、 同じ動作に関しては、同じアウトプットを出すって事位なんだけどね。 全く同じパフォーマンスで動くわけでもないし、ボトルネックの箇所が同じでもないから、結局変なチューニング必要になるんだけど、 Webってそういうのには鈍感というか、許容力あるんだなって思う。
209 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 14:07:27.46 ID:5r5hyKhZ0.net] ? 同じ10倍でも、10秒が1秒なら早くなったと思うが、 0.1ミリ秒が0.01ミリ秒になっても同じ10倍でも違いはわからない。 人間がが違いがわからず、実用上の問題も発生してないならば何の問題もないんだが。 まず、あんたは「○○の可能性がある」ことへの対処をいまやろうなんて考えずに 問題が出てから、解決するようにした方がいいよ。 チューニングはパフォーマンス上の問題があることを証明してからやるもんだ。 Promiseだって同じ「バグが有る可能性がある」から対処する。なんてことをやるから みんなから叩かれまくるわけで、まず最初に問題を明らかにしなさい。 (明らかにした結果、お前の会社特有の問題だったから、ほれみろって更に叩かれてるわけだがw)
210 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 14:11:54.06 ID:5r5hyKhZ0.net] Webは開発スピードを上げて開発コストを下げ、 素早いリリースを行って、顧客への価値を提供することに敏感。 だからいろんなものを利用して、いろんなものを自動化する。 金はかかった分だけ顧客から請求すればいい。 だからいくら時間とコストがかかっても、自社で作ったほうがもうかる。 なんて甘い考えは許されないよ。そういう考えの方が鈍感だ。
211 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 14:21:07.52 ID:5r5hyKhZ0.net] > 俺と同じ意見の人も居たわけだし。 それはお前の会社特有のライブラリのバグだって お前が言ってなかったから、勘違いしてだけだろw そいつにもう一回聞いてみ? 賛同するやつはもういなくなったよな。
212 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/17(土) 14:32:31.76 ID:zBZkMFuAa.net] 何発狂してるかわからん。 そこまで否定されたくないならコメント欄閉じたブログでもやれば?
213 名前:デフォルトの名無しさん (オッペケ Sr1f-wJFc) mailto:sage [2016/09/17(土) 14:52:41.97 ID:jsgB6gIBr.net] そんなことより>>193 で「休みの日にでも書いてみるわ」と書いていたそれを待ってる
214 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 14:59:33.46 ID:5r5hyKhZ0.net] >>212 察しろwww
215 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 15:03:49.07 ID:5r5hyKhZ0.net] >>211 否定とかいう話じゃなくて、 お前が認めろってこと。 お前の会社特有の問題でPromiseには必要がないコードをお前は書いた。 後出しでPromiseっぽい(=Promiseではない)ライブラリの話だって言い始めたが、 そのライブラリが何かを言わず、何度も指摘されてようやく言った答えが 「自分の会社の下請けに作らせたライブラリ」であり このスレに関係がある人はまずいないので、何の意味もないコードだった。 なんで認められないかな?
216 名前: ◆SEdFBOkLSw (ワッチョイ 8f20-wJFc) mailto:sage [2016/09/17(土) 17:58:56.12 ID:05Sg5rip0.net] >>212 うん、それはすまん。 割と家族サービスしてる。 >>214 え、うん、それは認めてるってか、最初に言ってるよね。
217 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 18:03:21.47 ID:5r5hyKhZ0.net] > え、うん、それは認めてるってか、最初に言ってるよね。 最初に言ってるというのなら、 それがどのレスか明確にできるはずだね。 やってみてよw お前の会社特有の問題であり、正しい動きするPromise(もちろんpolyfill含む)を 使ってる人には関係ない話であると明確に言ってるレスはどれ?
218 名前:デフォルトの名無しさん (ワッチョイ f3a1-wJFc) mailto:sage [2016/09/17(土) 18:03:58.06 ID:HS1+a0Vc0.net] プロミスっぽいものって表現が曖昧で未だに要領を得てない ES6を意図して設計されたなら実装はともかくプロミスと呼べばいいじゃない
219 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 18:20:19.47 ID:5r5hyKhZ0.net] >>217 PromiseにもPromiseっぽいものにも当てはまる話であれば 全然やってかまわないんだが、今の論点はsetTimeoutの必要性だからさ。 setTimeoutの必要がPromiseっぽいものだけに必要で、 そのPromiseっぽいものが自社の下請けが開発したもの、 つまりその他の人は入手不可能な話であれば、 それは「他の人には関係ない」(setTimeoutは必要ない)と 明確にいわないとだめでしょ。
220 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/17(土) 23:13:48.37 ID:koWdyLJia.net] >>218 明確に書いてあるのに読めないのはお前だよ。 読解力の無さを恨め。
221 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/17(土) 23:30:27.21 ID:5r5hyKhZ0.net] その明確に書いてあるというレスが どれかを言えないのはなぜ?w それにお前がPromiseではないものの話をしてるのなんて分かってる。 聞き出したからな。 その上で、Promiseじゃないもの(=お前の会社でしか使われてない 下請けに作らせた変なライブラリ)の話を、誰にも関係ない話を ここでするなって言ってる。
222 名前: ◆SEdFBOkLSw (スププ Sdbf-wJFc) mailto:sage [2016/09/18(日) 09:52:43.30 ID:E9Iy4dNEd.net] >>220 聞き出さんでも、書いてたのに。 っぽい、って。
223 名前:デフォルトの名無しさん (ワッチョイ 039d-/1gl) mailto:sage [2016/09/18(日) 09:56:55.58 ID:7fymcmTA0.net] ご利用は計画的に
224 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 11:12:24.51 ID:8zKQ5/pX0.net] >>231 ようやく認めたか。 「っぽい」が言ってるところだって。 それで"他の人"にこの言い合いの論点がはっきり見えるようになったなw 「っぽい」の一言でお前の会社独自の問題で、下請けが作ったライブラリの 話だってわかるわけがないだろ。これを「書いてない」って言ってるんだよ。 「っぽい」だけだともしかしたらどこかの有名なPolyfillライブラリの可能性がある。 だからsetTimeoutに意味がある可能性もある。 だが、お前独自の問題であるなら話は別だ。ブラウザネイティブのPromiseや Promiseのpolyfillを使ってる人など他の人には問題がない。 他の人に問題がないお前独自の問題を、何の説明もなく ここに書くなって言ってんの。
225 名前: ◆SEdFBOkLSw (スププ Sdbf-wJFc) mailto:sage [2016/09/18(日) 13:21:06.89 ID:E9Iy4dNEd.net] >>223 うん?ようやく認めたかというか、最初からそうとしか言ってないけど。
226 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 13:34:06.17 ID:8zKQ5/pX0.net] 最初から言ってるのは「っぽい」だけであって、 (そうお前が認めた) それが、自分の会社の下請けが作ったライブラリで 他の人には全く関係ない話だとは、指摘されるまで言ってない。
227 名前: ◆SEdFBOkLSw (スププ Sdbf-wJFc) mailto:sage [2016/09/18(日) 13:58:16.71 ID:E9Iy4dNEd.net] >>225 しつこいやつだな。 そう認めたというより、そう書いてあるでしょ。 書いてある事から導出できることは自明なんだからわざわざ解説しないでしょ、って言ってるの。 説明を求めるほうがみっともないって理解しなよって言ってんの。最初に書いたよね、って。
228 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 14:01:00.72 ID:8zKQ5/pX0.net] > そう認めたというより、そう書いてあるでしょ。 だからそう認めたのはどの時点だって言ってるんだが?w まず「っぽい」からは自社の会社特有で このスレのほかの人には関係ない話であることがわかるわけがない。 他の人に、setTimeoutする必要はないですねって わかるようになったお前の書き込みはどのレスかって レス番を聞いてるんだが、それを答えてないよな?w
229 名前:デフォルトの名無しさん (ササクッテロ Sp1f-eXu6) mailto:sage [2016/09/18(日) 14:16:51.35 ID:0+yFEvXAp.net] Promiseのことを聞かれたのに標準的でないごく限られたダメ環境でしか使わないバットノウハウをさも正しい事の様に言ってた無能がいたってだけだろ その無能が延々と自己正当化と言い訳を繰り返してるのは痛々しい 無能が無能を晒してるのは面白いが質問スレとしては迷惑でしかないからいい加減黙れよと
230 名前:デフォルトの名無しさん (ワッチョイ 039d-/1gl) mailto:sage [2016/09/18(日) 14:31:20.95 ID:7fymcmTA0.net] ご利用は計画的に
231 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/18(日) 17:51:20.25 ID:GT+aCNo8d.net] >>228 あ、そうだよ。 その指摘は正しい。 元レス見ればわかる話なんだけど。 >>227 が、聞き出したとか、明示とかアホなこと言ってるけどね。 普通に日本語読めれば>>228 でしかないよ。
232 名前:デフォルトの名無しさん (ワッチョイ 5b5b-chWY) mailto:sage [2016/09/18(日) 17:58:25.20 ID:EyfwcZsT0.net] いや普通に日本語読めれば>>228 の「無能」=◆SEdFBOkLSwなんだが、、、
233 名前: ◆SEdFBOkLSw (ワッチョイ 8f20-wJFc) mailto:sage [2016/09/18(日) 19:26:09.87 ID:pBvlgmH/0.net] >>231 だからそうだけど。あのレスはバッドノウハウでしかないよ。 書いてないことを読む奴と、書いてあることが読めない奴、多いもんだな。
234 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 22:58:17.63 ID:8zKQ5/pX0.net] >>230 > 元レス見ればわかる話なんだけど。 繰り返すが まず「っぽい」からは自社の会社特有で このスレのほかの人には関係ない話であることがわかるわけがない。 他の人に、setTimeoutする必要はないですねって わかるようになったお前の書き込みはどのレスかって レス番を聞いてるんだが、それを答えてないよな?w
235 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 22:59:45.82 ID:8zKQ5/pX0.net] 元レス元レスって繰り返すばかりで それがどのレスかを自分で言うことが出来ないんだよねw
236 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/18(日) 23:45:21.05 ID:JCqetgs6a.net] >>52 だけど。 >>233 わかるわけ無い →お前がわからなかっただけだと思うけど。 読めないものが読める人間以外は、とりあえずPromiseでは無いもの、と読めると思うけど。 setTimeoutする必要は無い →Promiseっぽいものであれば、必要な場合がある →必要ない場合ではないのは、Promiseっぽいものではない場合(対偶) →→Promiseの場合は必要ない だよね。 馬鹿にはわからんのかもしれんけど。
237 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 23:52:53.93 ID:8zKQ5/pX0.net] > 読めないものが読める人間以外は、とりあえずPromiseでは無いもの、と読めると思うけど。 人の話をちゃんと聞け。Promiseでは無いものであることなんか最初っからわかってる。 ↓ちゃんと読め 「っぽい」の一言でお前の会社独自の問題で、下請けが作ったライブラリの 話だってわかるわけがないだろ。これを「書いてない」って言ってるんだよ。 「っぽい」だけだともしかしたらどこかの有名なPolyfillライブラリの可能性がある。 だからsetTimeoutに意味がある可能性もある。 だが、お前独自の問題であるなら話は別だ。ブラウザネイティブのPromiseや Promiseのpolyfillを使ってる人など他の人には問題がない。 他の人に問題がないお前独自の問題を、何の説明もなく ここに書くなって言ってんの。
238 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 23:54:00.62 ID:8zKQ5/pX0.net] > setTimeoutする必要は無い > →Promiseっぽいものであれば、必要な場合がある > →必要ない場合ではないのは、Promiseっぽいものではない場合(対偶) > →→Promiseの場合は必要ない ここでも、お前の会社特有の問題でお前以外に setTimeoutは必要ないってことが書かれていない。
239 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/18(日) 23:55:01.93 ID:8zKQ5/pX0.net] Promiseの場合は必要ないじゃなくて、 setTimeoutの話をするなって 言ってるのが理解できんのかね?
240 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:06:03.05 ID:uQftjblXa.net] >>237 別に俺の会社特有とか拡大解釈せんでも、一般論として必要ないと言ってるんだから、包含でしょ。。常識的に考えて。 読み取れなかったなら、そう認めりゃ良いのに。 最初から言ってたことまでここまで噛み砕いて理解できなければ重症。 >>238 自分が思った話の順番でないと許せないちょっと頭にハンディキャップがある人でもあるまいし。 するな、しろ、すべき、すべきでないの話では無いでしょ。 お前がそうではあるべきでないと思ってるだけでさ。
241 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:07:31.58 ID:uQftjblXa.net] アホはアホなりに等身大に生きりゃいいのに。 それがbabelなのかもしれんけど。
242 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:10:08.37 ID:Rfn/Judi0.net] >>239 > 別に俺の会社特有とか拡大解釈せんでも、一般論として必要ないと言ってるんだから 言ってない。 お前が言ったのは「Promiseっぽい」ものには必要といっただけ。 「Promiseっぽい」ものは、他の人も使ってる可能性がある。 他の人は誰にも使えないものであることを言ってない。 俺が指摘してようやくお前は「Promiseっぽい」ものが お前の会社特有で、他人は誰も使えないものだと言った。
243 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:13:35.63 ID:uQftjblXa.net] 言ってない、と言うなら、 Promiseっぽいものは「どこかの有名なポリフィルライブラリ」とも言ってないじゃんね。 書いてないことを認めさせるのと同時に、書いてないことを認めないのも変な話。 わかる訳がないも何も、Promiseではない、で充分なんだけど。 ブラウザネイティブや、正しいPromiseのポリフィルがなものが、Promiseでなく、Promiseっぽいものであるのであれば、中段の意味があるけど、そうじゃない事を主張してるならまるごと無意味な言いがかりじゃん。 ただの思い込みの補正を一所懸命に相手に責任転嫁してるだけだよ、それ。
244 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:14:29.40 ID:uQftjblXa.net] >>241 何を守りたいのか全然わからん。 メンツが守りたいなら、あなたは素晴らしい人間だよ。書いてないことが読めるんだから。
245 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:14:55.46 ID:Rfn/Judi0.net] > Promiseっぽいものは「どこかの有名なポリフィルライブラリ」とも言ってないじゃんね。 だから、そのPromiseっぽいものが何かを ずっと聞いたんだろ。 それがお前の会社特有のライブラリであることを言ったのは そのずっと後だ。
246 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:15:46.77 ID:Rfn/Judi0.net] だいたい、永遠とお前の会社特有のライブラリの話を ここでする意味が無いだろ。 後付で言い訳すんなよw
247 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:16:09.97 ID:uQftjblXa.net] >>244 何であろうが、Promiseではない事が確かであればそれは必要十分なんだよ。 お前自分で言ったじゃん。 正しいPromiseのポリフィルは、Promiseそのものだ、と。 っぽいもの、はそうでないものだよ。
248 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:16:20.85 ID:uQftjblXa.net] >>245 知らんがな。
249 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:17:38.63 ID:uQftjblXa.net] 延々と論理的な思考で理解できなかった、思い込みに対して、間違ってると言われても、「おま環」で終わりなのに、頭おかしい奴だなぁ。
250 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:19:11.94 ID:Rfn/Judi0.net] > Promiseではない事が確かであればそれは必要十分なんだよ。 だからPromiseでないことであることはわかってるって言ってるだろ。 問題は、そのPromiseでないものの対処方法(setTimeout)を 何レスもここでずっと話をしているかだ。 お前の会社特有の問題をここで話す意味が無いだろ。 どうして、setTimeoutの話なんかした?
251 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:26:37.45 ID:Rfn/Judi0.net] それからPromiseの話をしている所に 関係ない話を始めるのも頭が悪い。
252 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:27:13.72 ID:uQftjblXa.net] >>249 何レスも蒸し返してるのはお前だけだと思うけど。 わかってるなら、不要な話、対象方法の話すら意味なくて、お前にとっては無視に値する話だと思うんだけど。 どうして、と言われてもな。 何が気になるの?バッドノウハウでも、その意図が理解できなかった自分の無力さを、必要がないものだから俺は知らなくていいんだ、って開き直りたいの? そうだね() パフォーマンスなんてどうでもよくて() 結果が正しいければ良い()から、 babelに頼れば万事解決だ()
253 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:27:48.96 ID:uQftjblXa.net] >>250 知らんがな。 最初に気づかんかった奴に言われても、もっと頭が悪いんだなとしか言えん。
254 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:29:35.73 ID:uQftjblXa.net] 何言われても、最初に言ってる以上、 俺は馬鹿だから説明しろ、としか読めん。 おやすみ。
255 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:34:11.35 ID:Rfn/Judi0.net] > 何言われても、最初に言ってる以上、 それがどのレスか書いてない以上、 それを明らかにすることがお前に大きな ダメージを与えるんだろうなw
256 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:35:14.24 ID:uQftjblXa.net] >>235
257 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:35:32.93 ID:Rfn/Judi0.net] 繰り返すが、 だからPromiseでないことであることはわかってるって言ってる。 問題は、そのPromiseでないものの対処方法(setTimeout)を 何レスもここでずっと話をしているかだ。 お前の会社特有の問題をここで話す意味が無いだろ。 どうして、setTimeoutの話なんかした? setTimeoutの話を始めた理由、 Promiseの話をしている所に関係ない話を始めた理由 これにも答えてないよな。
258 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:36:05.33 ID:Rfn/Judi0.net] >>255 >>256
259 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:38:50.94 ID:uQftjblXa.net] >>256 寝る前に言っとくが、俺の会社とかそういう問題でなく、 Promiseのポリフィル書くときには理解しておくべき話で、かつ、そのポリフィルが信頼できない場合には有用な話だよ。 なんで、setImmediateまで各ポリフィルが実装してるか理解してればイベントループわかるんじゃねえの? これが説明。 お前あんま仕様仕様言いながら、言語仕様理解してないんじゃない?
260 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:39:40.61 ID:uQftjblXa.net] とりあえず有名所のポリフィル読んでこい。
261 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 00:42:47.22 ID:Rfn/Judi0.net] ほらまた始めたよw 自分の会社の特有の問題なのに それをやっぱり認められないんだなw
262 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:43:35.84 ID:uQftjblXa.net] >>260 また始めたじゃなくて。 お前の生き恥ばっか晒すなよ。
263 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:45:38.82 ID:uQftjblXa.net] StackOverFlowでもやってるやつ居たわw stackoverflow.com/questions/27647742/promise-resolve-then-vs-setimmediate-vs-nexttick
264 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:48:21.34 ID:uQftjblXa.net] 有名所のライブラリも過去やっとるな。 https://github.com/kriskowal/q/issues/342
265 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:49:16.49 ID:uQftjblXa.net] だいぶ古い話 https://github.com/nodejs/node/issues/2736
266 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 00:58:13.40 ID:uQftjblXa.net] 有名所の実装には、「必要だから」要れてあるな。 https://github.com/then/promise/blob/master/src/done.js
267 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 01:00:35.52 ID:uQftjblXa.net] ドヤ顔で恥晒して楽しかったかな。
268 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 01:08:04.58 ID:uQftjblXa.net] そのsetImmediate自体のポリフィルはこのへんか。 https://github.com/YuzuJS/setImmediate/blob/master/setImmediate.js さて何がかいてあるんだろうな。
269 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 01:09:00.72 ID:uQftjblXa.net] 無知は罪だわ。 馬鹿はそれだけで贖罪の道を歩むだけマシだな。
270 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 01:25:53.79 ID:uQftjblXa.net] 結論。 まともな事でも、最小限の言い方で説明すると、理解できない馬鹿なキチガイが発狂する。 死ぬまで治らないんだろうな。早く直してほしいけど。
271 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 03:21:44.40 ID:Rfn/Judi0.net] ◆SEが必死過ぎて面白いwww
272 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/19(月) 11:03:38.65 ID:uQftjblXa.net] >>270 せっかく説明してやった上に、ソースまで出してやったのにえらい言いようだな。
273 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/19(月) 11:18:48.18 ID:YRbv8ESld.net] しかし、自分に知識がなかったことは認めとかないと致命的な成長するよ。
274 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 11:47:30.33 ID:Rfn/Judi0.net] なんか話をすり替えようとしているようだが、 「っぽい」から他の人には関係ない話だとわからないと言ってる。 Promiseじゃないものっていうのはわかってるんだよ。 他人に関係ない話をするなって言ってる。
275 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/19(月) 13:42:12.53 ID:YRbv8ESld.net] >>273 お前がすり替えたんじゃねえの? setTimeoutの必要性に。 わからないのはお前が、Promiseっぽいものにはなぜそれが必要だったか理解出来てないからだと思うが。 現にお前以外の人にも、理解できてる人もいる始末なんだし。 他人、と拡大解釈をするんじゃなくて、なぜ「僕の理解できない話はしないでください」とか言えないのかな。
276 名前:デフォルトの名無しさん (ワッチョイ 23ce-chWY) mailto:sage [2016/09/19(月) 14:05:16.18 ID:Rfn/Judi0.net] Promiseの話をしている所に 別のライブラリの話をするなってことなんだけど? しかもそのライブラリはお前しか使えないようなものだし。
277 名前: ◆SEdFBOkLSw (アウアウ Saff-wJFc) mailto:sage [2016/09/20(火) 00:35:55.40 ID:
] [ここ壊れてます]
278 名前:lDGpEihla.net mailto: 言うに困ってそれかよw 「自分が問題として提起していたものすべて言いがかりでした、 本当の目的は僕が考えている話の流れを乱されたくなかったんです」 と認めれば良いのにね。 この期に及んでまだそれとは哀れすぎるわ。 前世があるとしたら、カナブンかなんかだったんだろうな。 [] [ここ壊れてます]
279 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 00:41:55.77 ID:yINrKhu90.net] javascriptで隠された直リンクを調べる方法ってある?
280 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 00:42:18.77 ID:yINrKhu90.net] javascriptで隠された直リンクのURLを調べる方法ってある?
281 名前:デフォルトの名無しさん (オッペケ Sr1f-wJFc) mailto:sage [2016/09/20(火) 01:05:22.83 ID:J/hU/DKBr.net] >>277-278 JavaScriptで隠したならJavaScriptで探すことも可能だろうな
282 名前:デフォルトの名無しさん (ワッチョイ 5b5b-chWY) mailto:sage [2016/09/20(火) 01:21:46.93 ID:XjntHf8Q0.net] >>277-278 「ある」が多分答えになる。 >>279 > javascriptで隠された直リンクのURLを調べる方法ってある? ○ javascriptで、隠された直リンクのURLを調べる方法ってある? △ javascriptで隠された、直リンクのURLを調べる方法ってある? この質問の技術レベルから推測すると、単に display='none' に対しての検索だと思われる。
283 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 02:38:10.11 ID:yINrKhu90.net] その通りでかなり無知の状態>< 例えばこういうサイトでスケジュールの日にち毎のURLを見つけたり 発売前のチケットのURLを探ったりできるものなの? https://hlo.tohotheater.jp/net/schedule/043/TNPI2000J01.do
284 名前:デフォルトの名無しさん (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 10:41:34.59 ID:zWY6BtDna.net] >>281 document.getElementsByTagName('a')
285 名前:160@JavaScript ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 10:42:55.89 ID:zWY6BtDna.net] また、SEがどうのと面倒くさい事いわれそうなのでトリップもつけとく
286 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/20(火) 12:14:33.13 ID:8LSbbqoSd.net] ほんといい迷惑だよね。 多分俺が許せないだけなんだろうけど、彼は。
287 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 12:47:16.08 ID:zWY6BtDna.net] >>284 彼があなたを許せない事と俺が◆SEdFBOkLSwと同一人物と思われることは別問題だけどな あなたに同情はするが、あなたは複数のレスを繋ぎ合わせないと正解に辿りつけない書き方をしているようだし、半分ぐらいは自己責任だと思う
288 名前:デフォルトの名無しさん (ワッチョイ ffa7-chWY) mailto:sage [2016/09/20(火) 12:54:12.23 ID:5olMFzu20.net] 傍から見れば>>8 の荒らしもそれを延々と突ついてる>>284 も等しくいい迷惑だわ
289 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 13:01:26.27 ID:yINrKhu90.net] >>282 ソースにdocument.getElementsByTagNameがあるのを確認できたが そこからどうすればいいんだ?
290 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 13:54:34.75 ID:zWY6BtDna.net] >>287 >>282 で得たa要素ノード郡を for 文や forEach で回して a.href を参照するだけ 入門サイトで DOM の基本を学べばすぐに作れるレベルで全く難しくない
291 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 14:13:07.18 ID:zWY6BtDna.net] …と思ったが、>>281 のa要素は静的リンクじゃなく、javascriptスキームを使ってるな <a href='javascript:ScheduleUtils.purchaseTicket("20160920", "043", "013402", "0431", "03", "4")' class="wrapper"> ↓ https://hlo.tohotheater.jp/responsive/js/utils/scheduleUtils.js purchaseTicket は form にセットして post してるのでURL, postパラメータのリストしか得られない ブラウザでURLを叩いて遷移するタイプじゃない こんな感
292 名前:じでリンク元のa要素からコードを辿れば出来る [] [ここ壊れてます]
293 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 18:02:31.77 ID:yINrKhu90.net] >>288-289 ありがとう。でもちょいと俺には難しいな‥。 要するに直リンクのURLを絞り出すのは無理ってことでいいのかな?
294 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 19:16:06.94 ID:zWY6BtDna.net] >>290 URLとパラメータはわかるのでPOSTメソッドを送信する仕組みがあるなら可能 この辺のキーワードで分からなければ諦めるべきかと
295 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 19:23:54.00 ID:zWY6BtDna.net] >>290 サーバがGETパラメータも受け付けるようにしていれば可能と思って試してみたら出来た ttps://hlo.tohotheater.jp/net/ticket/043/TNPI2040J03.do?site_cd=043&jyoei_date=20160921&gekijyo_cd=0431&screen_cd=03&sakuhin_cd=013402&pf_no=3&fnc=1&pageid=2000J01&enter_kbn= URL生成が面倒だが、直リンクも出来なくはないな JavaScriptコード解析が面倒だから制作代行までする気はないが
296 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 21:00:08.19 ID:yINrKhu90.net] >>291-292 おぉー、凄いっ!! それは発売前の上映回のURLも抽出できますか? もしできるなら俺みたいな素人でも使えるような仕様で作ってもらえませんか? 有償でも構いません。きちんとお礼はします。
297 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/20(火) 21:01:29.62 ID:8LSbbqoSd.net] >>285 半分と言わずほぼ自己責任かもしれんが、 複数のレスや、一つのレスからわかってる160 ◆EpG1YCxoikみたいな人が居る以上、そうでない奴は余計に哀れになるわ。 >>286 突かれとるんだよ。。
298 名前:デフォルトの名無しさん (ワッチョイ 83ce-chWY) mailto:sage [2016/09/20(火) 21:04:38.25 ID:fS5Ni7aU0.net] なんか知らんがチケット転売のにおいがするな。 不正は出来ないと言っておこう。
299 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 21:56:24.19 ID:zWY6BtDna.net] >>293 質問スレなんだからあなたが作る行為の手助けはしても制作代行はしないぞ(>>1 のルール違反でもある) それに2chのようなきちんとした担保のない場で有償の仕事を引き受ける気はない 適当な業者に費用を払ってお願いするのが筋
300 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 22:09:05.57 ID:WhzcSu5aa.net] >>294 いや、俺も過去の◆SEdFBOkLSwと他の人のやり取りを見てようやく理解できた(>187)と思ったらいろいろ突っ込みをもらった口だぞ 今でもあなたの考えを理解できない部分はあるが、面倒だから質問してないだけ(質問しても期待する程にははっきりした回答が得られない) もし、◆SEdFBOkLSwが誰にも質問されていなかったら、今でもあなたの考えが全く分からなかったと思うよ だから、◆SEdFBOkLSw に「初めから分かるように全部書け」な気持ちは少なからず持ってる
301 名前:デフォルトの名無しさん (ワッチョイ 27a6-Q9AQ) [2016/09/20(火) 22:15:16.83 ID:3dWZHagR0.net] 初心者向けでとりあえず一通り基礎を勉強できるいいサイトあったら教えてください。
302 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/20(火) 22:39:51.58 ID:WhzcSu5aa.net] >>298 https://developer.mozilla.org/ja/docs/Web/JavaScript のチュートリアル(リファレンスは辞書的に使う) MDNを学び終えたら uhyohyo.net/javascript/ ある程度、学んだら仕様書は一通り読めるようになった方がいい jtdan.com/spec/
303 名前:デフォルトの名無しさん (ワッチョイ 5bc9-Ex6f) mailto:sage [2016/09/20(火) 23:13:10.04 ID:yINrKhu90.net] >>296 わかりました。ご丁寧にありがとうございました。
304 名前:デフォルトの名無しさん (ワッチョイ 5b5b-chWY) mailto:sage [2016/09/21(水) 00:54:15.96 ID:g4LO1Cu10.net] >>298 既にプログラミングが出来る(JavaScriptの初心者=他言語で500行程度なら問題なく書ける)のならMDN。 299と同じだが>>7 プログラミング自体の初心者なら、多分C#とかJavaとかの方が上達が早いからそうした方がいい。 ソースはこのスレの馬鹿共。 Ruby on Railsの話だが、以下ページでとんでもない数のコメントがついているのを参考にすればいい。 blog.sumyapp.com/2013/07/no-recommend-rails/
305 名前: ◆SEdFBOkLSw (スフッ Sdbf-wJFc) mailto:sage [2016/09/21(水) 09:53:32.79 ID:rxOfowfVd.net] >>297 なるほど、それはすこし驕ってたな。 気をつけるわ
306 名前:デフォルトの名無しさん (ワッチョイ 177b-2wAQ) mailto:sage [2016/09/21(水) 11:25:46.75 ID:Fil1hk+D0.net] >>293 他人のサイトを解析して、所定の方法以外でアクセスすると、営業妨害で逮捕される そのサイトが、アクセスを許可している、APIを提供していない場合、 ソースコードが公開されていても、ツールでアクセスしてはいけない 君にツールでのアクセス権は、許可されていない。 手作業で、通常のアクセスに限る。そうしないと営業妨害 自作ツールを作って、図書館に毎日、1万回以上アクセスしていた、男が有罪だった
307 名前:160 ◆EpG1YCxoik (アウアウ Sa9f-UmMt) mailto:sage [2016/09/21(水) 13:00:32.28 ID:/STonJJWa.net] >>303 「不正アクセス禁止法」と「業務妨害罪」がごっちゃになってないか? 岡崎図書館事件では「1秒に1回の頻度でアクセスするクローラの動作」を業務妨害容疑として訴えられたもので不正アクセスは関係ない 技術者目線でみればこのクローラの挙動は常識的な範囲という意見が主流だと思う https://ja.wikipedia.org/wiki/%E5%B2%A1%E5%B4%8E%E5%B8%82%E7%AB%8B%E4%B8%AD%E5%A4%AE%E5%9B%B3%E6%9B%B8%E9%A4%A8%E4%BA%8B%E4%BB%B6 takagi-hiromitsu.jp/diary/20100710.html 訴えられた方は最終的に「相手サーバのパフォーマンスを自分勝手に予測し、レスポンスに気を配らなかった」と折れているが librahack.jp/okazaki-library-case/ あと、クローラは一般に認められる範疇で問題のある行為ではない 検索エンジンのbotも最近はJavaScriptを解釈してリンク先を辿るものがあるしね 気になるのは ttps://hlo.tohotheater.jp/net/ticket/043/TNPI2040J03.do がPOSTパラメータを使っていて、GETパラメータでリクエストする事は考慮していなさそうな事だが レスポンスは同じなので、「本来制限されているコンテンツを得る行為」には該当しない とはいえ、GETパラメータのリクエストが制限される可能性はあるので、POSTパラメータを送っておく方が安心だけどね
308 名前:デフォルトの名無しさん (ワッチョイ 83ce-chWY) mailto:sage [2016/09/21(水) 21:44:46.57 ID:NGNffyIV0.net] >>302 わかったか? 今度から気をつけな。
309 名前:デフォルトの名無しさん (ワッチョイ 1c7b-hDf0) [2016/09/22(木) 06:51:12.63 ID:esuUIiS60.net] 画像でよくあるのが、拡大すると、ダウンロードできないようにしてあるサイト。 右クリックメニューが開かないように作っている クローラーで解析すれば、こういうのもDLできてしまう。 DLされたくないから、わざわざこういうように作っているのに、 回避技術を使って、DLすれば営業妨害 たった1円でも、盗電・他人の水を使っただけでも、有罪になる 相手が被害届を出すのは自由。 エロサイトでもクロールしていて、刑事が会社に来れば、 それだけでも退社せざるを得ないw
310 名前: ◆SEdFBOkLSw (スププ Sdb8-xdvH) mailto:sage [2016/09/22(木) 11:19:17.89 ID:3pIcfs21d.net] >>305 人の尻馬に乗るなよ(笑)
311 名前:デフォルトの名無しさん (ワッチョイ 3d9d-CmFv) mailto:sage [2016/09/22(木) 11:38:39.64 ID:ufH1buhr0.net] 訳のわからん自己主張の討論は別スレ建ててやってくれよ スレ違い
312 名前:デフォルトの名無しさん (ワッチョイ ddce-5q76) mailto:sage [2016/09/22(木) 11:43:30.70 ID:zXBENXMk0.net] >>307 言葉が丁寧なだけで、俺と言っていることは同じなんだが?w
313 名前: ◆SEdFBOkLSw (スププ Sdb8-xdvH) mailto:sage [2016/09/22(木) 13:25:35.54 ID:3pIcfs21d.net] >>308 そう言う趣旨でこのスレ立てたんだったよな。面目ない。 >>309 なら、俺と同じく伝えるのが下手()なんじゃない? とあまり嫌味言っても仕方ないが、相手になるほどと言わせられなかった奴が、なるほどと言わせられた奴に乗っかって「俺同じ事言ってたんだぜ」と言っても馬鹿にしか見えないわ。
314 名前:デフォルトの名無しさん (ワッチョイ ddce-5q76) mailto:sage [2016/09/22(木) 13:28:52.43 ID:zXBENXMk0.net] > なら、俺と同じく伝えるのが下手()なんじゃない? 俺の場合、わざとやってるからなぁw でそんなことより、お前認めたよな? 自分の説明が下手だって。
315 名前:デフォルトの名無しさん (スププ Sdb8-xdvH) mailto:sage [2016/09/22(木) 13:40:31.50 ID:3pIcfs21d.net] >>311 何を絡んでるかもうわからんわ。 嫌味だって書いたところで、それにマジ突っかかりされても。 ではコテハン捨ててだれを「呼ばわり」するか楽しみにする事にするわ。 んでは。
316 名前:デフォルトの名無しさん (ワッチョイ ddce-5q76) mailto:sage [2016/09/22(木) 14:38:16.38 ID:zXBENXMk0.net] コテハンもIDも俺には関係ないな。 俺は内容に対して煽ってるだけだからなw
317 名前:デフォルトの名無しさん (ワッチョイ 3d9d-CmFv) mailto:sage [2016/09/22(木) 14:51:45.59 ID:ufH1buhr0.net] >>310 どこかのチャットでやった方が効率良いんじゃないの?
318 名前:160 ◆EpG1YCxoik (アウアウ Sa25-eLic) mailto:sage [2016/09/23(金) 21:13:22.19 ID:SEw5gZaja.net] >>312 > ではコテハン捨ててだれを「呼ばわり」するか楽しみにする事にするわ。 それをやられると、あなたの発言を俺と勘違いする奴が出てくるので勘弁してほしい (ワッチョイ 23ce-chWY) との応酬はどちらかがレスを止めれば良かった 初めは違ったのかもしれないが、後半は意地の張り合いになっているから議論する意味は全くない 何にでも「切り上げ時」ってものがある
319 名前:デフォルトの名無しさん (ワッチョイ ddce-5q76) mailto:sage [2016/09/23(金) 22:28:34.17 ID:MCHe7LJO0.net] 意地の張り合いというか、それが面白くて2ちゃんねるをやってるのだから、 なんで盛り上がってるときにやめないといけないの?って感じだよw コテハン & レスを返してくる & スキがある内容 & 突かれて痛い点(何度聞いても答えない点)がはっきりしてる 遊ぶ相手には最適でしょw
320 名前:デフォルトの名無しさん (オッペケ Src9-xdvH) mailto:sage [2016/09/23(金) 23:13:29.45 ID:a1JqpWb9r.net] 他人の反応を面白がって煽る人と技術的な議論を求める人の違いか 確かに議論の余地はないな
321 名前:デフォルトの名無しさん (アウアウ Saf6-xdvH) mailto:sage [2016/09/24(土) 02:20:31.69 ID:bcRI8Hfya.net] >>316 突かれて痛い点とかなんとか言うが、ちゃんと指摘してるのに、自分の理解が及ばないが故に「それは無効、言ってない、はいバリアー!」みたいな小学生みたいな真似されりゃ、諦めもするよ。 >>317 技術的もあるけど、概念的な話というか、実装に対しての反対側の話がしたいなら形而上学的な話になって仕方ないはずなんだが、こいつには理解できんらしいんよね。 俺は最初は無駄ではないと思ってたよ。
322 名前:デフォルトの名無しさん (ワッチョイ 613c-Px3x) mailto:sage [2016/09/24(土) 15:19:34.43 ID:qxCcVgpZ0.net] i.imgur.com/JjAU77X.jpg 無能と無能が喧嘩してるのは、普通に質問したい初学者にとって迷惑でしかないからやめろと
323 名前:デフォルトの名無しさん (ワッチョイ ddce-5q76) mailto:sage [2016/09/24(土) 15:26:00.03 ID:e4J3FKju0.net] >>317 まあ単純に「Promiseっぽいもの」の一言で そいつの会社独自のライブラリで他人には関係ないものの話を しているなんてわかるわけないし、 そもそも他人に関係ない話であれば、ここでする意味はないし、 さらにいうならばPromiseの話題でPromiseではないものへの 対応コードを入れる意味は無いわけだ。 話をまとめるとこういうことだよ。
324 名前:デフォルトの名無しさん (オッペケ Src9-xdvH) mailto:sage [2016/09/26(月) 08:56:44.88 ID:vSvkRnqZr.net] それぞれに言い分はあっても終着地点が違うのではすれ違うだろうさ 一方は痛い奴(と本人は思ってる)を叩いて遊び、一方はコードや技術概念を突き詰める
325 名前:デフォルトの名無しさん (ワッチョイ bece-5q76) mailto:sage [2016/09/26(月) 09:13:32.77 ID:juGwjv/D0.net] 一方は「Promiseっぽい」って言っただろって言い訳w
326 名前:デフォルトの名無しさん (オッペケ Src9-xdvH) mailto:sage [2016/09/26(月) 09:33:17.87 ID:vSvkRnqZr.net] 言い方に問題があることは本人も認めているわけでいつまでもネチネチと掘り下げてくる方が質が悪い
327 名前:デフォルトの名無しさん (ワッチョイ bece-5q76) mailto:sage [2016/09/26(月) 09:37:43.74 ID:juGwjv/D0.net] はて? いつPromiseにsetTimeoutは必要ありませんって認めたっけ?
328 名前:デフォルトの名無しさん (スフッ Sdb8-xdvH) mailto:sage [2016/09/26(月) 12:09:05.42 ID:FLo6YfYTd.net] 頭致命的に悪いから仕方ないよ。 ある発言はある発言の対偶に等しいと理解できないんだよ。
329 名前:デフォルトの名無しさん (オッペケ Src9-xdvH) mailto:sage [2016/09/26(月) 12:25:35.01 ID:vSvkRnqZr.net] 君らのそういうところだ 煽って煽って相手が醜態を晒すのを手ぐすね引いて待っている あの手この手でアプローチをかけてとんでもない彼が失態を晒して「ほら俺のいった通りだったでしょ?」という瞬間を心待ちにしてる 相手をからかって遊ぶのが目的だから話題に一貫性がなくても構わないし、技術的な話題もどうでもいい そういう目的意識の差を感じる
330 名前:デフォルトの名無しさん (オッペケ Src9-xdvH) mailto:sage [2016/09/26(月) 12:36:15.98 ID:vSvkRnqZr.net] setTimeoutのコートは>>193 で「休みの日にでも書いてみるわ」と彼がいっているので気長に待つしかないだろう 彼は>>302 で自分の過ちを認めているわけで死体に鞭打つような真似は大人気ないぞ
331 名前:デフォルトの名無しさん (スフッ Sdb8-xdvH) mailto:sage [2016/09/26(月) 12:38:39.21 ID:FLo6YfYTd.net] >>326 どう批判されてるのか悩む。 醜態なんか晒すの待たなくても、既に醜態晒してるじゃん。 ずーっと俺は同じ事言ってたつもりなんだが、何度も何度も一つが倒れそうになったら、別の事を引っ張り出してきて一所懸命に的外れな事言われてたと思ってるよ。 たまに、それはそうだな、って納得すんのもあったけど。
332 名前:デフォルトの名無しさん (スフッ Sdb8-xdvH) mailto:sage [2016/09/26(月) 12:41:41.95 ID:FLo6YfYTd.net] >>327 実例があった方がわかりやすいからな。 それに関してはなんぼでも鞭打てばいいと思うよ。 死体に鞭打って楽しいなら打つべきだと思うが。他人に迷惑かからんうえに相手も死んでだし。
333 名前:デフォルトの名無しさん (ワッチョイ eaa7-5q76) mailto:sage [2016/09/26(月) 13:30:47.57 ID:zwjJTZsm0.net] 楽しかろうがそれを質問スレでやる時点でもう荒らしなんで
334 名前:デフォルトの名無しさん (ササクッテロ Spc9-Px3x) mailto:sage [2016/09/26(月) 13:42:40.99 ID:DOkGWhZ/p.net] >>324 俺が>>228 で◆SEを(setTimeoutというバッドノウハウをさも一般的なものの様に晒す)無能呼ばわりしたのに対して>>230 でその通りと認めてるぞ? まあ何か読み間違えてる気配がするがそれはそれで◆SEの無能っぷりが強調されるのだからそれで満足しとけよ
335 名前:デフォルトの名無しさん (ワッチョイ abc9-rzru) mailto:sage [2016/10/05(水) 01:05:21.26 ID:PmOsfWOQ0.net] window.openする際に任意のリファラを送信する方法を教えてください。
336 名前:デフォルトの名無しさん (ワッチョイ fbce-RPp1) mailto:sage [2016/10/05(水) 21:46:15.04 ID:f4G2o0Wy0.net] あるわけない
337 名前:デフォルトの名無しさん (ワッチョイ 7f5b-+y5M) mailto:sage [2016/10/05(水) 23:39:08.09 ID:ocwKASsk0.net] var _atomLinter = require('atom-linter'); .... var packagePath = (0, _atomLinter.findCached)(fileDir, 'package.json'); こういう記述に出会ったのですが、これは関数呼び出しをしていると考えてよろしいのでしょうか? もしそうならば、_atomLinter.findCached(fileDir, 'package.json') と違って (0, _atomLinter.findCached) は何を意味しているのでしょうか? これだけではわからないかもしれませんが
338 名前:デフォルトの名無しさん (アウアウ Sad9-lsIp) mailto:sage [2016/10/06(木) 05:27:31.88 ID:UiyyjboBa.net] >>334 (0, _atomLinter.findCached)はカンマ演算子によって左側が切り捨てられて(_atomLinter.findCached)になる あとはただの関数呼び出し 0は何の役にも立ってない
339 名前:デフォルトの名無しさん (ワッチョイ aa5b-892l) mailto:sage [2016/10/06(木) 10:06:25.24 ID:vBPKLb6z0.net] >>335 ありがとうございます。 カンマ演算子ですか。 演算子と意識していなかったので全然わかりませんでした。 ちょっとしたコードを書いて確かめてみました。 初期値を与えるのを意図しているようですが、おっしゃる通りに意味が無いようですね。 この人の書いたコードは、下記のようにnullやundefinedなどが入らないようにしっかりと値の判定をしているので似たように書いてしまったのかもしれませんね。 var prefixPath = config.globalNodePath || getNodePrefixPath();
340 名前:デフォルトの名無しさん (アウアウ Sad9-lsIp) mailto:sage [2016/10/06(木) 10:48:53.61 ID:UiyyjboBa.net] >>336 ごめん嘘 カンマ演算子を適用すると(findCached)になる だからメソッドじゃなくて関数として呼び出されることになる 例) var foo = 'outer'; var obj = { foo: 'inner', bar: function(){ console.log(this.foo); } }; obj.bar(); //innerと表示 (0, obj.bar)(); //outerと表示
341 名前:デフォルトの名無しさん (ワッチョイ aa5b-892l) mailto:sage [2016/10/06(木) 13:05:39.65 ID:vBPKLb6z0.net] >>337 再度の回答、ありがとうございます var hage = (0, ((hoge) => hoge)(1)); というコードしか確かめませんでしたので、違いがあるのが分かりませんでした。 提示いただいたコードを適当に動かしただけでは、thisがundefinedになるため動きませんでしたがthisが異なっているのは確認できました。 今のところthisを変えると言うか呼び出し元を変えるための構文と思っておくことにします。 開発者ツールが適用出来れば良いのですが、適用しづらいと言うか適用仕方が分からない構成になっています。 _atomLinter.findCached(fileDir, 'package.json');と変えても、正常に動いているように見えます。 もっとも細かい関数の動きを調べる必要はないので、今のところはこの程度の理解で済ませておきます
342 名前:デフォルトの名無しさん (ワッチョイ f9ce-lsIp) mailto:sage [2016/10/06(木) 22:27:16.11 ID:ki04Ecez0.net] なんや? 俺の出番か? var o = {v: 1, foo: function() {console.log(this)}} o.foo(); // => Object {v: 1} (o.foo)(); // => Object {v: 1} (0, o.foo)(); // => Window {...} o.foo.call(null); // => Window {...} これで何がやりたいかわかるやろ?
343 名前:デフォルトの名無しさん (ワッチョイ 019d-psoB) mailto:sage [2016/10/08(土) 16:34:26.85 ID:70hrlDpk0.net] 質問です <input type="button" value="変更" id="btn" /> <div class="aaa bbb" id="box">文字列< /div> #btnをクリックする度に#boxにクラス'ccc'を追加、 追加されている場合は削除という感じにしたいので jQueryのtoggleClass()のような感じです 標準APIのみでシンプルにやる方法はないのでしょうか?
344 名前:デフォルトの名無しさん (ワッチョイ 42a7-lsIp) mailto:sage [2016/10/08(土) 17:40:17.71 ID:fCjDUJos0.net] https://developer.mozilla.org/ja/docs/Web/API/Element/classList ほい
345 名前:デフォルトの名無しさん (ワッチョイ f9ce-lsIp) mailto:sage [2016/10/10(月) 23:10:44.49 ID:oCisyuHf0.net] classlistっていうのはjQueryと似てるけど、 やっぱりjQueryをパクったのかな? caniuse.com/#feat=classlist Android 3以上じゃないと動かないし、 IEは10以上、Safariも5.1以上 サポートされたのは比較的最近だしね。
346 名前:デフォルトの名無しさん (オッペケ Sr4d-xaNP) mailto:sage [2016/10/10(月) 23:22:01.29 ID:cHikoA2wr.net] パクったかは知らんが、影響は受けているだろうな classListは返り値が配列に近いのが分かりやすくていいな
347 名前:デフォルトの名無しさん (ワッチョイ eb90-ByRo) mailto:sage [2016/10/18(火) 20:45:08.01 ID:IbB57MNR0.net] jQueryについて質問なんですが、こういう記述があるのですがどう実装してるのかわかりません $(function(){ // ここにプログラムを記述 }); 呼び出し側からはどう呼んでいるのでしょうか?
348 名前:デフォルトの名無しさん (ワッチョイ 1bce-8qPS) mailto:sage [2016/10/18(火) 21:39:46.91 ID:2Y34d6Lk0.net] $っていうのは単なる変数名。だからfooでも同じ。 foo(function() { // ここにプログラムを記述 }) そしてこういう関数を作ればいいだけ。 function foo(func) { func(); } この手の処理をここまで直感的かつシンプルに書けるのは JavaScriptが一番じゃないかな?
349 名前:デフォルトの名無しさん (オッペケ Srd7-Oa01) mailto:sage [2016/10/18(火) 21:48:53.07 ID:Vq083WMfr.net] >>344 ごく普通のコールバック関数 qiita.com/matsuby/items/3f635943f25e520b7c20
350 名前:デフォルトの名無しさん (ワッチョイ 7b5b-Oa01) mailto:sage [2016/10/18(火) 23:13:36.51 ID:TMbk3UjO0.net] >>346 横からだけど参考になります JSすごいわ
351 名前:デフォルトの名無しさん (アウアウ Sac7-QR+e) mailto:sage [2016/10/19(水) 14:30:36.50 ID:BuiU+rAja.net] >>193 から1カ月経つわけだが、◆SEdFBOkLSw はそろそろ進捗報告(生存報告)でもしてもらえないかね… いつ来るかわからないコードを延々と待ち続ける心情を理解出来ないわけではないと思うのだが
352 名前:160 ◆EpG1YCxoik (アウアウ Sac7-QR+e) mailto:sage [2016/10/19(水) 14:31:47.12 ID:BuiU+rAja.net] >>348 はトリップを付け忘れた
353 名前:デフォルトの名無しさん (ワッチョイ 3f0f-AIfR) mailto:sage [2016/10/25(火) 01:39:10.58 ID:UGDfYeLy0.net] リンクをクリックすると非同期で情報をappendするのですが、 リンクにタブのカーソルがあるとき、エンターを押しっぱなしにすると連続でリクエストを送ってしまいます。 サーバに負担がかかるので、それをやめたいのですが、どういった実装が必要でしょうか?
354 名前:デフォルトの名無しさん (ワッチョイ 6aa7-AIfR) mailto:sage [2016/10/25(火) 02:17:27.30 ID:ptXLDz+K0.net] addEventListenerで二度目からpreventDefault()すればいい
355 名前:デフォルトの名無しさん (オッペケ Sr89-YT5Q) mailto:sage [2016/10/25(火) 12:17:41.58 ID:ZMREunEJr.net] >>350 一般にはkeyupしたときにsubmitが確定するが、そうなってないのでクリックハンドラ処理がおかしいのでは? submitイベントハンドラにすると良い
356 名前:デフォルトの名無しさん (ワッチョイ 6aa7-AIfR) mailto:sage [2016/10/25(火) 13:57:41.15 ID:ptXLDz+K0.net] 寝る前に書いたにしても>>351 は酷すぎたわ申し訳ない 二度目以降は止めたいなら単に自身をremoveEventListenerすればいいし 間隔が問題ならdebounce処理を間に挟んで間引くのが無難なやり方だよ
357 名前:デフォルトの名無しさん (ワッチョイ fd9d-kL33) mailto:sage [2016/10/25(火) 14:29:29.67 ID:9wvcs0ok0.net] >>350 if (document.activeElement.id == this.id) { return; } のようにタブのカーソルがあるときは実行しないようにしたら?
358 名前:デフォルトの名無しさん (アウアウ Sae5-tZnL) mailto:sage [2016/10/25(火) 20:08:35.95 ID:cZNQUySfa.net] >>350 リンクをクリックしたらページ遷移が1回だけ発動するはずだが、どのようなコードになっているのか? 現象を再現可能なコードをjsfiddleにでもUP 何となく、a要素を <input tyoe=
359 名前:デフォルトの名無しさん (ワッチョイ 17ce-AIfR) mailto:sage [2016/10/25(火) 21:50:19.14 ID:2bCSgEUm0.net] tyoe wwww
360 名前:デフォルトの名無しさん (アウアウ Sae5-tZnL) mailto:sage [2016/10/25(火) 23:27:28.69 ID:hDtHd2Cda.net] keyup 時に処理するように挙動を変更すればいいだけな気がする https://jsfiddle.net/noosyxrh/ 上例はデフォルトアクションのタイミング制御しかしないので、やりたい処理に応じて上手いこと書き換える必要があるが [Enter] キー押下で click が連続発火しなかったので、なにがしか処理方法に問題がある気がしないでもない
361 名前:デフォルトの名無しさん (ササクッテロ Sp89-vevC) mailto:sage [2016/10/25(火) 23:46:36.30 ID:TvY7V7/qp.net] 面倒だしtabindexに負の値入れてタブキーでフォーカスさせないというお手軽対処でいいんじゃね?
362 名前:デフォルトの名無しさん (スプッッ Sdc8-YT5Q) mailto:sage [2016/10/26(水) 21:12:13.47 ID:OgUHHQRXd.net] js初心者です。ひとつ質問させてください jqueryで要素のstyleを変えるにはcss()メソッドを使えばいいと分かったのですが、 classのstyle等はどうやって変えるのでしょうか クラスに属するひとつひとつの要素のstyleを変えたいのではなく、 chromeの検証のstyleタグを開くと一番上がelement.styleで、 その後適用が後のものから順にクラス等のcssが表示されていますが、それを変更したいのです よろしくお願いいたします
363 名前:デフォルトの名無しさん (ワッチョイ fd9d-kL33) mailto:sage [2016/10/26(水) 22:28:46.35 ID:RGR5F2yC0.net] 不要なら elm.removeClass('hoge') で削除する 変更なら elm.attr('class', hoge) で変更する
364 名前:デフォルトの名無しさん (スプッッ Sdc8-YT5Q) mailto:sage [2016/10/26(水) 22:35:09.97 ID:+ptKBLbQd.net] >>360 すみません、要素のクラスを変えたいのではなく、 クラスのstyleを変えたいのです
365 名前:デフォルトの名無しさん (アウアウ Sae5-tZnL) mailto:sage [2016/10/26(水) 22:38:40.25 ID:pP2wLoL4a.net] >>359 document.styleSheets でぐぐるべし
366 名前:デフォルトの名無しさん (ワッチョイ fd9d-kL33) mailto:sage [2016/10/26(水) 22:39:00.61 ID:RGR5F2yC0.net] >>361 Chromeならelement.stylesで要素を参照して 同じ名称でhead内にcssを差し込むしかないね
367 名前:デフォルトの名無しさん (スプッッ Sdc8-YT5Q) mailto:sage [2016/10/26(水) 22:44:02.68 ID:+ptKBLbQd.net] >>362 ありがとうございます! 調べてみます!
368 名前:デフォルトの名無しさん (ワッチョイ 17ce-AIfR) mailto:sage [2016/10/26(水) 22:56:56.16 ID:Tc/AxpVE0.net] >>361 クラスのスタイルは変えてはいけません。 できたとしてもそれは最終手段であり、通常はやってはいけません。
369 名前:デフォルトの名無しさん (ワッチョイ fd9d-kL33) mailto:sage [2016/10/26(水) 23:06:47.69 ID:RGR5F2yC0.net] >>361 window.addEventListener('load', function() { var style = document.createElement('style'); style.setAttribute('type','text/css'); style.innerHTML = '' + '.abc { color: red; }' + '.def { color: green; }' +; document.head.appendChild(style); }); stylesheetで上書きする方が無難でいいと思うけど
370 名前:デフォルトの名無しさん (アウアウ Sae5-tZnL) mailto:sage [2016/10/26(水) 23:54:56.21 ID:pP2wLoL4a.net] insertRuleもあるし、CSSOM操作が絶対にいけなんとは思わないがな ほとんどの場合は classList.add や setAttribute で属性追加してカスケード処理するのが有用だとは思うが、背景が伏せられているのでよくわからん 自己責任で好きなようにやればいい
371 名前:デフォルトの名無しさん (ブーイモ MMff-O9pn) mailto:sage [2016/10/27(木) 08:15:00.86 ID:RBAQUZqxM.net] スタイルの内容が動的じゃないなら外部スタイルシートを追加でリンクする/外すでもいいと思う。
372 名前:デフォルトの名無しさん (ワッチョイ 7bd4-0DI1) mailto:sage [2016/10/28(金) 20:30:06.56 ID:FhhZb6Sy0.net] 今日からjavascriptはじめた超初心者なんですが ファイルに書いたjsファイルを特定のページに対して実行するのってどうすればいいんでしょうか 検索してもブックマークレットってURLに直接書くタイプのしかでてこなくて…
373 名前:デフォルトの名無しさん (ワッチョイ 7fa7-0DI1) mailto:sage [2016/10/28(金) 22:11:50.22 ID:3tZbr/Tc0.net] 一度でいいならブラウザのコンソールから実行する 開くたびに実行したいならブラウザ拡張機能にする
374 名前:デフォルトの名無しさん (ワッチョイ f7d4-0DI1) mailto:sage [2016/10/29(土) 05:01:04.49 ID:mzVDYMHP0.net] 外部ファイル実行するのって大変なんですね… また明日拡張機能探してみることにします ありがとうございました
375 名前:デフォルトの名無しさん (ワッチョイ fb5b-0DI1) mailto:sage [2016/10/29(土) 10:02:00.80 ID:jtquJtCQ0.net] >>371 つGreasemonkey
376 名前:デフォルトの名無しさん (ワッチョイ fbd4-0DI1) mailto:sage [2016/10/29(土) 14:26:59.38 ID:4L5uX2dN0.net] おかげさまでようやくchromeの拡張機能使って動くようになりました javascriptや認証のあるページで最終表示結果のHTMLの中の 特定要素だけconsoleに書き出すみたいなことをやりたいんですけど document.getElementsByClassName('クラス名'); だとみつからないみたいなんですけど これでとれるのってjavascript実行前のソースなんですか? 右クリックページ保存やったときに保存されるみたいな最終表示結果を取得するのってどうしたらいいんでしょうか
377 名前:デフォルトの名無しさん (ワッチョイ 639d-6yLz) mailto:sage [2016/10/29(土) 15:11:47.91 ID:eSvC8hNl0.net] >>373 script内で実行後に console.log(document.getElementsByClassName('クラス名'););
378 名前:デフォルトの名無しさん (ワッチョイ fbd4-0DI1) mailto:sage [2016/10/29(土) 15:28:25.26 ID:4L5uX2dN0.net] リプありがとうございます script内で実行後っていうのはどういうことなんでしょうか chromeの拡張機能のこともいまいちわかってなくて 入門サイトみてmanifestをみようみまねでかいて contents scriptに指定したjsファイルにこんな感じでかいてるだけなんですが var elements = document.getElementsByClassName('クラス名'); if(elements.length <= 0) { console.log("みつからない"); } var text = ''; for (var i = 0, n = elements.length; i < n; i++) { text += elements[i].innerHTML; } console.log(text); みたいな感じでかくとみつからない表示になってしまいます ソースを表示してみるとjavascriptで生成してるページでその中にはターゲットクラス名が含まれておらず 右クリック保存だとちゃんとターゲットクラス名が含まれたHTMLが保存できます
379 名前:デフォルトの名無しさん (ワッチョイ 639d-6yLz) mailto:sage [2016/10/29(土) 15:45:31.59 ID:eSvC8hNl0.net] >>375 var elements = document.getElementsByClassName('クラス名'); が scriptが読み込まれる前に生成されていないんだと思うが
380 名前:デフォルトの名無しさん (ワッチョイ 7fa7-0DI1) mailto:sage [2016/10/29(土) 21:09:20.12 ID:ZzJnDxi00.net] manifest.jsonのrun_atをdocument_idleにして実行を遅らせてみ それでもページのスクリプトより実行が早くなるならsetTimeoutで更に遅らせるなり MutationObserver等を使って目当ての要素が挿入されるのを監視するのが無難
381 名前:デフォルトの名無しさん (ワッチョイ fbd4-0DI1) mailto:sage [2016/10/29(土) 21:36:26.17 ID:4L5uX2dN0.net] おおお できました ありがとうございます! run_at のほうははじめから document_idle になってましたがダメで setTimeOutを使ってみたら期待通りの動作しました ほんとにありがとうございます
382 名前:デフォルトの名無しさん (ワッチョイ fbd4-0DI1) mailto:sage [2016/10/29(土) 22:10:35.71 ID:4L5uX2dN0.net] 何度も低レベルな質問をして申し訳ないんですが ページを一定時間ごとに自動更新して特定のデータを取得し続けるみたいなことがしたいんですけど 今度は window.location.reload(); を読んでリロードすると Consoleがリセットされてしまって過去のデータが残らないんですよね さすがにローカルファイルに書き出すなんてセキュリティ上無理ですよね… 更新じゃなくて同じページに過去のデータをポストで送ってそれを取得し続けるみたいなことをやる必要があるんでしょうか 何かいい方法があればお知恵を借りたいんですけど…
383 名前:デフォルトの名無しさん (ワッチョイ 639d-6yLz) mailto:sage [2016/10/29(土) 22:18:30.10 ID:IiHCnPUJ0.net] >>379 localStorageに保存すれば?
384 名前:デフォルトの名無しさん (ワッチョイ 7fa7-0DI1) mailto:sage [2016/10/29(土) 22:20:38.86 ID:ZzJnDxi00.net] 保存したいデータが5MBで収まるならlocalStorageが簡単でいいんじゃない Chrome拡張機能APIで確かファイル書き出しもできたと思うが詳しくは知らない
385 名前:デフォルトの名無しさん (ワッチョイ fbd4-0DI1) mailto:sage [2016/10/30(日) 00:47:15.90 ID:wlHDuxDi0.net] あ そういうのがあるんですね また明日調べてやってみます 何から何まで本当にありがとうございます
386 名前:デフォルトの名無しさん (ワッチョイ e7d4-0DI1) mailto:sage [2016/10/30(日) 12:45:09.20 ID:yceMF8Zl0.net] localStorageすごく簡単にできました おかげさまで目的の動作するプログラムになりました 1からいろいろ教えていただいて本当にありがとうございました
387 名前:デフォルトの名無しさん (ワッチョイ 638f-ijxz) mailto:sage [2016/10/31(月) 13:05:19.08 ID:zObjWshz0.net] 同じクラスからインスタンス化されたインスタンスであることを確認する方法って jsだとどうするんですか? instance1.getClassName() === instance2.getClassName() みたいな感じで比較できればいいんですが
388 名前:デフォルトの名無しさん (ワッチョイ ef5b-d7wh) mailto:sage [2016/10/31(月) 13:18:31.69 ID:zLbftr0J0.net] >>384 instance1.constructor == instance2.constructor
389 名前:デフォルトの名無しさん (オッペケ Sr7f-Jz20) mailto:sage [2016/10/31(月) 16:59:41.59 ID:AB5WXEkbr.net] >>384 Object.getPrototypeOf() https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf
390 名前:デフォルトの名無しさん (オッペケ Sr7f-Jz20) mailto:sage [2016/10/31(月) 23:14:20.37 ID:hNQh9muDr.net] constructorは書き換え可能なのでお勧めはしない
391 名前:デフォルトの名無しさん (ワッチョイ 638f-ijxz) mailto:sage [2016/11/01(火) 09:28:16.69 ID:BSBrE7zi0.net] >>385-387 ありがとうございます。getPrototypeOf()を使えってことですね。 (constructorは書き換えられるかもしれんので)
392 名前:デフォルトの名無しさん (ササクッテロラ Sp7f-QpRP) mailto:sage [2016/11/01(火) 15:25:48.55 ID:5Vz9y2ecp.net] ここで聞いてごめんなさい Chrome API関連のスレって無いのでしょうか?
393 名前:デフォルトの名無しさん (ワッチョイ f7c9-0DI1) mailto:sage [2016/11/02(水) 12:57:38.86 ID:A9UccZAb0.net] >>389 残念だけど無いよ
394 名前:デフォルトの名無しさん (ワッチョイ 6f3c-KT0d) mailto:sage [2016/11/11(金) 02:38:31.36 ID:D2wQKa1/0.net] ふーん 久々に覗いたらスレいっぱいあるねえw
395 名前:デフォルトの名無しさん (ワッチョイ 93d4-teht) mailto:sage [2016/11/12(土) 09:14:42.56 ID:QNzqS1vq0.net] a=$("div.shosai a").get(0); みたいな記述があったんですが $("〜") どういう意味なんでしょうか hjavascriptの基本文法だけ読んでみたんですがそれらしい記述がのってなかったので…
396 名前:デフォルトの名無しさん (ワッチョイ 139d-8a14) mailto:sage [2016/11/12(土) 09:42:04.29 ID:cH6osgXp0.net] >>392 a = document.querySelectorAll("div.shosai a")[0];
397 名前:デフォルトの名無しさん (ワッチョイ 93d4-teht) mailto:sage [2016/11/12(土) 10:09:59.48 ID:QNzqS1vq0.net] ありがとうございます これってjavascriptじゃなくてjqueryっていうのの機能なんですか…
398 名前:デフォルトの名無しさん (ワッチョイ 139d-8a14) mailto:sage [2016/11/12(土) 11:44:11.76 ID:D+qxzNnY0.net] >>394 > a=$("div.shosai a").get(0); a=jQuery("div.shosai a").get(0);
399 名前:デフォルトの名無しさん (ワッチョイ 93ce-teht) mailto:sage [2016/11/12(土) 13:32:53.02 ID:/Oox7HNO0.net] >>394 $はただの名前(関数名)。今の時代であれば普通はjQueryなはず。 Prototype.jsが使っていたり、似たような機能をもつ 何かが使っていたりしないことはないけれど。 jQueryはDOM操作を行うときに使われる有名なライブラリ CSSセレクタを使って複数の要素を取得するのはjQueryでもjQueryを使わない場合でも同じだが jQueryの場合はCSSのように複数の要素に対して一括で処理を適用できるから ループが必要になるjQueryを使わないやり方よりも大幅にコード量を減らすことができる。
400 名前:デフォルトの名無しさん (ワッチョイ 93d4-teht) mailto:sage [2016/11/12(土) 15:54:26.15 ID:QNzqS1vq0.net] 詳しくありがとうございます なるほど関数名だっていわれれば納得しました あともう1つ var maturl="",nowstat; みたいな記述があったんですけど 値をカンマで2つならべるってどういう意味なんでしょうか
401 名前:デフォルトの名無しさん (ドコグロ MM5f-O45g) mailto:sage [2016/11/12(土) 15:57:17.48 ID:ZMSwRqOtM.net] >>397 それは値を並べているのではなく、宣言を並べている。 var maturl=""; var nowstat; と同じ。
402 名前:デフォルトの名無しさん (オッペケ Sr2f-PwKp) mailto:sage [2016/11/12(土) 18:49:09.54 ID:D2DhjDPcr.net] Google Chrome ならコンソールで $, $$ を使える 変数宣言とカンマ演算子の混同はたまに聞く話だな
403 名前:デフォルトの名無しさん (ワッチョイ 8376-9KU2) mailto:sage [2016/11/13(日) 21:19:30.49 ID:wGLcmS8h0.net] プログラミング初心者です テキストファイルをdropboxからダウンロード、編集してアップロードするブックマークレットを作りたいのですが、難しいですか リクエストヘッダを追加してHTTPリクエストを送信する方法が見つからず悩んでいます
404 名前:デフォルトの名無しさん (ワッチョイ 033c-9MLS) mailto:sage [2016/11/13(日) 21:57:08.84 ID:tmpnoiwb0.net] >>400 つXMLHttpRequest.setRequestHeader() 詳細は↓ https://developer.mozilla.org/ja/docs/Web/API/XMLHttpRequest
405 名前:デフォルトの名無しさん (ワッチョイ 8376-9KU2) mailto:sage [2016/11/13(日) 22:20:12.92 ID:wGLcmS8h0.net] >>401 それはクロスドメイン制約に引っかかると読んで諦めていました 今改めて調べてみるとlevel 2では大丈夫になっているようですね もう少し自分でやってみようと思います 教えていただいてありがとうございます
406 名前:デフォルトの名無しさん (ドコグロ MM2f-O45g) mailto:sage [2016/11/15(火) 13:44:11.62 ID:ZSIymAkBM.net] 小数同士の足し算で結果がずれることは有名だと思いますが、 // a, b は適当な小数 a - b + b == a これがfalseになることはありますか?
407 名前:デフォルトの名無しさん (スフッ Sd1f-wOPQ) mailto:sage [2016/11/15(火) 14:28:43.57 ID:7Oesxf9ud.net] >>403 inf寸前の時は?
408 名前:デフォルトの名無しさん (ドコグロ MM2f-O45g) mailto:sage [2016/11/15(火) 15:47:05.64 ID:ZSIymAkBM.net] >>404 ありがとうございます。確かにinfになれば==はfalseになりますね。 あといろいろ試したら、inf関係なくfalseになることも分かったので自己解決しました。 ありがとうございました。
409 名前:デフォルトの名無しさん (ワッチョイ 93d4-teht) mailto:sage [2016/11/16(水) 10:48:52.80 ID:/uklz8dZ0.net] Javascriptに手を出してみようか思案中の者です、Freeで使いやすいIDEとかありますか?
410 名前:デフォルトの名無しさん (オッペケ Sr2f-PwKp) mailto:sage [2016/11/16(水) 11:12:51.87 ID:xwO+2HlPr.net] >>406 IDEではないが、Atom
411 名前:デフォルトの名無しさん (ワッチョイ bfa7-teht) mailto:sage [2016/11/16(水) 14:47:19.45 ID:8IM8olFk0.net] 俺もAtom使ってるけどエディタの環境構築って結構手間だし 触って動かしてみるだけならクラウドIDEでググって出る適当なやつでいいんじゃね
412 名前:デフォルトの名無しさん (ワッチョイ 138f-dJcJ) mailto:sage [2016/11/16(水) 19:16:28.12 ID:k+C2KHSh0.net] >>406 コレは圧倒的にVisualStudioCodeですわ。 TypeScriptに最適化されてはいるけどJSでも使える。 ESLintとの連携でリアルタイムでエラーを指摘してくれるしおすすめ
413 名前:デフォルトの名無しさん (ワッチョイ 93d4-teht) mailto:sage [2016/11/16(水) 22:56:32.07 ID:/uklz8dZ0.net] >>407-409 ありがとうございました、参考にさせていただきます
414 名前:デフォルトの名無しさん (アークセー Sxa9-2pau) mailto:sage [2016/11/17(木) 11:53:11.08 ID:KoiSDC47x.net] VSCodeのeslintインストール後の設定が全然わからない
415 名前:デフォルトの名無しさん (スッップ Sdb8-RUi6) mailto:sage [2016/11/18(金) 12:23:22.91 ID:Fy1yogynd.net] ad saaaa ah bb cc ddd jj kk みたいなスペース区切りの文字列のスペースをタブに変換するために下記のようなソース作ったんですが、 ReplaceAll(´ ´, ´¥t´ ); この処理を6コラムまでで止めるにはどうしたらいいんでしょうか? 初めて質問するので分かりにくかったらすみません…
416 名前:デフォルトの名無しさん (オッペケ Sra9-2XGH) mailto:sage [2016/11/18(金) 13:39:45.76 ID:7aPQOtQur.net] >>412 6コラムの意味が分からん上にRwplaceAllのコードが不明だが、行頭から6つ目の半角スペースをタブ文字に置換して7文字目以降の半角スペースは置換したくないという事か? /^(?:[^ ]* ){}/ を String#replace で受けてコールバック関数で全置換してみては
417 名前:デフォルトの名無しさん (JP 0H9a-2Ppy) mailto:sage [2016/11/18(金) 13:56:19.27 ID:mP8U9SKKH.net] >>412 6個目までを抜き出してからスペースをタブに変換するとか。 str.match(/(\w+) (\w+) (\w+) (\w+) (\w+) (\w+)/)[0].replace(/ /g, "\t")
418 名前:デフォルトの名無しさん (スッップ Sdb8-RUi6) mailto:sage [2016/11/18(金) 14:17:06.92 ID:Fy1yogynd.net] >>413 >>414 7個目以降のスペースは変換しないというニュアンスで大丈夫です。 分かりずらくてすみませんでした…。 同じような文字列が複数行あるので一行なら楽なのにと考えてました。 ありがとうございます
419 名前:デフォルトの名無しさん (オッペケ Sra9-2XGH) mailto:sage [2016/11/18(金) 18:48:52.51 ID:UCIFFr37r.net] >>415 正規表現がおかしかったので修正 /^(?:[^ ]* ){1,6}/
420 名前:デフォルトの名無しさん (ワッチョイ 9fcf-RAPI) [2016/11/19(土) 04:34:43.26 ID:S6bRHJ270.net] javascriptって演算子を変数に代入できるんですか? 初心者ですみません
421 名前:デフォルトの名無しさん (ワッチョイ 9fcf-RAPI) [2016/11/19(土) 06:20:27.12 ID:S6bRHJ270.net] eval使うことにしました
422 名前:デフォルトの名無しさん (ワッチョイ 5625-UoMj) mailto:sage [2016/11/19(土) 08:10:18.58 ID:HO2/nMyJ0.net] どうぞどうぞ
423 名前:デフォルトの名無しさん (ワッチョイ 1d9d-d8X5) mailto:sage [2016/11/20(日) 13:38:34.89 ID:LjxU80cI0.net] 質問です (function(){ ... }()); (function(){ ... })(); これってどちらが正しいのでしょうか?
424 名前:デフォルトの名無しさん (ワッチョイ 9e5b-S3Pk) mailto:sage [2016/11/20(日) 13:46:46.91 ID:7MT4JQCz0.net] どっちも正しいよ
425 名前:デフォルトの名無しさん (ワッチョイ 5625-UoMj) mailto:sage [2016/11/20(日) 13:48:44.62 ID:kV+MseJx0.net] (function(){...})()については三等兵の記事が大変わかりやすい
426 名前:デフォルトの名無しさん (ワッチョイ 74c9-XpIe) [2016/11/22(火) 10:12:53.53 ID:/Z/CfoTY0.net] javascriptで連想配列って使えない?
427 名前:デフォルトの名無しさん (アウアウウー Sa85-E+0+) mailto:sage [2016/11/22(火) 10:25:52.61 ID:2KNYdR4wa.net] >>423 連想配列はないが、オブジェクト初期化子がそれに近い new Map はもっと近い
428 名前:デフォルトの名無しさん (ワッチョイ c13c-rwfO) mailto:sage [2016/11/22(火) 10:39:27.46 ID:GgHbx+0U0.net] >>423 Objectで済む場合が殆どだがそれで不足なら、ES6ならMap、それ以前ならMapのPolyfillを使う
429 名前:デフォルトの名無しさん (ワッチョイ 74c9-XpIe) mailto:sage [2016/11/22(火) 10:51:58.49 ID:/Z/CfoTY0.net] Map使ってみるわありがとう
430 名前:デフォルトの名無しさん (ワッチョイ 9c7b-wMId) mailto:sage [2016/11/22(火) 12:02:19.09 ID:9QZ/pTkg0.net] obj.__proto__ オブジェクトを連想配列に使っていたら、ES3で、__proto__ でハマる たまたま、__proto__ っていう属性を追加するとバグるから、 何か実行環境が絶対に使わないような、接頭辞を付けた方がよいかも
431 名前:デフォルトの名無しさん (アウアウウー Sa85-E+0+) mailto:sage [2016/11/22(火) 12:08:14.83 ID:2KNYdR4wa.net] >>427 オブジェクトを使うのなら Object#hasOwnProperty, Object.keys の使いこなしが必須(これらは __proto__ 上のプロパティを探さない) 他に Object.create や Object.defineProperty で列挙不可能なプロパティを定義する事もありうる 諸々の対策が煩わしく感じるようであれば、素直に ES6 の Map を使うのが安全で確実
432 名前:デフォルトの名無しさん (アークセー Sxa9-2pau) mailto:sage [2016/11/22(火) 12:16:20.55 ID:Df5HmFWpx.net] window.onloadとか varで作った変数.onloadとかありますけど、JavaScriptのvar型ってwindowのスーパークラスなんですか?
433 名前:デフォルトの名無しさん (ワッチョイ 9c7b-wMId) mailto:sage [2016/11/22(火) 12:29:17.27 ID:9QZ/pTkg0.net] var a; varを付けると、その関数内だけのローカル変数になる。 varが無いと、グローバル変数になるから、すごく危険! ソースコードに「use strict」と書いておけば、var の付け忘れを指摘してくれるから、安全 JavaScriptコード内で”use strict”宣言を使用すると、 そのコードは「strictモード(厳格モード)」で実行されるようになります strictモードでは、より的確なエラーチェックが行われるため、 これまでエラーにならなかったような曖昧な実装がエラー扱いになります
434 名前:デフォルトの名無しさん (ワッチョイ 1d8f-Th+s) mailto:sage [2016/11/22(火) 12:50:08.07 ID:ibIuWkMx0.net] async awaitが非同期的な処理が同期的に処理できて大変便利なんですが 本当に同期的な動作の関数を非同期化してasync awaitの仕組みに合わせて使いたいんですけどどうすればいいですかね。 Node.js上だったらスレッド作ってそっちに処理を投げるようにすればいいんでしょうけどブラウザで似たようなことをする方法ってないですかね? Service Workerを使えば良さそうな気もするんですけど
435 名前:デフォルトの名無しさん (アウアウウー Sa85-E+0+) mailto:sage [2016/11/22(火) 14:54:07.39 ID:2KNYdR4wa.net] >>430 > 本当に同期的な動作の関数を非同期化してasync awaitの仕組みに合わせて使いたいんですけどどうすればいいですかね。 一巡して同期処理に戻っているのでそのまま使えばいいのでは?
436 名前:デフォルトの名無しさん (アウアウウー Sa85-E+0+) mailto:sage [2016/11/22(火) 15:00:55.37 ID:2KNYdR4wa.net] XMLHttpRequest の同期処理が非推奨なので非同期処理させて await で同期処理化している人と同じ奇妙さを感じる あるいは、手段(awaitを使う事)が目的化しているのか
437 名前:デフォルトの名無しさん (ワッチョイ 9cef-XpIe) mailto:sage [2016/11/22(火) 17:27:47.81 ID:9V1XCmGO0.net] 昔node.jsというのが流行っていたと思うのですが、今は何が流行っているんでしょうか 動的に通信する必要がある案件がありまして、主流は何か教えてください
438 名前:デフォルトの名無しさん (JP 0H9a-2Ppy) mailto:sage [2016/11/22(火) 18:08:33.97 ID:P3uNoocwH.net] >>434 今でもnode.js
439 名前:デフォルトの名無しさん (ワッチョイ 1d8f-Th+s) mailto:sage [2016/11/22(火) 20:53:41.81 ID:ibIuWkMx0.net] >>433 いやいや。Promise.raceとか使ってタイムアウト処理を入れたりもできるんで 全く同じというわけでもないです。 ただ同じ大元の同期的関数だとそういうことが出来ないので。
440 名前:デフォルトの名無しさん (ワッチョイ ff3c-tQqt) mailto:sage [2016/11/22(火) 21:07:02.41 ID:Bvoc9IRC0.net] >>436 自分で書いてる答えでok >>432 ブロッキング
441 名前:デフォルトの名無しさん (ワッチョイ 1d8f-Th+s) mailto:sage [2016/11/22(火) 21:56:25.81 ID:ibIuWkMx0.net] >>437 ありがとうございます。ついでにその辺を便利に自動化するようなライブラリってないですかね。
442 名前:デフォルトの名無しさん (ワッチョイ bdce-XpIe) mailto:sage [2016/11/23(水) 01:05:57.96 ID:5kjA5cYz0.net] >>438 WebWorkerを使え。当然だが自動化はしてくれない。
443 名前:デフォルトの名無しさん (ワッチョイ 4b8f-MM3T) mailto:sage [2016/11/25(金) 10:27:47.69 ID:q/GFU+ZW0.net] >>433 async/awaitはあくまで見かけ上同期的に見せかけているだけで 実際に同期処理として動くわけではないです。 つまり通常の同期処理だとイベントループを止めてしまうことに対して awaitを使う場合はイベントループに処理を戻しています。 この点が違うわけですが、逆にasync awaitを使う場合、その辺を理解せずにつかうと 通常の同期処理を混ぜてしまうことになりイベントループを止めてしまうことになりかねません。
444 名前:デフォルトの名無しさん (ワッチョイ 1fa7-lM3r) mailto:sage [2016/11/25(金) 15:03:36.49 ID:CvsKfEOT0.net] 同期処理(のように書ける)
445 名前:デフォルトの名無しさん (ワッチョイ cf4e-PVnu) mailto:sage [2016/11/30(水) 01:47:39.83 ID:V6Jz1e4H0.net] >>434 node.js使えないのか? しばらくこれが主流だぞ。
446 名前:デフォルトの名無しさん (ワッチョイ b736-OPD4) mailto:sage [2016/11/30(水) 10:50:51.97 ID:Sk/SQjO50.net] 超初心者です。 PHPとJavaScriptでホームページ作っていますがJavaScriptの変数名の使い方で質問です phpの場合 変数名 hoge1fuga hoge2fuga ……を使用する時変数iを使って → if(hoge'.$i.'fuga == 'abcd') → $h = 'hoge' $f = 'fuga' if($h$i$f == 'abcd') のような書き方ができますがjavascriptの場合どう書けば良いのでしょうか。 var hoge = fuga1.checked の時に var hoge = fuga + i + .checked の記述にするとエラーになってしいまい、変数名の使い方そのものに疑問が湧きました。
447 名前:デフォルトの名無しさん (ワッチョイ 753c-XfGn) [2016/12/01(木) 13:58:29.23 ID:oZ1ti8EX0.net] d3.jsで時系列の折れ線グラフを作成したんですが ある期間を除外したいんですがどうすればよいでしょうか? 例えば11月1日から11月30日までの折れ線グラフで 土日のみを除外して(詰めて)表示したいんですが サンプルでもよいのでどなたかご存知の方いたら教えてください どうぞよろしくお願い致します
448 名前:デフォルトの名無しさん (ワッチョイ fc7b-lw9A) mailto:sage [2016/12/01(木) 14:50:46.94 ID:91ReGJeh0.net] >>443 変数名は、動的に作れない >>423-428 ここに書いてあるが、連想配列だろ Objectで済む場合が殆どだがそれで不足なら、 ES6ならMap、それ以前ならMapのPolyfillを使う var i = 1; var prop = 'hoge' + i + 'fuga'; var obj = {}; obj[prop] = 'abcd'; console.log(prop, ' : ', obj[prop]); 普通は、オブジェクトのプロパティを、obj.prop と書くけど、 obj[prop] のようなブラケット記法でも書ける ただし、オブジェクトのプロパティを連想配列として使った場合、 プロパティ名がたまたま、__proto__ と一致すると、エラーになる。 obj.__proto__ には、代入できないから
449 名前:デフォルトの名無しさん (ワッチョイ fc7b-lw9A) mailto:sage [2016/12/01(木) 14:58:29.82 ID:91ReGJeh0.net] >>444 データセットと日付を対応させてみる vesna-memo.com/?p=1140 d3.time.format()
450 名前:444 (ワッチョイ 753c-XfGn) [2016/12/01(木) 15:06:58.72 ID:oZ1ti8EX0.net] >>446 データセットと日付はすでに対応付けられておりますが 土日のみをグラフ自体から切り取って平日のみをつなげて表示したいのです そのような制御は難しいでしょうか?
451 名前:デフォルトの名無しさん (JP 0H72-r6VC) mailto:sage [2016/12/01(木) 15:12:04.26 ID:V0GR9lTFH.net] >>447 元データから土日のデータを削除すればいいように思えるが。
452 名前:デフォルトの名無しさん (ワッチョイ 753c-wK09) mailto:sage [2016/12/01(木) 15:26:10.57 ID:oZ1ti8EX0.net] >>448 はい、既に土日データは削除してます ただグラフ上にある土日の期間は空欄で無駄なので省略して表示したいのです
453 名前:デフォルトの名無しさん (ワッチョイ 865b-BMT5) mailto:sage [2016/12/01(木) 23:03:33.36 ID:XIdZTeEF0.net] Reflectの存在意義を教えてください。 qiita.com/ToshihiroGoto/items/36a4b355ba274ab25b46#proxy-%E3%81%A8%E5%85%B1%E3%81%AB%E4%BD%BF%E3%81%86 Proxyのhandlerの中で元のオブジェクトの機能をそのまま返す時に使うとのことですが、 return Reflect.has(target,name); ではなく、素直に return name in target; と書けばいいだけですよね? 他のメソッドについても同じことが言えると思いますが、 それではReflectを有効に使えるのはどのような場面でしょうか?
454 名前:デフォルトの名無しさん (ワッチョイ 52dd-2R1L) mailto:sage [2016/12/02(金) 03:23:30.85 ID:cAbrvXmy0.net] >>450 その例の proxy に対する in 演算子は proxy で定義された has を呼び出すので その has 自身の定義の中では in は使えないことになる(再帰呼び出しになる) ってことじゃない? そのため、元々の in を表現するために Reflect が必要になると
455 名前:デフォルトの名無しさん (ドコグロ MMf4-gqht) mailto:sage [2016/12/02(金) 13:09:59.88 ID:1FE2fahvM.net] >>451 ありがとうございます。 targetは元のオブジェクト(obj)を指すので、再起呼び出しにはならないと思います。 実際に試しましたが、再起呼び出しにはなりませんでした。 もちろん、targetの代わりにproxyを使えば、inでもReflect.has()でも再起呼び出しでエラーになります。 やっぱりReflect.has()を使う意味が分かりません。
456 名前:デフォルトの名無しさん (ワッチョイ 5a0d-J5J/) mailto:sage [2016/12/04(日) 04:59:14.28 ID:cfKCrj340.net] [0,1,2]を[0,0,0,0,1,1,1,1,2,2,2,2]にしたいんだが Uint8ArrayとUint32Arrayとか使ってスマートに実装できんだろうか?
457 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/04(日) 12:41:26.72 ID:LcKQAqeVr.net] >>453 なぜ Uint8Array が使えると思ったのか判らんが、現在のコードをさらしたら? 書いても「それは知ってる」と反応されるのは無駄だから
458 名前:デフォルトの名無しさん (ワッチョイ 5c7b-yaSi) mailto:sage [2016/12/04(日) 12:49:36.96 ID:sKFdzyUb0.net] アルゴリズムの話をしたいのか、該当する命令の有無を知りたいのか不明。
459 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/04(日) 12:56:48.83 ID:ObsZQ3a00.net] つーかここまで書いている本人がわかってないのバレバレな 書き込みもないよなw 本人は知ったかぶりしてるようだが、全く理解してないってのがよくわかるw
460 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/04(日) 17:09:47.58 ID:YTjaleeQr.net] >>453 一応、書いたが、Uint8Array をどう活用しようと思ったのか判らんかった https://jsfiddle.net/c6jhyume/ reduce を使った方がスマートだったかも知れん
461 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/04(日) 20:55:45.10 ID:ObsZQ3a00.net] > reduce を使った方がスマートだったかも知れん 最初にそれに気づかない時点で終わってるよなw
462 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/04(日) 22:39:39.47 ID:ZWOrjn1Er.net] for-ofで十分な気がしなくもない https://jsfiddle.net/c6jhyume/4/ なぜか制御構文を敬遠する人がいるようだが、取り立てて使いづらい訳でもない
463 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/04(日) 22:58:03.32 ID:ObsZQ3a00.net] >>459 SyntaxError: missing = in const declaration こうなるからつかわねーんだよw
464 名前:デフォルトの名無しさん (オッペケ Sr8d-BMT5) mailto:sage [2016/12/04(日) 23:19:40.54 ID:ZWOrjn1Er.net] for-ofでconstはGoogle Chrome では使えるので誤解していたが、Firefox では使えないんだな ES7仕様上はFirefoxが正しいようだ www.ecma-international.org/ecma-262/7.0/#sec-iteration-statements 「for-ofでconstが使えない」はfor-ofを使わない理由としては弱い気がするが
465 名前:デフォルトの名無しさん (アウアウウー Sa19-BMT5) mailto:sage [2016/12/04(日) 23:45:43.13 ID:Gn0FqIa6a.net] 関数の利点はスコープを分けられる事だが、for-of上ではletを使えるのでスコープの問題はない 各々の好みで選べば良い for (let value of source) { push.apply(destination1, Array(4).fill(value)); } const destination2 = source.reduce((destination, value) => (push.apply(destination, Array(4).fill(value)), destination), []);
466 名前:デフォルトの名無しさん (ワッチョイ 865b-BMT5) mailto:sage [2016/12/04(日) 23:47:45.19 ID:+YPrxJ8s0.net] for-of+constも仕様上できるよ IterationStatement[Yield, Return]: for(ForDeclaration[?Yield] of AssignmentExpression[In, ?Yield]) Statement[?Yield, ?Return] 他 ForDeclaration[Yield]: LetOrConst ForBinding[?Yield] LetOrConst: let const ただ、現状 for-of と const の組み合わせに対応しているブラウザが少ない。(Edge14、GC49〜、SF10〜、iOS10〜) kangax.github.io/compat-table/es6/#test-const const > for-of loop iteration scope
467 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 00:13:18.04 ID:PskkFbSl0.net] そこでbabelがでてくる。 babelっていうのはES6以上を今の(ちょっと前の)ブラウザで動くように変換してくれるもの。 もちろん>>463 の一覧にも乗っていてきちんと対応している。 このようにブラウザ間の非互換性を吸収する機能も持っている。 babelをつかわなければ、この機能はこのブラウザで対応していたっけ?って 考える必要があるが、babelを使えばいくつもあるブラウザのことを考える必要はなくなり たった一つ、babelで対応しているか?を考えるだけで良くなる。
468 名前:デフォルトの名無しさん (オッペケ Sr8d-BMT5) mailto:sage [2016/12/05(月) 00:22:45.74 ID:4g48wyMyr.net] >>463 情報ありがとう 改めて見たらES7仕様にも書いてあった よく読む必要があるな…
469 名前:デフォルトの名無しさん (アウアウウー Sa19-BMT5) mailto:sage [2016/12/05(月) 00:30:43.63 ID:nh5tVKvoa.net] Babelを使うならfor-of+constも使えるはずだが、(ワッチョイ 39ce-NTgB)はfor-of+constを使わない(>460)といってる Babelを使うならSyntaxErrorが発生するはずがないが、SyntaxErrorが発生している(>460) 主張に一貫性がない
470 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 00:57:12.64 ID:PskkFbSl0.net] >>460 を主張だと思うから矛盾しているようにみえるんだよw 全てはお前らにブラウザ間の互換性問題の話をさせるための仕込み 俺の本当の目的はbabel布教 俺がいきなりbabel布教したって、他の人にはどれだけ問題があるか わかりづらいだろ? 問題をお前らにさせることで問題があることを 事実だと他の人にわかりやすいようにしたのさ
471 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/05(月) 01:26:44.55 ID:4g48wyMyr.net] 「実は嘘でした」というのは簡単だが、代わりに信用を失う いずれは狼少年と同じ結末を迎える
472 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 01:30:18.08 ID:PskkFbSl0.net] Firefoxでエラーが出るのは本当だし、 それをBabelが解決するのも本当だよ。
473 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/05(月) 01:32:40.86 ID:4g48wyMyr.net] >>460 は「エラーが出るからfor-ofを使わない」と嘘を吐いた
474 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 01:47:11.59 ID:PskkFbSl0.net] >>470 そこ重要?w エラーが出るから実際につかわない人もいるだろ。
475 名前:デフォルトの名無しさん (オッペケ Sr8d-yaSi) mailto:sage [2016/12/05(月) 02:01:37.33 ID:4g48wyMyr.net] 何か矛盾を見つけて指摘された時に「それはポーズだから」と返すのは簡単だが、一度やれば二度目もあると疑われる (ワッチョイ 39ce-NTgB)は「>>467 がポーズではないか」と疑われることは考えてないだろう? 不誠実な人は信用されない
476 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 03:11:18.59 ID:PskkFbSl0.net] なんか矛先をずらそうとして必死だなw
477 名前:デフォルトの名無しさん (ドコグロ MMa9-gqht) mailto:sage [2016/12/05(月) 09:19:03.04 ID:Gg0HaX53M.net] 39ce-NTgBのことは俺も信用してないから安心していいよ Babelはそこそこ好きだけどね
478 名前:デフォルトの名無しさん (アウアウウー Sa19-BMT5) mailto:sage [2016/12/05(月) 11:55:51.70 ID:IVUF59c6a.net] (ワッチョイ 39ce-NTgB)が信用できない事は分かっていたが、想像以上に性根の捻じ曲がった人だったな
479 名前:デフォルトの名無しさん (ワッチョイ c2a7-NTgB) mailto:sage [2016/12/05(月) 14:01:18.77 ID:m8l4mHA+0.net] 今更ワッチョイ晒さなくてもみんな>>8 のやつだってわかってるから 黙ってNG突っ込んどけよ
480 名前:デフォルトの名無しさん (ワッチョイ 34c9-NTgB) mailto:sega [2016/12/05(月) 14:17:29.39 ID:py+X8wbm0.net] JSDocの書き方で質問なんだけど 関数内で使っているグローバル変数を明記するのは どうやって書けばいいの?
481 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 21:45:42.89 ID:PskkFbSl0.net] >>476 そうすれば、誰も俺に反論(見えないからね)しなくなるので 助かるんだけどなぁw
482 名前:デフォルトの名無しさん (ワッチョイ 39ce-NTgB) mailto:sage [2016/12/05(月) 21:46:49.92 ID:PskkFbSl0.net] >>477 そもそもグローバル変数はつかわない
483 名前:デフォルトの名無しさん (ワッチョイ 53c3-drn7) mailto:sage [2016/12/11(日) 07:46:13.44 ID:iSoJ1ckE0.net] Windows7です jsc.exeでJavascriptをコンパイルしてexeファイルを作りたいと思っています いろいろ調べてWScriptを使うためにはActiveXObjectすればいいというのを見つけたのですが var WScript = new ActiveXObject("WScript.Shell"); WScript.Run("notepad.exe", 1, 1); はちゃんと動いたのですが、 var WScript = new ActiveXObject("WScript.Shell"); WScript.Echo("abc"); とするとハングアップしてしまって動きません 解決方法はありますか
484 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/11(日) 11:33:12.05 ID:+I+aM6eT0.net] >>480 ggrks language-and-engineering.hatenablog.jp/entry/20081024/1224781777 www.atmarkit.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk07.html
485 名前:デフォルトの名無しさん (ワッチョイ 53c3-drn7) mailto:sage [2016/12/11(日) 11:42:59.63 ID:iSoJ1ckE0.net] >>481 その辺は見ましたよ わたしがやろうとしてるのは、jsc.exeでWScriptを使えないのかということ stackoverflow.com/questions/9913845/converting-javascript-to-exe-wscript-has-not-been-declared を見ると var WScript = new ActiveXObject("WScript.Shell"); とやれば出来そうに書いてあるけど、基本的なEchoが出来ないのでなんでだろう?ということです でも、Runが動く
486 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/11(日) 12:41:13.74 ID:+I+aM6eT0.net] >>482 文盲には無理。お前のURLから辿れるところに答えが書いてある。
487 名前:デフォルトの名無しさん (ワッチョイ 3736-maiv) mailto:sage [2016/12/11(日) 22:45:18.23 ID:kg/mlddD0.net] function mainで二つの値を以ってfunction subに飛ばして処理するとき 引数2つとも判定に使用していますが物凄く冗長になってしまいました。 function subをコールした時に処理を纏める方法はありますでしょうか。 //global変数 mein_hoge = {nenrei: 1, b:15, c: 30, d :40} target1_hoge = {nenrei: 3, b:20, c: 25, d :10} target2_hoge = {nenrei: 1, b:40, c: 13, d :30} target3_hoge = {nenrei: 2, b:30, c: 32, d :21} function sub(引数1,引数2){ 引数1=1の時 引数2の値で10種類の計算(以下例) //引数2=1の場合 main_hoge['b'] = Math.ceil(main_hoge['b'] * 1.1) //引数2=2の場合 main_hoge['b'] = Math.ceil(main_hoge['b'] * 1.5) main_hoge['c'] = Math.ceil(main_hoge['b'] * 2) //引数2=3の場合 main_hoge['c'] = Math.ceil(main_hoge['c'] * 1.1) ………… 引数1=2の時 引数2の値で10種類の計算(違いは配列名だけ) //引数2=1の場合 target1_hoge['b'] = Math.ceil(target1_hoge['b'] * 1.1) (以下略) 引数1=3の時 (以下略) }
488 名前:デフォルトの名無しさん (スププ Sd2f-8ocn) mailto:sage [2016/12/11(日) 23:26:07.70 ID:DSUXohxod.net] 係数は、 tbl={ 1:1.1 2:1.5 } みたいなの渡せばいいんじゃないの? 配列が変わるなら、配列自体を渡せば? 使途がわからんから読みきれんけど。
489 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/12(月) 00:02:42.32 ID:x9ggXkxf0.net] >>484 > 違いは配列名だけ function sub(引数1,引数2, target_array) { // target_array は変更配列名 target_array['b'] = Math.ceil(target_array['b'] * 1.1); ちなみに係数は>>485 の形式で配列にしておきクロージャでスコープに入れ、引数2で引く。 var coeffs = [1.1, 1.5, 1.1]; function sub(引数1,引数2, target_array) { target_array = Math.ceil(target_array['b'] * coeffs[引数2]); おそらく 'b' や 'c' も同様に出来るのだろうからそれも。 上手く纏まらないのなら諦めてそのまま書くしかない。 あと、その手の場合はenumの値を直接扱うよりは名前で扱った方がいい。 その場合はcoeffsは配列ではなくオブジェクトになる。 (配列の方が速いが名前引きの方が後で分かりやすい。そこで速度が必要とも思えないし)
490 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/12(月) 02:01:34.20 ID:l2OsM7Pl0.net] >>484 はそもそもローカル変数って何?ってレベルだろうな。 まず第一に、グローバル変数は禁止だ。 そのグローバル変数をなくしないさい。
491 名前:デフォルトの名無しさん (オッペケ Sr27-32/C) mailto:sage [2016/12/12(月) 12:35:36.33 ID:VLaUejgQr.net] >>484 次の二択 - switch 文を使う - 配列を使う 引数2の処理は共通なので関数に逃がすか配列にしてコードを共通化するか まあ、配列を使えばすっきりするだろうな ところで、484はコードにすらなってないので制作依頼にも読めるんだが、自分でちゃんと書いてるんだよな?
492 名前:デフォルトの名無しさん (ワッチョイ 53c3-drn7) mailto:sage [2016/12/12(月) 13:40:20.86 ID:KHTlL8cv0.net] JScriptでエクセルを扱うとき var ExcelApp=new ActiveXObject( ”Excel.Application” ) ExcelApp.Visible=true WScript.Sleep( 1000 ) var book=ExcelApp.Workbooks.Open( ”C¥¥Test.xls” ) var sheet=book.Worksheets( 1 ) としてエクセルファイルを開きますが、既に開かれているエクセルファイルを操作するには どうしたらいいでしょうか
493 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/12(月) 22:35:56.90 ID:l2OsM7Pl0.net] switch文すっかり使わなくなったな。 switch文はコードを複雑にするだけだよ。
494 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/13(火) 00:59:35.94 ID:uBZRzWX9
] [ここ壊れてます]
495 名前:0.net mailto: >>489 知らんが、そのまま開くだけじゃないか?要するに普通に2つ開くのと同じ。 一般的に考えて同期してくれるとは思えないが、最近のExcelならもしかして? つか、そんなんでExcel開ける方がびっくりだわ。 大昔からやってる人には常識なのかもしれんが。 ActiveXでIE縛りから逃れられないってこれのことだったのか? ついでに言っておくと、もしかして>>480 って 「ダブルクリックで起動したときにEcho出力が見えません」ってオチじゃないだろうな? それは「ハングアップ」とは言わないぞ。 [] [ここ壊れてます]
496 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/13(火) 02:18:34.59 ID:MvIBvV300.net] >>491 > つか、そんなんでExcel開ける方がびっくりだわ。 > 大昔からやってる人には常識なのかもしれんが。 > ActiveXでIE縛りから逃れられないってこれのことだったのか? 大昔からっていうか、単にお前がWindowsのプログラミングを知らないだけだよ。 Windowsではな、GUIのアプリ同士が連携できる。 あるアプリの中に別のアプリを埋め込むことができる。 パイプによる連携だけじゃなくて、あるアプリをそのアプリが公開している APIを使って操作するための共通の連携の仕組みがあるんだよ。 逆にこれがないなら、どうやってGUIアプリと連携させるんだ? もちろんIEだけじゃなくて、Windowsで動くいろんな言語、 例えばRubyやJavaScript(node)はこの仕組をサポートしてる。 だからどんな言語であれExcelをAPI経由で操作できるんだよ。 例えばRubyのコード。言語が違うだけでそのJScriptと同じAPIがつかわれている。 qiita.com/z_yuki/items/47f05cb4694489228e0f
497 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/13(火) 19:45:11.10 ID:uBZRzWX90.net] >>492 × Windowsのプログラミング ○ Officeのプログラミング だろ。まあいいが。 ただ、Excel文書を共有したいって業務がらみか? だったら隣の席の奴に聞いた方がいいと思うし、普通はVBAだと思うが。 > 逆にこれがないなら、どうやってGUIアプリと連携させるんだ? そんな連携は要らないというのがUnixの思想じゃないか? 普通にCSVを吐いてCSVを読み込む、ファイル経由での粗結合で十分ということだろう。 実際、これで困ることはないわけでね。 (出来ること自体は選択肢が増えていいことではあるが。) そもそもこの辺のアーキに関わることを>>480 程度の知識でやるのはかなり危険、 本人は自覚してないだろうから具体的に言っておくと、下手すれば全部作り直しになる。 だからよく分からないのなら普通は粗結合側を選ばないとまずい。 まあそれも含めて学習といえばそうだが、個人のプロジェクトならさておき、 業務だと他の連中もデスマーチに付き合わせることになり、恨まれる。 とりあえず他の連中とも話し合った方がいい。 密結合するメリットがあるのならやればいいが、その辺を議論出来る感じとも思えないし。
498 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/13(火) 21:06:06.64 ID:iAtvyUgt0.net] >>493 > × Windowsのプログラミング > ○ Officeのプログラミング > > だろ。 違う。Windows標準のやり方だから 同じ方法を使ってVBAでIEを自動制御だってできる。
499 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/13(火) 23:20:10.98 ID:uBZRzWX90.net] >>494 では非マイクロソフト製品、例えばChromeやFireFoxの制御は出来るのか? それが出来れば「Windowsのプログラミング」と言える。 出来ないのなら、「Microsoftのプログラミング」だね。 いずれにしても、MicrosoftがそういうAPIを用意していたこと自体はいいことだ。 ただそれを使うのがいいかどうかはまた別の話だ。
500 名前:デフォルトの名無しさん (アウアウイー Sa37-8ocn) mailto:sage [2016/12/13(火) 23:42:46.23 ID:cZJz/amWa.net] >>495 出来るとは思うけど。 ある程度はsendkeys経由になるとは思うけど。 まぁ、順当に考えてちょっと面倒な話はおいとくけど、 ActiveXコンポーネントとして存在すれば呼び出せるよ。Officeに限らず。 VB6とかの頃の話だから、若い人は知らんのかな。
501 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/13(火) 23:48:44.55 ID:iAtvyUgt0.net] じゃあActiveXコンポーネントというのは OSが用意している機能なのか?と質問されれば YESとしか答えようがないからな。
502 名前:デフォルトの名無しさん (アウアウイー Sa37-8ocn) mailto:sage [2016/12/13(火) 23:55:28.13 ID:cZJz/amWa.net] >>497 むしろそこが美味しい所だしね。 ActiveX縛りでIEから云々は的外れで、Webで使うにはあまりに何でもできるよね、まずいよね、 ってところから、IEから自由に使えなくなった過去があるレベル。 普通はVBAですらない。vbs。 csvが完璧に書式も持てるならcsvからcsv吐けばいいけど、 書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。 ドヤ顔で「実際これで困ることはないわけでね」とか言って、アーキに口出しするなと言ってる自分がらもっとアーキに口出しすべきでない人間だとは皮肉なもんだな。
503 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 00:05:01.01 ID:bj02pMPP0.net] >>496 > ある程度はsendkeys経由になるとは思うけど。 それは「出来る」とは言わないだろ。というか屁理屈になってるぞ。 そもそもWin32APIははキーボード/マウスイベントを生成して打ち込むことが出来るから、 それで「出来る」というのならそれ以前から何でも「出来る」ことになる。 そしてそれはunixではもっと簡単に出来る。/dev/inputにリダイレクトするだけ。(やったことはないが) だからそれで「出来る」というのなら、unixならもっと簡単に「出来る」ことになる。 そうではなくて、Excel側が共通の仕組み(ActiveXか?)からAPIを呼び出せるように整備されているだけでしょ。 だからchrome側からAPIをActiveX向けに提供してないと呼び出せない。 FireFoxはプラグインがあるみたいで、それを使えばいけるようだが。(Wikiによると) それを「俺は昔からやってるんだから詳しいんだ」というのならただの老害だぞ。 まあそれもそちらの自由ではあるが。
504 名前:デフォルトの名無しさん (アウアウイー Sa37-8ocn) mailto:sage [2016/12/14(水) 00:18:56.09 ID:BIWUg/7Ya.net] >>499 dev/inputに流し込むって一般ユーザでできるっけ? 普通に間かました方が楽だと思うけど。それこそstdinでもらっちゃえばパイプしほうだいなんだし。 どう話を持っていきたいのかわからんが、非マイクロソフト製品、例えばAcrobatなんかはほぼフル機能が呼び出せるし、なんだかんだ、お前が思ってる以上に色々できると思うよ。 マイクロソフトのプログラミングでは決して無い。 APIという概念より更に上の、「オブジェクト」だよ。 昔からやってるから詳しいんじゃなくて、オブラートを取ると、お前が無知すぎるって言ってんの。
505 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 00:32:35.59 ID:bj02pMPP0.net] >>498 > 書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。 Excel側にデータと書式を混ぜておいているのがいけない。 だってWebで同様の物を作ろうとしたら、データと書式は分離して、計算式もまた別に持つだろ。 データは鯖上のDB、書式はHTML+CSS、計算式はPHP+JavaScriptになる。 最初から全部別であることを強制される為、システムが小さい場合は確かにウザイが、 大きいシステムでも問題なく対応出来るし、変更に強い。 一言で言えば、「正しい」やり方ではある。 Excelでやるにしても、データシート(csv読み込み)と表示用シート(レイアウト済み)は別にして、 データシートの値を引っ張ってきて表示すればいいだけだし、それで全く問題ないだろ。 そもそも「データ」と「表示用書式」を混ぜる意味なんて全くないと思うし、 それ以前に「書式」をcsvから読ませようと思ったことがないんだが。 だってそれはWYSIWYGとじゃないと辛いし、必要ならExcelで作業するだろ。 まあ俺が言っているのはそれ以前で、 WScriptから直接Excelをいじるのはあまりよくないのではないかな、ということなんだが。 まあ本人が考えればいいだけのことではあるが。
506 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 00:45:54.95 ID:bj02pMPP0.net] >>500 まあ俺が無知なのは事実として、お前も相当馬鹿だと思うぞ。 何で「データ」と「書式」を混在させる必要があるのか、理由が言えるか? /dev/inputは直接はスーパーユーザーからしか使えないとは思うけど、 スーパーユーザー権限でそこにリダイレクトするパイプなりを作っておいて、 それをユーザーに開放しておけいいだけの話だろ。 まあこれはもういいが。 > 例えばAcrobatなんかはほぼフル機能が呼び出せる まあ分かった。 おそらくWindows上ではActiveXが使えることはすごく便利で、 一昔前、或いは今もActiveXから使えるように整備しておくことが一般的で、 これさえやっておけばスクリプトでバッチ処理を書けるようになると。 で、俺はそれを知らなかった、そういうことだな。
507 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/14(水) 00:57:08.74 ID:rsGVtDKV0.net] >>499 > そうではなくて、Excel側が共通の仕組み(ActiveXか?)からAPIを呼び出せるように整備されているだけでしょ。 だからExcelというアプリがOSが用意しているActiveXという仕組みをサポートしてるって話。 OSが規格化してるんだよ。アプリケーション間の共通のインターフェースの仕組みを
508 名前:デフォルトの名無しさん (ワッチョイ 0bce-drn7) mailto:sage [2016/12/14(水) 00:58:11.16 ID:rsGVtDKV0.net] >>502 > 一昔前、或いは今もActiveXから使えるように整備しておくことが一般的で、 アプリケーション間のインターフェースだからな。 今はそれがセキュアになって、.NET(の一部)になっている。
509 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 01:08:20.03 ID:bj02pMPP0.net] >>504 > 今はそれがセキュアになって、.NET(の一部)になっている。 お?スレチだがちょっと教えてくれ。 これって.NETアプリは全部同様にスクリプトから触れるって事か? 例えば.NET(フォーム)のControlクラスがActiveX対応済みで JScript等のスクリプトから値が取れたり設定出来たりするとか。 これならすごいなと思うが。 ただちょっと調べた限り、フォームコントロールとActiveXコントロールは別物みたいだが。
510 名前:デフォルトの名無しさん (アウアウイー Sa37-8ocn) mailto:sage [2016/12/14(水) 01:40:45.54 ID:BIWUg/7Ya.net] >>501 混ぜておいてて良いよ… ユーザ開放できないじゃん。 Webで同様のものは作らないよ。。 雛形のExcelファイルと、それに流し込まれるデータと、流し込むスクリプトだよ。 それがJSなだけ。 計算式はphpとかjsにしない。 一言で言えば、正しいなんて無いんよ。 データシートとレイアウトシートはもちろん分けるけど…どこから混ぜるって話出てきたの? そこで、データシートとレイアウトシートをセットで管理できるExcelなんじゃん。 書式を触りたくないし、WYSIWYGでやりたいから、エクセルがそのまま読み込めてエクセルとして出したいんでしょ…? お前業務系やったことないの? >>502 そんなもんユーザ開放するな。 多分わかってないよ。使えることはすごく便利、じゃなくて、当たり前だったの。 >>505 触れる。 .NetのフォームはActiveXではなく、.Netのコントロールだけど、自分のappDomain中でインスタンス化してリフレクションで触ってもよし、Managed Spyでそのまま触ってもよし。 何か間に噛ませたほうが楽だとは思うけど。
511 名前:デフォルトの名無しさん (ワッチョイ 4fe1-cKcd) mailto:sage [2016/12/14(水) 02:05:18.02 ID:ruWVQ7Ya0.net] >>505 UI Automationで大体のことはできるよ Chromeとかの操作ならSeleniumが有力かな。これはwindows限定ではないけど ちなみに、Excelはただデータを表示するだけのソフトじゃなくて、意味不明なほど高機能 xlsxの仕様は数千ページに及んでる POIとかClosedXml見たいなライブラリで大体はxlsxファイルを処理できるけど、結局COMでExcelを操作するのが安定の場合もあるので何とも言えない エクセル操作するなは、Webで言うならブラウザ使用禁止ぐらいの縛りプレイな場合もある
512 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 03:08:56.38 ID:bj02pMPP0.net] >>506 いやお前はだいぶずれていると思うがな。 まあ水掛け論にしかなりそうにないから終わりでいいが。 > データシートとレイアウトシートはもちろん分けるけど…どこから混ぜるって話出てきたの? 分けるんならデータだけcsvで読み込む分に何も問題ないだろ。 君の主張は > 書式活かしたい、計算式活かしたいとなると充分どころか最低限すら満たさん。(>>498 ) つまり書式も計算式も「読み込みたい」って事なんだろ。 俺はその用途は無い、読み込むのはデータだけでいいだろ、って言ってるだけ。 > 自分のappDomain中でインスタンス化してリフレクションで触ってもよし、 ここのところは正直どれほど見えるのか分からないが、 もしC#のフォームアプリを作るのと同レベルの「リフレクション」なら、それは「触れる」とは言わない。 それは「やれなくはない」と言う。 WScript等でExcelをいじる分には、セルの内容をそのまま単純に書けるので、「触れる」と言っていい。
513 名前:デフォルトの名無しさん (ワッチョイ d35b-drn7) mailto:sage [2016/12/14(水) 03:28:55.97 ID:bj02pMPP0.net] >>507 > Selenium 見たところ、こいつもドライバでActiveXモドキを用意する感じか。 しかしこれなら最初からActiveX用パッチをchromeに用意した方が妥当だったように感じるが、 そうならなかったのは何故なんだ? そちらの意見を聞く限り、ActiveXワールドが既に出来上がっている時点で、 Seleniumワールドを新たに構築する意味はないように思える。 というか、いちいちアプリごとにドライバを用意する必要があるseleniumよりも、 OSが主導して提供しているActiveXの方が断然筋がいい。 > Excelはただデータを表示するだけのソフトじゃなくて、意味不明なほど高機能 ああ、ギャラガが出来るとかは知ってる。 てか、既に開いてあるExcelの画面を操作したいとか、対戦ぷよぷよでも作るつもりか?とか思ったね。 というか、逆に何でも出来てしまうからそこにトラップされてしまうのだと思うね。 通常のファイルなら先に開いている人が居たらロックされて後の人は改変出来ない。 だから多人数から同時に開いて同時に編集したいのならDBにすべき案件なのに、 それを無理矢理Excelでやれば出来てしまうんだろ。多分。 だからっていつまでもExcelで行けるはずもないわけで。
514 名前:デフォルトの名無しさん (スププ Sd2f-8ocn) mailto:sage [2016/12/14(水) 08:46:52.07 ID:P0N0TYuod.net] >>508 も、じゃない。2ファイルが許されんの。 フォームアプリ作るレベルじゃねえじゃん、俺が書いた内容。 無能な上に調べる事もできんのならもう生きてる価値ねえんじゃねえの?
515 名前:デフォルトの名無しさん (スププ Sd2f-8ocn) mailto:sage [2016/12/14(水) 08:50:39.19 ID:P0N0TYuod.net] >>509 だから、生成されるファイルは別個のエクセルでしかるべきだよね。 CSV読み込むVBAじゃなくて。 意味不明なほど高機能、は 統計関数が結構イケてる グラフが描ける、それも方対数、両対数も 真面目に作った帳票は印字に耐える 非エンジニアやユーザがレイアウト変えられる ってところじゃないの?
516 名前:デフォルトの名無しさん (ワッチョイ 56e1-NX/j) mailto:sage [2016/12/15(木) 00:15:53.99 ID:rhfez4B40.net] >>509 適当に上げてみると ・COMは基本Microsoftプラットフォームに依存するので、マルチプラットフォームに反する ・実装コストが高い。内部処理を適切に公開する必要があり、その実装の手間はもちろん、高速化や仕様変更の邪魔にもなりうる ・セキュリティ面。Flashとかと同様に、外部のプログラムは存在自体が脆弱性の原因になり得る とかかな Excelが高機能っていうのは、例えばOLEの埋め込みとか、関数の解釈、グラフなどなどをすべて外部で再現するのが難しいということ。 これはブラウザにも言えて、スクレイピングしたい時にCookieやリクエスト管理、JavaScriptの実行などを自力で対応するはかなり手間。 そういうときにIEコンポネとかPhantomJSみたいなブラウザ制御を利用すると非常に簡単にできる。 Excelはお手軽に、パソコン苦手な人でも扱えるUIを簡単に構築する時に手っ取り早いことが多い しかも、COMだとVBSやJScriptはもちろん、C#やC++からもフルで機能が利用できるので使い勝手がよい。
517 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/15(木) 01:05:38.27 ID:WvsXoMFQ0.net] >>512 一応調べたんだがイマイチ見えないから教えて欲しいんだが、 COM/DCOM/OLE/ActiveXってのは結局の所親戚で、 「外部からの操作も可能にしようとした」って事なのかな? ActiveXに関しては「外部からダウンロードしたプログラムを動作させる」という 見た目は異なる物になっているが、OLEの後継ということらしいし。 > e-words.jp/w/COM.html ただCOMとかの説明を読む限り、また君の文面からも、 要するに「アプリの共通コンポーネント(COM)を公開」していて、それらは普通にアプリに組み込め、 ついでにそれらに対するアクセスをOS側が提供することによって、 結果的にそれらを組み込んだアプリは外部からの操作も可能になるということなのか? たとえば、ActiveXObjectとして見える物はそれぞれのCOMそのものであり、それを操作出来るとか。 ただいずれにしても筋はActiveXの方がいいように見える。(Seleniumより) APIではなく直接オブジェクトが見えるのは、弄れすぎだし密結合だが、悪い解でもない。 Excelで組むこと自体は悪いことではないよ。 ただ、システムのアップグレードをするべきタイミングを逃すと、 後でアップグレードする時にはもっと大変なことになる。 結果、ずるずると引き延ばされ続け、酷いことになる。俺が言っているのはこれ。 とはいえExcelは結局の所何とでも出来るから押しが利くのも事実だとも思うが。 後イマイチそちらが言っていることがピンとこないのだが、 Excel上にCOMとしてIEコンポーネントを貼り付け、それらをC#やVBSで叩いてデータを取得させ、 ついでにそこにグラフをExcelの機能で描いてしまえ、とかいうケースか? 個人的にはそこまでしてExcelでやらんでも、とは思うが。
518 名前:デフォルトの名無しさん (ワッチョイ 35ce-0G5/) mailto:sage [2016/12/15(木) 02:04:54.27 ID:B8ikKJQd0.net] >>513 少しだけ教えてやるわ。 COM(ActiveX)はバイナリが異なれば違うバージョンとして扱われる。 そして全てのバージョンを共存することができる。 だからズルズルと引き伸ばされるなんてことはありえない。 その点は.NETと思想が同じだが、COMは当時主流の C言語からも使えるように考慮する必要があったから なんちゃってオブジェクト指向(コンポーネント指向) .NETではJavaを参考にオブジェクト指向ベースになってるからより使いやすい。
519 名前:デフォルトの名無しさん (ワッチョイ 80d2-AUQK) mailto:sage [2016/12/15(木) 06:17:42.41 ID:HK/hXnKv0.net] 偏屈なゆとり増えたよな
520 名前:デフォルトの名無しさん (アウアウイー Sa87-BM5A) mailto:sage [2016/12/15(木) 07:12:51.70 ID:BawVZm9ba.net] >>513 だいたいそうだけど、密結合ってわけでもない。 ActiveXオブジェクトとして、変えないインターフェイスを提供するタイプもある。 ExcelにCOMで貼り付けるんじゃなくて、 c#やらvbsで、ExcelのインスタンスをCreateObjectで立てて、excelファイル開いて、シートにc#やらvbsの出力を書いていく。 もともと数式やグラフ域はあるので、スクリプトから何もせずとも、再計算すれば合計、ピボット、グラフが出来上がってる。 グラフ、excelのは見た目がショボいけど、できる事は割とすごいよ。
521 名前:489 (ワッチョイ 1fc6-0G5/) mailto:sage [2016/12/15(木) 11:52:06.70 ID:hDru1IJ90.net] やっと詳しい人たちが現れたようなので再度質問します JScriptでエクセルを扱うとき、既に開かれているエクセルファイルを操作することは可能ですか
522 名前:デフォルトの名無しさん (ワッチョイ 74c9-0G5/) mailto:sage [2016/12/15(木) 11:59:37.24 ID:ZjiCD7fs0.net] >>517 可能だよ シート検索して開いて数字書いて計算結果印刷させる くらいならなんぼでもできる
523 名前:デフォルトの名無しさん (スププ Sdb8-BM5A) mailto:sage [2016/12/15(木) 12:08:36.91 ID:ef5qYk7Xd.net] >>517 ダイアログ出るから止まるかと。 workbooks.Open呼んでると思うけど、ReadOnly=trueで読み込んだら良いんじゃ? そうじゃなくて、開いてるやつを操作したいとなると、 GetObjectでExcel.Application取って、その中のWorkbooksからpathとNameが一致するやつ探したような記憶がある。
524 名前:デフォルトの名無しさん (ワッチョイ 1fc6-0G5/) mailto:sage [2016/12/15(木) 12:45:24.66 ID:hDru1IJ90.net] >>519 ありがとう。GetObjectで取れるのなら出来そうですね
525 名前:デフォルトの名無しさん (ワッチョイ 1fc6-0G5/) mailto:sage [2016/12/15(木) 13:34:25.89 ID:hDru1IJ90.net] >>519 やってみたところ成功しました。ありがとうございました
526 名前:デフォルトの名無しさん (スププ Sdb8-BM5A) mailto:sage [2016/12/15(木) 14:56:07.03 ID:ef5qYk7Xd.net] 出来て良かった。変な風に荒れさせてごめんね。 なんぼでも出来る、と言うなら>>518 も書けばよかったのに。
527 名前:デフォルトの名無しさん (ワッチョイ 74c9-0G5/) mailto:sage [2016/12/15(木) 18:57:27.31 ID:ZjiCD7fs0.net] 申し訳ない 「可能ですか」 とあったから、Yes/No だけ聞きたいのかと思った。 最低限のヒントだけもらってあとは自力で頑張る、成長性あるタイプかと 勝手に思い込んでいたわ。 すまん
528 名前:デフォルトの名無しさん (ドコグロ MM7f-KNaT) mailto:sage [2016/12/15(木) 19:50:55.57 ID:IqUdevKXM.net] アスペすぎだろ
529 名前:デフォルトの名無しさん (アウアウイー Sa87-BM5A) mailto:sage [2016/12/15(木) 21:16:53.03 ID:BawVZm9ba.net] >>523 そうなのか、てっきり昨日の続きの奴が、できるはずは無い、なぜならなんとかかんとか、 と思って、どうせできるはずが無いから確認もせず煽ったれと真似して 「なんぼでもできる」 と言ったのかと思ったよ。 嫌味言ってすまんな。
530 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/16(金) 00:13:00.17 ID:J/eqkCwi0.net] >>516 逆か。つまりC#からExcelをグラフ描画/表計算用ライブラリとして使うと。 その使い方は俺はありだと思うぞ。 自前でやるのは死ねるだけだし、 一応Chartコントロールってのがあるみたいだがどう考えてもExcelより機能はショボイし。 それは使い捨てのフロントエンドとして使っており、自前でやる意味はない。 ある物を有効活用すべきだし、Excelが既に使える状況ならそれでいい。 問題は>>489 はバックエンドのDBとしてExcelを使っている点だ。 君の使い方なら「同時に開いて操作」なんてあり得ないだろ。 >>480 ,489はあのレベルなのでかなり怪しいけど、 もしそれが本当に必要なら、バックエンド部分はDBに移行すべきタイミングだということ。 多分今回を逃すともっと悲惨なことになる。 フロントエンド部分をExcel側に残すのは問題なくて、(これは永久にExcelでもいい) C#でDBを叩いてデータを取得し、グラフは面倒だからExcelで、となると>>516 になる。 >>480 ,489は初心者過ぎてやりもしなくていいことをやろうとしているか、 或いは本来は大改修が必要なのに人員が確保出来ずおかしな事になっているかだと思う。 まあ通常は前者だから隣の席の奴に確認してみろ、というわけでね。 それこそ業務なら>>516 みたいな前例があるはず。 その場合はそれを改修する方が早いし、ユーザーにも混乱がない。 見る限りスクラッチから作ろうとしているわけだが、そりゃ違うだろ、ってことでね。 もし本当にシステム自体をスクラッチから作るのなら、最初からDBで行けって話だし。 まあ俺の回答はお気に召さないようだが。
531 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/16(金) 00:14:30.02 ID:J/eqkCwi0.net] 質問者は「私は悪くない」という典型的クソ女な訳だが、問題は質門が曖昧な点なんだよ。 だからそれぞれが質問者の状況を想像し、仮定して回答している。 回答は結局の所、「読みとり専用」で済む範囲なら単純に新たに開くだけでいいし、 同一PC上の別Excelを「掴む」だけなら一覧からハンドルを取得すればいいが当然管理者権限が必要、 (つまり業務PCで管理者権限を与えられていない場合は動かない) それ以上の同時変更/更新とかなら、それをここで聞いている時点で無理。 だから>>518 だって不思議な回答ではないし、俺もその仮定だから単に開けと回答した。 既存ファイルをテンプレとして用い、データだけ差し替えてプレビューしたいのならこれなんだよ。 (ベースはC#だが>>516 もこの使い方。) 回答者側が質問者の日本語が不自由な点をフォローして複数回答したのが>>519 になる。 ただいずれにしても、俺は同僚に確認した方がいいと思うぞ。これは本当に。 何らかの理由で同僚に聞けない状況なのであれば、それはお前が原因だし、地道に改善するしかない。 仮にそれをここで聞いた内容で独断で実装したとしても、余計に評判を落とすだけだ。 だって、その方法だと、そのExcelファイルに列を1列挿入しただけで君のスクリプトは使えなくなるだろう? そこまで密結合させると全く融通が利かなくなるんだよ。 それに対して君は「今後一切、行も列も挿入/追加するな」と言えるのかい?普通は無理だよね。 ではいちいちそのExcel表が変更されるたびに君はメンテナンスするのかい?全くの無駄だよね。 君がやろうとしているのは「勤勉な無能は余計に迷惑」でしかない。 ホウレンソウするべき典型的なケースだよ。 再度言うが、それを独断専行したら仮に実装出来たとしても余計に評判を落とすから、 マジで相談しておけ。相談して悪いことは普通はない。 プログラミングの歴史もそんなに浅くはないし、そこそここなれて来つつある。 典型的な問題に対する対処は大体先例があるし、当然サンプルコード等も出てくる。 初心者なのに何も検索でヒットしないのなら、まず、やり方が間違っていることを疑った方がいい。 既にあるプロセスにアタッチするというのは、デバッグ以外ではほぼ必要ない。
532 名前:デフォルトの名無しさん (ワッチョイ 35ce-0G5/) mailto:sage [2016/12/16(金) 03:02:12.53 ID:V1m5PHBA0.net] またグダグダぐだぐだと あっちのやつと同じかな
533 名前:デフォルトの名無しさん (ワッチョイ 56e1-wzhw) mailto:sage [2016/12/16(金) 06:16:19.32 ID:loc8suhW0.net] 管理者権限いらんだろ データベースだって列を一つ追加されたら動かなくなるし 誰も行ってないことを言ってるし、幻覚の症状でもあるのかな
534 名前:デフォルトの名無しさん (アウアウイー Sa87-BM5A) mailto:sage [2016/12/16(金) 07:46:01.15 ID:kU7foGc8a.net] そこはあれだよ。 書き込み対象のエクセルを開けること自体が、そのファイルに権限ないと出来ないし、大体の資産管理で監査にきれいに乗った「文書ファイルを開く」ってエントリになるし。 開いてる(≒開けている)ファイルに書き込む、は結構アリだよ。 ちなみに俺がそのバッチ書いたのはvbsとjsの時代。
535 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/16(金) 20:48:56.98 ID:J/eqkCwi0.net] >>530 > 開いてる(≒開けている)ファイルに書き込む、は結構アリだよ。 そうか?俺は聞いたことがないぞ。 普通ならVBAで実装すればいいだけだ。 というかその言い方が正しく表現されたものなら大体状況は想像つくが、 分かっている奴がやるのならまだしも、 初心者にそれをアドバイスするのはどうなのよ? それが普通だと勘違いされても、本人も周りも不幸だろ。
536 名前:デフォルトの名無しさん (スププ Sdb8-BM5A) mailto:sage [2016/12/16(金) 21:52:28.50 ID:PNCZZxG5d.net] >>531 お前の経験不足じゃねえの? VBAで実装したら、excelがマクロ入りになるか、マクロ入れたブックを撒かなきゃならんでしょ。 エクセル上では極力、マクロを有効にはしてほしくないってのはごく当然の発想。 かつ、開いている≒開くことができる、だし、 保存できる≒排他制御もかかってる、 なんだよ。 バージョン管理しづらいしね。手で記入する項目があるブックならなおさら。 そのうち新旧入り混じったexcelが出回るし、ホントにマクロウィルス食べる羽目になる。
537 名前:デフォルトの名無しさん (アウアウイー Sa87-BM5A) mailto:sage [2016/12/17(土) 02:48:33.24 ID:6d7oASpMa.net] ちなみに、こういうたぐいのエクセルシートの操作は、DBとして使う事はほとんどない。 特定のセルにログインユーザとか何か入れる 画像を整形して貼り付ける 電子印を埋める CSVファイルを今触ってる場所に差し込む った感じの操作が大半。
538 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/17(土) 13:08:39.42 ID:Wdpe3c7P0.net] >>533 結局、スププ Sdb8-BM5A==アウアウイー Sa87-BM5Aってことでいいのか? 若干微妙なんだが。 533については大して問題ないとは思う。 そしてそれが君の489に対する解釈という訳だな。
539 名前:デフォルトの名無しさん (スププ Sdb8-BM5A) mailto:sage [2016/12/17(土) 13:33:13.56 ID:BIK6AFf7d.net] >>534 そうだよ。 そして解釈もその通り。
540 名前:デフォルトの名無しさん (ワッチョイ 74c9-0G5/) [2016/12/20(火) 16:58:59.60 ID:MoWCkeVm0.net] 自分の関数名を示す予約語みたいなのってある?
541 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/20(火) 19:12:40.90 ID:NtfNTPKt0.net] >>536 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/name https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype
542 名前:デフォルトの名無しさん (スフッ Sdb8-BM5A) mailto:sage [2016/12/20(火) 19:14:58.08 ID:N26jdoYed.net] >>536 予約語じゃないけど、arguments.calleeが一番近いかな。
543 名前:デフォルトの名無しさん (オイコラミネオ MM34-HDbE) [2016/12/21(水) 14:37:12.13 ID:oy8jDEoqM.net] 関数やメソッドの引数を配列で渡したいのですが、applyでは第一引数でthisの指定を毎回しなくてはなりません。 なので、第一引数を省略したバージョンをFunction.prototypeに追加したいのですが可能でしょうか? var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}}; obj.print.apply(obj, ["(", ")"]); // -> “(hoge)” …正直二度手間 Function.prototype.my_apply = function(){ほにゃらら}; obj.print.my_apply(["(", ")"]); // -> “(hoge)” は実現可能?
544 名前:デフォルトの名無しさん (ワッチョイ aaa7-0G5/) mailto:sage [2016/12/21(水) 16:19:11.24 ID:9bUmnUNT0.net] その例だとmy_apply内でのthisがobjからprintになっちゃうから 事前にprintのthisをobjに拘束しないと無理で結局二度手間になるかな
545 名前:デフォルトの名無しさん (ワッチョイ 9e5b-uX3G) mailto:sage [2016/12/21(水) 18:09:50.73 ID:jqWPOGNm0.net] >>539 spread operatorを使っていいなら簡単なんだけどなあ obj.print(...[
546 名前:デフォルトの名無しさん (ワッチョイ 9e5b-uX3G) mailto:sage [2016/12/21(水) 18:10:12.94 ID:jqWPOGNm0.net] ミス >>539 spread operatorを使っていいなら簡単なんだけどなあ obj.print(...["(", ")"]); // -> “(hoge)” 苦肉の策で、Object.prototype に my_apply を設定するのはどうだろう。 関数名は引数で文字列として渡す形になるけど。 Object.defineProperty(Object.prototype, "my_apply", { value: function(funcname, args){ this[funcname].apply(this, args); } }); var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}}; obj.my_apply("print", ["(", ")"]); // -> “(hoge)”
547 名前:デフォルトの名無しさん (アウアウウー Sa05-uX3G) mailto:sage [2016/12/21(水) 20:34:30.60 ID:HG47hG4na.net] >>539 var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}}; obj.print.myApply = Function.prototype.apply.bind(obj.print, obj); obj.print.myApply(['a-','-b']); // a-hoge-b
548 名前:デフォルトの名無しさん (アウアウウー Sa05-uX3G) mailto:sage [2016/12/21(水) 20:36:41.27 ID:HG47hG4na.net] >>536 は>>537 で答えが出ているが、立て逃げか
549 名前:デフォルトの名無しさん (スフッ Sdb8-BM5A) mailto:sage [2016/12/21(水) 21:18:43.29 ID:yT8Lkx8ed.net] >>544 そんなに評価がほしいかw
550 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/21(水) 21:44:46.35 ID:gv2AAeV40.net] >>545 レス乞食乙。 544は俺ではないし、むしろ評価を欲しがっているのはお前だろ。 池沼にはこの辺のことが分からないのだとは理解するが。
551 名前:デフォルトの名無しさん (アウアウウー Sa05-uX3G) mailto:sage [2016/12/21(水) 22:03:23.02 ID:HG47hG4na.net] 評価は要らんが、「結果」が欲しいとは思う 知の共有に興味がない奴には「質問者に伝わればどうでもいいだろ」ぐらいにしか思ってないのだろうが あと、>>536 は質問が漠然としていてもっと具体的に質問してほしい感はある 俺でもFunctoin#nameで回答するだろうが、Function#nameもarguments.calleeも「予約語」ではないからな 関数名を取得するのに「予約語」は不要なはずだが、何をもって質問者が「予約語」が必要と思っているのか、興味深いところだ
552 名前:デフォルトの名無しさん (スフッ Sdb8-BM5A) mailto:sage [2016/12/21(水) 22:04:04.73 ID:yT8Lkx8ed.net] >>546 なんだそりゃ。 車掌の案内に反射的に反応しないと気が済まない電車の中の池沼でもあるまいし。 立て逃げ、という単語が出た時点で、踏み逃げ厳禁って言ってるmixiのメンヘラレベルじゃんww
553 名前:デフォルトの名無しさん (スフッ Sdb8-BM5A) mailto:sage [2016/12/21(水) 22:06:02.62 ID:yT8Lkx8ed.net] >>547 知の共有と相手の同意には全く関係性は無い。 相手がテディベアでも、それに対して演説した内容は共有すべきかもしれないし、その内容は現に見えてる。 質問内容と回答は関連するようで、全く別個の存在だよ。
554 名前:デフォルトの名無しさん (アウアウウー Sa05-uX3G) mailto:sage [2016/12/21(水) 22:09:41.80 ID:HG47hG4na.net] >>549 漠然とした質問に合っているか間違っているか不明な回答をしても共有すべき知はない 質問者から反応がなければそれはゴミデータとなる そういう事だ
555 名前:デフォルトの名無しさん (スフッ Sdb8-BM5A) mailto:sage [2016/12/21(水) 22:40:00.20 ID:yT8Lkx8ed.net] >>550 合っているか間違っているか、そんなものは瑣末な差だよ。 データには全て意味があり、加えて、合っているか間違っているか、正確に言うならば「より原義的には合っているが全てにおいて合ってはいない」なんて事すらあり得るし、その正誤正確さ自体も一つのデータ。 古典力学を「厳密には正しく無い」と言って意味があるのかないのかって話。
556 名前:デフォルトの名無しさん (アウアウウー Sa05-uX3G) mailto:sage [2016/12/21(水) 22:48:54.44 ID:HG47hG4na.net] >>551 > 「より原義的には合っているが全てにおいて合ってはいない」 今回のケースに当てはまらなければ何を話しても仕方ない 今回、俺はそこまで高尚な知は得られていないと思うが、あなたの中では今回何か得るものがあったのかね
557 名前:539 (オイコラミネオ MM34-HDbE) [2016/12/21(水) 23:46:48.87 ID:oy8jDEoqM.net] 皆さまご回答ありがとうございました >>540 やはり何らかの方法でインスタンスを渡さないと、直接呼ばなかったメソッド内からの取得はできないんですね >>542 配列を分解する記法が追加されてたとは知りませんでした。 環境を書いていなく申し訳ないのですが、nodejs v4.1.2でも--harmonyオプションで使用できました。 my_apply(obj, “print”)([“(”, “)”])のような方法は私も考えていましたがObjectにメソッドを追加できるんですね 文字列で与えたメソッドにthisをbindして返すメソッドを追加するとFunctionに追加したmy_applyにそのまま渡せたり、 他にも関数を様々な形にラップするような処理で応用が効きそうです obj.my_method(“print”).my_reverse(“(”, “)”); // -> ”)hoge(” 二度手間は無いけどちょっと長いかな >>543 出来れば全ての関数とメソッドに適用したいのですが、影響範囲を考えますと使用するメソッド毎に追加するのがまっとうでしょうか Functionインスタンスの方に追加することで理想の記法になってることが目から鱗です
558 名前:デフォルトの名無しさん (ワッチョイ bf5b-0G5/) mailto:sage [2016/12/21(水) 23:53:47.70 ID:gv2AAeV40.net] >>548 > 立て逃げ、という単語が出た時点で、踏み逃げ厳禁って言ってるmixiのメンヘラレベルじゃんww お前は本当に池沼だな。 お前がそうだからお前の周りにはそういう奴しかいない、だからお前は自分が池沼であることに気づけない。 池沼の無限ループだね。 >>544 は要するに、 最低限の返事位しろ、それがお互いの為になる、と言っているだけ。 お前はそれすら分からないから無駄に噛み付いているわけだけども、 それ自体がお前にとっても有害なことに気づけ。 というかなんでゆとりってこんなにおかしくなっちゃってるんだ? コミュニケーションというのは、「○○禁止」とかで単純にくくれるものではなく、 その場その場で最適な方法を選ばないといけない。 お前らにはこれがなく、超画一的な反応をするよね。 ただ俺みたいにいちいち説明するのは面倒だから、通常「少し黙ってろ」としか言われないと思うが、 その時は「何でそんなことを言われたのか」を考えないといけない。 その上で、上司の方が間違っていたら馬鹿にするのは自由だ。 今回に関しては、>>547 以降彼は十分な説明をしているわけで、まあ奇特な方と言える。 それについていちいち噛み付く必要もないし、 意味不明な屁理屈を述べる必要もないと思うがな。 一体お前は何がやりたいんだ?
559 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 00:14:05.25 ID:tlGoJkkG0.net] >>553 正直、君はクラスの使い方を間違っていると思うから、そこを学び直した方がいいと思うぞ。 JavaScriptの連中はどうにもそういう妙な点をこねくり回すことが大好きなようだが。 普通はその場合、ラップ関数を呼ぶか、 print内部で切り分けを行い、apply無しで直接呼べるようにするか、(Array.isArray(a)やb===undefined) print自体をargumentsで記述し、直接呼べるようにするか。 また、クラスとして使うのなら、Function.prototoyeではなく、obj.__proto__に追加することになる。
560 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/22(木) 00:22:50.49 ID:nyvvUxi30.net] >>541-542 2chのバグだろう 書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。 " の代わりに、\" とエスケープすれば、どうだろう? それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった
561 名前:デフォルトの名無しさん (スフッ Sd9f-lG7u) mailto:sage [2016/12/22(木) 00:25:51.87 ID:+dxu+Nr9d.net] >>554 長文、君、彼、か。 芸風変わらんなぁ、babel君は。
562 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/22(木) 00:26:02.57 ID:nyvvUxi30.net] Kotlin では、すべてのオブジェクトが使える、スコープを変える関数が、4つある apply, let, run, with with(obj){ ここでは、thisが、objに変わる }
563 名前:デフォルトの名無しさん (ドコグロ MMbf-do8S) mailto:sage [2016/12/22(木) 04:05:51.09 ID:HervFLYwM.net] プロの人はどうやって勉強しているんですか あれやりたいな→ぐぐる→できた!ってやってると 困ってはぐぐるの繰り返しでこれじゃ理屈が伴ってなくて良くないなあと思うのですが
564 名前:デフォルトの名無しさん (ワッチョイ cf17-W2u1) mailto:sage [2016/12/22(木) 05:54:28.89 ID:JoGOA/Np0.net] 教科書を買えばいいんじゃないですかね
565 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/22(木) 14:58:32.87 ID:KMOUtJeW0.net] >>537-538 ありがとう arguments.callee って非推奨なんだな 関数のプロパティをいじろうと思ったんだけど 名前だけわかってもちょっと難しいな
566 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/22(木) 16:19:23.51 ID:rwisZIJ0d.net] >>561 arguments.calleeは非推奨じゃないよ。 Functionにひっついてる方が非推奨。
567 名前:デフォルトの名無しさん (オッペケ Srdf-Esd/) mailto:sage [2016/12/22(木) 16:44:36.23 ID:TVwdcP1Cr.net] >>561 名前付き関数式にすれば安全に関数を参照できる arguments.callee はStrict Modeで使えないだけ
568 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/22(木) 17:28:44.13 ID:KMOUtJeW0.net] >>562-563 Cとかで言うstatic変数的なのを関数のプロパティで
569 名前:function unko(){ if( typeof(unko.chinko)=="undefined" ) unko.chinko=0; return unko.chinko++; } みたいなクソコードでやってんだけど、関数内での関数名unkoを 定義済み定数みたいなので置き換えたかっただけなので まあどうでもいい話ですわ。 メリークリスマス! [] [ここ壊れてます]
570 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:24:57.62 ID:tlGoJkkG0.net] >>559 正直、JavaScriptでは上達しない(しづらい)のだと思うので、他言語である程度やってからにしたほうがいい。 ソースはこのスレの馬鹿共。 とはいえ、JavaScript自体が悪いわけではないのだが。 他言語スレを見れば分かると思うが、間違った回答が感謝され、 それがあたかも正しいものとして扱われるような茶番的展開はJavaScriptスレだけだ。 しかも一度や二度ではない。 さすがにこんな所で自演する意味はないし、ガチで分かってないんだと思う。 ただ、質問者が分かってないのは仕方ないとして、回答者が分かってないのは駄目だよ。 結果的に馬鹿が再生産されてしまっている。 馬鹿が馬鹿を、ゆとりがゆとりを、さも知ったかぶりして教えているからこうなる。 このスレは回答者はそこそこいるのだから、回答の出方を見つつ、よりよい方向に協力しないといけない。 ゆとりにはこの感覚が皆無で、基本的に焼畑をしやがるので上の世代はいらついている。 (とはいえこれは若いからであり、正直、ポストゆとりも同じ事になるとは思うが) >>544 はそれに対して注意しただけ。それに噛み付く必要なんてない。 お前らはもうちょっと、もっと大きな「流れ」について気を配り、 お互いに利益があるように振る舞わなくてはならない。 それを怠っている結果、自分にも不利益が生じていることに気づいた方がいい。 結果的に、JavaScriptの連中は馬鹿ばかりになっている。
571 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:26:42.36 ID:tlGoJkkG0.net] 話を戻す。今回の例で言うと、540は分かっている感じだが、542,543はエアプ。(と言われても仕方ないレベル) 542は話が余計に複雑になっている。 543と>>540 は言っていることは同じなのだが、質問者は別物だと思っているらしい。 ただ、方向性が明らかに間違っている回答には「間違っている」だけで済ますべきで、コードを書いては駄目だ。 結果、その初心者は543を有り難がってしまっている。 質問者は「apply使ってる俺カッケー」「prototypeいじってる俺カッケー」な訳だが、これ自体が間違い。 ただ、このことを理解出来てない馬鹿が多いのもJavaScriptの特徴だ。 しかしこの嘘に流されているようでは上達しない。 この場合、普通は関数オーバーロードを行う。 要求: obj.print.apply(obj, args); とobjを2回書くのが面倒 質問者: obj.print.apply(args); と書きたい >>542 : obj.my_apply("print", args); >>543 : obj.print.myApply(args); 関数オーバーロード: obj.print(args); どう見てもオーバーロードが一番簡単だろ。 オーバーロード自体はC++/C#/Javaでは簡単で、 今ある obj.print(String,String) に加えて、 obj.print(Array) を定義すればいいだけ。 ただしJavaScriptにはオーバーロードは無く、そのままだと上書きされてしまうので、 関数名を変えるか、(結果的にラップ関数になることが多い) 自前でやるか。自前でやる場合は道具は揃っていて、>>555 に書いたとおり。
572 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:27:47.25 ID:tlGoJkkG0.net] 最悪なのは、このスレの馬鹿共が「オーバーロード」に全く言及しないことだ。 結果、質問者は間違った方法を正しいと勘違いし、そして馬鹿が再生産されてしまう。その結果がお前らだ。 とはいえ、オーバーロードは他言語ではごく普通のことなので、何でそうなるのか本当に謎なんだが。 (エアプしかいないだけか?) prototypeの変更は、つまり「定義」の変更であり、ソースの変更無しに動作を変更する時に用いる。 ただ、初心者には上文の意味が分からないだろうし、やらなくていい。 しかし、これができるのはJavaScriptの特徴であり、
573 名前:ヌうにもそこに惹かれてしまうらしく、 無理にその機能を使って解決しようとする馬鹿が大量発生するようだ。 結果的にそれは上達の速度を落としている。 JavaScript以外の言語ではこの手の解決が出来ないので、まっとうな方法で解決することを強いられる。 結果、おかしな寄り道をせずに済み、普通に上達していく。 柔軟性が高く、どんな構造でもさらっと記述出来てしまうJavaScriptは、 本来は上達しやすい言語であってもおかしくないのだが、どうにも初心者がトラップされる場所が多すぎるようだ。 例えばセミコロンの打ち方とか。そんなところを極めても何にもならない。 結果、馬鹿ばかりになってしまっている。ソースはこのスレの馬鹿共。 例えば、>>564 なんてクロージャを使えばいいだけの案件だ。 ただ、Cだと長らくクロージャがなかったので、彼はそれを選択出来ない。(知らないから思考外) だから言語自体に「記述能力」があることは上達には不可欠なんだ。 Cは別の意味で柔軟性が高い(何でもあり)のだが、JavaScriptもかなり高い。 ただ初心者にはC#とか、もっと絞ったJavaとかの方がいいように思える。 あっちのスレの初心者は着実に上達している感じはある。 JavaScriptは初心者にはフリーダムすぎるようだ。 [] [ここ壊れてます]
574 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/22(木) 21:50:01.72 ID:noqYDqw/M.net] うん、printだけならオーバーロードでいいと思うよ。 質問者は1つのメソッドだけじゃなくたくさんの関数やメソッドで同じことをしたいみたいだよ。
575 名前:デフォルトの名無しさん (ワッチョイ 73ce-AnbU) mailto:sage [2016/12/22(木) 23:10:38.19 ID:0Dv4mOXn0.net] >>557 > 芸風変わらんなぁ、babel君は。 babel君は俺だよw お前間違ってるじゃんか。 はっきり言っておかないと「俺はいつだって見抜ける」って 勘違い君になっちゃうからな。 はっきり言おう、お前はただ長文があったらbabel君って いいたいだけのガキだよ。
576 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 23:13:44.40 ID:tlGoJkkG0.net] >>568 そういう事はそもそも無いんだよ。 もしそうなっているのなら、それは制御構造の組み方がおかしいだけ。 逆に考えてみても、仮にそういうapplyが頻繁に必要なら、 当然の如くそのapplyが標準APIにないとおかしいでしょ。 ていうか、ゆとり全般に言えるが、もうちょっと物事の辻褄を考えてくれ。 JavaScriptは糞だ糞だと言われているが、そんなに酷くもない。 その手の便利メソッドが充実しているのはRubyとlodashか? 詳しい奴はこのスレにも居たよな?あるかどうか教えてくれ。 そこにもないのなら、普通は要らないって事だよ。 あるんだったら、多少は使うって事でいい。 所で、お前は>>542 ,543のどっち?第三者か?
577 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/22(木) 23:21:00.67 ID:noqYDqw/M.net] >>570 俺は第三者。 質問の意図を誤解して他人の回答を罵倒しているみたいだったので指摘したまで。 俺もお前の新しい意見(>>570 )なら同意。
578 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 23:52:58.57 ID:tlGoJkkG0.net] >>571 俺は相手にとって実になる回答をしろと言っているだけ。 それが罵倒になったとしても意見としてそのまま言う。 お前らがこれに対して文句を言うのも自由だ。 駄目な物ははっきり駄目だと指摘される、これが匿名掲示板のいいところだ。 意見があるのなら言えばいいんだよ。 補足すると、俺的には、 540「それじゃ駄目だから考え直せ」←とりあえず正しい方向へ向かうのでOK 542「Object.prototypeを変更しろ」←最悪のことをさらっと言うなボケ 543「たとえばこう」←親切のつもりだろうが質問者が結果的に間違った方向に向かうので駄目 ってなところだ。 ただ、542も543も上記の事なんて分かっていると思うんだ。 だから、お前らには「後先考えてレスしろ」と言いたい。 542の回答をしたいのならば、クラスとして定義し、クラスのメソッドに追加するのならよかった。 543については、そもそも質問者の例がおかしいんだが、単発関数でいちいちbindってのは無いんだよ。 その場合は通常クロージャで捕捉する。だから同階層にmsgとprintがあること自体がおかしくて、 別階層においてクラスとして使うか、単発ならクロージャ、ってことを言えばよかった。 質問者が色々おかしいのは仕方ないとして、 それを尊重しておかしなままで進めるから余計におかしくなっているわけで、 質問者には「それはおかしい」と言ってやらないと駄目だろ。 だから俺は540の回答が今回は正しいと思う。 他は親切のつもりが結果的に足を引っ張っていることに気づいていない。これは不幸なことだよ。 逆に、お前らが明らかに変な質問した時に、それを尊重されておかしな回答されても困るだろ。 少し考えれば分かることだよ。 JavaScriptスレのレス数は他言語スレよりもかなり多い。 それでも低空飛行を続けているのは、お前らが後先考えずにレスしてるからだよ。
579 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/23(金) 00:08:00.89 ID:w5xRjMfxM.net] それが君のスタンスならもう言うことはない 突っかかって悪かった
580 名前:デフォルトの名無しさん (ワッチョイ 8b3c-Jkes) mailto:sage [2016/12/23(金) 00:18:59.00 ID:Z9nj1KlQ0.net] すんません newsoku.blog/archives/12673 ここのサイトのこの記事だけadblock有効にした状態でアクセスすると広告ブロックの無限ループでPC固まるんですが、原因は何なんですかね? chromeの開発者ツールのどこを見ればいいのかさっぱり分かりません。皆さんはJavascriptの挙動がおかしいと思ったら開発者ツールのどういうところ見ます?
581 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/23(金) 00:29:14.11 ID:5x0GRUiO0.net] >>573 いや、俺は君に対して怒っているわけではない。 JavaScriptのスレはかなり奇妙なんだよ。 単に年齢構成が違うのだと思うが、匿名掲示板の距離感を掴めていない奴が多い。 常に優しい言葉だけを使って回答して欲しいのならID制の所に行けばいい。 匿名掲示板はどうしてもノイズが多くなる。 それでも匿名であり続けるのはそれなりの理由があるから。 だからそれをちゃんと生かせ、無理ならID制の所に行けってこと。
582 名前:デフォルトの名無しさん (ワッチョイ 8fa7-i5Qz) mailto:sage [2016/12/23(金) 01:16:35.93 ID:yYk3c3EB0.net] 540は自分だけど他のレスを罵るための比較対象にするのは勘弁して欲しいわ まさに「それはおかしい」で留めておけばいいじゃない
583 名前:デフォルトの名無しさん (ワッチョイ cf17-W2u1) mailto:sage [2016/12/23(金) 01:45:10.57 ID:wlAJlu3s0.net] 長文連投すんのマジでやめろや 途端にスレ読むの面倒になってしばらく読めなくなる ブログでやってろボケ
584 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/23(金) 01:45:43.60 ID:zYIMLsrEd.net] なんか、レベル下がったな。
585 名前:539 (オイコラミネオ MM7f-mf62) [2016/12/23(金) 02:20:25.33 ID:lOZdmC9zM.net] 私の質問のせいで一悶着あったようで申し訳ないです 本当にやりたい事はnodejsで全ての任意の非同期関数及びメソッドをcoで扱えるようにラップする事でしたが、 関係ない部分の説明が必要ないようapplyの話に単純化して質問してしまった為に、他の手段で簡単に解決できてしまい、混乱させてしまいました。 また、Functionのprototypeへの追加が危険なのは承知の上でしたが、このスレで学ばれている方が気軽に真似してしまう可能性を考慮しなかったことをお詫びします。 基本的にものぐさなので以下のような考えです co(function*(){ var readFileSync = thunkify(fs.readFile); var ret = yield readFileSync(‘test.json’); //全ての非同期関数毎に別名の変数を用意するのは面倒 var ret = yield thunkify(fs.readFile)(‘test.json’); //関数で囲うのは修正の際カーソル移動が面倒 Function.prototype.thunkify = 省略 var ret = yield fs.readFile.thunkify(‘test.json’); //保守性と記述性のトレードオフ var obj = {msg: ’hoge’, print: function(callback){callback(null, this.msg);}}; var ret = yield obj.print.thunkify.call(obj); //メソッド内でthisにアクセスするモジュール等の場合、bindかcallでobjを渡す必要があるので、なんとか関数の場合と同じ形に出来ないかな? //アドバイスを参考に考えた結果、メソッドを全て列挙しthisをバインドしたものを集めたオブジェクトを返すメソッドをObjectに追加しました var ret = yield obj.my_bind_method().print.thunkify(); //どうせ非同期処理なので呼び出しコストは気にしない var ret = yield thunkify(my_bind_method(obj).print)(); //メソッド名バッティングの危険性を考慮するならこちらの方がいいかもしれません });
586 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/23(金) 02:21:57.93 ID:zYIMLsrEd.net] >>579 いつもこの程度だから気にしなくていいよ。
587 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/23(金) 06:02:18.34 ID:jiSEHcxr0.net] Object.prototype にメンバーを追加するのも、禁止! 他の方法は、面倒と書いているけど、影響範囲・スコープが限られているじゃん 一方、Function.prototypeに追加するのは、すべてのソースコードに影響があるから、 全部の範囲をチェックするのは無理。 影響範囲が無限大 Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。 こんな事を思いつくとは、君は、開発したこと無いだろ?
588 名前:543 (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/23(金) 07:21:32.58 ID:VeLH/y/da.net] >543はES5の範疇でどこまでやれるかやってみた程度のもの ES6ではspread operatorという答えが出ていたので質問者が自己判断できる範疇と考えていた >>553 ,579 ES5では無理、ES6ならすでに提案されているようにspread operatorを利用可能 ただし、Function.prototype 上に関数を置くと呼び出し元関数(print)の this 値が変化してしまう Object.defineProperty(Function.prototype, 'spread', { configurable: true, enumerable: false, writable: true, value: function spread (args) { this(...args); } }); var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}}; obj.print.spread(["(", ")"]); // (undefined) this 値を渡す方法がないのであなたの要件は実装不可能 素直に呼び出し側で spread operator を使うべき # ちなみに、Object.prototype, Function.prototype を拡張するのがデメリットを享受したうえで使うなら止めようとは思わない # 俺は拡張しようとは思わないが、デメリットを承知の上で使う事情があるならそれもまた良いだろう(勿論、チーム内で合意を取る必要はある)
589 名前:543 (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/23(金) 07:41:04.49 ID:VeLH/y/da.net] > 素直に呼び出し側で spread operator を使うべき 一応、書いておく var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}}; obj.print(...["(", ")"]); // "(hoge)"
590 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/23(金) 11:59:58.59 ID:3Ssmhylk0.net] >>567 この程度のことでクロージャは使いたくないよ コード量も倍以上に膨れ上がるしな
591 名前:デフォルトの名無しさん (ワッチョイ 73ce-AnbU) mailto:sage [2016/12/23(金) 12:32:39.19 ID:L8VrAqOy0.net] >>581 > Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。 > こんな事を思いつくとは、君は、開発したこと無いだろ? Railsと一緒にするとは、お前は思慮がたりねぇなぁ。 大きな違いがはRailsがサーバーサイドで動くものだってことだよ。 つまり、Railsアプリを開発・テストした環境で動けば、動作は保障される。 だけどブラウザで動かすJavaScriptは違う。 動作する環境がバラバラ。一度動作を確認したとしても 勝手に実行環境がバージョンアップしてしまう。 そのせいでPrototype.jsでは開発した当時、どのブラウザでも搭載されていなかったreduceメソッドが ブラウザのバージョンアップで標準で追加されて、標準のreduceメソッドと互換性がなくて 問題になったんだろ。 お前、こんな事を思いつく俺のような奴と、君は、開発した事ないだろw
592 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/23(金) 17:57:29.78 ID:hTDeYr00a.net] >>585 railsはcrubyといくばくかの実行環境に限られてるだけでしょ。 勝手に実行環境が、ってのは、本来はサーバでも話は変わらん。 RailsがRubyを縛ってるだけ。要は「IE専用のページ」とレベルがかわらん。
593 名前:デフォルトの名無しさん (ワッチョイ 9bce-AnbU) mailto:sage [2016/12/23(金) 22:29:11.98 ID:ZeK4/Bhm0.net] >>586 お前意味わかってないねw ブラウザで動くJavaScriptコードを書きました。 サイトは不特定の人が見れます。 さてどのバージョンのJavaScript実行環境で動くのでしょうか? サーバーで動かすRailsだと、不特定の人がアクセスしたからって 動く環境は同一。Rubyのバージョンもライブラリも 意図的に上げない限り一緒。 ブラウザで動かすJavaScriptとは根本的に違うんだよ。
594 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/23(金) 23:28:59.41 ID:jiSEHcxr0.net] 便利な独自関数は、ライブラリとして独立しているから、誰でも使える。 Groovy, Kotlin でも、Javaに便利な独自関数を追加している ただ、開発体制が数年以上、持続できて、プロ中のプロがやる分には良いけど、 作ってほったらかしにすると、後で問題になる 数年後に、ソースコードを見た人が、どうしてこいつは、 たったこれだけのために、こんなややこしい事をしていたのか? と問題になる
595 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 01:06:18.56 ID:RsVu32Ub0.net] > たったこれだけのために、こんなややこしい事をしていたのか? と問題になる あぁ、オレオレでライブラリっぽいのを作ったりしてな。 有名所のを使っていれば、あとで見たときも情報があるが オレオレなものがネットに情報あるわけもなし
596 名前:デフォルトの名無しさん (ラクッペ MMdf-W3gD) mailto:sage [2016/12/24(土) 01:37:33.92 ID:1blwq6VQM.net] お前ら、ちょっと変わったことをするときは それなりに念入りにコメント書いたりドキュメント残したりしないの?
597 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/24(土) 02:43:45.75 ID:zFhkiAWLa.net] >>587 アホか。そういう事言ってんじゃないよ。 サーバがwindowsでもlinuxでもBSDでも、rubyがどのバージョンでも動くかって話と、そう変わらん、と。 rubiestはこれだから馬鹿なんだよ、ホント。
598 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 07:27:47.27 ID:RsVu32Ub0.net] >>591 Rubyがどのバージョンで動くかなんて アプリが決めたバージョンだけだろ。 アプリが2.3.3で動くことを確かめて 2.3.3で動かせばそれでいい。 他のバージョンのことなんか考える必要はない。 だがブラウザで動かすJavaScriptは違う。 こっちがChromeで動くと言っていても 相手は何を使うかわからない。 ずっと古いブラウザを使い続けるかもしれない
599 名前:デフォルトの名無しさん (オッペケ Sr6f-Esd/) mailto:sage [2016/12/24(土) 08:42:22.62 ID:Q1UBjc7Gr.net] Rubyの話はスレ違いだから余所でやってくれ ビルトインオブジェクトのprototype拡張は影響範囲が大きいから習熟してないなら避けるのが望ましい どうしても書くなら>>590 、で終わる話
600 名前:デフォルトの名無しさん (オッペケ Sr6f-Esd/) mailto:sage [2016/12/24(土) 08:47:40.57 ID:Q1UBjc7Gr.net] >>584 >>564 は将来的にFunction.prototypeに同名プロパティが拡張された時に衝突する恐れがある コードを少し書き足すだけでリスクをなくせるなら安いコストだ 短く書きたいなら、まだコードに工夫する余地はあるだろう 'use strict'; var foo = function foo () { return this++; // ES5非対応ブラウザをサポートするなら this.i++; }.bind(0); // 同上。{i: 0}
601 名前:デフォルトの名無しさん (ワッチョイ 3f5b-t+3N) mailto:sage [2016/12/24(土) 09:48:48.80 ID:JKkRXMHl0.net] >>594 bind して this.i++; はいいね。今後使わせてもらうわ。 this++; はES5でもES6でも動かない気がするけど。
602 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 10:43:11.38 ID:RsVu32Ub0.net] >>594 コメントがなければ意味がわからないようなコードを書かないでください 可読性が悪すぎます。
603 名前:デフォルトの名無しさん (ワッチョイ 375b-gDR1) mailto:sage [2016/12/24(土) 13:28:03.30 ID:IXC75mXH0.net] >>594 bindとか知らなかったので勉強してくる
604 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 13:34:07.48 ID:RsVu32Ub0.net] >>597 勉強するのはいいけど594は間違った使い方だから 読み解ことうと思わないようにw
605 名前:デフォルトの名無しさん (ワッチョイ a78f-Jkes) mailto:sage [2016/12/24(土) 18:01:50.08 ID:Zb/gh1a90.net] 最近はbabelとかtypescriptみたいな トランスパイラが出回ってるからそっちを使っていれば ブラウザの互換性は担保できるのではないかと思うが。
606 名前:デフォルトの名無しさん (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/24(土) 22:11:35.72 ID:7wbeR67ya.net] >>595 ごめん、ミスってた this 値を直接書き換える事は出来ないから this.i++ が正解だな >>596 2回同じコードを書くのが面倒だったからコメントを書いただけでコメントが必要な場面ではない 可読性が悪いと感じるならそれは慣れてないだけかと
607 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 00:43:48.56 ID:Sdmy2dzNa.net] >>599 見た目の互換性は上がるけど、見た目だけだよ。 最初から最低限でやりゃ良いんよ。 きちんとした仕様が決まってるなら昔懐かしのASP.netの部分更新みたいにサーバでDOM書いて送ったって良いんだし。 何故かReactやらそんな時代に、 まさに同じ事を「SSR」とか名前つけて有難がってるRoR+トランスパイル言語連中が馬鹿に見える位。
608 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/25(日) 01:02:21.91 ID:AjYaRi9b0.net] > 何故かReactやらそんな時代に、 ん? React使ってるサイトって全体のどれくらいですかね? Reactが必要だって言えるようなサイトはどれくらいありっますかね? 俺からすりゃReactをありがたがってる連中が 馬鹿に見えてるんだが。
609 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 01:07:11.87 ID:Sdmy2dzNa.net] >>602 俺もまとめて否定してんだよ。 カッチカチが良いなら全部サーバで書きゃいいって言ってんのに。 それも、Rubyなんてクソ言語じゃなくてもうちょいまともな型のある言語か、いっそハブラシPHPで書きゃいい。 お前ほんとに頭おかしいの?読解力ゼロなの?
610 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/25(日) 01:19:52.54 ID:AjYaRi9b0.net] >>603 重要なのはカチカチかどうかじゃなくて どれだけ早く価値を作れるかだと思うんだが?
611 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 01:50:23.74 ID:Sdmy2dzNa.net] >>604 うまいこと言ったつもりだろうが、堅いことが価値だったり、作るのが早いことが価値だったり、あとから直しやすいのが価値だったり、動くものが速い事が価値だったり 価値なんかバラバラでしょ。
612 名前:デフォルトの名無しさん (ワッチョイ 9f8f-O/vA) mailto:sage [2016/12/30(金) 22:56:35.53 ID:b7WBl9TI0.net] React自体はわかりやすいし自分でタグを作れるというのは 結構魅力的だと思ったんだけど実際に使うといまいちだったりするのかな? どっちかというとAngularとかのほうが複雑すぎて絶望した。
613 名前:デフォルトの名無しさん (ワッチョイ ca98-Sa8B) mailto:sage [2016/12/31(土) 15:42:29.63 ID:nUjD4DbZ0.net] JavaScript死亡www 「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念 「WebAssembly」がWebブラウザに変革をもたらします。 Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。 そして今回、「Webブラウザ」に新しい概念が加わわることになりました。 それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。 今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。 WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」 WebAssemblyによってもたらされるスゴイところは次の4つ。 コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる ほぼ機械言語にコンパイルされるからヌルヌル動く OSを一切気にする必要がなくなる。気にするのはブラウザのみ C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。 「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。 もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。 JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。 それを実現したのがこの「WebAssembly」です。 https://mayonez.jp/1690
614 名前:デフォルトの名無しさん (ワッチョイ eb7b-qQw5) mailto:sage [2017/01/02(月) 21:09:29.84 ID:NK7pnDgB0.net] 昔々その昔、JAVAと言うものがあってだなぁ…
615 名前:デフォルトの名無しさん (アークセー Sxa3-Eko0) mailto:sage [2017/01/04(水) 16:28:28.34 ID:A1xSFH10x.net] JavaとPHPがメインのサーバサイドプログラマなんだけど Javascriptフレームワーク、主にAngular.jsとReact.jsを触ってみたいと思っている。 これまでJavascriptフレームワークの経験ナシ。JQueryだけ。 そこで相談だけど、「とりあえず使い方とメリットを知りたい」 という場合、どんなものを作るといいんだろう? 例えばサーバサイドフレームワークなら、 DBも用意して、入力チェックのある掲示板を作ってみれば、大体のノリはつかめると思うんだけど そんな感じで、「こんなものを作ってみろ」 というお勧めを教えてください。
616 名前:デフォルトの名無しさん (JP 0H56-7auN) mailto:sage [2017/01/04(水) 17:05:10.17 ID:mEkZwZd0H.net] >>609 todomvc.com/
617 名前:デフォルトの名無しさん (ワッチョイ 1f8c-+flj) mailto:sage [2017/01/08(日) 12:09:11.44 ID:hH2LQLuG0.net] >>609 Reactやっとけばいいよ
618 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 16:00:23.16 ID:xMVs4RXt0.net] >>609 まずはボタンを押すとカウントアップするようなものをReactで書いてみるといいよ。 jQueryで書くならば、こんなの <html><body><span></span><button>btn</button></body></html> $(function() { var i = 0; $('button').click(function() { $('span').text(i++); }) }); これをReactで書いてみれば、Reactのデメリットが見えてくるだろうw
619 名前:デフォルトの名無しさん (ワッチョイ df98-HvS5) mailto:sage [2017/01/08(日) 16:34:40.53 ID:oWytpAF00.net] >>612 書いて見せてよ
620 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 16:47:29.40 ID:xMVs4RXt0.net] >>613 俺に答えを言わせる気かw Reactめんどくせーよ。
621 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/08(日) 17:24:39.20 ID:XDbKIsfAM.net] >>612 こういうコード サンプルスニペットならいいけど 複雑な業務だと何やってるかわからなくなるからやめて
622 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 18:04:30.88 ID:xMVs4RXt0.net] >>616 それは作り方が悪いだけ そもそも複雑な業務というのは サーバー側が複雑なのであってJavaScriptは 殆ど使わない
623 名前:デフォルトの名無しさん (ワッチョイ 8b19-+flj) mailto:sage [2017/01/08(日) 21:24:18.58 ID:l+lFPzQR0.net] 行数が短ければ正義と思ってる奴か
624 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 22:52:00.94 ID:xMVs4RXt0.net] 行数ではなくてステップ数な ステップ数が少なければ正義だよ
625 名前:デフォルトの名無しさん (ワッチョイ 9ba1-Vje5) mailto:sage [2017/01/08(日) 23:34:23.55 ID:U62MbfoD0.net] 結局どういう事なんだ
626 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/08(日) 23:37:15.12 ID:XDbKIsfAM.net] 行数だけ意識した雑なコードは書くなって事
627 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/09(月) 04:08:11.18 ID:QmwK1Z6K0.net] 重要なのは行数(文字数)ではなくてステップ数 たまにステップ数が短ければ正義。の反論として 極端に短くした変数名を持ってきたりするが、 重要なのはステップ数なのでわかり易い名前にすればいいだけ。
628 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/09(月) 09:23:11.98 ID:4NqOEoqDM.net] ステップ数の定義は? ステートメント数?
629 名前:デフォルトの名無しさん (ワッチョイ df98-HvS5) mailto:sage [2017/01/09(月) 18:16:00.34 ID:EaR/gEc60.net] >>614 Reactやりはじめたいんだけど、 全然わかんないからみせてよ!!!!!!
630 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/09(月) 18:27:16.49 ID:qGJTtvd50.net] >>623 どこから? JSXのコンパイルはできるようになった? それともnodeのインストールから?
631 名前:デフォルトの名無しさん (ワッチョイ 8b19-+flj) mailto:sage [2017/01/09(月) 20:04:40.49 ID:lLMrzoyO0.net] JSXのコンパイルって何だよ
632 名前: ◆OssanNUN/w (ワッチョイ df98-HvS5) mailto:sage [2017/01/09(月) 20:36:22.11 ID:EaR/gEc60.net] >>624 nodeのインストールしたとだよ そんなのいいから>>612 のReact版見せてくれ いっつもこんな感じでjqueryでしか書いてない
633 名前:デフォルトの名無しさん (アークセー Sx37-YL17) mailto:sage [2017/01/16(月) 16:48:39.02 ID:vlGMO2A0x.net] >>609 です。 レスありがとうございました! >>610 のサイト、最初はサイトの画面の意味もわからなかったのですが 追加ボタンを押すとアイテムが増えていくという画面なのを把握& Angular.jsは、ドットインストールを思い出してそちらで入門を読んでみて JQueryとの違いと言うか、考え方がどう違うかという基本はわかりました。 業務でちょっと立て込んでしまったので、しばらく手が動かせないのですが 次は>>612 やってみます。
634 名前:デフォルトの名無しさん (ワッチョイ 67ce-q48i) mailto:sage [2017/01/16(月) 23:02:56.26 ID:0nV0x3iS0.net] >>627 jQueryというかDOM操作ライブラリとの違いね ブラウザ標準のDOM APIともぜんぜん違うでしょ? グループ分けするなら ・DOM操作系(jQuery、DOM API) ・データバインディング系(Angular、Vue) ・仮想DOM系(React)
635 名前:デフォルトの名無しさん (ワッチョイ ffce-SmTw) mailto:sage [2017/01/21(土) 23:28:36.95 ID:sMDuy5hJ0.net] 2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net tamae.2ch.net/test/read.cgi/prog/1485008061/
636 名前:デフォルトの名無しさん (ワッチョイ a3bc-1yXr) mailto:sage [2017/01/22(日) 04:51:43.75 ID:A/ZA38Cw0.net] 誰かcanvas要素に詳しい方おられますか?
637 名前:デフォルトの名無しさん (ワッチョイ ffce-SmTw) mailto:sage [2017/01/22(日) 05:41:00.88 ID:etjPL+qg0.net] >>630 CreateJS(canvasを使うライブラリ)でよければどうぞ canvas要素を使うのは昔やったけど 手間がかかるだけなのでもうやっていません
638 名前:デフォルトの名無しさん (ワッチョイ ea98-Y1AZ) mailto:sage [2017/01/29(日) 15:32:31.23 ID:CHlx9RpS0.net] JavaScript ベスト・オブ・ザ・イヤー 2016 https://risingstars2016.js.org/ja/ JavaScriptコミュニティは日々進化しています。今日のトレンドも数か月後には陳腐化しているなんてことは日常茶飯事です。 2016年は終わってしまいましたが、何か重要なことを見逃したのではないかと感じているそこのあなた! 2016年の主要なトレンドをおさらいして、そんな不安を払拭しちゃいましょう。 過去12か月に獲得された Github のスター数を比較して、2016年に支持を集めたプロジェクトを数値に基づいて評価していきます。 2015年はなんといっても React でした。そして、Flux 実装を席巻したのは Redux でしたね。 2016年、JavaScript の人気プロジェクトはどのようなものだったのでしょうか?
639 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/29(日) 17:23:53.48 ID:MoCVqVidr.net] Web制作板の荒れようが酷いね。 あっちにもワッチョイが導入されればいいのに。
640 名前:デフォルトの名無しさん (ワッチョイ bb4a-Y1AZ) mailto:sage [2017/01/29(日) 18:26:37.78 ID:tEr1J88h0.net] 質問者はこちらへどうぞ。 ワッチョイ付きなので荒らしの区別が付きやすいと思われます。 JavaScript の質問用スレッド vol.132 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/hp/1485265364/
641 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/29(日) 22:06:52.93 ID:MoCVqVidr.net] >>634 ワッチョイ付いてないよ?
642 名前:デフォルトの名無しさん (ワッチョイ a6a7-AZYz) mailto:sage [2017/01/29(日) 22:45:11.28 ID:IWUOXBQT0.net] idないまま放置されてる時点であの板はもうダメだよ
643 名前:デフォルトの名無しさん (ワッチョイ ea98-Y1AZ) mailto:sage [2017/01/30(月) 00:50:26.53 ID:UteNnrEq0.net] ワッチョイってできる板とできない板があるの?
644 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/30(月) 12:23:30.70 ID:GF8hSJkSr.net] >>637 ある、Web制作板はワッチョイ未導入
645 名前:デフォルトの名無しさん (ワンミングク MM1a-bF0B) mailto:sage [2017/01/30(月) 23:53:44.29 ID:pve8veDdM.net] 匿名ゆえの荒れっぷりも楽しめないなら2ch引退した方がいい オープンなコミュニティで実名でワイワイやればいいじゃん?
646 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/01/31(火) 16:57:16.78 ID:RySlSGrka.net] 質問スレで煽り合いを楽しむなら、まともに質問をしようとは思わないかな 「煽りを楽しみにきてるのに何を真面目に回答しちゃってるの?」と返すのが当たり前になって質問スレとしては機能しない
647 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 00:18:27.87 ID:KFM30q9x0.net] ゆとりに何を言っても無駄。 とはいえゆとり汚染の酷い2chは使えないのも事実。 いいとこあったら紹介してくれよ。見てみるから。
648 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/02/01(水) 01:33:43.68 ID:TDICbD4za.net] 比較的まともなのはこの辺かな stackoverflow.com/questions/tagged/javascript ja.stackoverflow.com/questions/tagged/javascript https://teratail.com/tags/JavaScript
649 名前:デフォルトの名無しさん (ワントンキン MM1a-bF0B) mailto:sage [2017/02/01(水) 07:32:14.32 ID:QtOB6vhPM.net] ja.sfはちょっと…
650 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 19:32:56.21 ID:KFM30q9x0.net] ja.stackoverflow: 質問する前に教科書読めと言いたくなる、てかそっちの方が絶対速いだろ。 何故ゆとりは「まず質問しよう」とするのか分からん。 teratail: 同上、そして宣伝文句がいちいち頭に来たので今後とも相手にする気はない。 結局本家stackoverflowしかないのか? あそこはTips集としてはまあまあだが、しかし話す場所じゃない。 質問したいわけではなくて、知っている奴と話したいだけなんだが。 (身の程をわきまえていない初心者は要らない。 つか普通にやれば実装出来る件をいちいち質問するな。 その点本家stackoverflowはグーパン食らわせるらしいので、 結果的にずいぶん質問がまともになっているように見える)
651 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/02/01(水) 21:46:44.25 ID:ZhA7/VZ0a.net] 2chよりマシなQ&Aサイトを紹介しただけなんだから、いろいろ条件があるなら先出ししてくれないと分からないよ 質問をしなくてよくて初心者お断りな情報交換サイトを求めるならQ&Aサイトに行くのが間違ってる 見知った人とtwitter等のSNSサイトで情報交換すべき
652 名前:デフォルトの名無しさん (ワッチョイ 33a1-fMLr) mailto:sage [2017/02/01(水) 22:05:02.95 ID:lpyRA1Jp0.net] 移動しないとは言ってないし これでさよならって事で良いんじゃない?
653 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 23:32:49.62 ID:KFM30q9x0.net] >>645 なるほどご指摘はごもっとも。 しかし問題なのは見知った人が居ないことだ。本業の言語ではないので。 とはいえ逆に言えば、それが出来る人達は最早2chを使う必要はないわけだから、 ここで待っていても芽がないのかもしれんね。
654 名前:デフォルトの名無しさん (ワッチョイ ffe1-MPVQ) mailto:sage [2017/02/03(金) 02:11:34.67 ID:KVEM3lJ90.net] >>647 初心者お断りでそこそこ人がいるコミュニティは(初心者が手を出さないジャンル除いて)成立しないでしょ 初心者叩きで環境が悪くなって人が減るか、中級者すら入れないガチ勢のコミュニティになるか
655 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/03(金) 21:35:46.61 ID:LN7efSZ0M.net] 真面目な話この業界は空気悪くなっていいから初心者フルボッコして排除した方がいい これ以上ITインフラを初心者に破壊されたらもう日本はもたない
656 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/03(金) 23:16:19.84 ID:CYbB7nGp0.net] >>648 ゆとりは死ね。 まあお前らはそうやってコミュニティを破壊してきたんだろうし、今後もそうするのだろうけどね。 ちなみに > 中級者すら入れないガチ勢のコミュニティ これを知っているのなら教えてくれ。見てみるから。
657 名前:デフォルトの名無しさん (アウアウイー Saa7-qrch) mailto:sage [2017/02/03(金) 23:26:15.16 ID:+w29p6mxa.net] >>649 babel君は省みないから意味ないかもよ
658 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:26:00.81 ID:ViRk+dgw0.net] 全くもってシロートです。 この海外通販サイトであるメーカーの品を買いたいのはですが、そのメーカーの品は日本の代理店が圧力かけてカートに入れることが出来ません。 スマホからChromeを立ち上げて、 発送先(国旗のマーク)を他国にし、カートに掘りこんで放置。 他のサイトを色々見たあともう一度放置したタブを見ると(再読み込みしてた) 発送先が日本で目当ての品もカートから消えずに残ってた事が数回ありました。 一度発送先日本でカートに入れられた物は買うことができます。 その方法で数点買うことができました。 しかし、毎回出来るわけではなく、できる方が少なく困っています。 何か法則があるのでしょうか? または、スタイルシートなどでそれを解除することは可能でしょうか? 教えてクレクレは重々承知ですがお願いします。
659 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:27:04.69 ID:ViRk+dgw0.net] サイトのURl 貼るの忘れてました。 ttps://www.trekkinn.com/
660 名前:デフォルトの名無しさん (ワッチョイ d319-kMoN) [2017/02/08(水) 13:28:31.02 ID:EzKDTKh80.net] 【BS11:スポーツ】 <BSイレブン競馬中継>放送時間:毎週土・日曜日 正午〜(第1部)/ 午後4時00分〜(第2部) www.bs11.jp/sports/bs-keiba/
661 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:31:57.30 ID:ViRk+dgw0.net] >>653 他にもあるのですが、代表的なカートに入らないメーカーGregoryです。
662 名前:デフォルトの名無しさん (ワッチョイ 5317-wVGn) mailto:sage [2017/02/08(水) 16:25:27.72 ID:ekjB8NPA0.net] >>655 発送先変えようが串刺そうがブラウザ設定言語変えようがcookie消そうがそもそも ttps://www.trekkinn.com/outdoor-mountain/gregory/1010/m が表示されない 表示される機会自体が限定的なんじゃねーの googleキャッシュからなら一応見れるけど つーかJavascriptで制御してることはまずない それだったらJavascript切れば済む話
663 名前:デフォルトの名無しさん (ワッチョイ 037b-AtEE) mailto:sage [2017/02/08(水) 16:52:40.63 ID:OCW6swXT0.net] >>652 ここが > この板はプログラムを作る人のための板です。 という事を知っていると言う前提で回答 そういうプログラムを作って欲しいという依頼ならばこの板は板違い ランサーズとかで10-30万円くらいで募集かければ作ってくれるだろう 自作したいから教えろと言う意図ならば、全くの素人が今すぐ自作するのは無理と答えておく
664 名前:デフォルトの名無しさん (アウアウカー Sae7-yGjQ) [2017/02/08(水) 17:37:55.35 ID:k6/0uGHAa.net] >>656 すいません。 発送先をalbania で表示できてます。 そのままカートに入れて、発送先を日本に変えるとカートは0 また発送先変えるとカート内は復活します。 私はスクリプトのタイムラグで希に日本にしてもカート内に表示されるのだと憶測したのですが。 >>652 すいません、板違いですね。 理屈がわかれば退散しますので、解明してもらえたら嬉しいです。
665 名前:デフォルトの名無しさん (アウアウカー Sae7-yGjQ) [2017/02/08(水) 17:53:00.49 ID:k6/0uGHAa.net] わかっている情報としては、 はじめから実装されておらず、買えなくなったのはかこ最近。 (後からスクリプトを書き足した?) 一度やけくそで発送国変えてカートに十数個掘りこんで、日本に変えたらそのままカートに残ってた事があった。
666 名前:デフォルトの名無しさん (ワッチョイ 037b-AtEE) mailto:sage [2017/02/08(水) 18:04:00.30 ID:OCW6swXT0.net] >>658 板違いがわかったならとっとと立ち去れ 自分だけは許されると思うな カス
667 名前:デフォルトの名無しさん (ワッチョイ 767b-Hg1I) mailto:sage [2017/02/09(木) 03:27:01.86 ID:9cVHqnIp0.net] パソコンでブラウザを右クリックして、要素の検査から、F12開発者ツールが起動する。 それで、色々とデバッグしたりするけど、他人が作ったサイトを分析するのは、 自分が作ったサイトよりも、はるかに難しい なぜかと言うと、相手はアプリの仕様を知っているけど、我々には分からないから JavaScriptでは、後からデータを読み込んだりもするから、 ネット回線の都合で、数分後にはデータが読み込まれて、サイトの表示内容が変わる しばらくサイトを放置して、再読み込みされた後に、状況が変わるのはそのせい どの道、プロでも他人の作ったサイトを、仕様書無しで分析することは、まず無理。 しかも決済機能があるサイトを、どのようにいじくり回しても、どこかでエラーが起きるし、 営業妨害・破壊工作とみなされて逮捕される
668 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 02:58:29.43 ID:ljnBJEQ70.net] 正規表現で置換したいのだが上手くヒット出来ないので知恵を貸してくれ。 用途:文字の装飾。func内で<s>$1</s>とか。デリミタは頭尾共**。 (**と**で囲まれた文字を装飾するために置換する。今は上手くヒットしない) 入力例: 'a**b*c**d*e**fg**h' に対し、b*c と fg をヒットさせたい。 var str = 'a**b*c**d*e**fg**h'; // a@d*e@h を得たい。 str.replace(/\*\*(.*)\*\*/g,'@') // a@h でNG。最長を取るため。 str.replace(/\*\*([^(\*\*)]*)\*\*/g,'@') // a**b*c**d*e@h でNG。[]内に()を使えないため。 複数文字でのデリミタって単純には無理?
669 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 03:17:09.68 ID:GTe30Tvn0.net] non-greedyでググって
670 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 03:21:53.99 ID:GTe30Tvn0.net] a@hで返されるやつをnon-greedy(.*?)にすればOK
671 名前:デフォルトの名無しさん (フリッテル MM7f-hS1q) mailto:sage [2017/03/03(金) 08:24:44.98 ID:+Iu6j6ikM.net] >>662 あなたが期待しているのは non-greedyではなく、否定先読み (^**) 最長一致のままでバックトラックを最小限に抑えて書く事は出来る 更に発展させれば、先読みすら使わなくても書ける ** の固まりで考えずに * と [^*] に分けて文字列パターンを考えるといいだろう
672 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 15:34:12.20 ID:GTe30Tvn0.net] >>665 このケースでnon-greedyよりも効率のいい否定先読みの表現があるならちゃんと示してよ
673 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 19:13:40.68 ID:ljnBJEQ70.net] >>663-664 ありがとう。non-greedyが出来ると知らなかった。 >>665 いや、分けた時点で駄目だよな? デリミタが**で、その間は任意の文字列が許容されている。例えば、 var str = 'i**j*k*l*m*n**o'; // i@o を得たい 途中に\*と[^*]がどういう順番で何個あってもそれは無視して、**という塊が来たときに終端する。 non-greedyで速度含めて問題無いように見えるし、(アルゴリズム的には最長一致より速いはず) 無理に最長一致で書く必然性は無いと思うがどうか。 (それ以前に俺は書けないが)
674 名前:デフォルトの名無しさん (ワッチョイ 1f3c-3wiD) mailto:sage [2017/03/03(金) 20:52:02.35 ID:GTe30Tvn0.net] 'a**b*c**d*e**fg**h'.replace(/\*\*((?!\*\*).)*\*\*/g,'@') 否定先読みはこんな感じ これならnon-greedyのほうが効率いい
675 名前:デフォルトの名無しさん (フリッテル MM7f-fLnF) mailto:sage [2017/03/03(金) 20:55:57.43 ID:+Iu6j6ikM.net] >>667 あなたは「バックトラック」について学ぶべきだな (ぐぐるなり、『詳説 正規表現 第3版』を購入して読んでみるなりすべき) non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている 例えば、'**aaa**bbb**ccc**ddd**'.match(/\*\*.*?\*\*/g); は初めに全ての文字列「**aaa**bbb**ccc**ddd**」を消費してからバックトラックする事で最短一致する事になる為、** の後続に非常に長い文字列が存在するとパフォーマンスが著しく低下する デリミタが ** なら素直に書けば、こう 'a**b*c**d*e**fg**h'.match(/\*\*(?:(?!\*\*)[\s\S])+\*\*/g); // ["**b*c**", "**fg**"] 先読みを使わなければ、こう 'a**b*c**d*e**fg**h'.match(/\*\*(?:[^*]+\*)*[^*]+\*\*/g); // ["**b*c**", "**fg**"] これらは「**」を飛び越えて消費する事が不可能なので無駄なバックトラックが発生しない
676 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 21:41:53.09 ID:GTe30Tvn0.net] 否定先読みのやつはnon-greedyより効率悪いじゃん 知ったか君かと思ってたけどJSじゃないだけで フクロウ本を読んでるちゃんとした人だったのね
677 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 23:56:21.24 ID:ljnBJEQ70.net] >>668-669 否定先読みも知らなかった。ありがとう。 ただ、俺が言うのもおかしいが、 > non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている (>>669 ) これは多分違う。明らかに実装依存だし、MDNはそちらの想定とは異なることを示唆している。 > x? > *、+、?、{} といった量指定子の直後に使用した場合は、非欲張り (non-greedy)量指定子(最小回数にマッチ【訳注: スキップ優先】)となります。 > これはデフォルトのそれらとは逆であり、デフォルトのそれらは、貪欲 (greedy)量指定子(最大回数にマッチ【訳注: 繰り返し優先】)です。 > https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp greedyの結果は必ずnon-greedyの結果を内包する為、そちらの言うとおりの実装も可能だが、 それはあくまで既存のgreedy専用ルーチンにnon-greedyを後付した場合だ。 最初から両方とも実装する気なら、入力文字列/正規表現文字列での2重ループで、 内外を入れ替えられるように構成すればいいだけ。(実際は別に作ってif文だと思うが) この場合、「スキップ」が正規表現文字列の進行、「繰り返し」が入力文字列の進行を表している。 「スキップ」が内側ならnon-greedy、「繰り返し」が内側ならgreedyになる。 実際にどうかはコード見るしかないが。 この仮定どおりだと、今回に関してはnon-greedyが一番効率がいい。 正規表現検索が遅くなる理由は、内部のマッチング候補が無限に膨らんでいくからだ。 str.match(/\*\*(.*?)\*\*/g,'@') だとまず終端**であるか確認し、 駄目なら一つ進めてまた終端かどうか試すわけで、内部候補は最小の状態で保てる。 理屈上は線形時間*2で済む。(この場合は*3になるのか?) 話を総合すると、PCREは669の言うとおり、JSは多分違って670の言うとおり、ということなのかな? まあ今回の部分はパフォーマンスは必要ないところなので、どちらでもいいんだが。 なお余談だが.NETではバックトラッキングを制御するための構文もあるようだ。 > 非バックトラッキング部分式、後読みアサーション、および先読みアサーション > https://msdn.microsoft.com/ja-jp/library/dsy130b4(v=vs.110).aspx
678 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 01:24:10.21 ID:NAI/204b0.net] あいや、先読み使わないやつはさすがに効率いい **で囲まれた文字列が長くなるにつれ差が出る JavaScriptでもPCREでも結果は同じだったよ “a**b*c**d*e**fg**h”の場合 i.imgur.com/vSin3OI.png “a**bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb*c**d*e**fg**h”の場合 i.imgur.com/kkSEjXb.png
679 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 01:55:33.59 ID:NAI/204b0.net] ここで試せる https://regex101.com/ JavaScriptはstep数が表示されないけどPCREなら表示される
680 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:09:58.23 ID:w0C/5a4w0.net] >>672 ご苦労様だがそれはバグってるぞ。(間違えているのは君ではなくRegexBuddyの作者) 正確に言うと仕様を間違えている。最上位しかカウントできてない。 だから「backtrackを最小にするような正規表現」を考えるのにはいいが、 「最高速の正規表現」の評価には使えない。(元々これが仕様なのかもしれんが) 実装を考えれば分かる。 var i = 0; // 文字列位置、参考用 var str = 'a**b*c**d*e**fg**h'; // とする。 /\*\*(.*?)\*\*/gの場合、 まず**を探す、これは線形だから省略する。 問題はそれがマッチした後、つまり今 str[2] まで来ているとして、(今はi=2) 1. if (str[i]==='*') // 終端1文字目 ←これしかカウントしてない 2. if (str[i+1]==='*') // 終端2文字目 3. if (str[i]===何でもいい) // .* とマッチ で、1.しかカウントしてないだろ。2と3を本当はカウントしなければならない。 だから/\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、 君が広げているところで **bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb が1カウントでいきなり出てるだろ。 それは本当は [^*]+ にマッチしているかどうかを確かめながら進行してるんだから、 if (str[i]!=='*') を毎回やってる。ところが、それがカウントされてない。 本来はそこで文字列長さ分だけカウントされてないと駄目。
681 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:10:24.99 ID:w0C/5a4w0.net] 話を戻すと/\*\*(.*?)\*\*/g、1と2はショートカット論理であり、3は常に成立だから、 最適化がかかっていれば以下。 1. if (str[i]==='*' && str[i+1]==='*') // 終端 else { .* に常にマッチ } だからマッチ回数は「**内文字列長さ+**内の*の個数」となる。 結論としては、両方ともほぼ同じだが、 /\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら そこでいちいちバックトラックするだろ。 /\*\*(.*?)\*\*/gの場合はそれがない。だからこっちの方が速いと思うよ。
682 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:22:51.10 ID:w0C/5a4w0.net] >>673 つかこれ、JavaScriptはそのまま実行してるだけの気が、、、 それ以外はエミュしているからstep数出せるのだろうし。 ただPCREは中間コードを吐いて実行させるらしいから、 [^*]+の展開と他の比較に明確な速度差があって、 最上位だけカウントすればいいのかもしれない。 V8のは直接nativeを吐くらしいし、 俺の実装仮定はC言語的にnativeで、[^*]+の展開と他の比較も同速だから、 この見積もり方法だとPCREだとフィットしないのかも。
683 名前:デフォルトの名無しさん (フリッテル MM7f-hS1q) mailto:sage [2017/03/04(土) 14:14:02.07 ID:GYl4MmX4M.net] >>675 > /\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら > そこでいちいちバックトラックするだろ。 バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする? とはいえ、**aaa** でもバックトラックしてしまうのは問題なので /\*\*[^*]+(?:\*[^*]+)*\*\*/g にすべきだったな
684 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 15:27:38.88 ID:w0C/5a4w0.net] >>677 > バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする? これは俺の間違いだった。 >>672 見て後ろ [^*]+ から探索しているのが不思議だったんだが、 それが俺の勘違いで、あれは前側をgreedyで取りきった残りカスだった。 ただそれならそちらも気づいたとおり、デフォで1回バックトラックするよな。 /\*\*[^*]+(?:\*[^*]+)*\*\*/は微妙に仕様が異なる。(現実的には問題ない) ただこれもそちらの定義のバックトラックではないが、もう一段低いバックトラックはしてるだろ。 *が出現した場合、次の文字を検査し、(?:\*[^*]+)に該当するか、 --- (A) 駄目なら**になるか、の検査をしている。 ---(B) (A)があるだけ/\*\*(.*?)\*\*/gより遅い。こちらはBしかしないから。 (ただし「A=!B」の最適化をかけられれば同速になる) そもそもバックトラックのあり/なしで考えるのが時代遅れなのだと思うよ。 そこは本質ではない。wiki見りゃ分かるが、 バックトラックなし(そもそもアルゴリズムが違う)の正規表現探索ルーチンもあるし、 V8も今はIrregexpでChrome57からCodeStubAssemblerなんだっけ? Perl互換である必要が無ければ、PCREを使う必要も無くて、 機能が少ないのなら、その分高速なルーチンを作成できるのも当然だし。 本質的には探索木が分岐しないことでしょ。 /\*\*(.*?)\*\*/gは全く分岐しないんだよ。 だからnon-greedyを正しく実装していれば最速になる。 (?:\*[^*]+)も完全に最適化されれば同じだけど、 (?:\*[^*]+)*\*\*と頭側の\*が2回別に書かれている点が最適化しづらい。 (まあこの程度なら最適化されるのかもしれないが)
685 名前:デフォルトの名無しさん (ワッチョイ 1fce-NqFr) mailto:sage [2017/03/04(土) 16:39:44.96 ID:fiOXClU60.net] お前らに一言言っておこう。 正規表現というのは文字列(単語)を認識するものであって 文字列と文字列の関係(構文)を認識するものではない なんでも正規表現でやろうとするやつは馬鹿がすることだ。 正規表現以外の方法を知らない愚か者だ
686 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 17:11:29.26 ID:w0C/5a4w0.net] 本日の愚か者>>679 この場合は正規表現が最適だろ。 str = str.replace(/\*\*(.*?)\*\*/g,'<s>$1<\s>');
687 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 17:21:07.94 ID:NAI/204b0.net] 文字列別にjsPerf作った やっぱChromeだけちょっと特性が違う https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-2 https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-3 >>674 カウントの仕方は今度作者に聞いてみるわ
688 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 17:33:12.13 ID:w0C/5a4w0.net] >>679 ちなみに正規表現の濫用が指摘されだしたのはPerlからだろ。 JavaScriptの正規表現ってそこまで機能ないし、濫用できないと思うが。 多分なあ、バックトラックとかの調整をユーザーが意識しだした段階でそろそろやりすぎなんだよ。 今回もそうだが、大半のケースで自前でループまわした方が速かったりするし。 さらっと書いて遅かったら手で回す、位でいいと思うが。
689 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/18(土) 21:27:33.25 ID:sZCCfY8g0.net] 画面を左右で分けて 画面右でクリックされたらAの処理 画面左でクリックされたらBの処理 ってやりたいのだけどこの場合どうすればいい?
690 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/18(土) 22:47:45.17 ID:waR+gchT0.net] >>683 onclickイベント関数の引き数eにclientXが格納されているからそれを見る。 https://developer.mozilla.org/en-US/docs/Web/Events/click https://developer.mozilla.org/en-US/docs/Web/Events 以下で試してみ。 document.getElementsByTagName('body')[0].onclick = function(e){console.log(e.clientX);};
691 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/18(土) 22:48:01.74 ID:vBdYmHk50.net] 画面って?
692 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/18(土) 23:33:51.54 ID:sZCCfY8g0.net] ウインドウ画面のこと >>684 ありがとうございます。 やってみます。
693 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 15:22:00.36 ID:L+LO5eNf0.net] 可変するdiv枠内で、画像が中央に一枚あり 画像がdiv枠内からはみ出さず且つ画像サイズが最大になるように 画像のサイズを調整したいのですがどうするといいでしょうか? イメージ的にはこんな感じです。 bashalog.c-brains.jp/images/150810_fujimori_01.png
694 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/19(日) 21:45:28.77 ID:Lj5IhMr80.net] >>687 CSSじゃなくてJavaScriptでやりたいの?
695 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/19(日) 21:49:48.67 ID:DAQ4XfnCM.net] >>688 CSSで解決出来ると思って別スレで質問したが、思った回答が得られなかったのでこっそりマルチポストしてるのだろう echo.2ch.net/test/read.cgi/hp/1488192984/384-
696 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/19(日) 21:58:04.92 ID:Lj5IhMr80.net] そっか >>687 CSSで出来るよ
697 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 21:59:01.69 ID:L+LO5eNf0.net] >>688 >>690 できました。 ホントのホントにありがとうございます。
698 名前:デフォルトの名無しさん (ワッチョイ a30e-qdcG) mailto:sage [2017/03/20(月) 00:12:43.52 ID:UPidTP050.net] var px = '123.45'; Number(px); //123.45 parseFloat(px); // 123.45 px = '123'; parseInt(px, 10); // 123 javascriptの型変換について、 どれを使うべきってあるのでしょうか? 私は、次の3つのうちどれかを使えばokって認識なのですが、 一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき とかってありますか? parseFloat Number parseInt
699 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 00:52:54.32 ID:G9+XvfW+0.net] var px = “2ch” の時にどうしたいかで使い分ける
700 名前:デフォルトの名無しさん (ワッチョイ a30e-qdcG) mailto:sage [2017/03/20(月) 01:35:56.30 ID:UPidTP050.net] >>693 なるほど。 ところで皆さん、自分の過去に作ったコード読んで意味不明とか 何で動いてるか分からないってありますが? 私は、結構そんなコードあるんですが、 やっぱり処理フローとか資料とか作っといたらいいのでしょうか?
701 名前:デフォルトの名無しさん (ワッチョイ 53ee-RygQ) mailto:sage [2017/03/20(月) 04:59:35.86 ID:jSqJf+ps0.net] >>692 parse系は単位付きの文字列から変換する時か、基数を変える必要があるときのみ 一番いいのは+演算子、次点でNumberや数値で取得するメソッドを使うこと ◎ val = +elm.value ○ val = Number(elm.value) ○ val = elm.valueAsNumber >>694 資料までは要らないが、コメントは最低限必要 でもコメントを残しとかないといけないような所はできるだけ少なくしたいもの まあ上達してくれば徐々に減る
702 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 05:22:32.26 ID:9l8mop6tM.net] >>695 一番上は暗黙の型変換だからおれは勧めないな 時代に即さない
703 名前:デフォルトの名無しさん (ワッチョイ bf7d-tpgq) mailto:sage [2017/03/20(月) 06:29:26.82 ID:b6MPn9SR0.net] var hoge = function(){...}; と function hoge() {...} ってどっちもhoge()で呼び出せますが、 どちらの書き方が好ましいんでしょうか?
704 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 06:36:41.80 ID:9l8mop6tM.net] >>697 変数に入れる理由がわからないうちは普通にfunctionで書く方がいいよ
705 名前:デフォルトの名無しさん (ワッチョイ bf7d-tpgq) mailto:sage [2017/03/20(月) 06:41:44.71 ID:b6MPn9SR0.net] >>698 こんな時間に即レス感謝です。変数に入れる理由って、引数で関数渡す場合ですかね? 前者の表記の場合、関数ポインタ分メモリを余計に消費してしまうって言う理解で正しいですか?
706 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 06:54:28.26 ID:9l8mop6tM.net] >>699 引数で関数渡すときに変数に入ってるかどうかは関係ないよ function構文でも同様に渡せる メモリ云々は考えない方がいい どうせ意味のないレベルだし内部実装がどうなっているかによる 無名関数を変数に入れるということは途中でそれを破棄する事も出来る GCが走れば当然メモリは解放される これも微々たるもので千個万個定義するとかじゃないかぎりほとんど意味はない まず、javascriptのプロとタイプについて調べ、なぜ無名関数が必要なのか、どう使うのかを勉強したらいいよ きっと今のレベルであれこれ考えても意味がないよ あと、他の言語の知識はいったん全部忘れるほうがいい 他の言語の知識ありでJSをとらえようとすると余計なフィルターがかかって本質がいつまでもたっても見えないとおもう ぶっちゃけ、javascriptは他の言語とは比較にならないレベルで難解だよ やるなら書籍買い込んで本気で基礎からやったほうがいい
707 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/20(月) 10:41:29.41 ID:dCGuhToEa.net] 再利用出来そうなら関数文、出来なさそうなら関数式で分けてるわ
708 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 10:42:58.03 ID:5J3+8zMD0.net] 毎回思うがデタラメ言うやつが多いから気をつけろよ。 こんなのはJavaScriptのスレだけなのだけどね。
709 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 12:34:37.78 ID:RyskYj8DM.net] >>692 対象の変数値によって最適解が異なる。 // ToNumber 系 Number(px); +px; // 文字列パース系 parseInt(px); parseFloat(px); // DOM API 系 element.valueAsNumber ToNumber 系は Number 型への変換だけを行い、文字列パース系は Strimg 型に変換してから、文字列の前方にある数値文字列を対象に Number 型へ変換する(数値文字列の後続文字列は読み飛ばす)。 単純なNumber型への変換を求めるなら ToNumber 系で十分であり、文字列パース系は数値以外が混在する String 型が適する。 element.valueAsNumber は対象ブラウザが許すなら使える。 caniuse.com/#feat=input-number
710 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 12:42:39.52 ID:RyskYj8DM.net] >>697 変数の巻き上げ(hoisting)を望まないなら変数宣言を行い、そうでないなら関数宣言を使用すれば良い。 >>6 のJavaScript Gardenを参照する事を推奨する。 巻き上げを望まないなら const, let を使いたくなるだろうが、対応ブラウザの関係でトランスコンパイラなしでは扱いにくいところがあるので、要求パフォーマンス及び対象ブラウザ次第といえる。
711 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/20(月) 13:30:33.76 ID:1qi4KoAma.net] const大好きっ子だから早く完全に対応してほしい 少なくとも9割はconstにしたい
712 名前:デフォルトの名無しさん (フリッテル MM7f-pqpN) mailto:sage [2017/03/20(月) 13:52:50.29 ID:cId9IEOYM.net] constはオブジェクトに優しくないからなー
713 名前:デフォルトの名無しさん (ワッチョイ bf5b-YDOq) mailto:sage [2017/03/20(月) 13:56:00.98 ID:+zI9Fl+i0.net] const長いから3文字ぐらいに縮めて欲しい
714 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 14:06:55.06 ID:OAxC6OTFa.net] constはインデントが揃わないから嫌い
715 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 14:15:35.01 ID:5J3+8zMD0.net] >>694 > 私は、結構そんなコードあるんですが、 一応ヒントだけ言っておくと、 > 私は、次の3つのうちどれかを使えばokって認識なのですが、(>>692 ) この認識が間違い。 > 一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき 一般的に〜の理由でこれを使うべきというのはあって、それはMDNを読めば分かる。 資料やコメントも重要なのだけど、それ以前に、 資料やコメントが無くても分かるコードを目指さないといけない。君はそれができてない。 分かってないやつが書いた資料やコメントなんて使い物にならない。今の君がそう。 だから繰り返しになるが、今はまず、何故そのコードなのかを明確にするように書け。 そして「本来は○○を使うべきだが△△の理由で□□を使っている」場合にそこにコメントつけるんだよ。 そうすれば、自分流のスタイルは統一され、自分のコードが読めないことはなくなる。 次に、他人のコードが読みにくいというのが発生するが、これは上記、 「自分流」と「他人流」が違うから。 ただそれも、だんだん「自分流→他人流」の変換テーブルが出来るから読めるようになる。 その上で、この変換テーブルの作成コストを下げたいというのなら、 「自分流」を世の中の「多数派」に合わせることが必要で、 それは自分であちこちのサイトを巡ってF12押して確認しろ。 ここはマジでデタラメばかり言うやつが多すぎる。
716 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 14:39:28.75 ID:mV22Zu+/a.net] この句点付きはいつものキチガイだから無視するように こいつの言ってることが既にデタラメだからな
717 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 17:01:21.30 ID:G9+XvfW+0.net] ファイルの中で全体から部分へ詳細化する形で書けるから俺は関数宣言のほうが断然好み でも関数宣言より関数式を使うほうが一般的なんかね? airbnb.io/javascript/#functions https://medium.com/@ryanflorence/functions-without-function-bc356ed34a2f Airbnbなんかは関数宣言使うと可読性とメンテナンス性が落ちるって書いてるけど 関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる
718 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 17:04:42.33 ID:G9+XvfW+0.net] あとNumber vs parseIntは俺は基本Numberを使う 基数指定が不要で可読性が高いから parseInt使うのは特別なケース 仕事のコードなら規約に従うけどね
719 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 17:07:48.80 ID:RyskYj8DM.net] > 「自分流」を世の中の「多数派」に合わせることが必要で、 わけも分からず、多数派に合わせるのはお勧めしない。 自分の中で納得できる理屈を確立できるまで突き詰める探求心こそが必要。 流行次第で変化する多数派に合わせることはそれ程重要ではない。 観測範囲によっても多数派は変わるだろうしな。
720 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 17:22:11.55 ID:RyskYj8DM.net] >>711 一般的かどうかは分からないが、関数式を使う人の心理としては「関数定義後に関数呼び出しする原則」を徹底したいのだと思う。 関数宣言では宣言の記述前に関数呼び出しする事が出来てしまう。 勿論、コーディング規約やポリシーで制限することは出来るのだが、宣言前に呼び出したらエラーになる強制力が欲しいと感じるのだろう。 > 関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる 個人的には同意なのだが、 所詮、可読性は主観的な評価なので慣れてしまえば、どちらでも大した違いはないと思う。 「どちらが可読性が高いか」ではなくて「どちらが自分にとってしっくりくるか」という感覚的なもの。 可読性でいうならアロー関数は可読性が低いと感じるが、新しいもの好きやショートコーダの人は平気で書くだろう。 それは「可読性を落としてでも書くメリットがある」か「自分自身の目を養って自分の可読性能を上げよう度努力した(慣らした)」のだと思う。 その辺のバランス感覚は人それぞれなので自分の中で完結するのは良しとしても、他人に可読性が云々という人を見ると「あなたの個人的な感想では?」と感じることはある。 (あなたがそうといっているわけではないが、このスレでも比較的そういう人を見かけるな)
721 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/20(月) 17:50:30.15 ID:9zw9z92Za.net] >>707 var、let、と来てるんだからconでいいのに
722 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 18:23:45.84 ID:5J3+8zMD0.net] >>711 > Why? > Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file. > This harms readability and maintainability. > If you find that a function’s definition is large or complex enough that it is interfering with understanding the rest of the file, > then perhaps it’s time to extract it to its own module! > Don’t forget to name the expression - anonymous functions can make it harder to locate the problem in an Error's call stack. > ([Discussion](https://github.com/airbnb/javascript/issues/794)) まずこれが嘘だろ。 関数宣言はどこにでも置けるのだから、関数式を置いている場所においても動作は問題ない。 遠くに置いて見にくくなるのなら、近くに置けばいいだけの話。 結局のところ、訳の分からない場所に置く馬鹿がいることが問題なんだよ。 関数式で前方宣言を強制することは出来る。 しかし、前方宣言が文法的に強制されているCに於いては、糞だと言う人のほうが多い。 だからそれ以降の言語、おそらく全部で、この仕様は捨てられているわけでね。 どこにでも置けるという、より自由度が高い方法を適切に使いこなした場合、 より自由度が低い方法でそれを超えることは出来ないのは当然。 それを馬鹿に合わせてどうするんだ、って話。 ただまあ、JavaScriptにおいては、このスレに限らず、Web上にもこの手のトンデモ情報が多すぎる。 ホームグラウンドだってこともあるのだろう、未熟者がお気軽に情報発信してしまいすぎている。 だから余計におかしくなる。 ただし、実はメンテ性は少し落ちる。 何らかの変更でポインタが必要になった場合、関数宣言→関数式に変えるが、 前方宣言強制になるので、理想的には、最初から関数式で書いた場合に置いたであろう場所 ---(A) に移動させることになる。ところが、2段階とかで呼んでいる場合、それが分かりにくいので、 機械的にやってしまうのなら、関数内の頭に持っていく ---(B) しかなくなる。で、(B)が嫌いなら残念なことになる。気にしないのなら大して問題はない。
723 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 18:25:08.33 ID:5J3+8zMD0.net] というのは、C出身の俺は「出来るだけプログラマに委ね、プログラマ自身が最適化すべき」と考えるから。 Pythonはそうじゃないから、彼らは上記を読んだら発狂するのかもしれないが。 ただ、JavaScriptは「何でも出来る系」の言語なんだけどね。
724 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 19:17:45.58 ID:5J3+8zMD0.net] ああすまん、間違ってた。 Pythonは前方参照禁止なんだな。驚きだわ。 Cで糞々と言われる前方参照禁止を採用←Python COBOL以来(多分)の文法的インデントを採用←Python Pythonはかなりクレイジーだな。 そしてJavaScriptをPython流にすると関数式強制になるのかもしれん。 なお改行については以下参照 > A Python programmer attempting Java > https://i.imgur.com/wG51k7v.png 諸悪の根元はPythonerか?
725 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 19:37:09.70 ID:86KGYLzra.net] >>718 括弧が気持ち悪すぎる
726 名前:デフォルトの名無しさん (ワッチョイ 53ee-RygQ) mailto:sage [2017/03/20(月) 20:54:11.25 ID:jSqJf+ps0.net] つうか何度も話題に出てるがlet,constは巻き上げされないというのは誤り そもそも変数とはスコープ内で有効になるものなのだから、 スコープ内のどこで宣言されても変数として巻き上げされるのは当たり前 巻き上げされないのは変数自体ではなくて変数の初期化(利用可能化処置) 初期化句以前では初期化以外での参照不可状態に設定されているだけ このエリアを通称TDZと言う
727 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 20:58:49.82 ID:5J3+8zMD0.net] >>719 すまん、改行じゃなくて括弧だったわ。(まあ改行もだが) 俺は初めて見た時には一瞬フリーズした。 そしてその後、波括弧がうぜーってのはこういうことかーと思った。 >>711 追加。 > でも関数宣言より関数式を使うほうが一般的なんかね? 俺は専門ではないが、少なくとも俺は全面的に関数式のソースは見たことがない。 今数サイト見てみたが、普通に関数宣言が使われている。 そして多分今後とも「全面的に関数式」にはならないと思う。 他言語(C/C++/Java/C#)から来た連中が「全面的に関数式」で書くはずがないし。 なお日本語ページは逆となっている > 7.1 関数式より関数宣言を利用してください。 > https://github.com/mitsuruog/javascript-style-guide#関数functions 状況からすると改訂されたのだろう、おそらく以下。 const foo = function () {}; // × function foo() {} // △ const foo = function bar() {}; // ○ いずれにしてもAirbnb自体は有名らしい。 一体こいつらがどんなコードを書いているのかと思って探してみたが、 リーダーは確かにこの通り書いているね。 https://github.com/ljharb 個人的には余計に見にくくなっていると感じるが、この辺は所詮慣れだからねえ。
728 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 21:43:46.42 ID:G9+XvfW+0.net] >>721 おお改訂されてるね 改訂した理由をいくつかのコード例とともに語られてると参考になるんだけど残念ながらそういうのはないね
729 名前:デフォルトの名無しさん (ササクッテロロ Sp97-DSCq) mailto:sage [2017/03/20(月) 22:50:20.09 ID:jJoyVxl9p.net] javascriptは難解 よくプログラミング初心者にjavascript勧めるやついるけど、とんでもないよ JavaやPHPの方が簡単 フロントPGが少ないのよく分かるわ だって難いもん サーバサイドと違ってHTMLやCSSをブラウザー毎の動きまで踏まえて完璧に読み書き出来ないとダメだし、少し現場から離れるとすぐわかんなくなるし大変だわ
730 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 23:02:03.61 ID:5J3+8zMD0.net] >>722 一応ここはWeb上の議論で改訂されてるらしいから、漁れば出てくるはずだけど、 俺はGit慣れしてないから無理だ。試しに数個ポチって見たが出てこない。 Git慣れしてるんならクローンしてローカルで検索出来るんじゃねーの?知らんけど。 https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7
731 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 23:24:59.75 ID:G9+XvfW+0.net] >>724 改訂されたコミットみても具体例とか書いてないのよ https://github.com/airbnb/javascript/issues/1008
732 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 23:41:37.98 ID:5J3+8zMD0.net] >>725 これちなみにGitHub上で検索した?やっぱローカルクローンから? なお、見た目は7.11に合わせる為に間違えて修正してしまったようにも見える。
733 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 14:00:12.05 ID:utcvU+/f0.net] なんで const foo = function () {} が×なんだろうな ES2015からこの書き方でもnameが付くようになったでしょ?
734 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/21(火) 14:11:53.03 ID:AW7YBj5fM.net] >>727 それ普通にfunctionでいいじゃんw
735 名前:デフォルトの名無しさん (アウアウウー Sa37-pJ3D) mailto:sage [2017/03/21(火) 14:22:36.92 ID:XvUQo6M0a.net] >>727 後方互換性を考慮しているのでは? kangax.github.io/compat-table/es6/#test-function_name_property_variables_ (function)
736 名前:デフォルトの名無しさん (アウアウウー Sa37-pJ3D) mailto:sage [2017/03/21(火) 14:27:20.25 ID:XvUQo6M0a.net] > const foo = function () {} Edge 15 でさえ about:flags で設定しなければ使えないので、後方互換性以前の問題か
737 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/21(火) 14:33:49.62 ID:saxGm3bOa.net] function.nameが空文字で困る場面が思い付かない
738 名前:デフォルトの名無しさん (ワッチョイ ef61-tpgq) [2017/03/21(火) 14:50:17.24 ID:SBixdYhr0.net] node の質問なんですが async await が使えるようになるとEventEmitterが要らなくなるんですか?
739 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 16:04:16.05 ID:utcvU+/f0.net] >>732 EventはObsevableもといasync generator functionが使えるまで要る
740 名前:デフォルトの名無しさん (ワッチョイ ef61-tpgq) [2017/03/21(火) 16:25:45.91 ID:SBixdYhr0.net] >>733 うう難しいですね・・・ CちょっとできるようになってC++やろうとしたら挫折した時に似てます
741 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/21(火) 17:18:19.13 ID:iOlRfwaHa.net] そもそももうthisを指定したいんでもなけりゃ関数式でfunctionって書かんしな 全部アローで書けばいい IE?知らん
742 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/21(火) 17:34:23.19 ID:jV0Y+t/Y0.net] >>726 cloneしてgit log -L オプションはgit help logで確認して
743 名前:デフォルトの名無しさん (ワッチョイ bfc8-YDOq) mailto:sage [2017/03/21(火) 18:38:55.47 ID:XDBsAYay0.net] アロー関数はぱっと見で関数と認識できない Array#mapの引数とか必ず関数が来るところならまだしも、let f = e => {};とか書かれるとちょっと混乱する 俺が慣れてないだけかもしれないけど
744 名前:デフォルトの名無しさん (ワッチョイ efa7-tpgq) mailto:sage [2017/03/21(火) 18:56:16.04 ID:cCTalgi30.net] よくわかるよ 俺はなるべく引数に()付けたりブロック部分を改行したり return端折らずに関数っぽく見える程度の形にしてる
745 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/21(火) 20:16:43.13 ID:bmlZ4oTAa.net] >>737 慣れもそうだけどアローは関数型プログラミングの流れを汲んだ記法だから、 そこら辺に慣れてないと違和感あるかもね その関数が参照透過かつ副作用がなければアローは本当にただの矢印というか、 引数に対して何か手を加えて返すだけの数学ちっくな関数になるからアローも しっくり来ると思う 逆に可読性のために処理をまとめて詰め込んだだけの関数ならそれはもう 関数というかプロシージャだから、アローも単にタイプ数が少なくなる程度の 意味しか持たないし違和感を覚えるのもおかしくない
746 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 20:20:20.88 ID:T5U7WLBb0.net] >>727 つかAirbnbが馬鹿だから、の結論でいいと思うよ。 >>725 の議論でいきなり7.1を変更して内容が残ってない時点でアウトでしょ。 「議論してまーす」のフリをしているだけだよね。最近こういうのも多いけど。 なおgoogleはそんなことは言ってない。強いて言えば以下。 > ブロックの中での関数宣言 > してはいけない. > > if (x) { > function foo() {} > } > ブロック内での関数宣言は多くのスクリプトエンジンでサポートされていますが, > これは ECMAScript で標準化されていません (ECMA-262 の 13, 14 節を参照してください). > よって各実装や将来の ECMAScript 標準との間での一貫性がとれなくなります. > ECMAScript での関数宣言は, スクリプトのルート部分か関数内で許可されています. > ブロック内では関数宣言の代わりに関数式を用いてください: > > if (x) { > var foo = function() {}; > } > cou929.nu/data/google_javascript_style_guide/#id14 最後の1行の後半部分だけは一致する。海外にも文盲が増えただけの話だろ。 Nodeは余裕で関数宣言使ってる。jQueryには言及自体がない。 > https://github.com/felixge/node-style-guide#functions-1 > https://contribute.jquery.org/style-guide/js/ JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。 どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。 それでイマイチだったなら後で変更すればいいだけ。 最初から文法/スタイルに異常にこだわる奴が多すぎるのもJavaScripterの特徴だよ。
747 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 20:28:08.78 ID:T5U7WLBb0.net] >>739 つまりアロー関数はクロージャ無し、ついでにthisの使用も禁止にすれば美しかった、ってことだろ。 俺もそう思うね。 まあこれに限らず「何でこんな仕様なの?」ってのは多いけどね。
748 名前:デフォルトの名無しさん (ワッチョイ cf75-vzQh) mailto:sage [2017/03/21(火) 20:59:01.05 ID:wMSmjxpw0.net] >>697-722 関数式は、あくまでも式・オブジェクトだから、書いた順序に依存する。 関数を下の方に書けないから、分離度が低い 関数式は1級オブジェクトだから、他の関数に、コールバック用引数として渡すなど、 関数をオブジェクトとして使う、用途に適している 関数宣言(文)は、オブジェクトとして使わない、単なるutility関数として使う場合
749 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/21(火) 21:01:44.99 ID:jV0Y+t/Y0.net] >>727 >>740 そっちのほうはDiscussionでリンクしてるIssueでちゃんと説明してるやん https://github.com/airbnb/javascript/issues/794
750 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:06:36.94 ID:KGQ11aI90.net] >>727 > ES2015からこの書き方でもnameが付くようになったでしょ? あんたにわかりやすく理由を説明するならばこうだよ 「仕様上はnameがつくようになりましたが、これはサポートしていないブラウザが 多いという問題があります。現実的に問題があるため推奨しません」 コーディング規約というものはそもそも「罠」を回避するためにある。 あるブラウザでは動くが、他のブラウザでは動かない。 これこそ「罠」でしょ?
751 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:10:57.81 ID:KGQ11aI90.net] >>740 > JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。 JavaScrptに限らない > どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。 決めるためには深く理解しなきゃいけないだろ 自分で決めるから時間がかかるんだよ。 こういうのは有名なスタイルガイド(Airbnb等)を採用して そのデフォルト設定でガシガシ書くのが上達の近道 理由は後から理解すればいい。まず手を動かすことが大事 自分でルールを考え込んで無駄な時間をかけないようにしろ
752 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 21:24:13.49 ID:T5U7WLBb0.net] >>743 いや、無いよな? 確認だが、以下の理由と、そのコード例が知りたいんだよな? (少なくとも、俺が言っているのは以下件についてだ) > 変更前: > Use function declarations instead of function expressions. > Why? Function declarations are named, so they're easier to identify in call stacks. > 変更後: > Use named function expressions instead of function declarations. > Why? Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it > https://github.com/auth0/javascript/commit/3bce8154a02e44dade7a9da95a188966b0a1d523 見た目、不整合があるから整合させましたー、と見える。それはいい。 ただそのついでにこの変更はなしだろ、と思う。
753 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:35:13.01 ID:KGQ11aI90.net] >>746 そのコミットは、 Fixes #1008. に対する修正だけど?
754 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 21:48:52.92 ID:T5U7WLBb0.net] >>745 全般的には同意だが、細かい点は以下。 > こういうのは有名なスタイルガイド(Airbnb等)を採用して いや常識的にはgoogleだろ。 google: 関数宣言?問題ないよ。 Node: 関数宣言?問題ないよ。 jQuery: … Airbnb:関数宣言は駄目。全部関数式にしろ。 誰を信じるかだが、google は巨人だろ。 おそらく世界最高レベルのJavaScriptエンジニアを多数揃えている。 Nodeの連中も同様、JavaScriptに深く関わっている。 jQueryも老舗の良店舗だろ。Nodeより信頼出来るかもしれない。 AirbnbってただのGitHub上の寄せ集めで、誰がやっているかも分からない。 そこでリーダーのリポジトリを見てみたが、バージョン管理システムとかだし。 これでAirbnbを信じるという選択になるのはアホだろ。 まあそれでも選択するのは個人の自由だが。 俺だったらgoogleを読んで、 おや?っと思う点だけは他も確認して、というアプローチにするけど。 そもそも、それ以前に、俺は偶には閲覧中のサイトのコードも覗くようにしてるけど、 全面関数式のコードには遭遇したことがないし。 > JavaScrptに限らない 他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。 だからいちいち迷うことはないんだ。 迷うのはその上の段階の「データ構造」「制御構造」「オブジェクト指向」であり、 これは迷う価値があるから迷えばいいんだよ。
755 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:01:42.18 ID:KGQ11aI90.net] >>740 等って書いたろ。どれでもいいんだよ。 そんなのにこだわってるから無駄な時間が過ぎていく
756 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:04:36.39 ID:KGQ11aI90.net] なんでどーでもいいことなのに、 Airbnbの考察とかしてるんだろうか。 「Airbnbは人気があるものの一つ」で 選択肢として扱うのに十分なんだが。 といったら、あーだこーだ Airbnbの考察を語るんだろうなw 時間の無駄。
757 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:05:09.76 ID:KGQ11aI90.net] > 他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。 用意されている
758 名前:デフォルトの名無しさん (ワッチョイ 83f5-JN/B) mailto:sage [2017/03/21(火) 22:48:54.14 ID:EYWrpp4i0.net] >>739 Fontを変えれば結構目立つようにできるよ。 FiraCodeとか
759 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 22:50:00.78 ID:utcvU+/f0.net] >>734 難しくないよ function は同期的に一度しか値を返せないのに対して generator function は同期的に何度も値を返せる なら非同期に一度しか値を返せない async function <-> promise に対して非同期に何度も値を返せる async generator function <-> observable が考えられるでしょってこと promiseがthenで繋げるように observableもforEachとかいろんなメソッドで繋いで使う
760 名前:デフォルトの名無しさん (ワッチョイ 436e-tpgq) mailto:sage [2017/03/22(水) 23:08:09.38 ID:CHjgGlMW0.net] 入力値のチェックロジックとかってjs側でも制御入れて、サーバー側でも制御したほうがいいんでしょうか?
761 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/22(水) 23:14:17.83 ID:vhfzvoEm0.net] JS OFFでも困らない程度には
762 名前:デフォルトの名無しさん (ワッチョイ bfc8-YDOq) mailto:sage [2017/03/22(水) 23:15:01.33 ID:l60EFEPW0.net] サーバー側のチェックは必須 js側でのチェックは任意だが、あれば便利(UIの向上、サーバー負荷の軽減)
763 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 02:37:56.05 ID:MXxg54fBF.net] >>754 場合によるが、両方にチェックは必要でも、同じチェックをする必要はない。 クライアント側では意味的なチェック、サーバー側では量的なチェック、のように分けてすると良い。
764 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 02:41:02.62 ID:M7xdd4U/M.net] >>757 おいおい、分けちゃだめだろ ザーバー側はクライアント側を含むチェックしないと
765 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 03:26:49.22 ID:mxf1LURC0.net] >>756 Good >>757 Bad (意味的チェック量的チェックの意味がわからない 内容によっては同じチェックが必要) >>758 Bad (クライアント側を含む必要は必ずしもない)
766 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 03:33:52.14 ID:M7xdd4U/M.net] >>759 クライアント側を含まない一般的な例を挙げてもらえるかな?ん?
767 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 03:57:17.62 ID:mxf1LURC0.net] 例えば パスワード設定時に2度入力してもらったパスワードが同じかどうかを確認する場合 参照系処理で入力値のチェックディジットを確認する場合
768 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 04:20:42.76 ID:M7xdd4U/M.net] >>761 なんだただの屁理屈か チェックを分けるという757に対し、クライアントチェックとザーバーチェックの一般的包含関係を指摘した758を "BAD" と言う位だから面白い話でも聞けるとおもったんだが残念
769 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 06:24:22.37 ID:MXxg54fBF.net] >>758 その必要はない 例えば電話番号を入力するフォームがあったとして、 0-00-000をクライアントサイドで弾くのはユーザー補助として正しい。 でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。 なぜならそもそもユーザーが他所様の電話番号を使っても分からないからだ。 だから何らかのハックでJSのバリデーションを抜けてくるもののうち、そんな所に着目しても仕方がない。それは実際には何の安全も得られない蛇足。 そうではなく、できるだけシンプルに絶対に防がねばならない所に集中して、そこで抜けが無いようにすべきなのだよ。
770 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/23(木) 06:57:22.16 ID:52peJ7Lk0.net] クライアントサイドとサーバサイドが対等なアプリ同士のつもりで設計したなら それぞれがそれぞれの目的に会ったチェックをするのは自然だろうよ しかし実際はサーバありきでその補助としてクライアントを作る方が一般的だから 正しいか正しくないかというよりその場合不自然になるだろうよ
771 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/23(木) 12:59:49.72 ID:1Qddb7ZOH.net] >>763 > でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。 あるでしょ。 > だから何らかのハックでJSのバリデーションを抜けてくるもののうち 別にハックじゃなくても普通に別経路でリクエストを受け付ける場合もあるし、アタックを受ける場合もある。 > 絶対に防がねばならない所 それには、普通クライアントサイドで行うような形式的なバリデーションも含む。 例えば、形式的にvalidな電話番号かどうかとか、email addressかどうかとか。
772 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 17:59:22.63 ID:mxf1LURC0.net] >>762 Too Bad!! 反証が示されても自分を正当化しようとする一番情けないタイプ >>763 Good 説明はわかりにくいが基本は理解してる風 >>764 OK 補助としてクライアントを作るのが一般的と言える時代ではない >>765 Bad チェックの種類・目的をよく理解できてない
773 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/23(木) 18:01:04.57 ID:y1JVgYTX0.net] こいつ頭悪いんだろうなぁ。。。
774 名前:デフォルトの名無しさん (ササクッテロリ Spd3-1VOV) mailto:sage [2017/03/23(木) 20:14:00.33 ID:jk0vnrUUp.net] クライアントサイドのバリデーションなんか回避するのは簡単 よって渡される入力の正しさを保証するためにクライアントサイドのバリデーションを使ってはならない せいぜい誤入力を事前検知して無駄な通信を減らしユーザビリティを向上させるぐらいのものだ サーバサイドでの入力チェックはサーバサイドでの処理の要件に合わせて行われるべきで、クライアントサイドを気にする必要は全くない 鯖蔵両方で同じチェックを行うことを忌避する理由はないし、蔵でチェックした物全てを鯖で再検証しなければならない理由もない この2者は目的が違うため個別に考えるべき物なのに、関連するものの様に扱うから混乱するんだろ
775 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 21:06:04.79 ID:g5+n7phXF.net] >>768 だよな。 こんな簡単な事がどうして理解できない奴が居るのかね?
776 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 23:03:37.05 ID:mxf1LURC0.net] 例えば1000~5000の間の値を取るIDがあってそれを入力として受け取る検索画面があったとする クライアント側では以下のようなチェックを実施 必須チェック:入力されてるかどうか 長さチェック:4桁かどうか 形式チェック:数字かどうか(このケースは型チェックと呼ぶ場合も) 範囲チェック:1000〜5000の間かどうか サーバー側でも同じチェックをする場合もあるが 範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある 参照系の場合は論理チェックなんかもクライアント側のみで実施するケースがよくある(更新系の場合は別) >>756 や>>768 が書いてるようにクライアント側チェックは基本的にUX向上のためで データの妥当性や整合性を保証するためのものじゃない
777 名前:デフォルトの名無しさん (オッペケ Srd3-GcFy) mailto:sage [2017/03/24(金) 00:19:03.16 ID:q+ZUh23Rr.net] >>770 ほんとこれ
778 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/24(金) 00:26:15.54 ID:kUuIMYYH0.net] いやサーバーでもデータベースに問い合わせる前に範囲チェックするだろ
779 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/24(金) 03:14:23.52 ID:rALN4Wgi0.net] >>770 頭堅すぎ
780 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/24(金) 09:07:59.43 ID:ABrn3clB0.net] >>772 それはDB側のAPIの問題だと思うが DBなんて何時例外吐くか分からんのだし、参照時は何でもDBの例外として扱えば問題ないでしょ
781 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 11:14:10.55 ID:ocF0oGY1H.net] >>770 > サーバー側でも同じチェックをする場合もあるが > 範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある 脆弱性の温床ですな。 サーバが受け取るデータは全てチェックしなければならない(MUST)。 UXを無視すれば、サーバ側で全てのチェックを行いクライアント側では一切しないという選択もなくはない。
782 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 11:23:49.40 ID:ocF0oGY1H.net] >>770 あ、サーバ側では上の3つはやるが範囲チェックのみしない場合があるということか。 それなら同意。
783 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/24(金) 12:52:17.72 ID:BP9qUPyxF.net] >>776 簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ つまりサーバのチェックは引っかかったら処理を全て破棄してログに記録することだけやる 一方ユーザーにおかしいですよとやり直しさせるような事に絞ってクライアントでチェックするということでしょ
784 名前:デフォルトの名無しさん (ワッチョイ dfa1-tY0+) mailto:sage [2017/03/24(金) 15:22:53.73 ID:pB18Cl9S0.net] ボタンでフルスクリーンモードの変更をしようと思ったのですが、 フルスクリーンの解除ってどうすればいいでしょう? flag = false; function toggle(){ flag = !flag; if(flag == true){ if(document.body.webkitRequestFullScreen) { document.body.onwebkitfullscreenchange = function(e) { document.body.style.width = window.innerWidth + 'px'; document.body.style.height = window.innerHeight + 'px'; document.body.onwebkitfullscreenchange = function() { }; }; document.body.webkitRequestFullScreen(); } // mozilla if(document.body.mozRequestFullScreen) { document.body.mozRequestFullScreen(); } document.getElementById("botan").value = "フルスクリーンオフ"; } else { document.getElementById("botan").value = "フルスクリーンオン"; } }
785 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 16:20:54.61 ID:ocF0oGY1H.net] >>777 > 簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ 簡単に言ってますがな。 > サーバが受け取るデータは全てチェックしなければならない(MUST)。
786 名前:デフォルトの名無しさん (ササクッテロリ Spd3-1VOV) mailto:sage [2017/03/24(金) 16:55:23.56 ID:xJa3HsICp.net] >>778 https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Using_full_screen_mode ベンダープレフィックスはよしなに
787 名前:デフォルトの名無しさん (ワッチョイ feef-VHv+) mailto:sage [2017/03/24(金) 18:27:41.34 ID:OKRbra2j0.net] スマホでブラウザがバックグラウンドに回ってもjavascriptを実行し続ける方法ないでしょうか
788 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/24(金) 18:50:10.68 ID:suDsBIm10.net] >>781 無理 バックグラウンド処理はJavaScriptと関係ないので各スマホのスレに行って
789 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/25(土) 00:52:37.97 ID:is8OgtpR0.net] switch caseは嫌いだから javascriptの時は配列で代用してるわ switch (weather){ case "快晴": return "f.png"; case "晴れ": return "f.png"; case "くもり": return "c.png"; case "雨": return "r.png"; これより Select =[ "快晴" : f.png, "晴れ" : f.png, "くもり" : c.png, "雨" : r.png ] Select(weather); の方が見やすいやん
790 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/25(土) 00:53:00.15 ID:is8OgtpR0.net] switchなんて所詮はif文の連続の糖衣構文だからな javascript連想配列でデフオルト値設定する時は if(hoge[x]===undefined)一文を付け加えるだでオケ あと、普通はswitch case文でやりそうな hoge = [ "快晴" : function(){ 処理1 }, "晴れ" : function(){ 処理2 }, "くもり" : function(){ 処理3 }, "雨" : function(){ 処理4 } ] hoge[weather](); みたいのもよくやるわ それくらいswitch case使いたくない
791 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/25(土) 04:04:59.05 ID:Gy0JTtQc0.net] >>783-784 あー、うん。俺にとっては当たり前なので そんなに言うことはないなw コードが長くなければ、ここまでまとめたコードを書くこともある。 const name = { "快晴": "f.png", "晴れ": "f.png", "くもり": "c.png", "雨": "r.png" }[weather] || 'unknown.png"; 最後の行がdefault相当の書き方な。厳密に言えば値が falsyの場合に使えないんだけどそれが必要になることはまずない。
792 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/25(土) 05:31:01.91 ID:KmJBzYaF0.net] >>779 君勘違いしてるね どのデータをチェックするかではなくて データに対しどういうチェックするかがずっと話されてきてるのよ データの数=チェックの数 じゃないでしょ
793 名前:デフォルトの名無しさん (ワッチョイ 2a11-VHv+) mailto:sage [2017/03/25(土) 10:16:51.24 ID:UemXv0vo0.net] >>783 間違えすぎてて笑う
794 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/25(土) 12:26:39.27 ID:LvHBs4Hr0.net] >>784 そこまで毛嫌いする意味がよくわからんけど
795 名前:デフォルトの名無しさん (アウアウウー Sa3f-h7Mr) mailto:sage [2017/03/25(土) 16:15:36.45 ID:uPRT5zaYa.net] 見やすいと嫌い以前に文法上おかしくて笑える
796 名前:デフォルトの名無しさん (ワッチョイ f36e-Og2M) mailto:sage [2017/03/25(土) 16:16:26.85 ID:ITKyI3zl0.net] 配列とはいったいなんだったのか
797 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 17:01:23.73 ID:X4L1f9kG0.net] javascript初心者です。変な質問でしたら、すみません。 ブラウザでホームページ開いて実行するユーザーサイドのjavascriptコードで、実行中の変数の内容を表示したいのですが、どうするのが良いでしょうか。 例えば、FireFixのWeb開発ツールを開いてみたのですが、今ひとつ解りません。
798 名前:デフォルトの名無しさん (ワッチョイ 4ad6-Og2M) mailto:sage [2017/03/25(土) 17:03:53.11 ID:HbZGgLUg0.net] >>791 console.log(変数); でいいと思う
799 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 18:51:13.28 ID:X4L1f9kG0.net] 例えば下記のコードに於いて、実行時に変数uset_mailを表示することは可能ですか? function send_noti() { if($('#user_mail').val()) { var user_mail = $('#user_mail').val(); $.ajax({ url: 'send_noti.php', type: 'post', data: {user_mail: user_mail}, success: function(response) { } }); } }
800 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/25(土) 20:53:12.20 ID:WyZVpsBF0.net] >>793 >>792
801 名前:デフォルトの名無しさん (ワッチョイ 4ad6-Og2M) mailto:sage [2017/03/25(土) 21:22:28.87 ID:HbZGgLUg0.net] >>793 普通にいけると思うけど… 変数の中身表示したいところで console.log(user_mail); ってしたら デバッグツールのコンソールに出力されるよ
802 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 22:57:24.73 ID:X4L1f9kG0.net] 791,793です。 できました。 ありがとうございました!
803 名前:デフォルトの名無しさん (ワッチョイ 2a13-VHv+) mailto:sage [2017/03/26(日) 13:04:41.02 ID:B6TaWqnz0.net] www.hoge.gom/home/index.php?&a=1&b=2 見たいなページにjavascriptで遷移させたいのですが 普通にlocation.pathnameに入力しても?が%3Fにエスケープされてしまい、 location.pathname = "/home/index.php" location.search = "a=1&b=2 としてもうまく動作しません。 どうすればいいのでしょうか?
804 名前:デフォルトの名無しさん (ドコグロ MMe2-YDnS) mailto:sage [2017/03/26(日) 13:15:49.40 ID:6ED+2C9oM.net] location.hrefに入力してみては?
805 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/26(日) 13:26:12.08 ID:nGHK8C/50.net] >>797 pathnameはフラグメントを変更する機能無いだろ href使いなさい
806 名前:デフォルトの名無しさん (ワッチョイ 2a13-VHv+) mailto:sage [2017/03/26(日) 13:26:59.44 ID:B6TaWqnz0.net] >>798 ,799 上手くいきました。ありがとう御座いますm(_ _)m
807 名前:デフォルトの名無しさん (ワッチョイ fee2-xnBe) [2017/03/27(月) 03:16:39.88 ID:zKTOvwxl0.net] (ここが継続スレということで誘導されました) やりたいこと: Androidタブレットの外付けマイクで音を拾ってその音量レベルを数値化したい PC: Win7-Pro,FirefoxかChrome Android: ver.4.4.2, ASUS MeMO Pad 7 (ME176C) Android 音 取得 マイク JavaScript getUserMedia でググりましたが、やりかたのヒントも分かりません。 とりあえず、 150217-html5sound.fnobi.com/ の 「Stream API」項の「Web Audio APIが使えるか確認しつつ、contextをつくる」 をマイクを付けたPCでやったところ、一応波形は変化しましたが、console.logはエラーだらけで 音のグラフ振幅もわずかでした。 また saku-na63.hatenablog.com/entry/2014/01/16/220011 のコードをタブレットで試しましたが、スピーカーからは何も聞こえませんでした。 ※そもそもタブの画面左上にマイクのマークが出なかった とりあえず、マイクで「アッーーーー!」と言ってるときに、画面上の何かのボタンを押して alert ( "音量は " + xxx ); とかで参照したいです。 何か手立てはありますか?
808 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/27(月) 03:50:19.90 ID:u3G31U+S0.net] 質問なんですがnode.jsで使えるes6構文はChromeでも使えると考えて良いのでしょうか?
809 名前:デフォルトの名無しさん (ワッチョイ 9370-rs77) mailto:sage [2017/03/27(月) 05:04:50.71 ID:PxWmWqFB0.net] V8のバージョンが一緒なら基本的にそう 後はフラグの設定
810 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/27(月) 10:37:00.38 ID:u3G31U+S0.net] >>803 なるほど! ありがとうございましたm(__)m
811 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/27(月) 11:43:02.69 ID:k65uzCD6F.net] >>801 Webは常に変化している そういうHTML5時代の枯れたAPIでも、できれば4ヶ月(3つブラウザバージョンが進む)以内、最悪でも8ヶ月(5つブラウザバージョンが進む)以内の情報に頼ること。
812 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/27(月) 11:49:50.85 ID:LarKYmAi0.net] つまりHTML5は互換性がない
813 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/27(月) 12:32:49.34 ID:XA28lmPGM.net] >>801 諦めろ 音声が拾えてもそれをバイナリレベルで解析するプログラム書けない限り無理 作れないならそういう便利なAPIが登場するまで待つしかない
814 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/27(月) 13:12:47.32 ID:6PFfEo7ya.net] そもそもスマホブラウザってマイク入力出来たっけ
815 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/27(月) 13:25:31.65 ID:k65uzCD6F.net] できるよ、多分https限定的だろうけど つうかバイナリ解析とか大げさな 音量と周波数がabで取れるからそれ見ればいいだけ
816 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/27(月) 13:37:27.00 ID:6PFfEo7ya.net] ああ、暗号化必須の縛りがあるのか 通りで俺の環境で動かんわけだ >>801 最新のブラウザでgetUserMediaを使うにはSSL導入してhttpsにする必要があるんだぜ(ドヤァ
817 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/27(月) 13:49:48.81 ID:XA28lmPGM.net] >>810 localhostなら回避できるはずじゃ?
818 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/27(月) 14:50:47.43 ID:eaJfSyiy0.net] >>783-785 こんなやつが同じプロジェクトにいたら困るわやめろや
819 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/27(月) 14:58:13.15 ID:LarKYmAi0.net] >>812 どうした? 言い返さないのか?w
820 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/27(月) 19:16:02.99 ID:zKTOvwxl0.net] 皆さんどうも。 >>809 音量と周波数がabで取れるから abって何ですか?
821 名前:デフォルトの名無しさん (ワッチョイ fe75-i4+Q) [2017/03/27(月) 23:32:45.29 ID:cGqqXL2J0.net] >>801 JavaScriptから、スマホ・タブレットのネイティブ機能を使うのなら、 Monaca から、Cordova/PhoneGap の機能を使って、アクセスする
822 名前:デフォルトの名無しさん (アウアウウー Sa3f-h7Mr) mailto:sage [2017/03/28(火) 00:06:12.68 ID:RtCyVUYLa.net] 好き嫌いの話じゃなくて、if文(switch文含む)やfor文はできるだけ避けて配列の ようなまとまりを使って遅延評価 するのは関数型の流れを汲むJSとしてはある意味当然でしょう
823 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 00:21:46.80 ID:x/Tih9w50.net] 意識高い系ってさ、 意識高いだけで「中身がない」から嫌われてると分かってるか? 意識も高くて中身もあれば、「すごい人」になるんだよ。 とりあえずお前は遅延評価の定義を確認しろ。 そしてWeb系の連中はWeb板でやってくれねーかな?
824 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 00:25:49.52 ID:idISHk3E0.net] JavaScriptでWebが関係しない分野って何だろ
825 名前:デフォルトの名無しさん (ワッチョイ 938c-TFxs) mailto:sage [2017/03/28(火) 00:51:57.88 ID:xO0UHaSB0.net] >>818 クライアントアプリじゃね? 例えばテキストエディタのatomとか あれはElectronを使って作られている 少しでもネットにアクセスするとウェブ系というのなら JavaScriptにかぎらずほとんどのアプリがウェブ系になるし ゲーム系や業務系もウェブ系になってしまうから そういうことじゃないよね?
826 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 00:56:55.22 ID:idISHk3E0.net] >>819 ElectronなんてHTML5とCSS3とJavaScriptで、まんまWeb系の技術だと思うんだよな マジでわからんね
827 名前:デフォルトの名無しさん (ワッチョイ 938c-TFxs) mailto:sage [2017/03/28(火) 01:06:49.15 ID:xO0UHaSB0.net] >>820 じゃあサーバーサイドJavaScriptは ウェブ系の技術じゃないよね HTML5もCSS3も使わない
828 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 01:08:26.59 ID:idISHk3E0.net] なるほど
829 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:50:18.53 ID:x/Tih9w50.net] >>818-819 あーいや、まともな連中がうんざりしてこっちに移住するのは当然だと思うが、 現実的におかしな奴も結局こっちに混ざっちゃうわけでね。>>783 とか>>816 とか。 ここは「自分が書く時にどうすればいいか」を質問する場所であって、 「他人にこう書け」と布教する場所じゃない。 実際、783も816もそれぞれ得失あって使い分けるものだから、 「何言ってんだ
830 名前:アの馬鹿は」でしかないだろ。 それでも、そういう話がしたい奴用に、JavaScript雑談スレがあっても良いんだよ。 実際Web板のはそれに近かっただろ。 そして彼等で回答出来る範囲なら、彼等に任せていいんだよ。 そこで喧々諤々議論をするのも悪いことではない。 間違いが含まれても、それは仕方ないし、仕様だし、どうせそれ以上の物も提供出来ないんだ。 ここは匿名だから、回答者のスキルを区別する方法が無い。(回答者にポイントが付いていない) だから質問者は、どの回答が正しいのか分からない。 俺たちが出来るのは、正解が含まれるように努めるだけ。 現実的にスキルの差は発生し、どの界隈でも上級者は中級者より少ない。 結果的に、中級者が十分答えられる簡単な質問なら多数決でいいが、 上級者しか答えられない難しい質問の場合は少数意見がベストの時もあるわけでね。 初級質問者は自分の質問のレベルなんて分かってないし、区別出来ないんだ。 [] [ここ壊れてます]
831 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:51:02.73 ID:x/Tih9w50.net] この状態で、出来るだけ上手くスレを運営する方法の一つは、「速度で分ける」事なんだよ。 簡単な質問はみんな回答出来るし、実際チャキチャキ回答が来た方がいいだろ。 難しい質問はそもそも早い回答が必要ないことが多いんだよ。 話したい奴は速い方に集うし、レベル低すぎてつまんねーって奴は遅いほうに流れてくる。 結果的に回答者も上手く棲み分け出来るんだよ。 だからWeb板の質問スレ、お前らにとっては不要だという結論でこちらに統合されたようだが、 それでも上記の通り「棲み分けスレ」としては機能してたんだよ。 そしてそれをここと混ぜるのは、お前らにとっても得策ではないんだよ。 だって、選択肢が減ってしまうだろ。 遅いスレには俺みたいな奴も住んでいて、無駄に衝突してしまうんだから。 つーかね、お前らは一体どんなスレが欲しくて、何がしたいのかをちゃんと考えろ。 そして、どういうレスをすればそうなっていくかを考えてレスしないといけないんだよ。 上記の通り、「表面的な棲み分け」が完了すると、 次のステップは、「住人の棲み分けの加速」なんだよ。 だから俺は遅いスレで馬鹿な回答をした奴には「死ね」とレスを付けていく。 そもそも正答率を高める為には、「自信が無いのなら回答しない」のが鉄則なのだけど、 構ってちゃん、構ってあげたいちゃん、キャピキャピしたいちゃんはそうじゃないから。 でもね、いくら死ね死ね言っても、彼等が出て行ってくれないとどうにもならないんだよ。 このときに、彼等にとってより魅力的なスレが必要で、 それは「速いスレ」であり、技術的には高くなくていいんだよ。つまり、Web板のスレがそうだった。 お前らの見方は、「Web板では機能しなかった。技術板では機能しているのでそこに統合」かもしれんが、 実際は、混ぜたらこっちもおかしくなるんだよ。その兆候は出てるだろ。 対立していたわけではなくて、実際は表裏一体なんだよ。
832 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:51:35.69 ID:x/Tih9w50.net] というのをちゃんと理解してだな、それでどうしたいのかちゃんと作戦を考えろ。 俺は何度もこれを言ってきてるわけだが。 色々やること自体は良いことなんだが、結果的にスレッドクラッシャーになってる。 それでお前ら自身も確実に損をしている。 Web板見たところ、そんなに酷いとも思えないが、回答者ではなく質問者が酷かったのかな? いずれにしても、お前らの判断でID/ワッチョイが必要だというのならそれは尊重されるべきだ。 が、単純にここに混ざったら共倒れになるだけなのはちゃんと理解しろ。マジで。 見た目多分お前らが欲しいのは、ID/ワッチョイ付きで、俺みたいな面倒な奴がいないスレだろ。 だったらおそらく、 ・JavaScript質問雑談スレ(高速、初級〜中級の質問、例:○○のやり方が分からない) ・JavaScript技術質問スレ(低速、中級〜上級の質問、例:○○はどう実装すべきか) という感じで棲み分けした方がいい気はする。 主張したい奴は雑談スレ側で存分にやれ。JavaScript談義もどうぞご自由に。 アホな主張を技術スレでやる奴は死ね。 質問者は好きな方を選べ。 てなところじゃないか? まあ丁度800+だし、お前らは上記のことを理解した上でどうしたいか話し合えよ。 今は「複数の」機能しているスレが存在することが重要なんだよ。 一つに纏められる状態じゃない。 その上で、落ちない程度、死なない程度に棲み分け出来れば、 駄目な方を地道に改善していけば、最終的に両方とも交互に改善されていくだろ。 C#がその方法を採ってる。(相談室とふらっと)
833 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 02:57:25.06 ID:8XEqMjkn0.net] みんなの心の声 「うっっざー」
834 名前:デフォルトの名無しさん (ワッチョイ 26a7-VHv+) mailto:sage [2017/03/28(火) 03:05:24.63 ID:1m8Q31SZ0.net] ここ数年で紆余曲折してこの質問スレとその他大量の隔離スレに至ってるんだから もう掻き回さなくていいよ
835 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:07:52.18 ID:x/Tih9w50.net] >>826 背乗り朝鮮人死ね というかWeb板から来た奴には俺をウザイと言う権利はないんだよ。 俺はずっとここにいたし、Web板には行ってないんだから。 その上でWeb板が諦められた理由はおそらく質問者側の問題だろう。 回答者は割とまともだし、今でもWeb板のID無しスレでしか質問しないキチガイも多いし。 多分826みたいな、 無駄に煽って回答を得ようとするキチガイが多くてうんざりしたのだろうとは思う。 とはいえキチガイもここでは排除する方法がない。それも含めて考えろ。
836 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:09:35.99 ID:x/Tih9w50.net] >>827 「1つ」になるとマズいんだ。 今は機能しているスレが「2つ」ないといけない。 他があれば良いんだけど、この様子だと、多分無いからこの状態になってる。
837 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:20:03.81 ID:8XEqMjkn0.net] 本当に、うざいなぁw 俺がうざいということを止めることなんか出来やしないのに 言う権利がないとか言って、何の意味があんの?w 何度でも言えちゃうよ? うざいうざい
838 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 03:27:29.29 ID:idISHk3E0.net] 闇を見た 怖いし帰る
839 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:35:15.77 ID:x/Tih9w50.net] 見て分かるとおり、この手のキチガイは基本的に構ってちゃんだから、 死んでもらう為にはスレが「遅い」必要がある。 逆に言えば、彼等にとって魅力的な「速い」別スレが必要だということ。 Web板を諦めてこのスレに来るのは自由だけど、それはつまり、 技術板スレ>Web板スレ と判断したことになる。 だけど、Web板スレの方が人数(レス数)は多いんだから、 全員がここに一度に来ると、結果的にこのスレを乗っ取ってしまう。 それは、Web板スレよりもマシだったこのスレを破棄することになる。 JavaScriptのスレがダントツで糞なのは、この、 「良い方のスレを壊して悪い方に統合する」を繰り返しているから。 やってることが逆なんだよ。 お前らは本当に若すぎる。 だけど、俺が何を言っているかを理解して、もうちょっと賢くならないといけない。
840 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/28(火) 03:39:12.42 ID:5RUVNWwS0.net] 分けたかったら分ければいいよ 長文すぎんよ
841 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:39:39.72 ID:8XEqMjkn0.net] > 長文すぎんよ かまってほしいんだろ?
842 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:40:56.25 ID:8XEqMjkn0.net] っていうかさ、スレと関係ない長文を書いて スレと関係ある話を流すことが スレを壊すことだって理解してないのか?
843 名前:デフォルトの名無しさん (ワッチョイ a672-sIi0) mailto:sage [2017/03/28(火) 04:00:31.42 ID:88QQOgd10.net] こいつが向こうから来た長文やろうじゃねーかw
844 名前:デフォルトの名無しさん (ワッチョイ 6fce-qnvg) [2017/03/28(火) 04:55:21.43 ID:1e56qEba0.net] スレを間違えたのかもしれないのでこちらにも投稿します。 どちらかで回答が得られば結構です。 win7ie11,鯖缶なし(外部ファイル一切使用しない。) はじめまして、初心者ですみませんが 二次元配列と連想配列で混乱していてうまく作れずに悩んでいます。 どなたかご教授下さいませ。えっと、とりあえず 文字列と色値をペアで格納して色値をソートや計算できて、 結果を文字列でリターンしたいです。
845 名前:837 (ワッチョイ 6fce-qnvg) mailto:sage [2017/03/28(火) 05:07:25.51 ID:1e56qEba0.net] 恥ずかしいプログラムですが rio2016.2ch.net/test/read.cgi/future/1476229483/375-378 の文字列と色値をペアにしたいです。
846 名前:837-838 (ワッチョイ 6fce-ZYFz) mailto:sage [2017/03/28(火) 13:31:34.78 ID:1e56qEba0.net] 次スレで回答が得られたました。連想配列を多次元配列と思い込み、 オブジェクトとして扱う方法を理解できていませんでした。 ありがとうございました。
847 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 17:50:29.62 ID:pnMbSu0j0.net] 4/3の入社までにAngular勉強しとくように言われたけど Angularのチュートリ始める前にgulpだのnodeだのnpmだのwebpackだの依存ライブラリがモジャモジャエラーが山盛り わけわかんねえ JavaScriptって簡単に書き始められるのが利点じゃなかったのか? パッケ管理がメチャクチャでJavaその他より遙かに酷い
848 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/28(火) 17:59:50.67 ID:gIqFK2Qm0.net] 前回814に引き続き、再度、検索語句を変えて調べてみましたが、>>809 さんの 「ab」の意味が分かりません。何かの頭文字ですか?
849 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 18:11:56.60 ID:qwv7MmmJM.net] >>840 JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ 簡単に始められる=簡単に極められるじゃないからなあ 俺はjavaも.netもphpも一通り経験したがjsの難しさは半端無いぞ たとえばc系とかjavaならまじめに勉強すれば誰でも有る程度までは行けるが、jsはそれらよりセンスが要ると感じてる 圧倒的に難解な変わりに一番おもしろい言語だけどね AnglurとかtypeScript使う"普通の"アプリなら覚える事は大量でもそんなにセンスは必要なくなるとおもう これからはマジでjavascript一強時代になるから早い段階で勉強する機会がもてるのは良いことだと思う
850 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/28(火) 18:17:56.03 ID:uzRike2TH.net] あー、これは絶望するかもわからんね。 npm iしてAngualr 2のHello World!を書くところまで【改】 qiita.com/armorik83/items/ae737ab584012a0f5876
851 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 18:27:02.47 ID:qwv7MmmJM.net] >>843 しかも枯れてないから一年足らずで別物になったりするからなぁ MV系のフレームワーク追いかけるとほんと苦労するとおもう 覚えれば効率的なんだが覚えるコストがかなりかかるから元取るには長期で数多く作らないといけないのに数年でゴミになったりする悲しさ JS(フロント系)はほんと茨の道だよな
852 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/28(火) 19:28:25.42 ID:IDgC7lyA0.net] return hour => 9 && hoge <= 15 こう書いたら "hoge => 9 && hoge <= 15" が返ってきてて小一時間迷ったわ
853 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/28(火) 19:28:55.88 ID:IDgC7lyA0.net] hoge は hour の間違い
854 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 20:39:12.68 ID:x/Tih9w50.net] >>834-836 ゆとり死ね
855 名前:デフォルトの名無しさん (ササクッテロル Spd3-1VxM) mailto:sage [2017/03/28(火) 21:10:46.27 ID:/7emtguUp.net] 今のjavascriptは他のプログラミング言語と比較してかなりの難易度 マジで使えるフロントエンドエンジニアはかなり少ない どこもエンジニアを囲い込んでいて人を調達しようとしても、ベテランの凄腕がいない バックエンドなら腐る程いるがフロントがいない
856 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:14:51.30 ID:8XEqMjkn0.net] >>843 せめてこっちを書こうか? qiita.com/kitfactory/items/c95ca84371670b21f4ac >>884 > しかも枯れてないから一年足らずで別物になったりするからなぁ そう。だからangular-cliという便利なものができてる。 あっという間に別物(簡単)になった Hello Worldまでこれだけ npm install -g angular-cli ng new MyApp cd MyApp ng serve
857 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:25:00.60 ID:8XEqMjkn0.net] >>842 別にJavaScriptが難しいんじゃない フレームワークの問題 今まではフレームワークがライブラリの延長になっていて 開発環境を提供していなかった。 開発環境とは具体的に言うとCLIツール。 Railsだったらrailsコマンドとか、開発用のウェブサーバーとか テスティングフレームワークとかそういったもの こういったCLIツールをフレームワーク"公式で" 用意すべきだが それがなかった。(非公式は最新版に追従できない) でもReactやAngularはフレームワーク公式でそういった開発環境 一式を用意してくれてるんで今までよりも遥かに簡単になってる。
858 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 21:41:03.44 ID:qwv7MmmJM.net] >>850 そのレベルの開発なら簡単だろうね 凡人でも努力でなんとかなるとおもうよ
859 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:44:33.52 ID:8XEqMjkn0.net] >>851 そのレベルってどういうこと? そして、そのレベルじゃないのはどういうこと? 適当なこと言ってるようなレスは、ちゃんと説明してもらうよ。 あんたが分かっていて言ってるかどうかを判断するために
860 名前:デフォルトの名無しさん (ワッチョイ cff5-8Nj6) mailto:sage [2017/03/28(火) 21:46:37.97 ID:tuc8YiCB0.net] chromeのwebsocket apiについて教えてください zaifというとこのapiについて https://corp.zaif.jp/api-docs/ ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy 上記urlに対してchromeのwebsocket apiで取得に行こうとすると WebSocket connection to 'ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET というエラーが出てしまいます。 どうすれば接続できるようになりますか?
861 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:01:36.21 ID:qwv7MmmJM.net] >>852 842に書いてるじゃないか 高度なMVフレームワークに頼るような普通のアプリならセンスはさほど必要ないと
862 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:03:37.20 ID:qwv7MmmJM.net] センスは要らないけど導入時の学習コストが高い それがAnglur等のフレームワーク railsとかと同じだよ あれを有り難がるレベルの開発なら難しくはない 単に大変なだけ
863 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 22:24:39.90 ID:pnMbSu0j0.net] >>849 >これだけ 「これだけ」「これだけ」、まーた「これだけ」 「これだけ」がいったいいくつあるんだよっていう でも、ありがとう しかしもうAngularを勉強するという目的からあまりに掛け離れて時間無駄にしたから scriptタグ直読込でToDoアプリ作るわ あとは業務で何とかなぁれ笑 gulpとかwebpackとかnpmとかbowerとかtask.jsonとか、もう見たくない js界隈の奴らは頭おかしちゃうか
864 名前:デフォルトの名無しさん (ワッチョイ cff5-8Nj6) mailto:sage [2017/03/28(火) 22:29:53.10 ID:tuc8YiCB0.net] >>856 まぁこれでいいんじゃない。 開発環境は代替有識者が整備してくれるからAngularだけに集中すればいい。
865 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 22:32:05.60 ID:pnMbSu0j0.net] npm install -g @angular/cli はぁ またグローバルに汚物がぶち撒けられる バージョンなんてゴチャメチャウンコのゲロ混ぜ 正気じゃねえよ
866 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/28(火) 22:36:36.34 ID:5RUVNWwS0.net] gulpやbowerは別に必須じゃないけどnpmないと困るだろ webpackはフレームワークや開発スタイルによる
867 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/28(火) 22:37:39.54 ID:qmA1HLlra.net] エディタを非アクティブからアクティブにしたとき可変データベースが前面に飛び出てくるのは何か設定でもあるの? 地味にうざいんだけど
868 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:40:23.43 ID:qwv7MmmJM.net] >>856 悪い意味で意識高い連中が多いんだよ 何か新しい技術出れば、それを使わないなんて考えられない!とばかりに他に強要したがる そのくせやってることは最新技術を"使う"為の努力ばかりで肝心のクリエイティブ能力はいつまでたっても凡庸と 流行物に精通することが目的みたいになってるやつ結構多いと思うよ ていうか、日本のIT業界って能力無くても平気でやっていけるからそんなんばっかじゃん (全体のレベルが低すぎるという意味ね)
869 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 22:57:45.67 ID:8XEqMjkn0.net] だから結論は最初から決まってることだけど、 大掛かりなものが必要ないなら、 jQueryぐらいがちょうどいいんだよ
870 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 23:06:18.47 ID:qwv7MmmJM.net] >>862 おれはそっち派だね オンラインゲーム作りだからjqueryの他に、socketio、createjs、threejsとかは使うけどそれらはフレームワークじゃなくてライブラリーなわけだ フレームワークは専用の物を自分でつくるしAnglurとかのフレームワークは極力つかわない派
871 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 23:44:07.89 ID:x/Tih9w50.net] >>833 イナゴ行為をするな。他スレ立てろ。 で通じるほどの知能はこいつらにはないんだよ。だからこんな事を繰り返してる。 相手が馬鹿であるからこそ長文の説明を必要とするが、 馬鹿であるから故に長文を読めずに意味が分からないという、無限ループだね。 ただそれでも、長文を落とすことには意味があるのさ。 事実として、他の死んでたスレに移動して地ならしし始めた奴もいるだろ。 死ね死ねいうのも長文を落としまくるのも、焦土作戦としては機能するんだよ。 俺はそこら辺まで計算してレスしてる。 (ワッチョイ付だと困る奴が既存IDスレを再利用し始めるのは自然。それならそれでいい) そもそもこの程度の長文に苦労する奴なんて向いてないのさ。 MDNでもMSDNでも、或いは他技術文書でも、もっともっと長い。 つまり ゆとり、ダメ、絶対 なんだよ。 だから「おっさんスレ」と「ゆとり+学生スレ」に分けるのも一つの手なのさ。 そしてお互いが良くなるように競争すべきで、 過疎って落ちるのならそれは淘汰されたと受け止めるべきでね。 ゆとりみたいにイナゴ行為で良スレを順に潰しているようじゃダメなんだ。 もっとも奴らはそれをイナゴ行為だとすら認識出来てないからこそのゆとりなんだが。 ということで俺の言いたいことは以下。 Web板のスレは機能していたのだから、移住するならここではなく別スレに行け。 平和に棲み分けしたいのなら、「JavaScriptの質問スレッド(初心者用)」とかにしとけ。 Web板そのままの雰囲気でIDとワッチョイだけ付けたいのなら、それで別スレを立てろ。 ただしそれ以前にお前ら同士で話し合え。
872 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 23:55:03.96 ID:x/Tih9w50.net] 先に言っておくが、950行っても特に纏まらないようなら、 俺はこのスレと何も変えずに次スレ立てるぞ。 その上でさらにイナゴするのを俺は止めようがないけども、 それは誰にとっても利益がないことを理解して、自粛してくれないかな。 お前らが韓国人みたいなゴミでないのならね。 良くも悪くも日本はそういうシステムで、 日本人ならそれはやらないよね、という前提で回ってる。 だからモラルが欠如した相手に対して防御する手段は一般的に用意されていない。 それはここ2chでもね。 海外の掲示板はこれに対して、基本的にBANを行っている。 だからゆとりがここで暴れると、2chでもBANが必要になってきてしまう。 或いはBANが為される「荒れない」掲示板にみんなが移住することになる。 それはあるべき未来ではないだろ。
873 名前:デフォルトの名無しさん (ワイエディ MMe2-/8X1) [2017/03/29(水) 00:53:34.80 ID:NT0rIhS8M.net] pixivの埋め込みをレスポンシブ対応させる方法誰か教えてください。どうやらembed.jsで埋め込んでるっぽいんだけど、iflameじゃないからbootstrapでレスポンシブできない…。
874 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/29(水) 00:58:36.92 ID:ZwfTQ2HH0.net] スレチ
875 名前:デフォルトの名無しさん (ワッチョイ 9370-bLop) mailto:sage [2017/03/29(水) 10:21:22.70 ID:2ON16iHC0.net] >>841 ArrayBufferだろう 別のコンテキストだとAudioBufferのこともある
876 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/29(水) 15:31:09.35 ID:oaaDgYp+0.net] >>868 有難うございます。 2つの語句で再度調べてみます。
877 名前:デフォルトの名無しさん (ワッチョイ 9370-bLop) mailto:sage [2017/03/29(水) 19:04:59.56 ID:2ON16iHC0.net] つうか何でAnalyserNodeの存在に思い至らないの? 少しはAPI調べてる???
878 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 00:42:08.74 ID:E08Q6Oy40.net] >>842 含むID:qwv7MmmJM C#のスレで見かけた気がするが。Haskellもやってる奴だよな? 内容は8割同意。 > JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ > 簡単に始められる=簡単に極められるじゃないからなあ このスレの連中が「JSは難しい」と主張しているのはこの意味ではなく、 > 悪い意味で意識高い連中が多いんだよ (>>861 ) こちらで、「難しい言語出来る俺カッケー」と思いたいだけだ。 「極める」という意味ならそれは「プログラミングを」であり、言語には依存しない。 しかし、JavaScriptは文法が極めて簡単な分、 学習開始から「極める」フェーズに到達するのが極めて速い。 このため、「次のステップ」を常に求めるタイプには「難しい」と見えるのも納得出来る。 だからセンスがある奴がこれで学べば上達速度は爆発的に速いはず。 上級者のソースも見放題だし。 しかし現実はヌーディストビーチ状態なのが災いして、 初心者のくせにソースを美しくする事にこだわりすぎている。 とにかく書くことが重要なそのフェーズで手を止めてしまった結果、 馬鹿が量産されてしまっている。それがこのスレだ。また、 > そのレベルの開発なら簡単だろうね (>>851 ) これが多く、大半の状況でセンスや技量を必要としないことも大きい。 > 流行物に精通することが目的みたいになってるやつ結構多いと思うよ (>>861 ) ネットだけの観測なら、これはものすごく感じる。他言語と比べても顕著だ。
879 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 00:44:13.22 ID:E08Q6Oy40.net] >>842 ところでRubyとHaskellはどう思う? 俺は両方ともやってない。 Rubyは便利っぽいが、便利なだけっぽいからいいやって感じになってる。 Haskellは入門サイトからして意識高すぎて付いていけない。 それで具体的に便利そうな「遅延評価」だけ確認して放置した。 他に学んでおくべき概念ってあるか? なお完全にスレチなので回答は以下スレでもいい。 echo.2ch.net/test/read.cgi/tech/1449440793/ JavaScriptを使える「プログラミング」上級者が現れなかったので開店休業状態になってる。 君にはその臭いを感じる。
880 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 02:22:38.23 ID:AhVejwmhF.net] JSの難しさは普通だと思うよ 型変換、スコープチェーン、プロトタイプチェーン、クラスシステムさえ抑えれば怖いものないでしょ
881 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/30(木) 02:54:06.55 ID:LEwdK5Fw0.net] メモリリーク
882 名前:デフォルトの名無しさん (ワッチョイ ef72-FZ2J) mailto:sage [2017/03/30(木) 03:33:12.46 ID:S0ykF3En0.net] 長文句点キチがあちこちのスレを荒らしてるのに戦慄する
883 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/30(木) 03:36:46.25 ID:XlZmlnHpa.net] Webサイト程度なら小規模にまとまるから簡単なように思えるが、 300kbくらいのライブラリ組むと何この糞言語ってなる不思議
884 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 06:29:44.64 ID:AhVejwmhF.net] 今のJSの糞な点は、標準及び准標準ライブラリの貧弱さに尽きると思う。 でもそこが貧弱だからこそ、互換性命のWebにおいて未来がある事も事実。
885 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 08:44:45.90 ID:TqURK27Wp.net] JSは他言語より明らかに難しい 文法とかじゃなくて、webやHTMLという仕組みがそもそもグチャグチャで、それを中心に扱うからだね サーバサイドやってた時の方がシンプルで楽だったわ
886 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 09:22:44.95 ID:gGp/SYAm0.net] JSでサーバーサイドやればシンプル
887 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:39:03.35 ID:BGqaQgGsM.net] >>878 それは確かにあるね webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、結局JSの難しさに加えてwebの難しさが加わることになる しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい
888 名前:デフォルトの名無しさん (ワッチョイ ef61-agmj) [2017/03/30(木) 09:41:30.69 ID:2CgcUj6s0.net] 俺もvbaのセル操作は難しいと思った
889 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 09:43:56.26 ID:gGp/SYAm0.net] > webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、 それやな。 結局のところ、webのフロント自体が難解なだけで JavaScriptが難しいわけじゃないんだが、 他の言語ではほぼ出来ないに等しいから JavaScriptのせいだって勘違いが起きてる。 だからDOM APIとJavaScriptは切り離して考えるべきなんだが どうもそれが出来ない人が多いw
890 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:44:24.59 ID:BGqaQgGsM.net] >>871 >初心者のくせにソースを美しくする事にこだわりすぎている。 とにかく書くことが重要なそのフェーズで手を止めてしまった結果、 馬鹿が量産されてしまっている。 同意だね 結局、プログラムを学校の"おべんきょう"みたいな感じでやってるやつが多いんだよ 本来は何かを作りたい表現したい、そういう衝動があってそれを実現するツールにすぎない とにかく作らないとだめ そうやって経験を重ねるうちに最適解や効率化、わかりやすさなんかが見えてくる昔はプログラマーイコール表現者だったんだよ 本当に好きな奴しかやってなかった 今はただの仕事になってしまってるもんなぁ これだけインターネットやら情報に恵まれてても凄腕のプログラマーが多数沸いてこないってどう言うこと?って思う
891 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:57:27.44 ID:BGqaQgGsM.net] >>872 >RubyとHaskellはどう思う? 一言で言えば、個人的には興味ない 言語は手段であってそれ自体を楽しむようなものじゃないからね 現状JSでほぼすべてまかなえる時代になってるのにあえて横道それるのは時間の無駄だとおもってる とはいえ、nodeを動かせないレンサバ案件もあるのでphpはまだ懐刀で残してる あとrailsやanglur系のMVフレームワークってあまりすきじゃないんだよね 使うとしてもphpのsmarty的なライブラリー感覚で使って組み込めるものだけだね
892 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 09:58:10.79 ID:7nYsYOYk0.net] IE「やあ」
893 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:05:00.03 ID:BGqaQgGsM.net] しかしJSはほんとうに恵まれた言語だよ googleが牽引してネットワーク通信関連が超充実 flashが死んだ関係でas関連のグラフィックや物理演算ライブラリーがjsに多数移植されて本当に豪華な環境 言語自体はフリーダムで使いこなせれば最強の自由度 そして、昨今のアプリのweb化 JS以外の選択肢なんか無いだろとおもってしまう エンタープライズの領域だとまだjavaや.netなんだけどそれらにもフロントとしてJSは必須だしな なんでみんなもっと本気でやらないの?と思ってしまう
894 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 10:10:02.57 ID:7nYsYOYk0.net] 早くTypeScriptを標準化して、どうぞ
895 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:18:20.31 ID:BGqaQgGsM.net] >>887 それね、半分賛成だけど半分反対な気分 TSの価値は分かるけど、そのせいでJS自体の自由度が下がって劣化C#みないになってしまわないか心配 しっかり浸透して枯れてくれるならまだ良いとして未だにどんどんコンパイラ仕様が変わっている今はまだ使いたくないってのが本音 要するに自転車の補助輪なんだよ 自転車普通に乗れる人間にとってはさほど価値を感じない
896 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 10:49:10.05 ID:7nYsYOYk0.net] >>888 それは「俺はエスパーだからLintは要らん」と言ってるのと同義だよ 複数人で漕ぐ自転車なのだから補助輪は付けるだけ付けるべき
897 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:58:47.34 ID:BGqaQgGsM.net] >>889 あくまで個人的な感想ね lint的な構文チェックは歓迎だけどJSのclass構文化と型文化がデメリットもあるんじゃないかと思うだけだよ 複数人で開発するときのガイドラインという意味ではその価値は分かってるよ コーデイング規約しかり ただ、今折角面白くてエキサイティングなJSががんじがらめのつまらない方向に行きそうな予感もすこしあるんだよね バックエンドやってる人間をフロントに流用したいという流れなんだろうけどね
898 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:11:43.02 ID:BGqaQgGsM.net] MSいえば初期のasp.netのころはほんと悲惨だった 何が悲惨かというと、あれってwindowsフォームアプリの技術者をwebアプリ開発に転用しようと画策したフレームワークでしょ? 実際蓋を開けてみると、クラサバvbしかしたこと
899 名前:ェない普通の技術者、もしくは畑違いのjava技術者しか集まらず 大抵のプロジェクトは頓挫 いくらキーマンががんばってカスタムコントロールやら規約つくっても、作業員が肝心のことを何もしらなさすぎてまともなものは出来上がってこなかったよ 物事を簡単にする技術はそれを理解している者が楽をするために有るべきで、何もしらない連中でも使える技術にしてしまうと敷居がさがるだけで最終的にはほとんど実りはないのよ 組み立て工員だけでプロジェクトが無事終わるほど甘くはない トラブルもおこるし品質上げるための工夫も必要 お仕着せフレームワークはそういうフェーズでむしろ手間が数倍に膨らむケース多いんだよ asp.netでほんとうに懲りた だから個人的にanglurにも懐疑的なんだよな [] [ここ壊れてます]
900 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:16:42.80 ID:BGqaQgGsM.net] 何がいいたいかというと、 JSのライブラリやフレームワークも大いに結構だけど、内部でどんなことが起こってるかすら分からないレベルではいつまでたっても成長できない 自分で工夫して構築するという大事な成長フェーズを捨てているようなものだからね 他の言語からJSに来る人間も同様 まずはJS独自の難解な仕様を学習して理解して、そのうえでシンタックスシュガーで楽しなさいと
901 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:25:56.82 ID:BGqaQgGsM.net] 世の中の風潮だと、c系やらjava系の技術者ってJSを下にみてるでしょ? あんなものはおもちゃだという風に でも実際は逆なんだよね 補助輪ついてる方がレベル高くて、ついてない方がレベル低いとでも思ってるのかと 言語仕様としてもJSは本当に複雑怪奇だしwebフロント系を扱う為の追加知識の量もハンパない ぶっちゃけ、.netやjavaより遙かに勉強量必要だとおもうな 実際経験してきてほんとそう思う JS舐めてたらダメだよ webブラウザーで動くものを作る以上はここをさて避けては通れない でも今更JSなんて本気でやるきが起きない これが今の日本のweb界隈のレベルの低さの原因 なのに根本的解決をしようとせずフレームワークに逃げるんじゃいつまでたっても埒あかないよ
902 名前:デフォルトの名無しさん (JP 0H97-jsM4) mailto:sage [2017/03/30(木) 12:06:41.84 ID:MPU3+nXPH.net] 鼻息荒いけど何年前の認識だよ
903 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 12:29:18.27 ID:TqURK27Wp.net] まぁ気持ちはわかるな やたらとweb(笑)とか見下してくるやついて、まぁ多分組み込み系なんだろうけど、彼らにフロントエンドができるとはとても思えないんだよね 何を根拠に意味不明な優越感を抱いてるのか不思議で仕方がない 自分らには工学的基礎があるとでも言いたいんだろうか? 学歴主義者なのかな? フロントエンドのPGも情報工学や外国語なんか普通に学んでる人多いし、学歴も組み込み系に劣ってないと思うんだがな
904 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/03/30(木) 12:35:41.54 ID:M+A/xxaCa.net] スーパーハカーになりたいからどっちも知っときたい
905 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 12:44:12.85 ID:BGqaQgGsM.net] >>895 フロントは基本的に臨機応変なセンスが必須なのよ それを嫌う(脳構造が違う)人種が多くてJS嫌いな風潮があるんだとおもう 一つ一つブロックを切り出してブロック塀を積み上げていくだけが開発じゃないからねえ たとえるならフロントは木登りができないと厳しい感じ それをフレームワークで木の高さまで塀を作ろうとしてる人(企業)が多いんだよ 木登り得意なやつ集めて登らせて上からロープ垂ら
906 名前:キほうがよっぽどいいのに [] [ここ壊れてます]
907 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 12:44:36.87 ID:7nYsYOYk0.net] マロックもできんカスが喚いとるぞ
908 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/30(木) 13:39:53.83 ID:yb0xbTZQ0.net] JSやってるとasm.js、wasmだったりコンパイル後アセンブリ見て最適化に行き着くよ Nodeでもずっとやってればネイティブモジュールはほぼ避けられないからね
909 名前:デフォルトの名無しさん (ワッチョイ b392-AsIq) mailto:sage [2017/03/30(木) 14:22:30.96 ID:9cHNN/bR0.net] >>897 いや、やって見て、圧倒的に楽勝だからナメプしてる
910 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 14:44:18.97 ID:TqURK27Wp.net] >>900 ちゃんとHTMLやcssは自分で書き起こしたか? ある程度は仕方ないが、まさか最初から最後まで全部人に書いてもらって楽勝とか言ってないだろうな jsしかやりません、デザインは100%ガン無視とか周りから嫌われる奴の典型だからな
911 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 15:39:15.87 ID:BGqaQgGsM.net] >>900 フロントといってもピンキリだしねえ どのレベルでの話をしているのか分からないけど
912 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 20:51:24.72 ID:gGp/SYAm0.net] >>871 >初心者のくせにソースを美しくする事にこだわりすぎている。 それは言い方の問題だなw あんたは「美しくする」という言葉を使うことで 「美しくする」に意味はないという結論を出そうとしてる。 そこが間違い。 ソースの「開発コストを減らす」事にこだわりすぎている と言い換えたらどう思うか? 初心者がソースの開発コストを減らす事にこだわるのは悪いことなのか答えてくれ (もちろん優先順位を無視してまでやることではないのは当たり前)
913 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 21:14:35.19 ID:pC1kU3TdF.net] 初心者に取ってコードを綺麗にするってのは上級者やハッカーのそれとは全然別物だと思うよ
914 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 22:48:32.56 ID:gGp/SYAm0.net] 初心者がいきなり上級者はハッカーと同じようになれるというのなら そっちのほうが良いと思うよw
915 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 22:54:00.98 ID:gGp/SYAm0.net] できる能力があるかどうかは別として、 初心者がソースの開発コストを減らす事にこだわるのは良いことである (反論はまだ出てない) 初心者にその能力がないのであれば、回りにいる上級者が教えればいいだけのこと だから、ソースの開発コストを減らす行為を否定することにはならない。 回りにいる上級者がソースの開発コストを減らす事ができないのであれば それは不幸なことだが、その場合は、あんた(回りにいる人)も能力がないんだ。 能力がないがソースの開発コストを減らそうとしている初心者のやる気をそいではいけない。 それは足を引っ張る行為だ。
916 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:41:20.59 ID:E08Q6Oy40.net] >>884 含む ID:BGqaQgGsM 本日分の書き込みについても8割同意。 どうも俺と同じタイプの臭いがする。 > しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい (>>880 ) 無名関数については実はレキシカルスコープとクロージャの相性が良いのだと思う。 下側クロージャからも上側クロージャを自由に触れるが、 これはC#やC++のクロージャでは出来ない。 コンテキストってのはthis渡しのダックタイピングのことか?これも面白いのは同意。 > 言語自体はフリーダムで使いこなせれば最強の自由度 (>>886 ) これはその通りで、上記以外にも他言語では無理な構造を容易に既述出来たりする。 プログラミングマニアにとっては極めて面白い言語だ。 文法も標準ライブラリもスカスカで、当初は「え?これだけ?」と思ったが、 これで十分であるのを理解すると、C++みたいにゴリゴリ書くのがばからしく思えてしまう。 > なんでみんなもっと本気でやらないの?と思ってしまう これについては職場環境が酷すぎるからだと思う。 見りゃ分かるが求人が糞過ぎる。Webデザイナの下請けしかない。 だからjQueryでささっと弄れるだけ、或いはブラウザの互換性を知っているだけの 文系プログラマが幅を利かせているのだと思う。このスレもそんな感じでしょ。 本来のプログラミングの腕前を発揮できる仕事がない。 だから凄腕プログラマは馬鹿臭くて寄りつかないという悪循環だね。 その結果、リッチクライアントにも出来ずに糞なWebページのままってとこも多いでしょ。 典型的なのはここ2chだが。 とはいえサーバーサイドやデスクトップアプリで使われだしたのは良いこと。 プログラマの腕が発揮出来る仕事が増えれば、状況は一瞬で改善する可能性がある。 JavaScriptは仕様が軽いから、 他言語を完全に使いこなしているプログラマ上級者にとっての学習コストは恐ろしく低い。 そしてこの民族大移動は発生するというのがそちらの見方、 > これからはマジでjavascript一強時代になる (>>842 ) なのだと思うが、俺はこれは無いと見ているんだがな。
917 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:43:52.47 ID:E08Q6Oy40.net] > だから個人的にanglurにも懐疑的なんだよな (>>891 ) 日本のプログラミング界隈の問題は、新技術を「下側」に向けて適用すること。 つまり、新技術でこれまでより簡単に同じ事が出来るようになった結果、 ・同じ人材でもっと高みを目指そう←アメリカ流 ・より安い人材で同じ物を作ろう←日本流 で決定的な差が付いている。 人月単価を下げることしか目指さなかった結果、 クリエイティブさは求められず、馬鹿プログラマがのさばる、悲惨な状況となってる。 で、angularについて言うと、間違いなくゴミだ。 マメに更新されている事自体がゴミだということを証明しているのだが、 これを理解出来ない馬鹿が飛びつき、意識だけは高いから、余計におかしな事になっている。 ・angularを学んで使う←最悪 ・自分でやるのは面倒、誰かやってないかとググってヒット、じゃあ使うか←これが正しい
918 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:48:02.70 ID:E08Q6Oy40.net] >>893 ,895 Web系が馬鹿にされているのは、既に書いたとおり、 現状では「本質的なプログラミング」の腕前が必要とされない仕事ばかりだから。 実際、馬鹿プログラマでもそれなりに回るだろ。 今現在他言語やサーバでやっているような事は、 ある程度以上の規模になると、馬鹿がやったら収拾つかなくなる。 だから一定以下の馬鹿は淘汰されてる。 JavaScriptは「ページ単位で捨てられる」のが基本的な使われ方だったから、これがない。 つまり、本来のプログラミングの難しさ、 「大規模なコードを矛盾なく無駄なく簡潔に書ききる」事を要求されない。 (これは本当は革命的なことなんだが、、、) その結果、jQuery等を使ってDOMを修飾出来るだけの馬鹿がのさばることになる。 だから今のJavaScript技術者の「プログラマ」としての平均水準が低いのは事実だよ。 それはこのスレ見てても分かるだろ。 ただこれも、今後は変わっていくとは思う。 それと共に、JavaScriptを馬鹿にする奴にもかなり問題があることは多い。 本来、プログラミングの腕前と使用言語は別の話なんだが、混同している奴が多い。 とはいえ、JavaScriptは初心者にとっては上達の障害が多すぎるのも事実。 結果的に同年卒の新人の成長を比較した場合、平均的には他言語より悪いと思うよ。 例えば、初心者が「セミコロンをどこに打つべきか」とか全く意味無いんだが、 「コードを美しくすること」が目的になっていて、この手の無駄努力をしているケースが目立つ。 (ただこれは指導者が正しい見識を持っていれば回避出来るが、 ネットを観測する限り、そもそも指導出来るレベルの奴がいなそう)
919 名前:デフォルトの名無しさん (ワッチョイ b392-AsIq) mailto:sage [2017/03/31(金) 00:14:37.42 ID:9p335Pu80.net] >>901 ぷぷぷ HTMLとCSS W それはデザイナーの領分 フロント屋のいつもの言い訳だな >>902 >>986 に言ってやってくれ
920 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 00:38:58.01 ID:S+dmZ2B60.net] >>986 バーカ
921 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/31(金) 00:47:59.45 ID:WzS7AZAh0.net] 長文キモイ しかも二人とも大したレベルじゃないというオチ
922 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/31(金) 01:13:39.40 ID:WLq382qYM.net] >>907 >プログラミングマニアにとっては極めて面白い言語だ。 プログラミングマニアにとっては極めて面白い言語だ。 JSは基本的にコードが隠せない そしてクラスでプライベートメソッドも作れない(実際は工夫て可能だがそんなもの誰も使ってない) 外部ライブラリを使ってるとき無い機能や足らないオプションを追加したくなった場合簡単にパッチを当てることが可能 メソッドが外部からオーバーライドもなんもかも自由自在だから元ソースを読んでみようという気にもなる ほんとに良い環境だとおもうよ がんじがらめのコンパイル言語とかにはないオープンな世界がそこにあるんだよ
923 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 01:28:38.63 ID:S+dmZ2B60.net] オープンな世界(笑)
924 名前:デフォルトの名無しさん (ワッチョイ cf75-z7oQ) [2017/03/31(金) 01:54:46.53 ID:hT0rQPiY0.net] Ruby にはブロックスコープがあるけど、Python, JS には無いから、 カプセル化できない・大規模開発しにくい Googleなど、できるプログラマーの本棚には必ず、 David Flanagan の「JavaScript 第6版」(通称「サイ本」)がある。 しかも、規格が新しくなる度に、この本を買い替える 常に買い替えるということは、普遍的な本じゃないと言う事。 学問の本じゃない。 場当たり的に、バグを避けるというだけの本 この本には学問として、役に立つような事は書いていない
925 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/31(金) 02:04:55.38 ID:WzS7AZAh0.net] サイ本はリファレンス本だからな 辞書の版が上がって買いかえるのと同じこと 学問??
926 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:05:09.75 ID:dseKSPuY0.net] ブロックスコープをいつ使うのかわからない。 Rubyでは仕方なくブロックスコープになってしまうってだけで ブロックスコープは必要ないものだろう
927 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:05:51.45 ID:dseKSPuY0.net] >>915 > 常に買い替えるということは、普遍的な本じゃないと言う事。 俺買い替えてないけど?
928 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/31(金) 02:21:47.87 ID:WLq382qYM.net] ブロックスコープとカプセル化は全く関係ないだろw というか関数内でスコープ作りたければ無名関数、即時関数なりいろいろできる JSは自由度が桁違いなんだけどね これらの使いこなしも分からないレベルの人間は束縛された補助輪世界こそが正しいと言い続ける
929 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 02:34:16.81 ID:S+dmZ2B60.net] >>918 それだけ意識が低いということだろう
930 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:37:42.45 ID:dseKSPuY0.net] >>920 意識の話はしてないよ。 本の内容が普遍的かどうかって話。 買い換えると普遍的ではない 買い換えないなら普遍的 いまこういう定義をしたの
931 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 02:48:16.02 ID:S+dmZ2B60.net] >>921 頭がes3で止まっちゃった系おじさんかな?
932 名前:デフォルトの名無しさん (ワッチョイ 1347-VHDh) mailto:sage [2017/03/31(金) 03:00:34.90 ID:52wIFoBq0.net] ポエマーの2人、結局何が言いたかったのかわからなかったな
933 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 03:01:29.75 ID:9i/PVhMGa.net] ネットに最先端の情報が転がっているのに、あえて古い情報しか載っていない本を買うのはお金の無駄ではないかと
934 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/31(金) 03:20:54.52 ID:qHVwMUTA0.net] >>919 実はC++等で一生懸命書いている「型」や「文法」(privateとか)は、 全て「制限」する方向の努力でしかないんだよな。 それに対してJavaScriptは基本的に「制限」することが出来ないから、 結果的に何でもありになってしまうという。ソースも見放題だし。 現実的にどっちが生産性が良いかは微妙だが、 「制限」は可能性を閉ざす方向だから、面白みはない。 「何でもあり」はやっぱり面白い。 実感としては、型無しでも大して苦労しないので、 C++等でいちいち書くのが面倒になってきた。 あとはタイプミスだけソース上で検出出来ればなぁ、って感じ。
935 名前:デフォルトの名無しさん (ワッチョイ 8367-/BKC) mailto:sage [2017/03/31(金) 03:32:08.09 ID:XrX79+I10.net] >>924 古い情報も嫌だけど、体系付けられてない大量の情報から自分で知識体系を構築していくのは骨が折れる
936 名前:デフォルトの名無しさん (ワッチョイ cf75-z7oQ) mailto:sage [2017/03/31(金) 03:45:57.85 ID:hT0rQPiY0.net] JS を見てから、Haxe を見れば、天国だろ Haxe, Kotlin を見れば、動的言語のどこが悪いか、すぐにわかる
937 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 09:10:22.45 ID:rJ4mWsQi0.net] 別にJSは面白さだとか、それが素晴らしいことだから、動的になったわけでもなくて、 静的言語の色々な問題点を批判するために動的になったわけでもないけどな まず大前提として、それが何かはハッキリとは分からないが、 とにかく何かと何かの間に入るスクリプト言語としては動的であることは必然だろう 接着剤をメインに使って大きなものを形作るのは大変だというだけのこと 今のWebではJSも型付きaltJSも等しく必要
938 名前:デフォルトの名無しさん (ワッチョイ 8392-UnGZ) [2017/03/31(金) 11:17:57.92 ID:FQVbcTCx0.net] CDNってあるじゃないですか。 あれって、CDN提供元のサーバーが落ちたりDNSが名前解決できなくなったりしたら どうなるんですか? 昔、画像とかに「直リンク禁止!!」とかよくみかけましたけど あんな大量に直リンクして負担は大丈夫なのですか? 多分大丈夫なのだろうけど。
939 名前:デフォルトの名無しさん (アウアウカー Sad7-19VF) mailto:sage [2017/03/31(金) 12:28:10.39 ID:KHGxa0VRa.net] JSにはブロックスコープがないってどういうこと?
940 名前:デフォルトの名無しさん (ワッチョイ 8ff3-agmj) mailto:sage [2017/03/31(金) 12:34:57.75 ID:xItn/dk+0.net] >>930 for( var i=0; みたいなfor文を2回書けないってこと varじゃなくてlet使えということになるが letはIE11じゃないと使えないしな
941 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 12:55:21.14 ID:S+dmZ2B60.net] >>931 説明が糞すぎてワロス これがes3脳か
942 名前:デフォルトの名無しさん (アウアウカー Sad7-19VF) mailto:sage [2017/03/31(金) 12:56:14.65 ID:KHGxa0VRa.net] >>931 ああvarのこと言ってるのね どうせ今後はletに変わってくのにね
943 名前:デフォルトの名無しさん (ワッチョイ 1347-VHDh) mailto:sage [2017/03/31(金) 13:16:28.37 ID:52wIFoBq0.net] >>929 もちろん、落ちたら読み込めなくなる 落ちなくてもユーザーのアドブロックとかに引っかかる可能性もある どうでもいい部分をのぞいて、読み込めない場合は自鯖のファイルにフォールバックするか、コンパイル時に埋め込むのが基本
944 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/31(金) 13:27:14.01 ID:0K0Hhkt3F.net] letは有名になってきたけどTDZの事も理解してない人多いよな
945 名前:デフォルトの名無しさん (ワッチョイ d368-f8Iv) mailto:sage [2017/03/31(金) 13:29:42.43 ID:NTsg82nU0.net] letどこまで広がるかねえ 歴史遺産レベルの古いJS解説サイトが足を引っ張って、結局広まらなさそうな気もする 俺は積極的に使うつもりだけど
946 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/31(金) 13:44:40.56 ID:J6gnUPAfp.net] let文って超大昔のBASICかよと思った X68000とかPC98とか小学生の頃にやってBASICでlet文使ったな 一回転して元に戻ったような気分
947 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 13:50:15.16 ID:IXWOdY7+a.net] for(let i=0; i<10; i++)は内部の動きがよく分からん 初期化式で指定したlet iを変化式でインクリメントしてるはずなのに、何故か毎ループ違うlet iが宣言されてる
948 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 17:13:08.33 ID:rJ4mWsQi0.net] 何故かじゃなくてそういう仕様なだけなんだが そっちの方がクロージャと合わせた時に都合がいいでしょ
949 名前:デフォルトの名無しさん (ワッチョイ d368-ouAK) mailto:sage [2017/03/31(金) 18:16:00.41 ID:NTsg82nU0.net] 感覚的には for(let i=0; i<10; i++){コード;} ↓ {let i=0;コード;} {let i=1;コード;} ... {let i=9;コード;} って思うとちょっとは納得いくと思う。 ("コード"内でiの値を変える可能性を考えるともっと複雑だけど)
950 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 18:42:34.41 ID:VQDku9aBa.net] 都合の問題じゃなくて、どこにも書かれていない動きをするのが困る
951 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 18:52:00.48 ID:rJ4mWsQi0.net] 具体的にそれでどう困ったんだ?
952 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 21:11:47.00 ID:dseKSPuY0.net] >>936 > letどこまで広がるかねえ letは広がる前に消すべき constを使え。letなんて殆ど使わない。
953 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 21:19:10.38 ID:rJ4mWsQi0.net] 残念ながらJSは非同期がどんどん重要になって行ってるのに対して concurrencyが未熟だからそれはできない それに重要なのはconstかletかでなく書き方の意識
954 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 21:24:38.14 ID:dseKSPuY0.net] > concurrencyが未熟だからそれはできない どういう理由で何が出来ないって? > それに重要なのはconstかletかでなく書き方の意識 重要なのは可読性。本人に意識があったって 他人には書いてないと伝わらない。
955 名前:デフォルトの名無しさん (スププ Sddf-NVAl) mailto:sage [2017/03/31(金) 22:57:23.96 ID:jmnv802Md.net] 可読性故constは流行らない 何故なら文字数が多いので、どうしても特別な場所だけで使うとした方が自然だから 泣こうが喚こうがこの事実は曲げられない 以上
956 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 23:03:25.44 ID:S+dmZ2B60.net] 2文字増えただけで「可読性故」とか大草原 ガイジかな 単語の省略形とか好きそう それで後から読んでわからなくなってそう
957 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 23:20:49.77 ID:dseKSPuY0.net] 人間は文字を一文字一文字認識しているわけじゃないんだから constにした所で可読性に影響はないよw 「この ぶんょしう は いりぎす のケブンッリジ だがいく の けゅきんう の けっか にんんげは もじ を にしんき する とき その さしいょ と さいご の もさじえ あいてっれば じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に もづいとて わざと もじの じんばゅん を いかれえて あまりす」
958 名前:デフォルトの名無しさん (ワッチョイ b357-6bLq) mailto:sage [2017/04/01(土) 05:34:42.16 ID:5/77AQ200.net] constだとインデントしにくくない? var let const でconstだけ5文字っていう
959 名前:デフォルトの名無しさん (ワッチョイ b392-/miL) mailto:sage [2017/04/01(土) 09:06:25.66 ID:PGhuuwXo0.net] >>940 そういう理解なら for(const i=0; i<10; i++){コード;} ↓ {const i=0;コード;} もありになるぞ
960 名前:940 (ドコグロ MM1f-f8Iv) mailto:sage [2017/04/01(土) 09:33:04.06 ID:+oJMyNASM.net] >>950 939以前ではfor-letの話しかしてなかったから、for-let限定でレスしたつもりだった 確かにfor-constだとまた話は違う(というか動かない)ね
961 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/04/01(土) 11:37:32.19 ID:XAMnGxj+F.net] 幾らたった2文字と言ってもな もしletが5文字ならvarに勝てないだろうし、 そこでconstが3文字だったのなら自然とletより使われるのは多くなるのは間違いないでしょ
962 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 12:26:12.44 ID:dymFNcqGa.net] >>952 意味は全然違うけど文字数が2文字少ないのでそっち使いますってどんな理論だよ例えletがletxxでconstがconでもそれでconstが増えたりはしないよ 書くときにスタンスとして再代入をなるべくしないと考えているかどうかと、 読むときに定義だけ読めばいいんだよと教えてあげようと思っているかどうかだ
963 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/01(土) 16:36:41.70 ID:nYzGzhmV0.net] >>953 どんな理論って、それが普通の人間の感覚なんだよ もっと言えば理屈じゃないの アルゴリズムは理屈で書くが、殆どの人がコードを理屈で書いてるわけじゃないからね 言語なんだから書きやすいように自然に書いている 頻繁に使うものに関して文字数が3か5かっていうのは自然度合いに明らかな差があるんだよ 何を言おうが間違いなくそれが全constの普及を妨げている最大の理由だよ
964 名前:デフォルトの名無しさん (ワッチョイ 1367-/BKC) mailto:sage [2017/04/01(土) 16:40:33.13 ID:5slG0t9U0.net] それあなたの感想ですよね? なんかそういうデータあるんですか?
965 名前:デフォルトの名無しさん (ワッチョイ 2392-IDtH) mailto:sage [2017/04/01(土) 16:52:42.67 ID:W7IGfgKJ0.net] 変数の定義で使い分けるのは面倒だし、自分でその変数の使い道が分かっていれば各ブラウザで問題が起きない var に1票だな まあ const は設定値に使う変数には分かりやすいとは思うが、let, const でエラーになるブラウザがある間はまだ var が無難かな
966 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/01(土) 16:59:48.48 ID:Xk39Ujbl0.net] こういうガイジくんのおかげで 糞コードは永久になくならない
967 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 17:05:58.81 ID:dymFNcqGa.net] >>956 まぁJSがWebと切ってもきれない関係である以上そこは仕方ないね Edgeが今のIE6くらいの化石になった頃には何とかなるでしょう その頃JSが使われてるのかは知らんが
968 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/01(土) 18:01:19.17 ID:nYzGzhmV0.net] >>955 じゃあなに? 君はフルconstがletより流行らない理由は皆アホだからとでも思ってるの? constが3文字でletが5文字なら、間違いなくletよりconst推す人がずっと増えるでしょ? そう思わない?
969 名前:デフォルトの名無しさん (ワンミングク MM5f-q8gt) mailto:sage [2017/04/01(土) 18:12:47.66 ID:xu8z9jrwM.net] どうでも良いとこになると急に饒舌になるやついるよな 荒れる原因ってこいつらだろ
970 名前:デフォルトの名無しさん (ワッチョイ bf67-/BKC) mailto:sage [2017/04/01(土) 18:12:54.06 ID:aApsaYHH0.net] それあなたの感想ですよね?
971 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 18:45:51.19 ID:dymFNcqGa.net] >>959 letが5文字の場合(letxxとする) letxx foo = 1; foo = 2; foo = 3; constが3文字の場合(conとする) con foo = 1; con bar = 2; con hoge = 3; どっちが文字数少ないって?
972 名前:デフォルトの名無しさん (ワッチョイ b392-/miL) mailto:sage [2017/04/01(土) 20:01:59.47 ID:PGhuuwXo0.net] お前メモ帳でプログラム書いてんのか? 普通コンプリーションする
973 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/01(土) 20:15:49.03 ID:DrbHkd9R0.net] 重要なのは可読性。読んだ時にどれだけ意図がわかるかどうか 書く時(タイプ数)なんてどうでもいい。 なぜなら俺はブラインドタッチができるからだ
974 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/01(土) 22:31:23.70 ID:Xk39Ujbl0.net] >>959 こういう信じがたいほど想像の斜め下をいく発想の持ち主が 新しい機能の流行を阻むのは理解できた
975 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/01(土) 23:01:34.57 ID:9Eckjtd/0.net] タイピング速度が遅い人ほど、タイプ数を気にする コードが読めない人ほど、タイプ数を気にする
976 名前:デフォルトの名無しさん (ワッチョイ 03bc-+5It) mailto:sage [2017/04/01(土) 23:21:16.94 ID:oT1fsmzO0.net] タイプってw 大半はエディターの補完機能なんだが
977 名前:デフォルトの名無しさん (ワッチョイ b392-C+VN) mailto:sage [2017/04/01(土) 23:43:53.46 ID:DstJGvws0.net] constとletの使い分けって、そんなに熱くなるモノなのかな。 定数か変数かで区別するだけだと、問題有るのかな?
978 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 00:43:16.56 ID:n7h/bBRg0.net] >>968 constといいう名前からして悪いんだけど、定数という名前が 数学的な定数と一緒で広い範囲で使われてる定められた数という 印象を与えてしまうんだよな。 この点はScalaのvarとvalみたいな名前のほうが良かったと思うね。 定数か変数かで区別するという考え方だと、 定められた数でなければ全部letになってしまう。 そうじゃなくて定義とともに代入して、変えてはならないという 基本原則なんだよ。区別するんじゃなくて意図的にそうなるように持っていく。 constはローカルスコープでも普通に使うもの。かつてvarやletであったものは すべてconstに置き換えるぐらいの心構えでいくべき
979 名前:デフォルトの名無しさん (ワッチョイ 8fc8-/BKC) mailto:sage [2017/04/02(日) 00:46:42.77 ID:QJM914RD0.net] よし、#defineをとりいれよう
980 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/02(日) 04:37:29.62 ID:AOa6ZDoH0.net] まああれだな、newを使うなとかと同じこと。 実際はJSでは与えられたものは多く使って表現豊かに書いた方が俺は好きだけどな。 そんなに制限するなら関数型AltJSでも使った方が確実だし。
981 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 04:46:41.76 ID:n7h/bBRg0.net] > まああれだな、newを使うなとかと同じこと。 それとはぜんぜん違うなw classができてnewは昔以上に普通に使われるようになった。
982 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 04:48:20.07 ID:n7h/bBRg0.net] altJSは将来性がないという点で使い物にならない。 TypeScriptがMicrosoftという大きなバックがあるから かろうじて候補になるレベル
983 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/02(日) 08:40:53.12 ID:rRNjOjm50.net] cofeeとかほんとマジモンのゴミだったな RoRにまでねじ込みやがって、作者は首吊って死ねレベル
984 名前:デフォルトの名無しさん (ワッチョイ d370-QovO) mailto:sage [2017/04/02(日) 21:36:49.49 ID:ErqynUDU0.net] cofeeは糞だが糞なりにES5、6の肥料として役立ったよ
985 名前:デフォルトの名無しさん (ワッチョイ 733c-3+/Q) mailto:sage [2017/04/02(日) 21:47:14.29 ID:PqHJO9yF0.net] babelでコンパイルしたes6のjsを従来のjsから呼び出すにはどうしたらいいですか? 具体的には export default function sample() { console.log('sample'); } これをbabelでコンパイルしたファイルをhtmlで読み込み、他のjsからsample()で呼び出そうとするとnot definedになります。
986 名前:デフォルトの名無しさん (ワッチョイ bf01-y2WR) [2017/04/02(日) 22:13:35.00 ID:C3VJqOAO0.net] >>976 webpackかrollup使え
987 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/02(日) 23:11:43.46 ID:W2z98tOP0.net] 1時間ほど待って、次スレ立てます。 テンプレ変更無し、ワッチョイありです。(このスレと同じ) 何かあればよろしく。
988 名前:950 (ワッチョイ efff-U/Pn) mailto:sage [2017/04/02(日) 23:35:40.15 ID:1OFv5oH00.net] >>950 なので次スレたてました + JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1491143438/
989 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/03(月) 00:44:09.44 ID:82yaJsi70.net] 設定そのままで次スレ立てました。 JavaScript の質問用スレッド vol.123 echo.2ch.net/test/read.cgi/tech/1491147085/ テンプレは「前スレ」以外は変更無しです。 荒らしがいなければ順番が入れ替わっているのを修正するつもりでしたが、 この状況では紛らわしいので止めました。 ゆとり死ね。Web板民死ね。 てかお前らマジで他スレ立てろ。乗っ取るんじゃなくてね。
990 名前:デフォルトの名無しさん (ワッチョイ efa7-agmj) mailto:sage [2017/04/03(月) 14:46:34.64 ID:iEMCb3Wm0.net] とりあえず内容がまともな>>980 の方を使わせてもらおうと思うけど ゆとり死ねとかそういう属性でレッテル貼って叩くのは本当にやめなよ 上にもチョンだの韓国人だの言ってるのいたし最近たち悪いの湧きすぎ
991 名前:デフォルトの名無しさん (ササクッテロラ Sp17-59Pd) mailto:age [2017/04/03(月) 16:21:46.28 ID:+GLMxqCnp.net] そうだね ネトウヨみたいなのが在日差別してるような発言が目立つ ITは国境の壁のない世界なのに、何の根拠もなく在日を見下して酷いレスをしたり、本当にムカつくわ ジャップと言い返したいが、バカは無視しなければとじっと耐えている
992 名前:デフォルトの名無しさん (ワッチョイ bf72-aC9I) mailto:sage [2017/04/03(月) 18:19:57.56 ID:Yz8joenH0.net] 爆釣でワロタ
993 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/03(月) 22:14:04.19 ID:82yaJsi70.net] >>981 ゆとり死ね >>982 韓国人死ね いやなら出て行ってくれよ。マジで。 文句しか言わず邪魔ばかり、でも居座るとか、まさにゆとり=在日韓国人だろ。 同レベルの知能とモラルしかないんだよ。それを自覚して両方とも死ね。 ゆとりは勘違いしているが「○○してはいけない」ってのは子供の考え方なんだよ。 大人はただ、何をやってもそういう人だと受け取られるだけ。つまり責任を取らされる。 この状況でも、ゆとり死ね、韓国人死ねって言わない人なら、そういう人だと取られる。 俺はこの状況なら、言う方を選ぶ。それだけ。 それをお前らがどう取るかはお前らの自由。 同様に、お前らがどういう行動を取ったとしても、それをどう思うかは俺の自由。 重ねて言う。 ゆとり死ね。韓国人死ね。Web板民死ね。 つかね、まともなモラルがあれば、スレ立てた奴(979)はそれを使うべきだし、 継続スレ立てを邪魔した奴(テンプレの最中にどかどか落としてきた馬鹿共)は、 979を使うか、新しく自分達でスレ立ててそこで頑張るのが筋だろ。 ゆとりと韓国人は筋を理解出来る知能がないから会話が成立しない。 そして邪魔することが目的になってるクズだから嫌われるんだよ。 韓国人や民進党が嫌われている理由はそれなんだよ。奴ら分かってないけど。 そしてそれをパヨクは差別にすり替えてきた。だから世界的に反PCなんだよ。 というか、顔も見えないネット上で特定されてしまうことが異常だと気付け。 お前らは非ゆとり世代の常識ではあり得ないことを色々やらかしてる。 ホントマジで死んでくれ。
994 名前:デフォルトの名無しさん (ワッチョイ efa7-agmj) mailto:sage [2017/04/04(火) 00:19:23.84 ID:Up7pI+Y40.net] なんかもう酷すぎて言葉もないわ
995 名前:デフォルトの名無しさん (アウアウウー Sab7-ZBiq) mailto:sage [2017/04/04(火) 01:04:19.40 ID:/h6/1A+aa.net] ID:82yaJsi70 はこのスレに要らない人だと思う。 この人は前から一部の荒らしを忌み嫌っていてそれは共感出来るものだが、一部を全と誤認する癖があって、「お前ら」と一括りにして無関係な人にまで誰彼かまわず噛みつく。 こういう人がいつまでも残ってるから荒らしがいなくならない。
996 名前:デフォルトの名無しさん (ワッチョイ bf72-FZ2J) mailto:sage [2017/04/04(火) 03:11:39.99 ID:G9pF4v750.net] 次スレは長文キチが立てたスレかIPスレの2択w
997 名前:デフォルトの名無しさん (ワッチョイ 8ff3-agmj) mailto:sage [2017/04/04(火) 10:22:09.13 ID:PLaqQ/3x0.net] for( const i=0; i<3; i++ ){ これってエラーになるか警告吐いて無限ループするよね
998 名前:デフォルトの名無しさん (ワッチョイ d370-Mfrl) mailto:sage [2017/04/04(火) 16:16:27.33 ID:EdxJPPSV0.net] constなのに++できるわけないじゃん
999 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/04(火) 17:50:41.14 ID:0Y6YQxI1a.net] for( const i=0; i<1; i++ ){} これでもエラーになるかな? 帰ったら試してみるか
1000 名前:デフォルトの名無しさん (JP 0H7f-aCII) mailto:sage [2017/04/04(火) 17:54:25.25 ID:pyoNKlrCH.net] >>990 for( const i=0; i<1; i++ ){} Chrome: Uncaught TypeError: Assignment to constant variable. at <anonymous>:1:23
1001 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/04(火) 18:14:32.27 ID:0Y6YQxI1a.net] >>991 ありがとう そりゃそうか 先にインクリメントしないことには次に行くかどうかの評価も出来ないもんね 失念してた
1002 名前:デフォルトの名無しさん (アウアウカー Sa7f-ajVR) mailto:sage [2017/04/07(金) 17:48:47.95 ID:WUk4T3iPa.net] if(hoge()){ return piyo(); } と return hoge() && piyo() ; ってやってること同じですか?
1003 名前:デフォルトの名無しさん (ワンミングク MMa2-+hGL) mailto:sage [2017/04/07(金) 17:53:38.36 ID:IIm1rFGkM.net] >>993 ちがうだろw
1004 名前:デフォルトの名無しさん (ワッチョイ 720f-r5Aa) mailto:sage [2017/04/07(金) 19:11:15.38 ID:APzAZxi90.net] >>993 hoge()が0や""を返す場合を考えるといい
1005 名前:デフォルトの名無しさん (アウアウカー Sa7f-ajVR) mailto:sage [2017/04/07(金) 19:27:57.26 ID:WUk4T3iPa.net] >>995 あっ、すみません hoge()がtrueかfalseを返す関数ということを書き忘れてました これじゃ意味が全然違いますね
1006 名前:デフォルトの名無しさん (ワッチョイ bf92-R2Im) mailto:sage [2017/04/07(金) 20:22:15.76 ID:ELRS5w/50.net] 論理的な思考が出来ない奴っているんだな
1007 名前:デフォルトの名無しさん (ワッチョイ 0770-/mV7) mailto:sage [2017/04/07(金) 22:01:28.99 ID:W6kcLwca0.net] 「同じ」で良いのにね
1008 名前:デフォルトの名無しさん (ワンミングク MMa2-+hGL) mailto:sage [2017/04/07(金) 22:54:37.43 ID:IIm1rFGkM.net] >>993 それだとhogeがfalseのときに上は何も返さないじゃないか
1009 名前:デフォルトの名無しさん (ワッチョイ e6c8-mfmJ) mailto:sage [2017/04/07(金) 23:02:52.10 ID:sd61oNHw0.net] いまいちわからないなら とにかくわかりやすく if ( ) { } else { } って感じで書いとけばいいと思う……
1010 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています