JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
探検
+ JavaScript の質問用スレッド vol.135 +
レス数が1000を超えています。これ以上書き込みはできません。
2018/07/31(火) 12:30:52.90ID:???
2018/07/31(火) 19:09:52.85ID:???
■FAQ
◆開発者ツール(Developer Tools)の基本的な使い方
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと 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プロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
- [Properties] タブ … 選択したDOMノードのプロパティを表示
▼コンソール
1. JavaScript コード上で console.log('Hello, World!'); と入力
2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
3. [Console] パネルに "Hello, World!" と表示される
(※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
◆開発者ツール(Developer Tools)の基本的な使い方
▼諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- Edge- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと 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プロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
- [Properties] タブ … 選択したDOMノードのプロパティを表示
▼コンソール
1. JavaScript コード上で console.log('Hello, World!'); と入力
2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
3. [Console] パネルに "Hello, World!" と表示される
(※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
2018/07/31(火) 19:13:07.24ID:???
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。
■各種仕様
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ (githubのアカウントが必要です)にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証(要出典)されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。
■各種仕様
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
2018/07/31(火) 19:16:18.02ID:???
■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://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)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://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)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
2018/07/31(火) 19:20:29.91ID:???
■テンプレ案
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
■前スレ
JavaScript の質問用スレッド vol.134
http://mevius.5ch.net/test/read.cgi/hp/1528096978/
http://fiddle.jshell.net/fH4cC/180/show/light/
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/
■前スレ
JavaScript の質問用スレッド vol.134
http://mevius.5ch.net/test/read.cgi/hp/1528096978/
2018/08/01(水) 22:07:57.57ID:???
>>1おつ
2018/08/01(水) 22:34:10.78ID:???
前スレの977の方ありがとうございました。
仕様上できないのですね。
残念です。
仕様上できないのですね。
残念です。
2018/08/02(木) 07:09:05.57ID:???
装飾はいくらでもできるけどここはJavaScriptスレだからスレチ
2018/08/02(木) 07:17:12.45ID:???
前スレの、>978
<div id="div-a">
<input type="text" id="text-a" value="あいう">
<input type="text" id="text-b" value="abc">
</div>
var input_elems = $.map( $('#div-a > input'),
function(elem, index) {
return $(elem).attrAll(); // this === element
}
);
Cookies.set( 'input', input_elems ); // 設定
obj = Cookies.getJSON('input'); // 取得
console.log( obj );
結果
id: "text-a", type: "text", value: "あいう"
id: "text-b", type: "text", value: "abc"
Cookie のライブラリは以下を使っています。
js-cookie/js-cookie
https://github.com/js-cookie/js-cookie
$.fn.attrAll は、以下のブログで定義されています。
要素の属性を全部取得する
https://hokaccha.hatenablog.com/entry/20130819/1376895914
<div id="div-a">
<input type="text" id="text-a" value="あいう">
<input type="text" id="text-b" value="abc">
</div>
var input_elems = $.map( $('#div-a > input'),
function(elem, index) {
return $(elem).attrAll(); // this === element
}
);
Cookies.set( 'input', input_elems ); // 設定
obj = Cookies.getJSON('input'); // 取得
console.log( obj );
結果
id: "text-a", type: "text", value: "あいう"
id: "text-b", type: "text", value: "abc"
Cookie のライブラリは以下を使っています。
js-cookie/js-cookie
https://github.com/js-cookie/js-cookie
$.fn.attrAll は、以下のブログで定義されています。
要素の属性を全部取得する
https://hokaccha.hatenablog.com/entry/20130819/1376895914
2018/08/02(木) 07:22:30.69ID:???
特定の <div> のなかの <input> の状態を全部sessionStrageに保存して
あとでそれを再セットするって input の数や種類に依存せずにかけませんか?
div にも input にもユニークな id が振られてます
input.type は今の所 text select と checkbox だけです
native js でも jQuery でもいいです
あとでそれを再セットするって input の数や種類に依存せずにかけませんか?
div にも input にもユニークな id が振られてます
input.type は今の所 text select と checkbox だけです
native js でも jQuery でもいいです
2018/08/02(木) 07:28:49.42ID:???
>>9
前スレの>>978じゃないけど、
要素の属性取るならそんなプラグイン使わないで
jQuery標準の $.serialize か $.serializeArray を使えば良いんだよ
<form>要素以下になくても使える
今回の場合はserializeArrayの方が使い勝手良いかな?
https://api.jquery.com/serialize/
https://api.jquery.com/serializeArray/
で、実はそんなのは簡単で、面倒なのはこっち
> input.type は今の所 text select と checkbox だけです
フォームの中身を全て保存して戻すってのは
以前に実装したことあるけど、
typeみてselectだったら〜checkboxだったら〜みたいな
コードを書いた記憶がある。意外と面倒くさい
前スレの>>978じゃないけど、
要素の属性取るならそんなプラグイン使わないで
jQuery標準の $.serialize か $.serializeArray を使えば良いんだよ
<form>要素以下になくても使える
今回の場合はserializeArrayの方が使い勝手良いかな?
https://api.jquery.com/serialize/
https://api.jquery.com/serializeArray/
で、実はそんなのは簡単で、面倒なのはこっち
> input.type は今の所 text select と checkbox だけです
フォームの中身を全て保存して戻すってのは
以前に実装したことあるけど、
typeみてselectだったら〜checkboxだったら〜みたいな
コードを書いた記憶がある。意外と面倒くさい
2018/08/02(木) 07:43:27.25ID:???
inputのtypeでselectってなんだ?教えてクレヨン
input type="file"があったら面倒なことになりそうな
そうでもないか?
input type="file"があったら面倒なことになりそうな
そうでもないか?
2018/08/02(木) 07:46:53.02ID:???
>>12
その質問に答える必要はない
その質問に答える必要はない
2018/08/02(木) 08:01:45.83ID:???
あー、でもidで見分けるのか。inputっていうからnameで見分けるのかと思った
var data = {};
$(":input").each(function() {
switch(this.type) {
case 'checkbox':
data[this.id] = this.checked;
break;
default:
data[this.id] = this.value;
}
})
データをかき集める所はこんな感じかな
idでユニークになるならserializeArrayみたいに配列で持たなくていいね。
ちなみにmultipleなselectには対応していない
こんな風にtypeを使って見分けることになるんで
> input の数や種類に依存せずにかけませんか?
に関しては、書けません。というのが答えになる。
var data = {};
$(":input").each(function() {
switch(this.type) {
case 'checkbox':
data[this.id] = this.checked;
break;
default:
data[this.id] = this.value;
}
})
データをかき集める所はこんな感じかな
idでユニークになるならserializeArrayみたいに配列で持たなくていいね。
ちなみにmultipleなselectには対応していない
こんな風にtypeを使って見分けることになるんで
> input の数や種類に依存せずにかけませんか?
に関しては、書けません。というのが答えになる。
2018/08/02(木) 08:53:51.91ID:???
>>13
<input type="select"> が存在しないかもしれない、と自分を疑うことから始めた方がいいよ
https://html.spec.whatwg.org/multipage/input.html#attr-input-type
<input type="select"> が存在しないかもしれない、と自分を疑うことから始めた方がいいよ
https://html.spec.whatwg.org/multipage/input.html#attr-input-type
2018/08/02(木) 08:58:59.10ID:???
>>15
時間の無駄。わかってる結論へ至る道はお前1人で勝手に進んでろ
時間の無駄。わかってる結論へ至る道はお前1人で勝手に進んでろ
2018/08/02(木) 09:18:22.89ID:???
どこかポエムだな
189
2018/08/02(木) 11:19:07.89ID:???2018/08/02(木) 11:35:19.63ID:???
送られる属性ってなんや?
フォームのGET・POSTで送られる情報の
全てを網羅してるぞ?
フォームのGET・POSTで送られる情報の
全てを網羅してるぞ?
209
2018/08/02(木) 11:36:32.61ID:??? serializeArray を使うなら、name, value を使うように統一しないといけない。
type, id が無いから、使いずらいかも
input.type には必ず、text, select, checkbox を指定しておけば良いかも
type, id が無いから、使いずらいかも
input.type には必ず、text, select, checkbox を指定しておけば良いかも
219
2018/08/02(木) 11:45:34.14ID:??? serializeArray を使う場合、type, id が無くても、
name, value を使って、name がユニークなら、コントロールを特定できるのか
name, value を使って、name がユニークなら、コントロールを特定できるのか
2018/08/02(木) 11:50:51.92ID:???
formだと既存のjsコードと衝突したらかなわんし
ほぼ同一のformが複数あるなんてしょっちゅうあるから
汎用性なんて考えない方がいい気がする
ほぼ同一のformが複数あるなんてしょっちゅうあるから
汎用性なんて考えない方がいい気がする
239
2018/08/02(木) 11:53:56.89ID:??? <select name="single">
<option>Single</option>
<option>Single2</option>
</select>
select は、input タグじゃないのか
<option>Single</option>
<option>Single2</option>
</select>
select は、input タグじゃないのか
24Name_Not_Found
2018/08/02(木) 18:58:42.66ID:2ZiGsOuL jqueryを使った時のデバッグが面倒臭すぎる
2018/08/02(木) 21:22:12.96ID:???
>>16
分からない場所に突き進む道を選ぶのね、ご愁傷様
分からない場所に突き進む道を選ぶのね、ご愁傷様
2018/08/02(木) 21:47:22.44ID:???
>>25
俺はそんな道に進まないって意味だよw
俺はそんな道に進まないって意味だよw
2018/08/02(木) 23:04:32.52ID:???
トイレ事情も地方によって様々だな
2018/08/03(金) 02:10:10.14ID:???
九州は汲み取り式とか四国はベルサイユ宮殿式とかそういうのがあんの?
2018/08/03(金) 06:33:28.44ID:???
雑多な要素を後から保存するのは無理がある
データの作成・保存はカスタムエレメントで閉じておくべき
例のvalueの問題はinputやtextareaを継承してonchangeで見てもいいが
contenteditableとして要素ごと作ればobserveも統一できるし見た目の調整もやりやすい
データの作成・保存はカスタムエレメントで閉じておくべき
例のvalueの問題はinputやtextareaを継承してonchangeで見てもいいが
contenteditableとして要素ごと作ればobserveも統一できるし見た目の調整もやりやすい
2018/08/03(金) 07:26:29.01ID:???
なんでトイレ事情なんだよ
2018/08/03(金) 07:51:34.49ID:???
>>26
正しい仕様を確認するための質問を無視する→理解の放棄
正しい仕様を確認するための質問を無視する→理解の放棄
2018/08/03(金) 14:21:18.74ID:???
悲しきjser
2018/08/03(金) 20:46:56.82ID:???
2018/08/03(金) 21:02:53.99ID:???
>>33
そりゃそうだが、将来的にtype属性値の種類が増えるかもしれんし、わざわざ不正値を指定する理由はあるまい
そりゃそうだが、将来的にtype属性値の種類が増えるかもしれんし、わざわざ不正値を指定する理由はあるまい
2018/08/03(金) 21:42:00.71ID:???
まだ到着してなかったのかよw
俺は最初からわかってる結論へ至る道の到着点にいるぞ?w
俺は最初からわかってる結論へ至る道の到着点にいるぞ?w
2018/08/04(土) 00:35:47.31ID:???
分かっている人は>>11を書かな
2018/08/04(土) 01:58:18.60ID:???
type typer
2018/08/04(土) 02:15:52.32ID:???
じ え ん
2018/08/04(土) 14:07:30.40ID:???
selectボックスで、10番目の要素を自動的に一番上までスクロールさせる方法ってありますか?
2018/08/04(土) 14:17:21.23ID:???
/::::::::ソ::::::::: :゛'ヽ、
/:::::::-、:::i´i|::|/:::::::::::ヽ
/::::::,,、ミ"ヽ` "゛ / ::::::ヽ < 一億総活躍
/::::::== 卍 `-::::::::ヽ
l::::::::/ .,,,=≡, ,≡=、l:::::::l /. ̄) 英訳は「Promoting Dynamic
|:::::l゛ .,/・\,!./・\ l:::::::! / /二、.
|`:::| :⌒ノ/.. i\:⌒ |:::::i 丿 Y .i Y Engagement of All Citizens」
(i ″ ,ィ____.i i i // ( ゝ' ノ ./ /
ヽ i / ■ .i i / ,ゝ-、_)--'-' (全国民の精力的な参画の推進)
l ヽ ノ `トェェェイヽ、/´ /{ ゝ、__ハ|ヘ
/|、ヽ `ー'´ / ィ'/ハ____ハ つまり国家総動員
//l ヽ ` "ー−´/ ////////////ノ
,,ィ''"/// | >< ////////////{///////////
r''"////// ..|/:::::ノ//////////////}/////////Y
////////| /:::::{///////////////{//////////
/:::::::-、:::i´i|::|/:::::::::::ヽ
/::::::,,、ミ"ヽ` "゛ / ::::::ヽ < 一億総活躍
/::::::== 卍 `-::::::::ヽ
l::::::::/ .,,,=≡, ,≡=、l:::::::l /. ̄) 英訳は「Promoting Dynamic
|:::::l゛ .,/・\,!./・\ l:::::::! / /二、.
|`:::| :⌒ノ/.. i\:⌒ |:::::i 丿 Y .i Y Engagement of All Citizens」
(i ″ ,ィ____.i i i // ( ゝ' ノ ./ /
ヽ i / ■ .i i / ,ゝ-、_)--'-' (全国民の精力的な参画の推進)
l ヽ ノ `トェェェイヽ、/´ /{ ゝ、__ハ|ヘ
/|、ヽ `ー'´ / ィ'/ハ____ハ つまり国家総動員
//l ヽ ` "ー−´/ ////////////ノ
,,ィ''"/// | >< ////////////{///////////
r''"////// ..|/:::::ノ//////////////}/////////Y
////////| /:::::{///////////////{//////////
41Name_Not_Found
2018/08/04(土) 16:53:00.52ID:YjLvXUxs Javascriptのデータ型って先に指定できないのか?
int Number;
とか
string name;
とかは
int Number;
とか
string name;
とかは
2018/08/04(土) 18:20:04.58ID:???
typescript使うしかないかな
2018/08/04(土) 21:22:33.67ID:???
データ型を指定できてたら良くなかったことはたくさんある
例えばここ何年か今までintだったDOMの値が
高画面解像度デバイスのためにfloatになってきる
例えばここ何年か今までintだったDOMの値が
高画面解像度デバイスのためにfloatになってきる
2018/08/04(土) 22:02:12.27ID:???
2018/08/05(日) 00:11:25.23ID:???
>ここ何年か今までintだったDOMの値が
>高画面解像度デバイスのためにfloatになってきる
どういうこと?
>高画面解像度デバイスのためにfloatになってきる
どういうこと?
2018/08/05(日) 00:25:59.47ID:???
4Kとかだとコンテンツ全体表示できるから要素固定して表示するようなソリッドレイアウトよりも
リキッドデザイン的なものに変わってきた、ということでは
リキッドデザイン的なものに変わってきた、ということでは
2018/08/05(日) 01:01:16.94ID:???
2^32-1を超える値扱ってんの?それとも小数点以下の値が来てんの?どこで?ってことなんだけど
2018/08/05(日) 02:37:08.71ID:???
DOMの値てなに
2018/08/05(日) 07:11:44.64ID:???
ドムドムドム
2018/08/05(日) 09:15:20.21ID:???
一時そういう話があったがここにあるように今はまたintに戻った
https://www.w3.org/TR/cssom-view/#changes-from-2013-12-17
だけどChromeではまだサポートされてて
ズームしてdocumentElement.scrollTopなんかを弄ると分かる
200%以上に拡大すると分かりやすいだろうけど
特に低スピードのスクロール時にここで実際に役に立つことが分かる
http://output.jsbin.com/qedore
https://www.w3.org/TR/cssom-view/#changes-from-2013-12-17
だけどChromeではまだサポートされてて
ズームしてdocumentElement.scrollTopなんかを弄ると分かる
200%以上に拡大すると分かりやすいだろうけど
特に低スピードのスクロール時にここで実際に役に立つことが分かる
http://output.jsbin.com/qedore
2018/08/05(日) 09:16:44.60ID:???
intじゃなくてlongか
52Name_Not_Found
2018/08/05(日) 13:50:43.01ID:7tec/NU4 別に入ればなんでもいいんだけどいつもvarで型を作って自動でやってるから
Javascriptの基本的な型の作り方はvarなのかなって
Javascriptの基本的な型の作り方はvarなのかなって
2018/08/05(日) 15:12:47.47ID:???
朝鮮人みたいに揚げ足とる根性悪い奴がいるな
普段何の仕事してんの?
ニート?
普段何の仕事してんの?
ニート?
2018/08/05(日) 17:52:25.11ID:???
根性悪いやつが居るように見えるのは本人が根性悪いんだろうな
2018/08/05(日) 19:57:27.12ID:???
朝◯人と悪口いってる時点で人の屑
ジャップのくせに
ジャップのくせに
2018/08/05(日) 21:24:09.84ID:???
「朝鮮人」は今や悪口ではないし
「JAP」は昔は米国新聞でも普通に使われてたただの略語というか日本の愛称だった
たかが三文字の言葉であれこれ思うのも馬鹿らしいよ
「JAP」は昔は米国新聞でも普通に使われてたただの略語というか日本の愛称だった
たかが三文字の言葉であれこれ思うのも馬鹿らしいよ
2018/08/05(日) 21:52:18.03ID:???
ヴァーカ
2018/08/05(日) 21:53:51.71ID:???
リアルで朝◯人なんて言ってみろよ
どう言うことになるか分かるか?
リアルで言えない差別用語をネットで
使って吠えてる糞野郎
どう言うことになるか分かるか?
リアルで言えない差別用語をネットで
使って吠えてる糞野郎
2018/08/05(日) 22:08:34.76ID:???
某氏のカメラの話思い出した
2018/08/05(日) 22:41:19.46ID:???
2018/08/05(日) 22:53:54.39ID:???
【研究】飲むだけで差別主義者が更生する「道徳ピル」
>米国では、多くの学生が成績向上や適性試験をパスするために、リタリンを治療以外の目的で服用しているとの報告がある。
差別主義者は薬物でも服用させなければ駄目だな
市ぬかもしれないが生きてても仕方ない奴らだからどうでもいいわ
>米国では、多くの学生が成績向上や適性試験をパスするために、リタリンを治療以外の目的で服用しているとの報告がある。
差別主義者は薬物でも服用させなければ駄目だな
市ぬかもしれないが生きてても仕方ない奴らだからどうでもいいわ
2018/08/05(日) 22:59:43.18ID:???
>>60
韓国人 は入らないんか
韓国人 は入らないんか
63Name_Not_Found
2018/08/06(月) 04:25:48.82ID:Oi2BNCSY 知能が低いと複雑なことを考えられないから
極端な白黒思考になる
これが差別主義者
道徳ピル飲んで知能を上げるしかない
薬害で市んだら害虫が一匹消えたという事でそれはそれでおっけ
極端な白黒思考になる
これが差別主義者
道徳ピル飲んで知能を上げるしかない
薬害で市んだら害虫が一匹消えたという事でそれはそれでおっけ
2018/08/06(月) 04:47:05.97ID:???
>>50
言葉で説明してくれ
言葉で説明してくれ
2018/08/06(月) 05:17:55.83ID:???
DOMは仕様がコロコロ変わる
だからその違いを吸収するライブラリが必要になる
だからその違いを吸収するライブラリが必要になる
2018/08/06(月) 19:19:22.58ID:???
逆だな
原則DOM標準は後方互換性を守る
JSのライブラリはバージョンアップで簡単に切り捨てる
ライブラリを使ってるとむしろ追従が大変になる
原則DOM標準は後方互換性を守る
JSのライブラリはバージョンアップで簡単に切り捨てる
ライブラリを使ってるとむしろ追従が大変になる
2018/08/06(月) 19:33:22.94ID:???
自分の引き出しにあんまり実例なくてわからないんだけど
バージョンアップで切り捨てるって旧UAを?だったら旧バージョン使い続ければ良いのでは?
バージョンアップで切り捨てるって旧UAを?だったら旧バージョン使い続ければ良いのでは?
2018/08/06(月) 19:48:56.48ID:???
uaって?無駄にコンテキストから推測させないでほしい。
あなたは数文字節約できるかもしれないけどこっちはいい迷惑。
あなたは数文字節約できるかもしれないけどこっちはいい迷惑。
2018/08/06(月) 19:58:56.09ID:???
>>67
パフォーマンスや新機能のためにバージョンアップしたくても
再設計が必要なほどAPIが大きく変わってることが珍しくないということ
YouTubeのCr以外で遅い問題もPolymerがそうだからYouTubeが追従できないから
パフォーマンスや新機能のためにバージョンアップしたくても
再設計が必要なほどAPIが大きく変わってることが珍しくないということ
YouTubeのCr以外で遅い問題もPolymerがそうだからYouTubeが追従できないから
2018/08/06(月) 20:11:07.76ID:???
crって?無駄にコンテキストから推測させないでほしい。
あなたは数文字節約できるかもしれないけどこっちはいい迷惑。
あなたは数文字節約できるかもしれないけどこっちはいい迷惑。
2018/08/06(月) 20:42:03.15ID:???
>>66
> JSのライブラリはバージョンアップで簡単に切り捨てる
> ライブラリを使ってるとむしろ追従が大変になる
どのライブラリ? AngularとかReactとかかな?
なんか更新頻度高いしね
その点jQueryは安定していていいよ。
そもそも追従するほどバージョン出てないしw
> JSのライブラリはバージョンアップで簡単に切り捨てる
> ライブラリを使ってるとむしろ追従が大変になる
どのライブラリ? AngularとかReactとかかな?
なんか更新頻度高いしね
その点jQueryは安定していていいよ。
そもそも追従するほどバージョン出てないしw
2018/08/07(火) 02:19:33.00ID:???
2018/08/07(火) 02:38:12.35ID:???
angularって言うほどいいかな?
偉そうな事言うのは嫌なんだけど
vueやreactの方が絶対いい
偉そうな事言うのは嫌なんだけど
vueやreactの方が絶対いい
2018/08/07(火) 06:19:10.80ID:???
2018/08/07(火) 08:48:53.31ID:???
>>74
jQueryは負の遺産にはならんよ。
DOM操作を短く簡潔にするためだけのものだから
使わないならjQuery1行をそのまま数行に対応付けて書き直せる
冗長になりますよってだけで誰もやらないけどね
負の遺産っていうのはAngularやReactなどの
最近のフレームワーク。違う書き方にしようとしたら
全体に手を入れなければいけない
jQueryは負の遺産にはならんよ。
DOM操作を短く簡潔にするためだけのものだから
使わないならjQuery1行をそのまま数行に対応付けて書き直せる
冗長になりますよってだけで誰もやらないけどね
負の遺産っていうのはAngularやReactなどの
最近のフレームワーク。違う書き方にしようとしたら
全体に手を入れなければいけない
2018/08/07(火) 09:14:39.72ID:???
フレームワークは離脱するには設計から構造からやり直さないといけない
jQueryのようなライブラリは設計構造はそのままで済む場合が少なくない(※)が使用部分が広範になりがちで書き直し量が多い
※例えばアニメーション関係をjQueryに頼っていると構造にも絡んでくる
独特な機能を提供するライブラリは関係部分だけ書き直せば済むといえなくもない
jQueryのようなライブラリは設計構造はそのままで済む場合が少なくない(※)が使用部分が広範になりがちで書き直し量が多い
※例えばアニメーション関係をjQueryに頼っていると構造にも絡んでくる
独特な機能を提供するライブラリは関係部分だけ書き直せば済むといえなくもない
2018/08/07(火) 13:11:22.50ID:???
フレームワークで作られるのは迷惑。
意識高い系の人がフレームワークで使って作ったサイトをサーバに乗せるのに凄い苦労した経験あり。
意識高い系の人がフレームワークで使って作ったサイトをサーバに乗せるのに凄い苦労した経験あり。
2018/08/07(火) 13:16:32.94ID:???
jQueryで唯一評価されるのはSelectorsAPIの基礎になったってことだけ
2018/08/07(火) 17:21:49.46ID:???
element.style="width:100px;background-color:green;";
でいけたんだけど、element.style.width="100px"みたいにプロパティと値をわけて書くのと何か違いはありますか
でいけたんだけど、element.style.width="100px"みたいにプロパティと値をわけて書くのと何か違いはありますか
2018/08/07(火) 17:38:56.47ID:???
パース速度?
2018/08/07(火) 18:08:25.75ID:???
可読性がよくないぐらいでは
element.setStyle({
"width": "100px",
"background-color": "green",
});
とかがあればいいな
prototypeいじりたくないけど
element.setStyle({
"width": "100px",
"background-color": "green",
});
とかがあればいいな
prototypeいじりたくないけど
2018/08/07(火) 18:33:08.08ID:???
>>79-81に便乗質問なんだけど
・element.styleにはCSSStyleDeclaration オブジェクトが入ってる
・element.styleに直接CSS定義テキストを代入できる
・element.styleに直接CSS定義テキストを代入した直後でも
element.styleにはCSSStyleDeclaration オブジェクトが入ってるし
element.style.width を変更することもできる
CSS定義に変更があった場合変更内容を元にelement.styleを再設定してるという感じだと思うんだけど
こういう挙動はどう理解したらいい?
より具体的には、ブラウザの実装がそうなってるというだけなのか
それとも同じような挙動をユーザがjsコードで実現できるのか
・element.styleにはCSSStyleDeclaration オブジェクトが入ってる
・element.styleに直接CSS定義テキストを代入できる
・element.styleに直接CSS定義テキストを代入した直後でも
element.styleにはCSSStyleDeclaration オブジェクトが入ってるし
element.style.width を変更することもできる
CSS定義に変更があった場合変更内容を元にelement.styleを再設定してるという感じだと思うんだけど
こういう挙動はどう理解したらいい?
より具体的には、ブラウザの実装がそうなってるというだけなのか
それとも同じような挙動をユーザがjsコードで実現できるのか
2018/08/07(火) 18:40:20.22ID:???
2018/08/07(火) 19:09:44.83ID:???
2018/08/07(火) 21:00:21.68ID:???
>>78
SelectorsAPIなんてjQueryの劣化版だろw
単にNodeListを返すだけで、そのNodeListを扱う方法まで作らなかった
jQueryはNodeListみたいに単に要素の配列を返すのではなく
要素の配列を内包した、jQueyrオブジェクトを返すことで
要素の配列そのものをメソッドで操作できる
ここが重要な所なのに、SelectorsAPIはそれを理解せず
単に要素の配列を返しただけ
SelectorsAPIなんてjQueryの劣化版だろw
単にNodeListを返すだけで、そのNodeListを扱う方法まで作らなかった
jQueryはNodeListみたいに単に要素の配列を返すのではなく
要素の配列を内包した、jQueyrオブジェクトを返すことで
要素の配列そのものをメソッドで操作できる
ここが重要な所なのに、SelectorsAPIはそれを理解せず
単に要素の配列を返しただけ
2018/08/07(火) 23:07:26.82ID:???
jQueryはいつgetContextに対応してくれますか
あとマウス座標取得決定版みたいなのも欲しいです
$(event)みたいにできたらいいのにな
あとマウス座標取得決定版みたいなのも欲しいです
$(event)みたいにできたらいいのにな
2018/08/08(水) 01:20:21.73ID:???
2018/08/08(水) 03:22:44.19ID:???
>>86
getContextに対応するだけでいいの?
canvas自体に対応しないとあまりメリットなくない?
jQueryになれてるなら、D3.js を使うのが良いと思う
canvas操作をjQueryライクに書くことができる
俺も普段はjQueryを使うけど、canvasを操作したい場合はD3.jsを使うよ
こんなk何時
https://codezine.jp/article/detail/7459
> D3.jsのセレクタを用いて宣言的に記述すると、以下のように簡潔に記述することができます。
> d3.selectAll("p").style("color", "white");
> コードも、d3.selectAll("p")ですべてのp要素を取得、style("color", "white")で
> 文字色を白に設定、と直観的で分かりやすくなったのではないでしょうか。
getContextに対応するだけでいいの?
canvas自体に対応しないとあまりメリットなくない?
jQueryになれてるなら、D3.js を使うのが良いと思う
canvas操作をjQueryライクに書くことができる
俺も普段はjQueryを使うけど、canvasを操作したい場合はD3.jsを使うよ
こんなk何時
https://codezine.jp/article/detail/7459
> D3.jsのセレクタを用いて宣言的に記述すると、以下のように簡潔に記述することができます。
> d3.selectAll("p").style("color", "white");
> コードも、d3.selectAll("p")ですべてのp要素を取得、style("color", "white")で
> 文字色を白に設定、と直観的で分かりやすくなったのではないでしょうか。
2018/08/08(水) 03:25:55.79ID:???
>>86
> $(event)みたいにできたらいいのにな
$(window).on('mousemove', function(event) {
console.log(e.screenX);
console.log(e.screenY);
console.log(e.pageX);
console.log(e.pageY);
console.log(e.clientX);
console.log(e.clientY);
console.log(e.offsetX);
console.log(e.offsetY);
});
> $(event)みたいにできたらいいのにな
$(window).on('mousemove', function(event) {
console.log(e.screenX);
console.log(e.screenY);
console.log(e.pageX);
console.log(e.pageY);
console.log(e.clientX);
console.log(e.clientY);
console.log(e.offsetX);
console.log(e.offsetY);
});
2018/08/08(水) 03:26:27.64ID:???
あ、間違った。
× console.log(e.screenX);
○ console.log(event.screenX);
以下同じ
× console.log(e.screenX);
○ console.log(event.screenX);
以下同じ
2018/08/08(水) 06:59:52.39ID:???
2018/08/08(水) 07:13:44.97ID:???
array.lengthはちょっと違うのでは
array.lengthを書き換えても即座に自動的に書き換えられたりしないだろう
array.lengthを書き換えても即座に自動的に書き換えられたりしないだろう
2018/08/08(水) 12:49:52.74ID:???
するよ
TypedArray の様にゲッターやセッターではなく
プロパティアクセス時に0や1などと同等にフックして内部プロパティを変更してる
TypedArray の様にゲッターやセッターではなく
プロパティアクセス時に0や1などと同等にフックして内部プロパティを変更してる
94Name_Not_Found
2018/08/08(水) 23:45:54.77ID:FYSpbryG JavaScriptって最近、変数に型つけたり、クラスを作ったりするらしいけど
もはやそれActionScriptじゃねーの?
もはやそれActionScriptじゃねーの?
2018/08/08(水) 23:50:17.01ID:???
変数に型は付けないよ。
2018/08/09(木) 01:02:42.65ID:???
>>94
昔ES3(ECMAScript 3)っていうのがあって、その後普及したのがES5
今はES6という名前だったのがES2015に変わって、ES2016だとかES2017だとか・・・
それは良いとして、ES3とES5の間にあったのがES4
ES4の夢は壮大で、クラスベースで型もあって・・・
そのES4に完全準拠することを目標にActionScriptは開発されていた
ところがES4の夢があまりにも無謀で破綻した。
そして型などの機能を減らして現実的にしたES5ができた
ActionScriptは破綻したES4相当なんだよ。消えたES4の成れの果て
JavaScriptに準拠しつつ型を取り入れたのはTypeScript
昔ES3(ECMAScript 3)っていうのがあって、その後普及したのがES5
今はES6という名前だったのがES2015に変わって、ES2016だとかES2017だとか・・・
それは良いとして、ES3とES5の間にあったのがES4
ES4の夢は壮大で、クラスベースで型もあって・・・
そのES4に完全準拠することを目標にActionScriptは開発されていた
ところがES4の夢があまりにも無謀で破綻した。
そして型などの機能を減らして現実的にしたES5ができた
ActionScriptは破綻したES4相当なんだよ。消えたES4の成れの果て
JavaScriptに準拠しつつ型を取り入れたのはTypeScript
2018/08/13(月) 00:31:27.24ID:???
A → B → C → D
とasync関数が繋がってるのをイメージしてください
Aから始まりEが完了すれば順にC、Bと完了してAに戻ってくるイメージです
ここで、Dの段階でBからの流れをやりたいとします
しかし、Dの次にBを続けると、
それまでのB → Cの流れの中で消費されているメモリが残ってしまいます。
もうDや過去のCやBに戻らせる必要はありません。
しかし、Dを開放してB'を開始すると、Aまで完了してしまい、それはよろしくありません。
A → B → C → D
まで来たところで
A → B → C → D → B' → C' → D'
となるのはメモリリークしやすく、チェーンが非常に長くなると色々なバグも発生しやすく
デバッグのしやすさにも関わってくるので避けたいです
とはいえ
A → B → C → D -...> B' → C' → D'と切り離すと
Aで行っている初期化・完了・例外処理から外れていってしまうため問題です
理想的には、チェーンをA → B' → C' → D'
とつなぎ直したいのです
どうしたらよいでしょうか
とasync関数が繋がってるのをイメージしてください
Aから始まりEが完了すれば順にC、Bと完了してAに戻ってくるイメージです
ここで、Dの段階でBからの流れをやりたいとします
しかし、Dの次にBを続けると、
それまでのB → Cの流れの中で消費されているメモリが残ってしまいます。
もうDや過去のCやBに戻らせる必要はありません。
しかし、Dを開放してB'を開始すると、Aまで完了してしまい、それはよろしくありません。
A → B → C → D
まで来たところで
A → B → C → D → B' → C' → D'
となるのはメモリリークしやすく、チェーンが非常に長くなると色々なバグも発生しやすく
デバッグのしやすさにも関わってくるので避けたいです
とはいえ
A → B → C → D -...> B' → C' → D'と切り離すと
Aで行っている初期化・完了・例外処理から外れていってしまうため問題です
理想的には、チェーンをA → B' → C' → D'
とつなぎ直したいのです
どうしたらよいでしょうか
2018/08/13(月) 01:33:40.26ID:???
ただの再帰とちゃうの
2018/08/13(月) 05:23:13.35ID:???
設計段階でみょうちきりんな動きの要求を加味しとけよ
10097
2018/08/13(月) 10:40:04.67ID:??? 仕様としては、どの処理進行状態でもリセット、ぶつ切り行為が発生しうるという状況です
一応今はBで作業キューを持ってそれにCを追加する形にしていますが、
いかんせんコードがキレイではありませんし、僅かな仕様妥協が入ります
おそらくPromiseのラッパー的なとこから、根本的な非同期チェーン構造を
素朴なPromiseではなく1から考え直して別の物にすべきだと思うのですが
いいアイディアは無いでしょうか
全てのasync、async generator関数でCancelの概念と実装をしたら良いのでしょうか
全てのawait時にそれがCancelかどうかチェックして処理をするとか
それはそれで漏らせないコードが多くなりそうですし、処理が複雑になりそうです
一応今は各処理にセッションを渡すようにしていて、表に影響がある処理ではそのセッションが切れていたら何もしないことで、
特にイベント等から繋がる不要なチェーンが発動しても空回りさせることで影響がないようにしています
今はメモリの開放は時間経過やイベントをあえて見捨てたチェーンに伝わらせて
空回りを利用して自然と勝手にほぐれて、その後GCが回収してくれることに頼っています
しかし、今回は下手に空回りもさせたくないという状況です
コードを極力シンプルに保ちながらしっかりしていてかつ柔軟性も持った非同期処理構造を作るにはどうしたらよいでしょうか
例えば非同期でも、場合によっては完了を待たずに次に進みたいことってありますよね
例えば、Loadingを表示するとき
await View.fadeInLoadImage()
let file = await Network.fetchFiles( )
await View.fadeOutLoadImage()
とするとフェードイン、アウトの時間が無駄なので
View.fadeInLoadImage()
let file = await Network.fetchFiles( )
View.fadeOutLoadImage()
とすると思います。ですが、このフェードが動いているときに
コンテキストがリセットされると、色々懸念事項が生まれます
そういうのもスマートに扱える方法を知りたいです
一応今はBで作業キューを持ってそれにCを追加する形にしていますが、
いかんせんコードがキレイではありませんし、僅かな仕様妥協が入ります
おそらくPromiseのラッパー的なとこから、根本的な非同期チェーン構造を
素朴なPromiseではなく1から考え直して別の物にすべきだと思うのですが
いいアイディアは無いでしょうか
全てのasync、async generator関数でCancelの概念と実装をしたら良いのでしょうか
全てのawait時にそれがCancelかどうかチェックして処理をするとか
それはそれで漏らせないコードが多くなりそうですし、処理が複雑になりそうです
一応今は各処理にセッションを渡すようにしていて、表に影響がある処理ではそのセッションが切れていたら何もしないことで、
特にイベント等から繋がる不要なチェーンが発動しても空回りさせることで影響がないようにしています
今はメモリの開放は時間経過やイベントをあえて見捨てたチェーンに伝わらせて
空回りを利用して自然と勝手にほぐれて、その後GCが回収してくれることに頼っています
しかし、今回は下手に空回りもさせたくないという状況です
コードを極力シンプルに保ちながらしっかりしていてかつ柔軟性も持った非同期処理構造を作るにはどうしたらよいでしょうか
例えば非同期でも、場合によっては完了を待たずに次に進みたいことってありますよね
例えば、Loadingを表示するとき
await View.fadeInLoadImage()
let file = await Network.fetchFiles( )
await View.fadeOutLoadImage()
とするとフェードイン、アウトの時間が無駄なので
View.fadeInLoadImage()
let file = await Network.fetchFiles( )
View.fadeOutLoadImage()
とすると思います。ですが、このフェードが動いているときに
コンテキストがリセットされると、色々懸念事項が生まれます
そういうのもスマートに扱える方法を知りたいです
2018/08/13(月) 10:53:58.59ID:???
真面目に言うと
・開示されたごく一部だけで単純な仕様ではないことがわかるのに
・全貌の情報なしに
・コードがきれいかどうかや柔軟性など曖昧な要求を回答できる人間はいない
・開示されたごく一部だけで単純な仕様ではないことがわかるのに
・全貌の情報なしに
・コードがきれいかどうかや柔軟性など曖昧な要求を回答できる人間はいない
2018/08/13(月) 10:59:40.42ID:???
>View.fadeInLoadImage()
>let file = await Network.fetchFiles( )
>View.fadeOutLoadImage()
>とすると思います。
let file = await Network.fetchFiles( )
だけやればいいじゃん馬鹿なの
>let file = await Network.fetchFiles( )
>View.fadeOutLoadImage()
>とすると思います。
let file = await Network.fetchFiles( )
だけやればいいじゃん馬鹿なの
2018/08/13(月) 15:20:02.78ID:???
>>101
具体的な細かな話は気にしなくて結構です
私が知りたいのは、皆さまが一般的にこういう問題を抱えないために使っている
オススメTask系のフレームワークだったり、普段意識してる設計パターンについての話です
コードが綺麗とか柔軟とかいうのも、厳密に定義しようとしてもらわなくて結構です
そこは私がどう感じるかではなく、皆さんが素直に自然と良いと思ってる手段を知りたいと言うだけです
具体的な細かな話は気にしなくて結構です
私が知りたいのは、皆さまが一般的にこういう問題を抱えないために使っている
オススメTask系のフレームワークだったり、普段意識してる設計パターンについての話です
コードが綺麗とか柔軟とかいうのも、厳密に定義しようとしてもらわなくて結構です
そこは私がどう感じるかではなく、皆さんが素直に自然と良いと思ってる手段を知りたいと言うだけです
2018/08/13(月) 16:16:09.45ID:???
安全な近道なんて無い
> しかし、今回は下手に空回りもさせたくないという状況です
下手に空回りさせないように地道に書けとしか
F/W信奉者にありがちだが解決してくれる何かを探すのを止めてみるべき
> しかし、今回は下手に空回りもさせたくないという状況です
下手に空回りさせないように地道に書けとしか
F/W信奉者にありがちだが解決してくれる何かを探すのを止めてみるべき
2018/08/13(月) 16:41:56.19ID:???
>>103
質問が意味わからん。最初にasyncって決めつけてるのが駄目なんじゃないの?
asyncは実装なんだからそれを使うと決めるのは最後。
実装の話は忘れて、何がしたいのか綺麗にまとめたら?
あんなごちゃごちゃしてたら読む気にもならんよ
質問が意味わからん。最初にasyncって決めつけてるのが駄目なんじゃないの?
asyncは実装なんだからそれを使うと決めるのは最後。
実装の話は忘れて、何がしたいのか綺麗にまとめたら?
あんなごちゃごちゃしてたら読む気にもならんよ
2018/08/13(月) 16:47:36.82ID:???
AとかBとか処理があるんだろ?
function process() {
A();
B();
C();
D();
B();
C();
D();
}
普通に書けばメモリリークにもならんし、
何が言いたいのかさっぱりわからない。
ここを出発点として、何が言いたいのかをまとめろ。
function process() {
A();
B();
C();
D();
B();
C();
D();
}
普通に書けばメモリリークにもならんし、
何が言いたいのかさっぱりわからない。
ここを出発点として、何が言いたいのかをまとめろ。
2018/08/13(月) 16:49:40.76ID:???
あとから動作仕様変えても処理順や状態に起因するバグを起こさないパーフェクトなフレームワークはなんですか
一行にまとめるとこんなかんじ?
一行にまとめるとこんなかんじ?
2018/08/13(月) 17:36:53.41ID:???
いまいちよくわからんが
なんかデータ読んでる最中に(let file = await Network.fetchFiles( ))
フェードイン/フェードアウトみたいなことしてるんだけど(View.fadeInLoadImage())
読み込み中止ボタンを追加したいんだが(Cancelの概念と実装)
そんなときどうしたらいいの
って質問なんだろうか?
なんかデータ読んでる最中に(let file = await Network.fetchFiles( ))
フェードイン/フェードアウトみたいなことしてるんだけど(View.fadeInLoadImage())
読み込み中止ボタンを追加したいんだが(Cancelの概念と実装)
そんなときどうしたらいいの
って質問なんだろうか?
2018/08/13(月) 17:45:32.66ID:???
そういう処理を自分で書くのは面倒だから嫌だそうだ
>全てのawait時にそれがCancelかどうかチェックして処理をするとか
>それはそれで漏らせないコードが多くなりそうですし、処理が複雑になりそうで
自分で細かく書かなくてもうまいことやってくれる何かが
希望のようだが、それをハッキリと書かないところをみると
フレームワークやライブラリ推しの書き込みの準備行動じゃねーかな
>全てのawait時にそれがCancelかどうかチェックして処理をするとか
>それはそれで漏らせないコードが多くなりそうですし、処理が複雑になりそうで
自分で細かく書かなくてもうまいことやってくれる何かが
希望のようだが、それをハッキリと書かないところをみると
フレームワークやライブラリ推しの書き込みの準備行動じゃねーかな
2018/08/13(月) 18:43:40.37ID:???
>>104
地道に書くのは良いのですが
この先あちらもこちらもその場その場に書いていくと
メンテ面とか手に負えなくなって破綻してしまうかもしれないので
まだ取り返しの付く段階で場合によっては基礎システムを1から挿げ替えたほうが良いかもと思った次第です
>>105
現在Workerも使った大きく分けて十種類程度のタスクモジュールがあり、その中の関数の殆どが非同期もしくは並列に動いている状態です
最初はコールバックでも良いような規模で、その後async関数に切り替え、途中から自作イベント管理を追加し。。。。。。
という感じで大きくなるごとに対策してきました。
もう次に何かするなら、それで最後まで行きたいので相談させてもらっています
>>106
それで直ちに問題が会って動かなくなるというわけではないのですが、そうしたくないいくつの理由があります
・AからDまでの生存期間がそれなりに長い(ユーザーの操作次第、通常数分〜数時間程度)
・BからDまでは無制限に繰り返される可能性がある(ユーザーの操作次第)
・BからDまでで大量のリソースを使い得る(通常数十MB〜数百MB)
また沢山イベントハンドラやフックが残ったままになるのが気持ち悪い
(BからDまでが終われば生きた参照が無くなるのでGCによって自然と開放される)
地道に書くのは良いのですが
この先あちらもこちらもその場その場に書いていくと
メンテ面とか手に負えなくなって破綻してしまうかもしれないので
まだ取り返しの付く段階で場合によっては基礎システムを1から挿げ替えたほうが良いかもと思った次第です
>>105
現在Workerも使った大きく分けて十種類程度のタスクモジュールがあり、その中の関数の殆どが非同期もしくは並列に動いている状態です
最初はコールバックでも良いような規模で、その後async関数に切り替え、途中から自作イベント管理を追加し。。。。。。
という感じで大きくなるごとに対策してきました。
もう次に何かするなら、それで最後まで行きたいので相談させてもらっています
>>106
それで直ちに問題が会って動かなくなるというわけではないのですが、そうしたくないいくつの理由があります
・AからDまでの生存期間がそれなりに長い(ユーザーの操作次第、通常数分〜数時間程度)
・BからDまでは無制限に繰り返される可能性がある(ユーザーの操作次第)
・BからDまでで大量のリソースを使い得る(通常数十MB〜数百MB)
また沢山イベントハンドラやフックが残ったままになるのが気持ち悪い
(BからDまでが終われば生きた参照が無くなるのでGCによって自然と開放される)
2018/08/13(月) 18:46:30.10ID:???
>>107
その通りですが、最初は問題なかったけれど複雑度が上がって無理が出てきた現状を
改善できる今より一歩上の非同期取扱概念(コツ)を知りたいと言うだけです
例えばPromiseにしてもCancellableだったりCancalTokenだったり
async generatorの代わりにObservable系を使うという手もあると思います
そういうちょっとした変更やラッパーで乗り切れるのではないかと感じています
>>108
それは例です。実際はそういうコードはありません。
メインの質問は>>97です
その例で言いたいことは、フェードアウト処理が例えば大げさに10秒かかったとします
そしたらその間にもう画面がローディング画像のフェードアウトをしていて欲しくないものになってる可能性もありますよね
1つの考え方としてはView.fadeOutLoadImage()にキャンセルできる関数を返させて、
それを関数の最後まで保持しておいて呼ぶとか考えられます
実際にそういうことをしているのですが、変数の局所性が悪くなってコードが読みづらくなります
また、その関数の終わりまでしか引き伸ばせません。もう少し先までで良いという時はイベントに登録したり煩雑になってきます。
今は場合によってはキャンセル手段を返させたり、イベントを監視させたり、セッションを確かめさせたり色々やっていますが
いかんせん一貫性がないので、その点も合わせてもっとステキな方法があるのではないかなというための例です
>>109
また自分で思いつきで書いても良いのですが、私だけのコードではないので
将来メンテする人のために少しでも良い方法を知りたい感じもちょっとはあります
その通りですが、最初は問題なかったけれど複雑度が上がって無理が出てきた現状を
改善できる今より一歩上の非同期取扱概念(コツ)を知りたいと言うだけです
例えばPromiseにしてもCancellableだったりCancalTokenだったり
async generatorの代わりにObservable系を使うという手もあると思います
そういうちょっとした変更やラッパーで乗り切れるのではないかと感じています
>>108
それは例です。実際はそういうコードはありません。
メインの質問は>>97です
その例で言いたいことは、フェードアウト処理が例えば大げさに10秒かかったとします
そしたらその間にもう画面がローディング画像のフェードアウトをしていて欲しくないものになってる可能性もありますよね
1つの考え方としてはView.fadeOutLoadImage()にキャンセルできる関数を返させて、
それを関数の最後まで保持しておいて呼ぶとか考えられます
実際にそういうことをしているのですが、変数の局所性が悪くなってコードが読みづらくなります
また、その関数の終わりまでしか引き伸ばせません。もう少し先までで良いという時はイベントに登録したり煩雑になってきます。
今は場合によってはキャンセル手段を返させたり、イベントを監視させたり、セッションを確かめさせたり色々やっていますが
いかんせん一貫性がないので、その点も合わせてもっとステキな方法があるのではないかなというための例です
>>109
また自分で思いつきで書いても良いのですが、私だけのコードではないので
将来メンテする人のために少しでも良い方法を知りたい感じもちょっとはあります
2018/08/13(月) 19:57:00.35ID:???
async関数が繋がるってのがまず分からない
サンプルコード位は出せないの
サンプルコード位は出せないの
2018/08/13(月) 20:01:11.84ID:???
頑張って説明してくれてるんだろうけど
俺の頭では理解できない
後は頼んだ
俺の頭では理解できない
後は頼んだ
2018/08/13(月) 21:28:23.13ID:???
>>112,113
繋がると言うのは
async function A ( ) { ...... await B( ) ...... }
async function B ( ) { ...... await C( ) ...... }
async function C ( ) { ...... await D( ) ...... }
のときA( )と呼んでからD( )まできた状態です
Dが解決しないとCが進みませんし
Cが進んで終わり解決しないとBが進みませんし
Bが進んで終わり解決しないとAが進まない状態です
問題はここでDから仕切り直してまたB'を呼びたいというときです
感じとしてはAがOSの起動、Bがブラウザの起動、Cがページの起動、Dがその中のプログラムスクリプトだと思ってください
OSはブラウザを起動し、もし終了したら自信も終了するよう計画します
ブラウザはページを起動し、もし終了したら自信も終了するよう計画します
ページはスクリプトを起動し、もし終了したら自信も終了するよう計画します
今したいこととは、DがB'、つまりスクリプトが新しいブラウザウィンドウを立ち上げようとしている状態です
ここで、他と同様にスクリプトがそのブラウザウィンドウの終了を待機したとしましょう
ブラウザウィンドウが無数に増え得てまずそうですよね
それでは、スクリプトがブラウザウィンドウの終了を待機しなかったとしましょう
この場合はスクリプトの処理が終わり、芋づる式にページ、ブラウザと終了します
そこまでは良いのですが、それに続けてOSも終了してしまうことになり、これは問題です
なので今取っている対策としては、Bにタスクを登録できるようにするということで、
つまりブラウザをタブ化して1つのインスタンスとし、全てのタブが閉じるまではブラウザが終了しないようにしています
それで上手く言ってるのですが、このような工夫をしないといけない箇所が段々増えてきており
危機感を感じているという次第です
繋がると言うのは
async function A ( ) { ...... await B( ) ...... }
async function B ( ) { ...... await C( ) ...... }
async function C ( ) { ...... await D( ) ...... }
のときA( )と呼んでからD( )まできた状態です
Dが解決しないとCが進みませんし
Cが進んで終わり解決しないとBが進みませんし
Bが進んで終わり解決しないとAが進まない状態です
問題はここでDから仕切り直してまたB'を呼びたいというときです
感じとしてはAがOSの起動、Bがブラウザの起動、Cがページの起動、Dがその中のプログラムスクリプトだと思ってください
OSはブラウザを起動し、もし終了したら自信も終了するよう計画します
ブラウザはページを起動し、もし終了したら自信も終了するよう計画します
ページはスクリプトを起動し、もし終了したら自信も終了するよう計画します
今したいこととは、DがB'、つまりスクリプトが新しいブラウザウィンドウを立ち上げようとしている状態です
ここで、他と同様にスクリプトがそのブラウザウィンドウの終了を待機したとしましょう
ブラウザウィンドウが無数に増え得てまずそうですよね
それでは、スクリプトがブラウザウィンドウの終了を待機しなかったとしましょう
この場合はスクリプトの処理が終わり、芋づる式にページ、ブラウザと終了します
そこまでは良いのですが、それに続けてOSも終了してしまうことになり、これは問題です
なので今取っている対策としては、Bにタスクを登録できるようにするということで、
つまりブラウザをタブ化して1つのインスタンスとし、全てのタブが閉じるまではブラウザが終了しないようにしています
それで上手く言ってるのですが、このような工夫をしないといけない箇所が段々増えてきており
危機感を感じているという次第です
2018/08/14(火) 00:43:17.41ID:???
2018/08/14(火) 00:44:34.16ID:???
2018/08/14(火) 09:17:38.33ID:???
2018/08/14(火) 09:27:31.76ID:???
タスクでも監視でも、これらの強制途中終了または放置が、予期しない副作用が不具合を起こす可能性をゼロにすることは不可能だろう
将来どんなコードが来るかわからんのだろ
自分でもそう思ってるけど上司の説得材料が欲しいから
こんなに長文を書いて反論で説得材料持ってきて欲しい、ってところじゃないのかね?
将来どんなコードが来るかわからんのだろ
自分でもそう思ってるけど上司の説得材料が欲しいから
こんなに長文を書いて反論で説得材料持ってきて欲しい、ってところじゃないのかね?
2018/08/14(火) 09:30:17.12ID:???
ちょっと日本語文法おかしくなったがあまり気にしないでくれ
2018/08/14(火) 12:09:42.72ID:???
チェーンさせるのとworkerで並列動作させるのとじゃ全然事情違くね
2018/08/14(火) 12:21:39.67ID:???
2018/08/14(火) 12:39:00.92ID:???
2018/08/14(火) 12:47:21.21ID:???
つーか非同期処理を含む関数を同期的に順次実行することを
チェーン って言うもんなんか?
チェーン って言うもんなんか?
2018/08/14(火) 13:02:01.45ID:???
2018/08/14(火) 13:06:28.37ID:???
2018/08/14(火) 13:33:01.26ID:???
なんとなく程度しか理解してないのに再設計を振られた上流SE説
2018/08/14(火) 14:01:31.37ID:???
2018/08/14(火) 14:04:05.15ID:???
あいつが気にしてるのは、リソースの問題
関数の生存期間の話をしてるのだから
並列処理は全く関係ない話なんだよ。
ようはローカル変数がわかってないレベル
asyncとかpromiseの関係ない話をすると疲れるだけだぞ。
関係ないことを教えるだけで問題解決せずに終わるからな
関数の生存期間の話をしてるのだから
並列処理は全く関係ない話なんだよ。
ようはローカル変数がわかってないレベル
asyncとかpromiseの関係ない話をすると疲れるだけだぞ。
関係ないことを教えるだけで問題解決せずに終わるからな
2018/08/14(火) 14:43:04.55ID:???
>>115,116
問題は、今回の処理は非同期で繋がっているので、
つまり、そのように並べた状態ではなく入れ子状態になっているということです
お伝い忘れてすみませんが、A->B->C->Dという関係は対等な処理を分けたものではなく
親子関係というか、包括関係と言ったらいいのですかね?とにかくそのようなものになっているのです
例えばDがメニューバーの表示とすると、
B'を再び呼び出す必要があるかどうかはDの動作にユーザーがどう反応をしたかどうかであり
勿論違う処理のケースも有るのでその結果をCで待ちわびなければなりません
実際はもう少し複雑ですが、簡単に書きますと>>114のような関係になっているということです
要するにDは下っ端も下っ端だけど、その特質上特権的な状態変化を起こす可能性があるものということなのです
>>117
私はここ何年かちょくちょくこの非同期の問題をどういう形で解決したら良いかを考えたこともあります
なので皆さんの中でよく考えて持論だったりそういうセンスを習得した人が居るのではないかと思いました
私が聞きたいのはそういう感覚であり、まさか具体的なコードに対する回答が貰えるとは思っておらず、
>>97や>>100で挙げたようなパターンに対して、ビビッとそういうときはこうするもんだという
決めつけたような適当な経験の言葉をいくらか頂けたら刺激として私に取り込もうと思ったところです
なので皆さん、適当でいいので言葉をください
例えば>>115さんは大変参考になりました
関数を小さく分割して入れ子になりがちだけど、もっと整理して単純なものに持っていけるのならそうしようと思います
問題は、今回の処理は非同期で繋がっているので、
つまり、そのように並べた状態ではなく入れ子状態になっているということです
お伝い忘れてすみませんが、A->B->C->Dという関係は対等な処理を分けたものではなく
親子関係というか、包括関係と言ったらいいのですかね?とにかくそのようなものになっているのです
例えばDがメニューバーの表示とすると、
B'を再び呼び出す必要があるかどうかはDの動作にユーザーがどう反応をしたかどうかであり
勿論違う処理のケースも有るのでその結果をCで待ちわびなければなりません
実際はもう少し複雑ですが、簡単に書きますと>>114のような関係になっているということです
要するにDは下っ端も下っ端だけど、その特質上特権的な状態変化を起こす可能性があるものということなのです
>>117
私はここ何年かちょくちょくこの非同期の問題をどういう形で解決したら良いかを考えたこともあります
なので皆さんの中でよく考えて持論だったりそういうセンスを習得した人が居るのではないかと思いました
私が聞きたいのはそういう感覚であり、まさか具体的なコードに対する回答が貰えるとは思っておらず、
>>97や>>100で挙げたようなパターンに対して、ビビッとそういうときはこうするもんだという
決めつけたような適当な経験の言葉をいくらか頂けたら刺激として私に取り込もうと思ったところです
なので皆さん、適当でいいので言葉をください
例えば>>115さんは大変参考になりました
関数を小さく分割して入れ子になりがちだけど、もっと整理して単純なものに持っていけるのならそうしようと思います
2018/08/14(火) 14:44:03.07ID:???
>>118,119
最後の頑張りのための気持ちを高めるためと、問題提起というわけでもないですが、
非同期処理の様々な難しさに対して皆さんがどう思考してるのかを聞きせてほしいということであります
>>123
チェーンというときはだいたいPromiseチェーンを意識しています
>>120,121,124
沢山のことを、直接的に掛けない部分もあり、事実と例えの質問を交ぜて書いた事もあって混乱させてしまいすみません
AからDまでは平行処理ではありません。沢山の非同期関数が同期的に枝分かれ状に呼び出されているルートの内の1つを選びだしたと考えてください。
実際のコードでは平行、並列の部分もありますが、ひとまずそうお考えください
最後の頑張りのための気持ちを高めるためと、問題提起というわけでもないですが、
非同期処理の様々な難しさに対して皆さんがどう思考してるのかを聞きせてほしいということであります
>>123
チェーンというときはだいたいPromiseチェーンを意識しています
>>120,121,124
沢山のことを、直接的に掛けない部分もあり、事実と例えの質問を交ぜて書いた事もあって混乱させてしまいすみません
AからDまでは平行処理ではありません。沢山の非同期関数が同期的に枝分かれ状に呼び出されているルートの内の1つを選びだしたと考えてください。
実際のコードでは平行、並列の部分もありますが、ひとまずそうお考えください
2018/08/14(火) 14:47:10.42ID:???
話を単純に戻して整理します
質問A)
皆さんは非同期処理が複雑になってきたらどのような対処を考えますか?
例1) コンテキストが変わると無効になるセッションをほぼ全ての関数に渡して置いて逐一セッション切れを調べるようにする
例2) キャンセルの値や手段を定義してそれを伝播させる(Cancellable Promise)
例3) その合わせ技のようなもの(CancelToken)
その他)
質問B)
>>114の状態で>>97の問題に直面したとき、
要するにいままで繋がってきた流れの中で突然安全にリセットしたくなったときはどうすればいいのか
例1) >>114で言ったように、ブラウザがほぼいつでも安全にタブを閉じれるように、
つながりの根本の方に枝を生やしたり切り落とせるポイントを用意しておく
例2) チェーンにを触れるPromiseをメモリリークを起こさないよう必死に再実装して明示的に切り離すようにする
例3) 生Promise+awaitに頼らない新設計を考える
その他)
質問C)
イベントを使うと不特定多数の直接知らない待機状態の処理を動かせて便利だが、
非同期処理のためタイミングが問題になる場合はどのような工夫をすればいいか
つまり、一方的にイベントを発火するだけではなく、それを全員がきちんと受け取って把握し
必要なら一定の準備ができたというフィードバックを得られるようなイベントシステムをきちんと整備するべきか、
それとも質問Aに書いたようなセッションだったり、今の共有状態変数を準備して対処するか
皆さんはどちらで組まれてるコードがお好きか
また他の場合でも一般に、問題解決のために高度に抽象化仕切ったシステムを作り上げたものと
例えばグローバル変数を1つ使うなどしてでも比較的シンプルに乗り切ったもの
場合によってそれらのスタンスを使い分け混合した状態
皆さんはどのスタンスで組まれてるコードがお好きか
質問A)
皆さんは非同期処理が複雑になってきたらどのような対処を考えますか?
例1) コンテキストが変わると無効になるセッションをほぼ全ての関数に渡して置いて逐一セッション切れを調べるようにする
例2) キャンセルの値や手段を定義してそれを伝播させる(Cancellable Promise)
例3) その合わせ技のようなもの(CancelToken)
その他)
質問B)
>>114の状態で>>97の問題に直面したとき、
要するにいままで繋がってきた流れの中で突然安全にリセットしたくなったときはどうすればいいのか
例1) >>114で言ったように、ブラウザがほぼいつでも安全にタブを閉じれるように、
つながりの根本の方に枝を生やしたり切り落とせるポイントを用意しておく
例2) チェーンにを触れるPromiseをメモリリークを起こさないよう必死に再実装して明示的に切り離すようにする
例3) 生Promise+awaitに頼らない新設計を考える
その他)
質問C)
イベントを使うと不特定多数の直接知らない待機状態の処理を動かせて便利だが、
非同期処理のためタイミングが問題になる場合はどのような工夫をすればいいか
つまり、一方的にイベントを発火するだけではなく、それを全員がきちんと受け取って把握し
必要なら一定の準備ができたというフィードバックを得られるようなイベントシステムをきちんと整備するべきか、
それとも質問Aに書いたようなセッションだったり、今の共有状態変数を準備して対処するか
皆さんはどちらで組まれてるコードがお好きか
また他の場合でも一般に、問題解決のために高度に抽象化仕切ったシステムを作り上げたものと
例えばグローバル変数を1つ使うなどしてでも比較的シンプルに乗り切ったもの
場合によってそれらのスタンスを使い分け混合した状態
皆さんはどのスタンスで組まれてるコードがお好きか
2018/08/14(火) 14:55:02.72ID:???
質問1〜3)コードの正確性や安全性の検証に、コードを書くよりも圧倒的に多い工数/人数を費やす
結局、突き詰めると把握できない把握しきれない何かが問題なら
どんな状況でもコード生産速度を優先した途端に必然的に不具合が生まれる
規約が守られているか設計思想に合っているか
確認させる土壌を作るほうがマシ
結局、突き詰めると把握できない把握しきれない何かが問題なら
どんな状況でもコード生産速度を優先した途端に必然的に不具合が生まれる
規約が守られているか設計思想に合っているか
確認させる土壌を作るほうがマシ
2018/08/14(火) 15:33:09.53ID:???
>>129
> 問題は、今回の処理は非同期で繋がっているので、
> つまり、そのように並べた状態ではなく入れ子状態になっているということです
なりません。
少なくともメモリ使用量に限っては関係ありません
> 問題は、今回の処理は非同期で繋がっているので、
> つまり、そのように並べた状態ではなく入れ子状態になっているということです
なりません。
少なくともメモリ使用量に限っては関係ありません
2018/08/14(火) 15:35:50.59ID:???
入れ子というのはこういうもののことです。
promiseやasyncではこうなりません
function process() {
A(function() {
B(function() {
C(function() {
D(function() {
B(function() {
C(function() {
D(function() {
// do something
});
});
});
});
});
});
});
}
promiseやasyncではこうなりません
function process() {
A(function() {
B(function() {
C(function() {
D(function() {
B(function() {
C(function() {
D(function() {
// do something
});
});
});
});
});
});
});
}
2018/08/14(火) 15:41:32.94ID:???
これ何気に書くのめんどくさそう
2018/08/14(火) 15:53:55.90ID:???
並列処理と非同期の違いもわかってなさそうw
2018/08/14(火) 16:02:13.97ID:???
それはある
これ非同期あんま関係ない
これ非同期あんま関係ない
2018/08/14(火) 16:27:33.61ID:???
>>131
> 皆さんは非同期処理が複雑になってきたらどのような対処を考えますか?
非同期処理も、非同期処理じゃない場合も同じ。
処理を単純化して、その組わせで作る
> 例1) コンテキストが変わると無効になるセッションをほぼ全ての関数に渡して置いて逐一セッション切れを調べるようにする
> 例2) キャンセルの値や手段を定義してそれを伝播させる(Cancellable Promise)
> 例3) その合わせ技のようなもの(CancelToken)
これらは非同期処理が複雑になったときの対処法ではない。
非同期処理かそうかは関係なく、処理の途中で
キャンセルしたい場合に実装すべきこと
1のセッション切れは意味不明。独自用語使うな。
何がしたいのか全く不明
> 皆さんは非同期処理が複雑になってきたらどのような対処を考えますか?
非同期処理も、非同期処理じゃない場合も同じ。
処理を単純化して、その組わせで作る
> 例1) コンテキストが変わると無効になるセッションをほぼ全ての関数に渡して置いて逐一セッション切れを調べるようにする
> 例2) キャンセルの値や手段を定義してそれを伝播させる(Cancellable Promise)
> 例3) その合わせ技のようなもの(CancelToken)
これらは非同期処理が複雑になったときの対処法ではない。
非同期処理かそうかは関係なく、処理の途中で
キャンセルしたい場合に実装すべきこと
1のセッション切れは意味不明。独自用語使うな。
何がしたいのか全く不明
2018/08/14(火) 17:05:58.93ID:???
繰り返しになるけど頼むからサンプルコードで示してくれ
長々説明してくれるのは良いけど独自用語が混ざって訳分からん
長々説明してくれるのは良いけど独自用語が混ざって訳分からん
2018/08/14(火) 17:12:06.00ID:???
こういう人を相手に商売したらかなり稼げそう
2018/08/14(火) 17:48:42.97ID:???
>>132
確かにそうでしょうが、その規約だの設計思想だのも私に委ねられてる状態でして
結局の所、コードが動かないから、不具合が生じているから質問しているわけではありません
ただ少しでも良いコードを残したい、書いていきたいと思った次第で、
私はJSの「良い」コードというのはその時その時代の世界のJSerがどう考えているかで決まると長年思っているのですが
async関数やPromiseが入って2,3年がたった今どのような「良さ」を皆さんがそこに考え出してるのか
その感覚の言葉のシャワーを浴びて私の感覚を少しでも正しい方向に矯正したいというのが正直な気持ちです
>>133,134
言葉に認識の違いがあるのかもしれませんが要するに>>114の形だとお考えください
>>137
確かにおっしゃる通りです 同期と読み替えてくださって構いません
結局私は自分の中でも問題をまとめきれて居なかった上、色々書きすぎて本質を見失っていたようです
大変申し訳ございません
実際のところ、私がこれまで書いてきた問題(>>111など)は全て繋がっていて切り離せないものだったようです
結局私は、非同期『管理システム』、そのパターンを求めているのです
確かにそうでしょうが、その規約だの設計思想だのも私に委ねられてる状態でして
結局の所、コードが動かないから、不具合が生じているから質問しているわけではありません
ただ少しでも良いコードを残したい、書いていきたいと思った次第で、
私はJSの「良い」コードというのはその時その時代の世界のJSerがどう考えているかで決まると長年思っているのですが
async関数やPromiseが入って2,3年がたった今どのような「良さ」を皆さんがそこに考え出してるのか
その感覚の言葉のシャワーを浴びて私の感覚を少しでも正しい方向に矯正したいというのが正直な気持ちです
>>133,134
言葉に認識の違いがあるのかもしれませんが要するに>>114の形だとお考えください
>>137
確かにおっしゃる通りです 同期と読み替えてくださって構いません
結局私は自分の中でも問題をまとめきれて居なかった上、色々書きすぎて本質を見失っていたようです
大変申し訳ございません
実際のところ、私がこれまで書いてきた問題(>>111など)は全て繋がっていて切り離せないものだったようです
結局私は、非同期『管理システム』、そのパターンを求めているのです
2018/08/14(火) 17:54:35.16ID:???
非同期と同期の大きな違いは、非同期は、同期で言う割り込みのように、
ユーザーの操作などによるイベントによる別の処理が途中と言って良いようなところで発生し得ることでしょうか
私は>>114でBで複数のCを待ちわびることで解決したと言いましたが、本当はそれだけではないのです
Cに相当する処理は実際は複数の非同期関数が繋がっているということもありますし、
その中ではawait Promise.race([D(),timeout(42),listen('buttonclick')])のようなものも使っています
ユーザー操作やタイマーや、他所から来たイベント次第でいつどう処理が完了するかは分かりません
要するに、シンプルに考えればDがBにnewC'を登録し、Dが終了すればoldCが開放されるように見えますが
実際はDが終了した段階でCはもうDを待ってはおらず、別の処理を始めているかもしれないです
Dはメニューと例えていたので変かもしれませんので言い換えると、
実際はC5が終了した段階でC4はもうC5を待ってはおらず、別の処理を始めているかもしれない、ということです
なので独自用語でセッションと言いましたが、関数開始時などに渡され、その関数が担当する処理が
未だ有効かどうか分かるオブジェクト用意し、コンテキストが変わるときにそのオブジェクトを無効状態にしておくことで、
そのような「タイミングのズレ」にだいたい対処しています
つまり、私は今基本的に素のasync-awaitを使いながら、時にはイベントを使ったり、セッションを使ったり、
Bのような部分的にタスク管理したり、色々しすぎているので
これを大きくまとめた比較的大規模なタスク管理システムを導入して整理し直すか、
もしくはそこまで行かないが10必要だったその場しのぎ対処が5になるような
比較的ちょっとした共通追加対応策についてのヒントや方向性のアドバイスが知りたいと言うことです
すみませんでした。
ユーザーの操作などによるイベントによる別の処理が途中と言って良いようなところで発生し得ることでしょうか
私は>>114でBで複数のCを待ちわびることで解決したと言いましたが、本当はそれだけではないのです
Cに相当する処理は実際は複数の非同期関数が繋がっているということもありますし、
その中ではawait Promise.race([D(),timeout(42),listen('buttonclick')])のようなものも使っています
ユーザー操作やタイマーや、他所から来たイベント次第でいつどう処理が完了するかは分かりません
要するに、シンプルに考えればDがBにnewC'を登録し、Dが終了すればoldCが開放されるように見えますが
実際はDが終了した段階でCはもうDを待ってはおらず、別の処理を始めているかもしれないです
Dはメニューと例えていたので変かもしれませんので言い換えると、
実際はC5が終了した段階でC4はもうC5を待ってはおらず、別の処理を始めているかもしれない、ということです
なので独自用語でセッションと言いましたが、関数開始時などに渡され、その関数が担当する処理が
未だ有効かどうか分かるオブジェクト用意し、コンテキストが変わるときにそのオブジェクトを無効状態にしておくことで、
そのような「タイミングのズレ」にだいたい対処しています
つまり、私は今基本的に素のasync-awaitを使いながら、時にはイベントを使ったり、セッションを使ったり、
Bのような部分的にタスク管理したり、色々しすぎているので
これを大きくまとめた比較的大規模なタスク管理システムを導入して整理し直すか、
もしくはそこまで行かないが10必要だったその場しのぎ対処が5になるような
比較的ちょっとした共通追加対応策についてのヒントや方向性のアドバイスが知りたいと言うことです
すみませんでした。
2018/08/14(火) 18:01:27.92ID:???
>>141
あぁ、わかった
お前に言えることは「余計なことすんな」だ
問題がわかってないお前が決めた所で失敗するだけ
問題が発覚した時に、後から方向転換できるようにしていればいい。
問題が起きたときに、最初に決めたルールは絶対守れと押し付けるはやめろ
あぁ、わかった
お前に言えることは「余計なことすんな」だ
問題がわかってないお前が決めた所で失敗するだけ
問題が発覚した時に、後から方向転換できるようにしていればいい。
問題が起きたときに、最初に決めたルールは絶対守れと押し付けるはやめろ
2018/08/14(火) 18:03:36.64ID:???
> これを大きくまとめた比較的大規模なタスク管理システムを導入して整理し直すか、
そんなものはこの世に存在しない
大規模 = 悪 だから覚えておいたほうが良い
つまりお前の発想は間違いに突き進んでる
そんなものはこの世に存在しない
大規模 = 悪 だから覚えておいたほうが良い
つまりお前の発想は間違いに突き進んでる
2018/08/14(火) 18:15:36.62ID:???
「現場に聞け」じゃないの
2018/08/14(火) 18:16:25.79ID:???
>>143,144
私はこれまでこのプロフェクトを2度白紙にして本当に0から作り直したのですが
この調子で行くと完成と同時くらいに3度目の限界点が来るんじゃないかなと
次の人が必要なら好きに作り直しゃ良いですっかね?
私はこれまでこのプロフェクトを2度白紙にして本当に0から作り直したのですが
この調子で行くと完成と同時くらいに3度目の限界点が来るんじゃないかなと
次の人が必要なら好きに作り直しゃ良いですっかね?
2018/08/14(火) 18:20:23.19ID:???
間違いを指摘されて、本当に理解したかはともかく、それを間違いと認められる点は美徳
ただ、「あるはずだ」で質問を延々続行するのはどうかと
ただ、「あるはずだ」で質問を延々続行するのはどうかと
2018/08/14(火) 18:20:40.61ID:???
>>146
反省してないからそうなる
先に問題点を洗い出せ
問題点がわかってなくて反省できるわけ無いだろ
この調子で行くと3度目じゃ終わらないだろうな
反省しないお前のやり方じゃ何度も同じことを繰り返す
要するにお前の能力不足だ
反省してないからそうなる
先に問題点を洗い出せ
問題点がわかってなくて反省できるわけ無いだろ
この調子で行くと3度目じゃ終わらないだろうな
反省しないお前のやり方じゃ何度も同じことを繰り返す
要するにお前の能力不足だ
2018/08/14(火) 18:21:45.22ID:???
能力不足っていうのは、プログラミング能力だけのことじゃない
不足してるのはリーダーや管理者的な能力だよ
不足してるのはリーダーや管理者的な能力だよ
2018/08/14(火) 18:22:15.11ID:???
だいたい過去2度白紙になった原因は何よ要件変更じゃないの
どんな要件変更にも耐える設計作るのと永久機関作るのとどっちが現実的
どんな要件変更にも耐える設計作るのと永久機関作るのとどっちが現実的
2018/08/14(火) 18:27:33.31ID:???
>>148,149
それは十二分に承知してる
俺じゃなかったら1回目で済んでる
なんで経験浅い俺に任されたんだ
正直問題点は行の数だけある
流石に3回目なのでなんで動いてるのか分からんようにはなってはいない
でもそれが俺の限界
この先最後の最後に細かなバグに苦しめられることは必死
多分修正しきれる可能性のほうが低いだろう
もう疲れたよ
すみません
質問閉めます
と言っても多分参考になった
頑張る
それは十二分に承知してる
俺じゃなかったら1回目で済んでる
なんで経験浅い俺に任されたんだ
正直問題点は行の数だけある
流石に3回目なのでなんで動いてるのか分からんようにはなってはいない
でもそれが俺の限界
この先最後の最後に細かなバグに苦しめられることは必死
多分修正しきれる可能性のほうが低いだろう
もう疲れたよ
すみません
質問閉めます
と言っても多分参考になった
頑張る
2018/08/14(火) 18:36:52.55ID:???
>>150
1回目、2回目は成果物完成間近に根本的問題が避けられないことが分かったが
コードが密結合過ぎて要件大変更に耐えられそうになかった
だから3回目は俺もかなり加わって極力個々を小さく、素に作った
要件変更には強い
だが小さなバラバラに動く歯車を管理するのに限界がきそう
1回目、2回目は成果物完成間近に根本的問題が避けられないことが分かったが
コードが密結合過ぎて要件大変更に耐えられそうになかった
だから3回目は俺もかなり加わって極力個々を小さく、素に作った
要件変更には強い
だが小さなバラバラに動く歯車を管理するのに限界がきそう
2018/08/14(火) 18:49:30.30ID:???
>>152
根本的問題って何?3回目スタートのトリガーは何?
>1行目「1回目、2回目は(略)根本的問題が避けられないことが分かった」
ほうほうなるほど1回目2回目は明確な問題があったんだな
その書きぶりだと要件変更のせいで作り直しとかじゃなかったんだな
>2行目「分かったがコードが密結合過ぎて要件大変更に耐えられそうになかった」
は?問題があったから作り直したんちゃうの?
要件大変更は生じたの?それとも未来くるかどうかわからない大変更に備えての作り直し?
無駄な情報を追加してる一方で、必要な情報が不足し整合性がない
日本語でこれ
根本的問題って何?3回目スタートのトリガーは何?
>1行目「1回目、2回目は(略)根本的問題が避けられないことが分かった」
ほうほうなるほど1回目2回目は明確な問題があったんだな
その書きぶりだと要件変更のせいで作り直しとかじゃなかったんだな
>2行目「分かったがコードが密結合過ぎて要件大変更に耐えられそうになかった」
は?問題があったから作り直したんちゃうの?
要件大変更は生じたの?それとも未来くるかどうかわからない大変更に備えての作り直し?
無駄な情報を追加してる一方で、必要な情報が不足し整合性がない
日本語でこれ
2018/08/14(火) 19:16:08.71ID:???
1回目>設計だけやった
一応なんとか形になったものの解消できないバグが残った
しかも将来の仕様変更に耐えられそうもなかった
バグの対応と将来の仕様変更への不安から設計からやり直すことになった
2回目>設計だけやった
1回目の失敗から設計をやり直したが、最終的な結果は1回目と同じだった
やはりバグの対応と将来の仕様変更への不安から設計からやり直すことになった
3回目>設計だけでなくコーディングにも入った
なんとかバグを解消しつつ想定される仕様変更にも一定程度対応できるようになった
しかし部品ごとの独立性を重視して非常にきめ細かく作り込んだため全体像から細部まで把握するのが至難の業になった
なお1回目から3回目まで通じて仕様変更はなかった
妄想推測と過去レスを元に書くとこんなところか?
密結合を嫌って疎結合にし機能ごとの独立性を重視した結果煩雑になったというならば
>>97や>>100末尾の諸問題は各機能のインターフェースや実装のレベルまで落とせそうなものだが
一応なんとか形になったものの解消できないバグが残った
しかも将来の仕様変更に耐えられそうもなかった
バグの対応と将来の仕様変更への不安から設計からやり直すことになった
2回目>設計だけやった
1回目の失敗から設計をやり直したが、最終的な結果は1回目と同じだった
やはりバグの対応と将来の仕様変更への不安から設計からやり直すことになった
3回目>設計だけでなくコーディングにも入った
なんとかバグを解消しつつ想定される仕様変更にも一定程度対応できるようになった
しかし部品ごとの独立性を重視して非常にきめ細かく作り込んだため全体像から細部まで把握するのが至難の業になった
なお1回目から3回目まで通じて仕様変更はなかった
妄想推測と過去レスを元に書くとこんなところか?
密結合を嫌って疎結合にし機能ごとの独立性を重視した結果煩雑になったというならば
>>97や>>100末尾の諸問題は各機能のインターフェースや実装のレベルまで落とせそうなものだが
155121
2018/08/14(火) 19:21:25.23ID:2dROb7DN >>130
自分は平行処理なんて書いてないから
そもそも、平行処理って何?並行処理のこと?
並行処理と並列処理の違いを理解してるの?
「並列処理じゃなくて逐次処理じゃないの?」と指摘されてるのに、なんでそっちはガン無視なのよ
専門用語を使えば使うほどボロを出してるから、もっと平易な日本語で書きなよ
知ったかしないで、分からないことは分からないと認めなきゃ先に進めないでしょ?
自分は平行処理なんて書いてないから
そもそも、平行処理って何?並行処理のこと?
並行処理と並列処理の違いを理解してるの?
「並列処理じゃなくて逐次処理じゃないの?」と指摘されてるのに、なんでそっちはガン無視なのよ
専門用語を使えば使うほどボロを出してるから、もっと平易な日本語で書きなよ
知ったかしないで、分からないことは分からないと認めなきゃ先に進めないでしょ?
2018/08/14(火) 19:33:35.12ID:???
これから専門用語禁止な
2018/08/14(火) 19:37:36.63ID:???
言ったら魂抜き取られるのか
2018/08/14(火) 19:44:31.79ID:???
うん。抜き取る
2018/08/14(火) 20:47:44.73ID:???
htmlを新しいウィンドウで開く方法ってないでしょうか
window.open(url) はurlを引数に取りますが
window.open('<html><body>Hello!</body></html>');
みたいにhtmlを引数にして新規ウィンドウで開く方法ってないでしょうか
window.open(url) はurlを引数に取りますが
window.open('<html><body>Hello!</body></html>');
みたいにhtmlを引数にして新規ウィンドウで開く方法ってないでしょうか
2018/08/14(火) 21:01:38.34ID:???
あるけどjQueryの話題じゃないので頑張ってくれ
2018/08/14(火) 21:05:42.42ID:???
>>159
ブランクで開いてからhtmlを設定したらいいんじゃね
ブランクで開いてからhtmlを設定したらいいんじゃね
2018/08/14(火) 21:16:57.19ID:???
>>161
一応できて動きました。こんな感じですかね?
function new_window() {
var w = window.open("", "NW");
w.document.open();
w.document.write("<html><body>hello</body></html>");
w.document.close();
}
new_window();
一応できて動きました。こんな感じですかね?
function new_window() {
var w = window.open("", "NW");
w.document.open();
w.document.write("<html><body>hello</body></html>");
w.document.close();
}
new_window();
2018/08/14(火) 22:09:10.35ID:???
>>160
バカは黙ってた方が身のためだ
バカは黙ってた方が身のためだ
2018/08/15(水) 00:22:54.99ID:???
2018/08/15(水) 00:38:14.67ID:???
2018/08/15(水) 00:46:01.09ID:???
非同期処理についての質問者は、
名前欄に、最初の書き込みの番号を入れてくれ
処理の基本は、all or nothing
A | B | C
というパイプラインがあって、B で失敗した際、A だけが更新されると、
データの不整合が起こり、データの一貫性がなくなる
データベースなどでは、roll back して、Aの更新前に戻す。
中途半端な更新をしたら、絶対にダメ!
名前欄に、最初の書き込みの番号を入れてくれ
処理の基本は、all or nothing
A | B | C
というパイプラインがあって、B で失敗した際、A だけが更新されると、
データの不整合が起こり、データの一貫性がなくなる
データベースなどでは、roll back して、Aの更新前に戻す。
中途半端な更新をしたら、絶対にダメ!
2018/08/15(水) 13:40:22.90ID:???
2018/08/15(水) 13:58:02.23ID:???
> その問題のために
その問題を自分で理解してないんでしょ?
その問題を自分で理解してないんでしょ?
2018/08/15(水) 14:26:26.10ID:???
>>165
バカは黙ってた方が身のためだ
バカは黙ってた方が身のためだ
2018/08/15(水) 14:28:09.61ID:???
js固有でもないプログラミングの基礎の用語を
書く前にググらなきゃいけない時点でバカにされても仕方ない
1、2回目を限界が来たと書いていたけど
要件定義不備設計不備に由来する不具合が原因の作り直しじゃん
書く前にググらなきゃいけない時点でバカにされても仕方ない
1、2回目を限界が来たと書いていたけど
要件定義不備設計不備に由来する不具合が原因の作り直しじゃん
2018/08/15(水) 15:22:27.12ID:???
ちょっとでもぐぐってたらセッションという言葉の独自定義は避ける
2018/08/15(水) 16:33:43.46ID:???
>>168
その問題というのは誰が見てもハッキリ分かるもの
度合い問題でもあるが
何を何に変えてそこから何に変えて良くしたか
3段階で解決できるものと言ったら
>>170
たしかになぁ
でも何とも言えんわ
正直言えば1回目で完成ですでも良かったわけだし
仕様はこうです、合わせてくださいってこちらから言える案件だし
つうか目的くらいしか決められてないしどういう機能があるべきかそれほど自明でもないし
そのくせ追加要望は未だにしょっちゅうしてくるし
ここまで聞いて分かったと思うけど、直接目的を達成するものだけを作ってるわけじゃないし
>>171
セッションは本来の呼び名を避けて適当に言ったんだよ!
ググってなくてすまんかったな!
よかったら良い呼び名を教えてくれ
次からそれを使う
その問題というのは誰が見てもハッキリ分かるもの
度合い問題でもあるが
何を何に変えてそこから何に変えて良くしたか
3段階で解決できるものと言ったら
>>170
たしかになぁ
でも何とも言えんわ
正直言えば1回目で完成ですでも良かったわけだし
仕様はこうです、合わせてくださいってこちらから言える案件だし
つうか目的くらいしか決められてないしどういう機能があるべきかそれほど自明でもないし
そのくせ追加要望は未だにしょっちゅうしてくるし
ここまで聞いて分かったと思うけど、直接目的を達成するものだけを作ってるわけじゃないし
>>171
セッションは本来の呼び名を避けて適当に言ったんだよ!
ググってなくてすまんかったな!
よかったら良い呼び名を教えてくれ
次からそれを使う
2018/08/15(水) 16:49:37.59ID:???
並列処理とか普通にやればいいだけなんだが
何に困ってるか説明できてないので答えようがない
まあ全てはこいつの能力不足だ
お前が教えるんじゃなくてお前が教えてもらうほうだ
何に困ってるか説明できてないので答えようがない
まあ全てはこいつの能力不足だ
お前が教えるんじゃなくてお前が教えてもらうほうだ
2018/08/15(水) 17:28:22.58ID:???
まずは端的かつ明確に回答を行えるようになることを目標にすべき
同僚の苦労が偲ばれる
同僚の苦労が偲ばれる
2018/08/15(水) 17:59:48.67ID:???
>>131の質問の内容からして自分の常識とは異なっている
実装手法なら、周辺環境や規約にもよるけど、だいたいこのように書くと言えることもある
でも設計だと一部を抜き出して語る意味がない
全体を知っている者同士の会話でもなければ良し悪しの判断基準がないから語りようがない
毎回個別に考えて調べて考えるのが原則
だから設計は単価が高くて人工が多い
実装手法なら、周辺環境や規約にもよるけど、だいたいこのように書くと言えることもある
でも設計だと一部を抜き出して語る意味がない
全体を知っている者同士の会話でもなければ良し悪しの判断基準がないから語りようがない
毎回個別に考えて調べて考えるのが原則
だから設計は単価が高くて人工が多い
2018/08/15(水) 18:38:45.28ID:???
ヴァカ
2018/08/15(水) 22:02:15.63ID:???
JavaScript関係ない話みたいだし
元質問者も多少おさまりつかないとこあるかもしれんけど
もうやめといたらどうか
元質問者も多少おさまりつかないとこあるかもしれんけど
もうやめといたらどうか
2018/08/16(木) 15:04:39.41ID:???
なんか先日からアプデ可能って出るんですがやっても必ず失敗します
何かあったんですか?
何かあったんですか?
179Name_Not_Found
2018/08/19(日) 17:54:52.02ID:Hds7LGpQ if(true){
・・・
}else{
・・・
}
みたいな文を書くとエラーが出るのだが、ダメなのか?
・・・
}else{
・・・
}
みたいな文を書くとエラーが出るのだが、ダメなのか?
2018/08/19(日) 18:18:51.73ID:???
181Name_Not_Found
2018/08/19(日) 19:36:08.59ID:Hds7LGpQ >>180
()内の条件が定数だと警告が出ていたようです。
()内の条件が定数だと警告が出ていたようです。
2018/08/19(日) 19:47:45.25ID:???
ようですってなんだよ大泉洋か何かかよ
2018/08/20(月) 00:23:46.12ID:???
自分でlintかなんか使ってわざわざ警告出るようにしておいて
相談するってさっぱり意味が分からんな
相談するってさっぱり意味が分からんな
2018/08/20(月) 11:54:39.95ID:???
あれだろ
解決してほしいんじゃなくて話を聞いてほしいだけ
車が故障したと電話する女、クソまじめに解決のため診断方法をレクチャーしようとしちゃう男、みたいな
解決してほしいんじゃなくて話を聞いてほしいだけ
車が故障したと電話する女、クソまじめに解決のため診断方法をレクチャーしようとしちゃう男、みたいな
185Name_Not_Found
2018/08/22(水) 08:56:05.23ID:A1pPKwOL javascriptのクラスを駆使して何か作ってみたいんだけどどういう内容のものならクラスがバリバリ活躍できる?
車クラスを作ろう!とかそういう練習問題的なのは無しとして
車クラスを作ろう!とかそういう練習問題的なのは無しとして
2018/08/22(水) 09:50:53.16ID:???
練習問題が欲しいけど練習問題的なのは嫌ですって
2018/08/22(水) 11:11:27.40ID:???
車クラスは作れるのかな?
オレには作れん(´・ω・`)
オレには作れん(´・ω・`)
2018/08/22(水) 12:41:47.46ID:???
2018/08/22(水) 13:10:48.11ID:???
実際にはどういうシーンで役立つのか知りたいというだけなら
classを使っててclassでないと困る実例を聞けばいいと思うんだけど
なんでjavascriptのクラスを駆使して何か作ってみたいの?
classを使っててclassでないと困る実例を聞けばいいと思うんだけど
なんでjavascriptのクラスを駆使して何か作ってみたいの?
2018/08/22(水) 19:51:59.82ID:???
2018/08/23(木) 08:07:23.94ID:???
>>185
クラス、クラス言いたいだけかよ
クラス、クラス言いたいだけかよ
2018/08/23(木) 13:51:34.13ID:???
くらすけんね
2018/08/23(木) 14:31:34.67ID:???
倉敷県?
194Name_Not_Found
2018/08/23(木) 21:24:14.89ID:csYFQA4h <button onclick="if(typeof MyFunc == 'function') MyFunc();" ・・・
と言うような記述を見たのだが、
ifは何のためにあるの?
何が目的なの?
と言うような記述を見たのだが、
ifは何のためにあるの?
何が目的なの?
2018/08/23(木) 21:32:24.88ID:???
onclickのとこを自動生成してるんじゃねーの
2018/08/23(木) 21:36:30.53ID:???
2018/08/23(木) 23:28:12.11ID:???
2018/08/24(金) 00:32:26.75ID:???
悪手かもしれないけれど結構好きw
2018/08/24(金) 06:51:28.82ID:???
別にnullやundefinedが入ってても問題はないし
目的は呼べないものを呼ばないようにすることじゃなくて
呼べるものを呼ばなくすることだな
例えばNodeとかでV8に手を入れてtypeofを拡張してるとか
それで例えば呼ぶとエラーになるクラスのコンストラクタは'constructor'を返すようにしてるとか
一度しか呼ぶことを期待していない関数が呼ばれた後は'function'じゃなくすとか
十分に考えられる
目的は呼べないものを呼ばないようにすることじゃなくて
呼べるものを呼ばなくすることだな
例えばNodeとかでV8に手を入れてtypeofを拡張してるとか
それで例えば呼ぶとエラーになるクラスのコンストラクタは'constructor'を返すようにしてるとか
一度しか呼ぶことを期待していない関数が呼ばれた後は'function'じゃなくすとか
十分に考えられる
200Name_Not_Found
2018/08/24(金) 08:06:47.02ID:9ePMrMWo MyFuncなんてふざけた名前付ける奴がそこまで高尚なことを考えてるだろうか
2018/08/24(金) 09:38:25.86ID:???
>>200
関数名は自己顕示欲の塊だな
関数名は自己顕示欲の塊だな
2018/08/24(金) 09:47:25.35ID:???
MyCheepfuncとでも書けばよろしいか
2018/08/24(金) 18:02:32.12ID:???
そうだよな!myFuncだよな!!
2018/08/26(日) 13:34:01.68ID:???
>>188
IE11用にPromiseのPolyfill作成
IE11用にPromiseのPolyfill作成
2018/08/26(日) 13:37:17.36ID:???
2018/08/27(月) 02:12:08.30ID:???
onclick="MyFunc()"
が一番スマート
が一番スマート
2018/08/27(月) 09:03:04.46ID:???
>>206
そこはaddEventListenerじゃないのか
そこはaddEventListenerじゃないのか
2018/08/27(月) 20:32:05.95ID:???
ジェネレーター関数で
function* g(){
const n=yield 0;
yield n;
}
var f=g();
console.log(f.next());
console.log(f.next(3));
nextで直前のyield部の変数に値を渡せる、みたいな機能がありますが
これをうまく利用した例などはありますでしょうか
ぱっと見どこに値を渡したのか?という見辛さに違和感があるのと
実行直前の値を変えたい、という状況が思いつきません
function* g(){
const n=yield 0;
yield n;
}
var f=g();
console.log(f.next());
console.log(f.next(3));
nextで直前のyield部の変数に値を渡せる、みたいな機能がありますが
これをうまく利用した例などはありますでしょうか
ぱっと見どこに値を渡したのか?という見辛さに違和感があるのと
実行直前の値を変えたい、という状況が思いつきません
2018/08/28(火) 02:54:06.46ID:???
普通受ける方も送る方もfor文で回しながら渡すだろ
2018/08/28(火) 10:55:32.54ID:???
ふぉーだね
211Name_Not_Found
2018/08/29(水) 20:32:00.83ID:BL3o/gse index.htmlで、JSの読み込みが三つあり
<script src="file1.js"></script>
<script src="file2.js"></script>
<script src="file3.js"></script>
では正常に動作するんだけれど、三つのファイルを単純に連結して一つにして、
<script src="fileAll.js"></script>
とするとエラーが出まくるんだが、一般に、このやり方はエラー出るの?
単純に連結しているから、三つに分離している場合と同じだと思うのだが。
<script src="file1.js"></script>
<script src="file2.js"></script>
<script src="file3.js"></script>
では正常に動作するんだけれど、三つのファイルを単純に連結して一つにして、
<script src="fileAll.js"></script>
とするとエラーが出まくるんだが、一般に、このやり方はエラー出るの?
単純に連結しているから、三つに分離している場合と同じだと思うのだが。
2018/08/29(水) 20:35:12.46ID:???
でない。理由は思いつくが、興味ないので他の人に任せる
2018/08/29(水) 20:52:35.56ID:???
[> 興味ないね
2018/08/29(水) 21:09:27.82ID:???
strictと非strictが結合してるとか
2018/08/29(水) 21:51:10.55ID:???
ネームスペースがカオス状態
2018/08/30(木) 02:12:49.36ID:???
前後のファイルがつながって、1文扱いにならないように、
ファイルの冒頭に、; を入れておけば?
ファイルの冒頭に、; を入れておけば?
2018/08/30(木) 13:06:35.40ID:???
Q ○○したらエラーが出ます
A エラー内容確認してがんばって直せ
A エラー内容確認してがんばって直せ
2018/08/30(木) 15:50:26.75ID:???
でもエスパー能力高いやつって経験豊富だから大体どういう理由でエラーが出てるか予想できるよね
2018/08/30(木) 16:25:10.54ID:???
でもでも言うまえに再現できるデモでも用意しろや
2018/08/31(金) 06:24:14.99ID:???
ファイル晒せよ
2018/08/31(金) 14:58:47.93ID:???
恥ずかしいし・・・・・・
2018/08/31(金) 21:42:38.54ID:???
恥ずかしいなら、質問しなければいい
2018/09/01(土) 03:18:20.04ID:???
2018/09/01(土) 05:15:01.09ID:???
チンコかファイルかって言われたら俺はチンコを晒す
2018/09/01(土) 09:39:29.79ID:???
>>221
その理屈だと、エスパーも恥ずかしくてコードを晒せない
その理屈だと、エスパーも恥ずかしくてコードを晒せない
2018/09/01(土) 13:15:10.23ID:???
チンコより頭頂部を晒せ
2018/09/01(土) 13:29:54.75ID:???
,.:::.⌒⌒:::::ヽ
(::::::::::::::::::::::::::::)
(::::::::::::::::::::::::::::::::::)
(:;;;::::::::::::::::::::::::::::::::::::)
(:;;;;;:::::::::::::::::::::::::::::::::::::)
(;:::::::::::::::::人:::::::::::::::::ノ
(::::::: (´・ω・`):::::ノ
(::::::::::::::::::::::::::::)
(::::::::::::::::::::::::::::::::::)
(:;;;::::::::::::::::::::::::::::::::::::)
(:;;;;;:::::::::::::::::::::::::::::::::::::)
(;:::::::::::::::::人:::::::::::::::::ノ
(::::::: (´・ω・`):::::ノ
2018/09/01(土) 22:16:40.35ID:???
jqueryのmapとjavascriptのmapって全然違いますよね
jqueryの方はreturnで配列返したら配列じゃなく展開されて値が代入されてました
なので配列で返したいときは
$().map(_=>[[]])
みたいに入れ子にしないといけない、でよいでしょうか?
jqueryの方はreturnで配列返したら配列じゃなく展開されて値が代入されてました
なので配列で返したいときは
$().map(_=>[[]])
みたいに入れ子にしないといけない、でよいでしょうか?
2018/09/01(土) 23:09:13.75ID:???
>>228
なんか根本的に間違ってるぞ。
jQueryのmapは二種類ある。
$.map と $().map だ。
前者は、(jQueryが開発された当時、存在しなかった)
JavaScriptのmap相当の機能を提供するものとして作られた。
後者はjQueryオブジェクト(=要素の配列をラップしたもの)に対して
mapを実行するもの・・・が基本ではあるんだが、jQueryオブジェクトというのは
いうのはDOMだけではなく任意のオブジェクトをラップすることが可能なので
いろんなものに使えたりはする。
で、JavaScriptのmapとして使いたいなら、$.mapの方を使う。これは配列が
mapメソッドの引数になっているという違いはあるがJavaScriptのmapと同じように使え、
真の配列だけではなくlengthプロパティがある配列っぽい(Array-like な)ものを
扱えるという便利さもある。
> みたいに入れ子にしないといけない、でよいでしょうか?
入れ子にしないといけないとかいうのは意味がわからん。
後者を変な使い方をしてるだけだろう。
あんたが欲しいものは前者だ。それ使っておけば悩むことなど無いはずだ。
なんか根本的に間違ってるぞ。
jQueryのmapは二種類ある。
$.map と $().map だ。
前者は、(jQueryが開発された当時、存在しなかった)
JavaScriptのmap相当の機能を提供するものとして作られた。
後者はjQueryオブジェクト(=要素の配列をラップしたもの)に対して
mapを実行するもの・・・が基本ではあるんだが、jQueryオブジェクトというのは
いうのはDOMだけではなく任意のオブジェクトをラップすることが可能なので
いろんなものに使えたりはする。
で、JavaScriptのmapとして使いたいなら、$.mapの方を使う。これは配列が
mapメソッドの引数になっているという違いはあるがJavaScriptのmapと同じように使え、
真の配列だけではなくlengthプロパティがある配列っぽい(Array-like な)ものを
扱えるという便利さもある。
> みたいに入れ子にしないといけない、でよいでしょうか?
入れ子にしないといけないとかいうのは意味がわからん。
後者を変な使い方をしてるだけだろう。
あんたが欲しいものは前者だ。それ使っておけば悩むことなど無いはずだ。
2018/09/02(日) 00:08:20.80ID:???
>>229
実際に試してみるとわかる
var arr=[1,2,3];
console.log( $.map(arr,_=>[1,2,3]) ); //[1, 2, 3, 1, 2, 3, 1, 2, 3]
console.log( arr.map(_=>[1,2,3]) ); //[Array(3), Array(3), Array(3)]
console.log( $.map(arr,_=>[[1,2,3]]) ); //[Array(3), Array(3), Array(3)]
ということではないかと
実際に試してみるとわかる
var arr=[1,2,3];
console.log( $.map(arr,_=>[1,2,3]) ); //[1, 2, 3, 1, 2, 3, 1, 2, 3]
console.log( arr.map(_=>[1,2,3]) ); //[Array(3), Array(3), Array(3)]
console.log( $.map(arr,_=>[[1,2,3]]) ); //[Array(3), Array(3), Array(3)]
ということではないかと
2018/09/02(日) 00:23:21.84ID:???
>>230
マジかw それはしらなかった。
jQueryのmapってRubyでいうflat_mapだったんだ。
ってことはmapといいながら1対1での変換じゃなくて
要素を増やしたり減らしたりもできるってことか。
なんでjQueryのmapはdeprecatedにならないのかと
思っていたらそういうことだったんだな
マジかw それはしらなかった。
jQueryのmapってRubyでいうflat_mapだったんだ。
ってことはmapといいながら1対1での変換じゃなくて
要素を増やしたり減らしたりもできるってことか。
なんでjQueryのmapはdeprecatedにならないのかと
思っていたらそういうことだったんだな
2018/09/02(日) 08:29:58.46ID:???
$.map, $().map
jQuery には、2種類のメソッドがある
$.メソッド名は、汎用的なユーティリティ関数で、
$().メソッド名は、this を持つ、インスタンスメソッド
jQuery には、2種類のメソッドがある
$.メソッド名は、汎用的なユーティリティ関数で、
$().メソッド名は、this を持つ、インスタンスメソッド
2018/09/02(日) 09:15:03.76ID:???
thisを持つとは?
2018/09/02(日) 14:40:05.80ID:???
レシーバーに有益な値が渡されるという意味だろう
2018/09/02(日) 17:24:13.95ID:???
$.mapもthisを持つがな
2018/09/02(日) 19:19:10.92ID:???
thisを持てない関数とかメソッドってあるんか?
2018/09/03(月) 11:57:20.99ID:???
thisを持つとかまた頭悪いオレオレ用語開発したなw
付き合ってあげるここの人たち優しい
付き合ってあげるここの人たち優しい
2018/09/04(火) 03:22:36.38ID:???
this is
2018/09/08(土) 08:11:12.39ID:???
var tName = [];
var tNumber = [];
var i = 0;
var o = document.getElementsByTagName("a")[25];
for( i=6;i <=24;i++ ){
tName.push(document.getElementsByTagName("a")[i]);
tNumber.push(document.getElementsByTagName("a")[i-1]);
if(tName[i].textContent.includes("(1001)") == true){
tName[i].style.display = "none";
tNumber[i-1].style.display = "none";
}
}
if( o.textContent.includes('(1001)') == true ){
o.style.display = "none";
}
これ実行するとTypeError: tName[i] is undefinedって出るんですが原因わかる方いますか?
実行順序の関係だろうか.
var tNumber = [];
var i = 0;
var o = document.getElementsByTagName("a")[25];
for( i=6;i <=24;i++ ){
tName.push(document.getElementsByTagName("a")[i]);
tNumber.push(document.getElementsByTagName("a")[i-1]);
if(tName[i].textContent.includes("(1001)") == true){
tName[i].style.display = "none";
tNumber[i-1].style.display = "none";
}
}
if( o.textContent.includes('(1001)') == true ){
o.style.display = "none";
}
これ実行するとTypeError: tName[i] is undefinedって出るんですが原因わかる方いますか?
実行順序の関係だろうか.
2018/09/08(土) 09:15:08.84ID:???
空のtNameにpushしてるから
ループ最初のi==6の時はtName[0]しかないぞ
ループ最初のi==6の時はtName[0]しかないぞ
2018/09/11(火) 08:11:08.54ID:???
242239
2018/09/11(火) 09:07:54.08ID:??? いつも割と気合と努力で(console.log)でゴリ押ししてたからなぁ汗
ブラウザのコンソールはエラーと警告が出るだけの場所だと思い込んでてまさかコード打ち込んでデバッグ出来るとは青天の霹靂だ
>>241
tNameは最初の一個しかないのが意味が分かりません
ほぼ同じソースコードだけど別のページだと動くのに.
ゴリ押ししたら動くのにforとarray使ったら動かなくなるのなんでなん
ブラウザのコンソールはエラーと警告が出るだけの場所だと思い込んでてまさかコード打ち込んでデバッグ出来るとは青天の霹靂だ
>>241
tNameは最初の一個しかないのが意味が分かりません
ほぼ同じソースコードだけど別のページだと動くのに.
ゴリ押ししたら動くのにforとarray使ったら動かなくなるのなんでなん
2018/09/11(火) 09:13:52.40ID:???
>>242
いつの時代の人?
いつの時代の人?
2018/09/11(火) 11:17:52.01ID:???
ループの中の if(tName[i].……の直前で
i と tName をconsole.log()にかけるコード1行入れりゃ理解できるんでね
i と tName をconsole.log()にかけるコード1行入れりゃ理解できるんでね
2018/09/11(火) 20:05:23.62ID:???
for使わずにtNameだけ書くと >>239
var tName = [];
var i=0;
//i=0からi=5は、何もしていない
console.log(tName); // []
i=6
tName.push('要素a');
console.log(tName); // ['要素a']
console.log(tName[i]);// undefined == tName[6]
i=7
tName.push('要素a');
console.log(tName); // ['要素a','要素a']
console.log(tName[i]); // undefined == tName[7]
//以下繰り返し
var tName = [];
var i=0;
//i=0からi=5は、何もしていない
console.log(tName); // []
i=6
tName.push('要素a');
console.log(tName); // ['要素a']
console.log(tName[i]);// undefined == tName[6]
i=7
tName.push('要素a');
console.log(tName); // ['要素a','要素a']
console.log(tName[i]); // undefined == tName[7]
//以下繰り返し
247239
2018/09/11(火) 21:26:04.36ID:O/Ih3NeS >>240-241,243,245-246
とりあえずこれで事なきを得ました。ありがとうございました。
var tName = [];
var tNumber = [];
var i = 0;
var o = document.getElementsByTagName("a")[25];
for (i = 6; i <= 24; i++) {
tName[i] = document.getElementsByTagName("a")[i];
tNumber[i-1] = document.getElementsByTagName("a")[i - 1]
if (tName[i].textContent.includes("(1001)") == true) {
tName[i].style.display = "none";
tNumber[i - 1].style.display = "none";
}
}
if (o.textContent.includes('(1001)') == true) {
o.style.display = "none";
}
とりあえずこれで事なきを得ました。ありがとうございました。
var tName = [];
var tNumber = [];
var i = 0;
var o = document.getElementsByTagName("a")[25];
for (i = 6; i <= 24; i++) {
tName[i] = document.getElementsByTagName("a")[i];
tNumber[i-1] = document.getElementsByTagName("a")[i - 1]
if (tName[i].textContent.includes("(1001)") == true) {
tName[i].style.display = "none";
tNumber[i - 1].style.display = "none";
}
}
if (o.textContent.includes('(1001)') == true) {
o.style.display = "none";
}
248Name_Not_Found
2018/09/20(木) 01:19:45.54ID:M6En9stL 質問です
JSというかYouTubeの問題かもしれませんが
iframeAPIを使ってYouTube動画を貼って、準備出来たら再生、とするのに
再生(playVideo())の前に消音(mute())した場合
http://jsfiddle.net/xvc70zn9/1/
消音(mute())しなかった場合
http://jsfiddle.net/q9x2Lfma/1/
Chromeで後者が再生されないのは、おま環でしょうか?
JSというかYouTubeの問題かもしれませんが
iframeAPIを使ってYouTube動画を貼って、準備出来たら再生、とするのに
再生(playVideo())の前に消音(mute())した場合
http://jsfiddle.net/xvc70zn9/1/
消音(mute())しなかった場合
http://jsfiddle.net/q9x2Lfma/1/
Chromeで後者が再生されないのは、おま環でしょうか?
2018/09/20(木) 07:03:57.75ID:???
そりゃiframe内の動画がユーザーアクション無しで音声流そうとすればブロックされて当然でしょ
いまデスクトップでもどんどん厳しくなてるんだから
WebAudioAPIとかもポリシー変更になるでしょ
いまデスクトップでもどんどん厳しくなてるんだから
WebAudioAPIとかもポリシー変更になるでしょ
2018/09/20(木) 07:54:48.18ID:???
iframe自体けっこう嫌われてるからねぇ…
2018/09/20(木) 08:36:18.13ID:???
俺よりは人に嫌われてないだろ
2018/09/20(木) 19:56:31.29ID:???
chrome://flags/#autoplay-policy
* Default
* No user gesture is required.
* User gesture is required for cross-origin iframes. <--
* Document user activation is required.
* Default
* No user gesture is required.
* User gesture is required for cross-origin iframes. <--
* Document user activation is required.
254248
2018/09/20(木) 20:26:53.80ID:M6En9stL2018/09/21(金) 02:36:07.61ID:???
その会社に聞けば?
256Name_Not_Found
2018/09/21(金) 03:16:51.27ID:dotAtO5R window.addEventListener("load", function(e){
var list = document.getElementsByTagName('a');
ってやってるんだけど、aタグ一杯あるのにlistに空の配列が返される
しかも最近突然起こるようになったんだけど、何が原因かわかりますか
var list = document.getElementsByTagName('a');
ってやってるんだけど、aタグ一杯あるのにlistに空の配列が返される
しかも最近突然起こるようになったんだけど、何が原因かわかりますか
257Name_Not_Found
2018/09/21(金) 04:44:56.02ID:VAKGU9vY おま環、もしくは勘違いじゃね?
getElementsByTagNameが返すのは配列ではなくコレクションだから
配列が返ってるならおかしい
getElementsByTagNameが返すのは配列ではなくコレクションだから
配列が返ってるならおかしい
2018/09/21(金) 06:53:34.00ID:???
>>254
なんで不可解なのかが不可解
ミュートだったら再生させることによる悪影響の可能性が小さいだろうってことは分かる?
モバイルではもっと前からミュートで見えてるビデオだけ自動再生可の仕様だったでしょ
そして最近デスクトップにも似た仕様が入ったでしょ
デベロッパーなら最低限このページのことくらいは把握しておかなきゃ駄目よ
https://www.chromestatus.com/features
なんで不可解なのかが不可解
ミュートだったら再生させることによる悪影響の可能性が小さいだろうってことは分かる?
モバイルではもっと前からミュートで見えてるビデオだけ自動再生可の仕様だったでしょ
そして最近デスクトップにも似た仕様が入ったでしょ
デベロッパーなら最低限このページのことくらいは把握しておかなきゃ駄目よ
https://www.chromestatus.com/features
2018/09/21(金) 07:05:53.87ID:???
>>256
対象のURLはナシ?
対象のURLはナシ?
2018/09/21(金) 07:54:40.35ID:???
ウエメセきめえ
2018/09/21(金) 08:21:57.19ID:???
それは知ってました、がかんに障ったのだろう
262Name_Not_Found
2018/09/21(金) 10:39:08.83ID:dotAtO5R >>257
あ、配列じゃないのかこれ。NodeListというのが返ってきてlengthが0になっています
考えられるとしたらDOMがまだできていない等だけどloadイベント発火時にそんなことってあるのかな
あ、配列じゃないのかこれ。NodeListというのが返ってきてlengthが0になっています
考えられるとしたらDOMがまだできていない等だけどloadイベント発火時にそんなことってあるのかな
263Name_Not_Found
2018/09/21(金) 10:45:54.31ID:dotAtO5R setTimeOutで待ってみても同じだから、DOM構築が間に合ってないってわけではないっぽい
2018/09/21(金) 11:13:03.46ID:???
F12でコンソール開いてdocument.getElementsByTagName("a")って打ってみて
265Name_Not_Found
2018/09/21(金) 11:28:14.50ID:dotAtO5R >>264
やってみた。それだと正常に取得されました
やってみた。それだと正常に取得されました
266Name_Not_Found
2018/09/21(金) 12:17:10.91ID:dotAtO5R ブラウザの設定の問題だった、自決しました
2018/09/21(金) 12:31:33.64ID:???
そうか、安らかにな。
2018/09/21(金) 12:33:31.73ID:???
自決…w
2018/09/21(金) 14:05:45.51ID:???
わたし女子校生だけど自?しちゃいました
2018/09/21(金) 14:25:54.46ID:???
漫
2018/09/21(金) 14:42:55.20ID:???
慰
2018/09/22(土) 12:37:31.98ID:???
javascriptもclassを実装したの?
煩雑なprototypeは改めて欲しい。
煩雑なprototypeは改めて欲しい。
2018/09/22(土) 12:49:41.51ID:???
>>272
江戸時代の人?
江戸時代の人?
2018/09/22(土) 14:56:58.91ID:???
ござる?
2018/09/22(土) 17:23:52.60ID:???
候。
2018/09/22(土) 19:45:39.50ID:???
>>272
拙者、昭和生まれでござる。
拙者、昭和生まれでござる。
2018/09/23(日) 04:35:57.15ID:???
本を売る
2018/09/23(日) 13:21:48.31ID:???
プロトタイプはクラスと比較してもしなくてもこれ以上無いくらい簡単な仕組みで
複雑なのはnew演算子だって何回言ったら分かるんだろうね
複雑なのはnew演算子だって何回言ったら分かるんだろうね
2018/09/23(日) 17:26:58.66ID:???
>>278
実装が簡単なのと使い方が簡単なのをごっちゃにしてるぞ
例えば、gotoはコレ以上無いくらいに簡単な仕組みだ、
そのgoto一つで分岐処理、ループ処理、例外処理、
処理の流れを変えることはなんでもできる
だけど、使うのは難しい
原子的な機能であればあるほど、実装は簡単で
いろんな応用ができる。だけどそのせいで間違った
使いかたもできるから、使いこなすのは難しんだよ
実装が簡単なのと使い方が簡単なのをごっちゃにしてるぞ
例えば、gotoはコレ以上無いくらいに簡単な仕組みだ、
そのgoto一つで分岐処理、ループ処理、例外処理、
処理の流れを変えることはなんでもできる
だけど、使うのは難しい
原子的な機能であればあるほど、実装は簡単で
いろんな応用ができる。だけどそのせいで間違った
使いかたもできるから、使いこなすのは難しんだよ
2018/09/23(日) 18:33:56.68ID:???
javascriptにgotoなんてあったのか
2018/09/23(日) 20:20:44.92ID:???
gotoなんてBASICでしか使っとらんわ
2018/09/23(日) 20:35:50.12ID:???
小学生の時にBASICやってたなあ
そんでGOTOやGOSUBのなにがいかんのかイマイチわからん
そんでGOTOやGOSUBのなにがいかんのかイマイチわからん
2018/09/23(日) 20:49:30.64ID:???
問題が出るのはたとえばこういう場合
・後でコードを見たときに
・意図や目的のコメント文がぜんぜんなくて
・大きく飛んだり戻ったりで全容を掴むのが至難の業で
・書いた本人も気づいてないgoto由来のバグが潜んでる
よって、次のことが言える
自分がメンテするのでなければ何も問題がない
・後でコードを見たときに
・意図や目的のコメント文がぜんぜんなくて
・大きく飛んだり戻ったりで全容を掴むのが至難の業で
・書いた本人も気づいてないgoto由来のバグが潜んでる
よって、次のことが言える
自分がメンテするのでなければ何も問題がない
2018/09/23(日) 21:09:16.57ID:???
お腹に刺さると死ぬから包丁は使うべきじゃない
的な
的な
2018/09/23(日) 21:22:47.34ID:???
うむ
バカは何使ったってやらかすからなあ
バカは何使ったってやらかすからなあ
2018/09/23(日) 22:24:22.73ID:???
バカって言う奴がバカなんだよこのおバカ
2018/09/24(月) 06:08:00.47ID:???
gotoって確か行数かマーカー依存だったよな
行数の場合、ソース変更したら処理が変わるし、マーカーだと処理を追いにくいからあまり推奨されてない
大規模開発だと(他人にソースコードを読ませる関係上)問題になるが個人での開発ならそれほど問題にならない
行数の場合、ソース変更したら処理が変わるし、マーカーだと処理を追いにくいからあまり推奨されてない
大規模開発だと(他人にソースコードを読ませる関係上)問題になるが個人での開発ならそれほど問題にならない
2018/09/24(月) 07:03:36.11ID:???
2018/09/24(月) 07:19:42.04ID:???
goto乱用よりも
仕様ひっくり返すユーザ、設計をひっくり返す上流SE、みたいな
仕様ひっくり返すユーザ、設計をひっくり返す上流SE、みたいな
2018/09/24(月) 07:33:59.02ID:???
要件を正しく伝えない蔵担当者
勝手に要件を追加する蔵担当者の上司
最終段階で「これ本当に必要なの〜?」とぶちかます蔵の社長、とか
勝手に要件を追加する蔵担当者の上司
最終段階で「これ本当に必要なの〜?」とぶちかます蔵の社長、とか
291Name_Not_Found
2018/09/24(月) 08:24:51.47ID:qVm0iow+ 質問です 自分は障害持ちで将来的に在宅で
仕事したいと思っとります 在宅でのweb系の仕事を考えるなら、javascriptとphpどちらを先に勉強すべきでしょうか?すぐに仕事に繋がりやすいのはどちらでしょうか?
大金稼ぎたいとかじゃなく、少し稼げれば良いです 宜しくお願いします
長文失礼しました
仕事したいと思っとります 在宅でのweb系の仕事を考えるなら、javascriptとphpどちらを先に勉強すべきでしょうか?すぐに仕事に繋がりやすいのはどちらでしょうか?
大金稼ぎたいとかじゃなく、少し稼げれば良いです 宜しくお願いします
長文失礼しました
2018/09/24(月) 08:53:47.35ID:???
まずwebのことなんて一旦忘れて
c書けるようになってサーバ操作に慣れろ
c書けるようになってサーバ操作に慣れろ
2018/09/24(月) 09:13:28.95ID:???
2018/09/24(月) 10:17:28.91ID:???
最近この手のクラワのステマじみた何かをよく見かけるな
2018/09/24(月) 11:16:10.15ID:???
296Name_Not_Found
2018/09/24(月) 12:12:14.47ID:QPDHbMRA ウェブサイトにアニメーションを実装するとなると
Canvas使うよりよりSVGやCSSアニメーションのほうが優勢ですか
例えばページ背景に複数の円が色を変えながら動き続けるとかです
Canvas使うよりよりSVGやCSSアニメーションのほうが優勢ですか
例えばページ背景に複数の円が色を変えながら動き続けるとかです
2018/09/24(月) 12:28:51.12ID:???
クソダサ
298Name_Not_Found
2018/09/24(月) 12:35:16.68ID:qVm0iow+ >>295
c +は難しそうですね phpがオススメとも聞きましたが、逆の意見も耳にします
c +は難しそうですね phpがオススメとも聞きましたが、逆の意見も耳にします
2018/09/24(月) 22:37:14.39ID:???
>>296
WEB+DB vol.106 に、次世代のアニメ規格、Web Animations API の記事が載っている
これのPolyfill として、web-animations-js が公開されている
WEB+DB vol.106 に、次世代のアニメ規格、Web Animations API の記事が載っている
これのPolyfill として、web-animations-js が公開されている
2018/09/25(火) 19:14:49.93ID:???
次世代ではなく十分枯れた技術だから
2018/09/26(水) 08:02:02.87ID:???
言うほど枯れてるだろうか?
そんなに使われまくってる?
そんなに使われまくってる?
2018/09/26(水) 08:39:06.25ID:???
原則CSSのanimation/keyframesと一緒でしょ
枯れてると言って良いと思う
枯れてると言って良いと思う
2018/09/26(水) 11:58:19.18ID:???
> 原則CSSのanimation/keyframesと一緒でしょ
> 枯れてると言って良いと思う
だめだろ。できることが一緒でも、
それを実現している技術は最近だろ?
これはCSSではない新しい技術なのだから枯れてない
長い期間実際に使われてないなら枯れてるとは言えない
> 枯れてると言って良いと思う
だめだろ。できることが一緒でも、
それを実現している技術は最近だろ?
これはCSSではない新しい技術なのだから枯れてない
長い期間実際に使われてないなら枯れてるとは言えない
2018/09/26(水) 12:47:43.56ID:???
2018/09/26(水) 12:50:57.65ID:???
実際に多くの人に使われてるかどうかは関係ない
同時期の技術で言うとWebRTCのように使うべき人が使ってきて
議論が出尽くして仕様が固まって可能性も粗方掴めた段階で枯れてると言える
もう先人が試しきってるんだからね
同時期の技術で言うとWebRTCのように使うべき人が使ってきて
議論が出尽くして仕様が固まって可能性も粗方掴めた段階で枯れてると言える
もう先人が試しきってるんだからね
2018/09/26(水) 13:44:48.03ID:???
次世代とかウン十年前のゲーム機の宣伝文句じゃないんだから
2018/09/26(水) 17:09:50.06ID:???
ps5まだかな
2018/09/26(水) 20:34:22.87ID:???
2018/09/27(木) 00:34:13.60ID:???
ドラフトだったら枯れてない
初めて聞いたな
初めて聞いたな
2018/09/27(木) 00:55:12.08ID:???
>>309
あなたは、ドラフト(草案)がもうこれから
変わらない仕様だと断定したいんですかね?w
https://www.nttpc.co.jp/yougo/%E6%9E%AF%E3%82%8C%E3%81%9F.html
> しかし単に古いだけでなく「すでにトラブルが出尽くしていて、
>そのトラブルも解決され尽くしている」といった意味が強い。
ブラウザで実装してこの仕様でなにかトラブルがないですかー?って
調べてるのが今の段階で、トラブルはまだ出尽くしていない
枯れるわけがないだろ。常識で考えろや
あなたは、ドラフト(草案)がもうこれから
変わらない仕様だと断定したいんですかね?w
https://www.nttpc.co.jp/yougo/%E6%9E%AF%E3%82%8C%E3%81%9F.html
> しかし単に古いだけでなく「すでにトラブルが出尽くしていて、
>そのトラブルも解決され尽くしている」といった意味が強い。
ブラウザで実装してこの仕様でなにかトラブルがないですかー?って
調べてるのが今の段階で、トラブルはまだ出尽くしていない
枯れるわけがないだろ。常識で考えろや
2018/09/27(木) 00:55:20.49ID:???
これらの書き込みで1600円の雑誌が何冊余計に売れるのかね
2018/09/27(木) 00:58:45.74ID:???
枯れてない=トラブルが多く仕様が不安定
とすると
枯れてない=使い物にならない可能性が高い、細かいトラブル対応はネット漁るしかない=本見る意味なし
枯れてる=トラブルが出尽くし解決され尽くすほど普及してる=mdnで十分、本見る意味なし
とすると
枯れてない=使い物にならない可能性が高い、細かいトラブル対応はネット漁るしかない=本見る意味なし
枯れてる=トラブルが出尽くし解決され尽くすほど普及してる=mdnで十分、本見る意味なし
313Name_Not_Found
2018/09/27(木) 01:07:19.34ID:OWyFps6e 青い
熟れてる
枯れてる
で分けよう
熟れてる
枯れてる
で分けよう
2018/09/27(木) 06:55:13.68ID:???
>>310
意味分からん
ブラウザはまだAPIの一部しか全然実装してないし個々何年もする気もないだろ
ずっと見てきたわけもでないのにしったげに言うな
むしろ使う人が居なくて仕様の中核以外の部分は廃止されてもおかしくないような状態だから
もう枯れ切ってるんだよ
崩れる前に使い始めようっていうのに近い
意味分からん
ブラウザはまだAPIの一部しか全然実装してないし個々何年もする気もないだろ
ずっと見てきたわけもでないのにしったげに言うな
むしろ使う人が居なくて仕様の中核以外の部分は廃止されてもおかしくないような状態だから
もう枯れ切ってるんだよ
崩れる前に使い始めようっていうのに近い
2018/09/27(木) 09:18:42.53ID:???
>>314
意味がわからんのは、お前が「"仕様"が枯れた」なんて
意味不明なことを言ってるからだよ
いいか? 俺らは使う側。APIを使う。使うにはブラウザに実装されていなきゃいけない。
いくら仕様がずーっと前から変わらなかったとしても、それがブラウザに実装されてない以上
使えないし、Polyfillがあろうがブラウザに実装されようが、それなりの期間使われてないと
バグがあるかもしれない。だからいくら仕様が安定してようが「"実装"は枯れてない」んだよ
それとも何か?「枯れてるけど使えません。」とか言うつもりか?
意味がわからんのは、お前が「"仕様"が枯れた」なんて
意味不明なことを言ってるからだよ
いいか? 俺らは使う側。APIを使う。使うにはブラウザに実装されていなきゃいけない。
いくら仕様がずーっと前から変わらなかったとしても、それがブラウザに実装されてない以上
使えないし、Polyfillがあろうがブラウザに実装されようが、それなりの期間使われてないと
バグがあるかもしれない。だからいくら仕様が安定してようが「"実装"は枯れてない」んだよ
それとも何か?「枯れてるけど使えません。」とか言うつもりか?
2018/09/27(木) 10:15:33.47ID:???
枯れたっつーのは、なんつうか、こう
世界中のいろんな現場で使い倒されてる感がないとね
世界中のいろんな現場で使い倒されてる感がないとね
2018/09/27(木) 11:21:11.09ID:???
Web技術は枯れてからようやく使われるようになる
色んなメディアやブログが取り上げ始めたらその合図
色んなメディアやブログが取り上げ始めたらその合図
2018/09/27(木) 11:25:19.89ID:???
>>315
俺らは使う側?は?何言ってんだお前。
Webって言うのは皆で作っていくもんだろ
その大原則を忘れるとかアホかお前
ほんとアホなこと言ってる暇あったらMLに参加するなり、実装にパッチ投げたりしろよドアホ
皆が苦労して決まりきってから腰を上げるお前みたいなのに仕様が云々語る権利は一切無い
俺らは使う側?は?何言ってんだお前。
Webって言うのは皆で作っていくもんだろ
その大原則を忘れるとかアホかお前
ほんとアホなこと言ってる暇あったらMLに参加するなり、実装にパッチ投げたりしろよドアホ
皆が苦労して決まりきってから腰を上げるお前みたいなのに仕様が云々語る権利は一切無い
2018/09/27(木) 13:12:21.97ID:???
皆で作っていく(大爆笑)
2018/09/27(木) 15:18:15.36ID:???
Webの世界(要するにウェブサイト)は皆で作るが
仕様は皆で作らない
仕様は皆で作らない
2018/09/27(木) 16:54:44.17ID:???
みんな仲良し
2018/09/27(木) 19:06:23.79ID:???
しようがない連中だな
2018/09/27(木) 19:17:15.78ID:???
2018/09/27(木) 19:34:58.09ID:???
っていうか実装が枯れてないというのがどうも
枯れてるものを移植したら枯れてない新世代ぎじゅつに様変わりするのか?んなわけないだろ
枯れてるものを移植したら枯れてない新世代ぎじゅつに様変わりするのか?んなわけないだろ
2018/09/27(木) 19:56:10.37ID:???
(ここ何のスレだっけ…)
2018/09/27(木) 20:43:09.10ID:???
ハゲスレ
2018/09/27(木) 20:44:00.60ID:???
枯れてる枯れてないの話も、不毛なところも、まさに
2018/09/28(金) 07:11:51.47ID:???
不毛でも感覚をぶつけ合って少しでもすり合わせておくことは大事
皆がバラバラな方向いてたらWebは崩壊する
皆がバラバラな方向いてたらWebは崩壊する
2018/09/28(金) 14:11:32.33ID:???
逆な気がする…
330Name_Not_Found
2018/09/29(土) 10:42:15.73ID:2XpGYQdx 下のコードでaddEventListenerが実行されないのが良く分かりません。
window.onload = function () {
window.addEventListener('load', function () {
・・・ // 実行されなかった
});
};
なぜですか?
なお
window.onload = function () {
ではなく、
jQuery(function ($) {
でも実行されませんでした。そう言う仕様ですか?
window.onload = function () {
window.addEventListener('load', function () {
・・・ // 実行されなかった
});
};
なぜですか?
なお
window.onload = function () {
ではなく、
jQuery(function ($) {
でも実行されませんでした。そう言う仕様ですか?
2018/09/29(土) 10:59:08.55ID:???
はい。そういう仕様です。
2018/09/29(土) 11:05:20.80ID:???
いいえ、ケフィアです。
2018/09/29(土) 11:18:16.83ID:???
>>330
ロードイベントが起こった後にロードイベントを監視しても、もう起こった後だから起こらない。
ロードイベントが起こった後にロードイベントを監視しても、もう起こった後だから起こらない。
2018/09/29(土) 12:05:38.19ID:???
2018/09/29(土) 12:13:24.85ID:???
どっちかだけ選ぶなんてできません!
2018/09/29(土) 12:23:25.99ID:???
Life is a series of choices.(人生とは選択の連続である)- William Shakespeare(ウィリアム・シェイクスピア)
2018/09/29(土) 15:26:44.37ID:???
>>330
おかしいな? jQueryの場合は動くはずだけど?
jQueryのloadはPromise的な処理になっていて
あとからつけても発動するように考慮されてある
jQueryの古いバージョンは違ったかな?って思って1.9.1にしたけど動く
それよりも古いバージョンはしらないけど
https://jsfiddle.net/6q4whbty/
おかしいな? jQueryの場合は動くはずだけど?
jQueryのloadはPromise的な処理になっていて
あとからつけても発動するように考慮されてある
jQueryの古いバージョンは違ったかな?って思って1.9.1にしたけど動く
それよりも古いバージョンはしらないけど
https://jsfiddle.net/6q4whbty/
2018/09/29(土) 15:28:38.85ID:???
あ、逆か。
外側をjQueryにして、中をDOM APIにするわけね。
そりゃDOM APIじゃむりだ。中もjQueryにしなきゃ
ってか、外側でjQuery使っていてjQueryでやれることを
DOM APIを使ってやる必要ないでしょw
外側をjQueryにして、中をDOM APIにするわけね。
そりゃDOM APIじゃむりだ。中もjQueryにしなきゃ
ってか、外側でjQuery使っていてjQueryでやれることを
DOM APIを使ってやる必要ないでしょw
339Name_Not_Found
2018/09/29(土) 23:37:04.71ID:tbk/HiSj ヒロシキャンプ【キャンプ雑誌GARVYに登場!焚火会】
https://www.youtube.com/watch?v=EE_HBXQJDfM&t=565s
ヒロシキャンプ【雪中ハンモック泊】
https://www.youtube.com/watch?v=47uHNVivDZA&t=213s
【キャンプ】初めての泊まり。焚き火に男の料理!「ソロキャンプ」
https://www.youtube.com/watch?v=_6hAQmv6eYw
【キャンプ】食欲の秋!男のキャンプ飯。Solo Camping
https://www.youtube.com/watch?v=9IWX8seahAU
【キャンプ】ソロ・テント「ルクセ・ミニ・ピークU」組み立て!ワンポール
https://www.youtube.com/watch?v=mkVD6BWPhR0&t=454s
友ヶ島で探検キャンプ1/3
https://www.youtube.com/watch?v=r4sR6jNg_3s
清流で蛍キャンプ 1/2
https://www.youtube.com/watch?v=9Uc7rhK3aEg&t=23s
【bushcraft】ヒルバーグのグランドシートをタープに【Singularity】
https://www.youtube.com/watch?v=Fll6jgc3ufc&t=1251s
ホットサンドクッカーでハッシュドポテト outdoor cooking
https://www.youtube.com/watch?v=yJPoTDUNIJo
暖かいキャンプお菓子 Hot Sweets
https://www.youtube.com/watch?v=zfYBLxcpeSw
https://www.youtube.com/watch?v=EE_HBXQJDfM&t=565s
ヒロシキャンプ【雪中ハンモック泊】
https://www.youtube.com/watch?v=47uHNVivDZA&t=213s
【キャンプ】初めての泊まり。焚き火に男の料理!「ソロキャンプ」
https://www.youtube.com/watch?v=_6hAQmv6eYw
【キャンプ】食欲の秋!男のキャンプ飯。Solo Camping
https://www.youtube.com/watch?v=9IWX8seahAU
【キャンプ】ソロ・テント「ルクセ・ミニ・ピークU」組み立て!ワンポール
https://www.youtube.com/watch?v=mkVD6BWPhR0&t=454s
友ヶ島で探検キャンプ1/3
https://www.youtube.com/watch?v=r4sR6jNg_3s
清流で蛍キャンプ 1/2
https://www.youtube.com/watch?v=9Uc7rhK3aEg&t=23s
【bushcraft】ヒルバーグのグランドシートをタープに【Singularity】
https://www.youtube.com/watch?v=Fll6jgc3ufc&t=1251s
ホットサンドクッカーでハッシュドポテト outdoor cooking
https://www.youtube.com/watch?v=yJPoTDUNIJo
暖かいキャンプお菓子 Hot Sweets
https://www.youtube.com/watch?v=zfYBLxcpeSw
2018/09/29(土) 23:39:13.97ID:???
必要かどうかは私が決めることです
分からないのなら解答しなくていいので黙っててください
分からないのなら解答しなくていいので黙っててください
2018/09/30(日) 03:03:11.19ID:???
>jQueryのloadはPromise的な処理になっていて
>あとからつけても発動する
どういう経緯でこうなってるんですか
pure-js側はそんなことないですよね
デバッグの妨げになるようにも思えるんですけど
>あとからつけても発動する
どういう経緯でこうなってるんですか
pure-js側はそんなことないですよね
デバッグの妨げになるようにも思えるんですけど
2018/09/30(日) 04:27:38.85ID:???
どういう経緯って言われても、何度も発生するイベントと
resolve(またはreject)状態になってから変わらないものは
そもそも性質が異なるからですよ。
Promiseもいまやpure-jsですが、昔はそんなものがなかったからイベントで代用していましたが、
他のイベントと違い発生したタイミングが重要なのではなくロードは発生したタイミングが知りたいというより、
「現在ロードされているか?されていなければされるまで待つ」という処理を行うのが普通なので
現在の状態を判断するという処理が必要になります。
結構複雑ですよ?まずjQueryのloadはブラウザのloadイベントではなく
それよりも早い段階で発生する、DOM構築が完了した直後の
DOMContentLoadedを捉えるものだというのは知っていますか?
DOMContentLoadedはHTML5で標準化されましたが、それまでは非標準で
https://qiita.com/mamosan/items/ff336b5cc0a1a95e03a7
Firefox 2 (2006年)、Safari 3.1(2008年)、Chrome 4(2010年)、IE 9(2011年)で
予約サポートされたものです。jQueryは2006年なので普及しておらず当時は
使えない人が大半だったってのがわかりますね?
jQueryのloadはこのDOMContentLoadedをシミュレートする形で実装されました。
詳細は省きますがドキュメントのとあるプロパティをsetTimeoutで監視して読み取れれば
イベント発生扱いとしています。この部分のコードだけでも面倒なのですが、今は
DOMContentLoadedが使えるし、シミュレートが完璧に動作すると信じて
DOMContentLoadedの話にすすみましょう。
DOMContentLoadedが発生するのはDOM構築が完了した直後です。ここで問題になるのは
パフォーマンスアップのために使われる非同期で実行されるJavaScriptの存在です。
同期的に実行されるJavaScriptはDOM構築完了前に実行されますが、非同期で実行される場合
DOM構築完了後に実行されます。つまりDOMContentLoadedが発生した後に
DOMContentLoadedを監視することになるわけです。つまりイベントはすでに発生しているので
捉えることはできません。>>330と似たような状況になりますね。
resolve(またはreject)状態になってから変わらないものは
そもそも性質が異なるからですよ。
Promiseもいまやpure-jsですが、昔はそんなものがなかったからイベントで代用していましたが、
他のイベントと違い発生したタイミングが重要なのではなくロードは発生したタイミングが知りたいというより、
「現在ロードされているか?されていなければされるまで待つ」という処理を行うのが普通なので
現在の状態を判断するという処理が必要になります。
結構複雑ですよ?まずjQueryのloadはブラウザのloadイベントではなく
それよりも早い段階で発生する、DOM構築が完了した直後の
DOMContentLoadedを捉えるものだというのは知っていますか?
DOMContentLoadedはHTML5で標準化されましたが、それまでは非標準で
https://qiita.com/mamosan/items/ff336b5cc0a1a95e03a7
Firefox 2 (2006年)、Safari 3.1(2008年)、Chrome 4(2010年)、IE 9(2011年)で
予約サポートされたものです。jQueryは2006年なので普及しておらず当時は
使えない人が大半だったってのがわかりますね?
jQueryのloadはこのDOMContentLoadedをシミュレートする形で実装されました。
詳細は省きますがドキュメントのとあるプロパティをsetTimeoutで監視して読み取れれば
イベント発生扱いとしています。この部分のコードだけでも面倒なのですが、今は
DOMContentLoadedが使えるし、シミュレートが完璧に動作すると信じて
DOMContentLoadedの話にすすみましょう。
DOMContentLoadedが発生するのはDOM構築が完了した直後です。ここで問題になるのは
パフォーマンスアップのために使われる非同期で実行されるJavaScriptの存在です。
同期的に実行されるJavaScriptはDOM構築完了前に実行されますが、非同期で実行される場合
DOM構築完了後に実行されます。つまりDOMContentLoadedが発生した後に
DOMContentLoadedを監視することになるわけです。つまりイベントはすでに発生しているので
捉えることはできません。>>330と似たような状況になりますね。
2018/09/30(日) 04:28:13.41ID:???
ではどうするのかというと、イベントを監視する前にすでにDOMContentLoadedが発生したかを
document.readyStateを使ってチェックするわけです。
ですが単純には行かず、document.readyStateを使ってチェックしてまだloading中であれば、
addEventListenerでDOMContentLoadedを監視すると書いてしまうと、チェックした段階では
loadingだったが、addEventListenerするまでに間にDOMContentLoadedが発生してしまって
イベントが捉えられない可能性があります。
なので逆に実装し、addEventListenerでDOMContentLoadedを捉えるようにしてから、
document.readyStateを監視して、すでにreadyStatusがinteractiveにだったら
ずっと前にDOMContentLoadedが発生していたと判断するわけですが、
実はaddEventListenerを設定した直後にDOMContentLoadedが発生した可能性があるため
この場合は2回イベントが発生する可能性があります。それを避けるために状態管理で
1回しか発動しないようにするわけです。
これらの動きはDOM読み込みとJavaScriptの実行タイミングによるものなので
毎回発生するものではなく、まちまちで見つけづらいバグとなってしまいます。
ローカルでは問題ないのにサーバーにアップした発生する。
でも2回目以降はキャッシュが効いて速いので発生しないとかですね。
このように完璧に対応するのは複雑なのです。DOMの非同期読み込みをやめれば
解決するのですがパフォーマンスアップのためにブラウザに搭載された機能を
使うなというのは、ライブラリとしてありえませんね。
他のイベントでは必要ないのにloadに関してこれらが必要になるのは
DOM構築が完了したあとに何度も発生するイベントと、そもそもDOM構築完了を監視する
DOMContentLoadでは性質が異なるからなのです。
そして実際のユースケースを考えたら「ロード済みかロード完了時にイベント発生」して
欲しいため、APIもそのようになっているのが望ましいわけです。
開発者が上で書いたようなな複雑な処理を書くことなく、単純なAPIで判断できるため
それが原因で起きるマイナーなバグから逃れることができます。
document.readyStateを使ってチェックするわけです。
ですが単純には行かず、document.readyStateを使ってチェックしてまだloading中であれば、
addEventListenerでDOMContentLoadedを監視すると書いてしまうと、チェックした段階では
loadingだったが、addEventListenerするまでに間にDOMContentLoadedが発生してしまって
イベントが捉えられない可能性があります。
なので逆に実装し、addEventListenerでDOMContentLoadedを捉えるようにしてから、
document.readyStateを監視して、すでにreadyStatusがinteractiveにだったら
ずっと前にDOMContentLoadedが発生していたと判断するわけですが、
実はaddEventListenerを設定した直後にDOMContentLoadedが発生した可能性があるため
この場合は2回イベントが発生する可能性があります。それを避けるために状態管理で
1回しか発動しないようにするわけです。
これらの動きはDOM読み込みとJavaScriptの実行タイミングによるものなので
毎回発生するものではなく、まちまちで見つけづらいバグとなってしまいます。
ローカルでは問題ないのにサーバーにアップした発生する。
でも2回目以降はキャッシュが効いて速いので発生しないとかですね。
このように完璧に対応するのは複雑なのです。DOMの非同期読み込みをやめれば
解決するのですがパフォーマンスアップのためにブラウザに搭載された機能を
使うなというのは、ライブラリとしてありえませんね。
他のイベントでは必要ないのにloadに関してこれらが必要になるのは
DOM構築が完了したあとに何度も発生するイベントと、そもそもDOM構築完了を監視する
DOMContentLoadでは性質が異なるからなのです。
そして実際のユースケースを考えたら「ロード済みかロード完了時にイベント発生」して
欲しいため、APIもそのようになっているのが望ましいわけです。
開発者が上で書いたようなな複雑な処理を書くことなく、単純なAPIで判断できるため
それが原因で起きるマイナーなバグから逃れることができます。
2018/09/30(日) 04:38:35.01ID:???
>パフォーマンスアップのために使われる非同期で実行されるJavaScriptの存在です。
>同期的に実行されるJavaScriptはDOM構築完了前に実行されますが、非同期で実行される場合
>DOM構築完了後に実行されます。つまりDOMContentLoadedが発生した後に
>DOMContentLoadedを監視することになるわけです。つまりイベントはすでに発生しているので
>捉えることはできません。
これどゆこと
ブラウザにおけるjavascriptの実行ってのは
今も昔も非同期な関数(呼び出し)があるだけで、原則は全部同期実行なんじゃないのけ
setTimeoutやXHRのcallbackの中でwindow.addEventListener('load', ... )なんてしないし
>同期的に実行されるJavaScriptはDOM構築完了前に実行されますが、非同期で実行される場合
>DOM構築完了後に実行されます。つまりDOMContentLoadedが発生した後に
>DOMContentLoadedを監視することになるわけです。つまりイベントはすでに発生しているので
>捉えることはできません。
これどゆこと
ブラウザにおけるjavascriptの実行ってのは
今も昔も非同期な関数(呼び出し)があるだけで、原則は全部同期実行なんじゃないのけ
setTimeoutやXHRのcallbackの中でwindow.addEventListener('load', ... )なんてしないし
2018/09/30(日) 04:49:30.00ID:???
「なんでonloadではなくDOMContentLoadedなのか」は?
つか化石IE対応のための負の遺産的挙動じゃないん
つか化石IE対応のための負の遺産的挙動じゃないん
2018/09/30(日) 07:49:32.26ID:???
>>344
scriptタグのasync属性のことだよ。
HTMLの読み込みとJavaScriptの実行が非同期で行われる。
つまりaddEventListenerでDOMContentLoadedを監視する前に
HTMLの読み込みが完了してしまうことがある
参考 https://iwb.jp/domcontentloaded-javascript-async-forbidden/
scriptタグのasync属性のことだよ。
HTMLの読み込みとJavaScriptの実行が非同期で行われる。
つまりaddEventListenerでDOMContentLoadedを監視する前に
HTMLの読み込みが完了してしまうことがある
参考 https://iwb.jp/domcontentloaded-javascript-async-forbidden/
2018/09/30(日) 07:53:25.95ID:???
>>345
IEは9の時代からDOMContentLoadedに対応してる。
対応してないブラウザのためというのなら、別にIEだけじゃなくて
その他のブラウザも非標準のDOMContentLoadedには対応していなかった
DOMContentLoadedが標準化されたのはHTML5になってからだ。
IEは9の時代からDOMContentLoadedに対応してる。
対応してないブラウザのためというのなら、別にIEだけじゃなくて
その他のブラウザも非標準のDOMContentLoadedには対応していなかった
DOMContentLoadedが標準化されたのはHTML5になってからだ。
2018/09/30(日) 07:57:00.94ID:???
非常に興味深い話だが話が長い
2018/09/30(日) 08:01:26.63ID:???
それはわざと。レスする気なくするでしょ?それが狙い
不正にjQueryを貶めようとする奴らに反論する気をなさせる
不正にjQueryを貶めようとする奴らに反論する気をなさせる
2018/09/30(日) 08:49:36.93ID:???
asyncは「DOM構築完了後に実行」される、ではなく
「DOM構築完了後に終了する場合がある」というべきでは
つかasyncしてもwindow.onload使えばいい話じゃないのか
「DOM構築完了後に終了する場合がある」というべきでは
つかasyncしてもwindow.onload使えばいい話じゃないのか
2018/09/30(日) 08:54:02.57ID:???
この件は良く知らんのだけど
・>>337いわく1.9.1の時点からそういう挙動
・scriptのasyncはHTML5から
・jq 1.9.1リリース 2013年02月04日
・HTML5勧告 2014年10月28日
順番おかしくね
・>>337いわく1.9.1の時点からそういう挙動
・scriptのasyncはHTML5から
・jq 1.9.1リリース 2013年02月04日
・HTML5勧告 2014年10月28日
順番おかしくね
2018/09/30(日) 09:04:11.75ID:???
>>351
jQのpromise的動作とjsタグのasync的動作はまったく別物
jQのpromise的動作とjsタグのasync的動作はまったく別物
2018/09/30(日) 09:05:03.28ID:???
間違ったscriptタグね、まぁ何でもいいや
2018/09/30(日) 09:07:27.62ID:???
2018/09/30(日) 09:18:08.16ID:???
同期、非同期ぐらい勉強しろよ
2018/09/30(日) 09:18:49.85ID:???
2018/09/30(日) 09:30:03.28ID:???
>>352
何を持って別物と言ってるのかは知らないが、
PromiseオブジェクトにはPromise.resolve()とPromise.reject()という
メソッドがあって、それぞれ解決済み、リジェクト済みのオブジェクトを返す。
このオブジェクトにあとからthenメソッドでコールバック関数を
くっつけてもちゃんとコールバックが呼ばれるんだよ。
何を持って別物と言ってるのかは知らないが、
PromiseオブジェクトにはPromise.resolve()とPromise.reject()という
メソッドがあって、それぞれ解決済み、リジェクト済みのオブジェクトを返す。
このオブジェクトにあとからthenメソッドでコールバック関数を
くっつけてもちゃんとコールバックが呼ばれるんだよ。
2018/09/30(日) 09:32:38.78ID:???
> jQのpromise的動作とjsタグのasync的動作はまったく別物
jsタグってなに?HTMLタグっていいたいの?
HTMLタグのasyncはJavaScriptの実行を遅らせることで
見た目上のパフォーマンスを上げる技術で
その弊害として、DOMContentLoadedが先に呼ばれてしまうから
JavaScriptの発動が起きないってものなんだけど
jQueryはそのことも考慮されてるから、普通に書くだけで
非同期でJavaScriptが読み込まれても大丈夫って話をしてるんだよ
Promise的動作っていうのは、コールバックを後から追加しても
発動するって話。あんた全く別物の話をしてるよ
jsタグってなに?HTMLタグっていいたいの?
HTMLタグのasyncはJavaScriptの実行を遅らせることで
見た目上のパフォーマンスを上げる技術で
その弊害として、DOMContentLoadedが先に呼ばれてしまうから
JavaScriptの発動が起きないってものなんだけど
jQueryはそのことも考慮されてるから、普通に書くだけで
非同期でJavaScriptが読み込まれても大丈夫って話をしてるんだよ
Promise的動作っていうのは、コールバックを後から追加しても
発動するって話。あんた全く別物の話をしてるよ
2018/09/30(日) 09:39:09.00ID:???
>>351
http://tokkono.cute.coocan.jp/blog/slow/index.php/xhtmlcss/script-defer-async-attribute-of-major-browsers/
async対応はChrome8(2010年12月)、Firefox 3.6(2010年1月)から
http://tokkono.cute.coocan.jp/blog/slow/index.php/xhtmlcss/script-defer-async-attribute-of-major-browsers/
async対応はChrome8(2010年12月)、Firefox 3.6(2010年1月)から
2018/09/30(日) 09:41:31.01ID:???
2018/09/30(日) 09:42:15.90ID:???
>asyncはJavaScriptの実行を遅らせることで
遅らせてるのか?
htmlの解析処理と当該jsファイルのダウンロード・実行処理とを
切り離して並行処理させることで、htmlのパース・文章や画像の配置等が妨げられないようにしているだけでは?
DOMContentLoadedより後に処理が開始されるのではなく
DOMContentLoadedの前に終わるとは限らないというだけの話では?
遅らせてるのか?
htmlの解析処理と当該jsファイルのダウンロード・実行処理とを
切り離して並行処理させることで、htmlのパース・文章や画像の配置等が妨げられないようにしているだけでは?
DOMContentLoadedより後に処理が開始されるのではなく
DOMContentLoadedの前に終わるとは限らないというだけの話では?
2018/09/30(日) 09:46:11.48ID:???
> DOMContentLoadedより後に処理が開始されるのではなく
> DOMContentLoadedの前に終わるとは限らないというだけの話では?
今はそういう細かい話はどうでも良くて、
需要なのはscriptタグのasyncを使われてると、DOMContentLoadedが
先に発生してしまうことがあるってことですよ
他にもRequireJSのような非同期でJavaScriptモジュールを読み込む仕組みを
使ったときにも発生しましたね。
> DOMContentLoadedの前に終わるとは限らないというだけの話では?
今はそういう細かい話はどうでも良くて、
需要なのはscriptタグのasyncを使われてると、DOMContentLoadedが
先に発生してしまうことがあるってことですよ
他にもRequireJSのような非同期でJavaScriptモジュールを読み込む仕組みを
使ったときにも発生しましたね。
2018/09/30(日) 09:49:05.41ID:???
たとえ細かい話でも虚偽が含まれてる人の話は信用できないからなあ
2018/09/30(日) 09:50:48.24ID:???
はは、信用出来ないっていうだけで、間違ってるとは言えない
あわれよのうw
あわれよのうw
2018/09/30(日) 09:57:43.01ID:???
まあ間違ってるわけじゃないからね。信用出来ないってだけ
366352
2018/09/30(日) 09:58:20.98ID:???2018/09/30(日) 10:03:04.24ID:???
window.addEventListener('load', ... )ではどうしてもダメなケースを聞きたい
>>330のような無能サンプルコードは除外するものとする
>>330のような無能サンプルコードは除外するものとする
2018/09/30(日) 10:06:48.99ID:???
(たぶんダメなケースなんて)ないです
2018/09/30(日) 10:10:23.62ID:???
2018/09/30(日) 10:11:51.44ID:???
2018/09/30(日) 10:12:21.46ID:???
画像を減らそう!
2018/09/30(日) 10:14:13.01ID:???
ゼロに。ゼロがいい。ゼロにしよう。
2018/09/30(日) 10:21:20.40ID:???
asyncで読ませたい
どうしても早いタイミングDOMContentLoadedで動かしたい
asyncするとDOMContentLoadedに間に合わないリスクが怖い・・・
jQueryなら専用のコード書かなくてもすぐに実現!! ←今ココ
ざっくり書くとこんな感じかね?
DOM APIでもできないわけではないし
jQueryならといっても最初からそれを狙った実装ではないようだが
現実として便利に転用できますよ、という具合
どうしても早いタイミングDOMContentLoadedで動かしたい
asyncするとDOMContentLoadedに間に合わないリスクが怖い・・・
jQueryなら専用のコード書かなくてもすぐに実現!! ←今ココ
ざっくり書くとこんな感じかね?
DOM APIでもできないわけではないし
jQueryならといっても最初からそれを狙った実装ではないようだが
現実として便利に転用できますよ、という具合
2018/09/30(日) 10:30:51.06ID:???
375Name_Not_Found
2018/10/02(火) 19:34:20.80ID:4cwxn02l >>374
たまにはaddEventListenerのことも思い出してあげてください
たまにはaddEventListenerのことも思い出してあげてください
376Name_Not_Found
2018/10/02(火) 20:38:18.46ID:x0gKZze6 【アフィ】元宇宙人のスピリチュアルブログ【詐欺】
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12193781232
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12193781232
2018/10/05(金) 07:10:11.63ID:???
そんなことよりお前らremoveEventListenerとか使ったことある?
使う機会がまったくないよなアレ
使う機会がまったくないよなアレ
2018/10/05(金) 08:16:06.35ID:???
>>377
そもそも今この瞬間までそいつの存在すら知らなかったぞ
そもそも今この瞬間までそいつの存在すら知らなかったぞ
2018/10/05(金) 08:21:08.17ID:???
>>377
使ったことはないが
disableにできない類のもののイベントリスナを切りたいとか
起動する関数を切り替えたいとか
使える機会はいろいろ思いつくぞ
呼び出される関数側でチェックして即returnとかの別手段でだいたい十分だけど
使ったことはないが
disableにできない類のもののイベントリスナを切りたいとか
起動する関数を切り替えたいとか
使える機会はいろいろ思いつくぞ
呼び出される関数側でチェックして即returnとかの別手段でだいたい十分だけど
2018/10/05(金) 08:54:47.34ID:???
>>379
> 呼び出される関数側でチェックして即returnとかの別手段でだいたい十分だけど
そういうのはクラス名で制御すべきだよ。
例えばこんな感じにしてると、spanのクラスが
それぞれmode1 or mode2 の場合のみ、該当のものだけ発動してくれる
$('span.mode1').click(function() { alert('click1'); })
$('span.mode2').click(function() { alert('click2'); })
> 呼び出される関数側でチェックして即returnとかの別手段でだいたい十分だけど
そういうのはクラス名で制御すべきだよ。
例えばこんな感じにしてると、spanのクラスが
それぞれmode1 or mode2 の場合のみ、該当のものだけ発動してくれる
$('span.mode1').click(function() { alert('click1'); })
$('span.mode2').click(function() { alert('click2'); })
2018/10/05(金) 09:07:31.77ID:???
>>377
unload,remove時の後始末
unload,remove時の後始末
2018/10/05(金) 12:41:52.32ID:???
2018/10/05(金) 12:48:12.48ID:???
addしたイベントを剥がす機会がないということでは?
2018/10/05(金) 13:05:13.90ID:???
要素が増減するならばデリゲート使って親要素でイベントを捉えれば良いし
その方が効率なわけで、わざわざイベントハンドラを外すことはないね
その方が効率なわけで、わざわざイベントハンドラを外すことはないね
2018/10/05(金) 13:07:47.65ID:???
2018/10/05(金) 13:33:44.87ID:???
>>385
増減しないならつけっぱなしでいいやん
増減しないならつけっぱなしでいいやん
2018/10/05(金) 14:49:21.41ID:???
2018/10/05(金) 15:08:34.23ID:???
だからその外さなきゃならない場合ってのが無いんだっていう話をしてるんだが
経験があるというのなら、その経験を語れよ
経験があるというのなら、その経験を語れよ
2018/10/05(金) 15:14:14.60ID:???
webページ作るのに外さないといけないユースケースは確かにめったに無さそうだ。
実はコンソールで色々いじくって実験する用なんじゃないのか。console.logみたいに
実はコンソールで色々いじくって実験する用なんじゃないのか。console.logみたいに
2018/10/05(金) 15:38:07.82ID:???
使った経験は無いが、想像するに一つのボタンに複数の機能を持たせるときには使えそう
2018/10/05(金) 15:45:12.06ID:???
2018/10/05(金) 15:49:59.55ID:???
>>391
ますますremoveEventListenerの使い道ないじゃないか…(憤慨)
ますますremoveEventListenerの使い道ないじゃないか…(憤慨)
2018/10/05(金) 15:50:44.44ID:???
2018/10/05(金) 15:57:29.66ID:???
一個のサイト作る場合ではなく
複数のサイトで汎用的に使うコンポーネントなんかを作るケースだと
CSSまで自由に出来なくてJSでやらにゃならんこともあって
そんな時には必要になるなあ
みんなも自分のサイトに組み込んでるフレームワークやライブラリのコードをのぞいてみると
案外使われてるのに遭遇すると思うよ
複数のサイトで汎用的に使うコンポーネントなんかを作るケースだと
CSSまで自由に出来なくてJSでやらにゃならんこともあって
そんな時には必要になるなあ
みんなも自分のサイトに組み込んでるフレームワークやライブラリのコードをのぞいてみると
案外使われてるのに遭遇すると思うよ
2018/10/05(金) 16:46:37.54ID:???
いちいち重複イベントチェックなんて面倒だ
まとめてごっそり総入れ替えだ
まとめてごっそり総入れ替えだ
2018/10/05(金) 17:00:40.46ID:???
リフレクションAPIやプロキシーAPIと同じでフレームワークとか作る人用か。使うだけの人には洋ナシ体型
2018/10/05(金) 17:06:44.57ID:???
経験の差が出ましたなw
2018/10/05(金) 17:25:12.57ID:???
まあ無いよね。
399Name_Not_Found
2018/10/05(金) 17:28:11.92ID:1Er0ekUU くだらん喧嘩は他所でやれw
ツイッターとか
ツイッターとか
401Name_Not_Found
2018/10/07(日) 14:19:14.23ID:3lG9iLI9 phpよりjavascriptを勉強すべき、という理由を教えてください 私は頭が悪いので分かりやすく頼みます
2018/10/07(日) 14:22:22.59ID:???
PHPを作ってるところは一つ
JavaScriptはMS、Google、Apple、Mozillaと大企業が力を注いている
JavaScriptはMS、Google、Apple、Mozillaと大企業が力を注いている
2018/10/07(日) 15:10:53.21ID:???
javascriptも、もはやc++やその他言語を呼び出すだけのものになりつつある
2018/10/07(日) 15:20:29.77ID:???
いつから呼び出せるようになったの?
405Name_Not_Found
2018/10/07(日) 16:00:23.89ID:3lG9iLI92018/10/07(日) 16:24:00.99ID:???
2018/10/07(日) 16:28:28.50ID:???
C++はもはやJavaScriptから呼び出すライブラリに成り下がったんだな
2018/10/07(日) 16:29:19.58ID:???
呼び出されることすらできなかった状態から成り上がったんやぞ。
2018/10/07(日) 16:30:34.31ID:???
(javascriptの実行速度が遅すぎて使えないからこういう方法が生まれたんだけど…)ボソッ
2018/10/07(日) 16:34:26.07ID:???
でファミコンエミュレータwasmにしてみたらjsより遅かったんでしょワロスwwwww
2018/10/07(日) 17:40:06.08ID:???
>>410
ブラウザ /JS版 /Wasm版
Chrome 63/4.36ms/5.68ms
Firefox 58/5.76ms/3.98ms
Safari 11/9.98ms/4.21ms
これ?要はchromeの実装がクソ雑魚だったってだけでしょ
firefoxとsafariはjs版を大きく超えてる
ブラウザ /JS版 /Wasm版
Chrome 63/4.36ms/5.68ms
Firefox 58/5.76ms/3.98ms
Safari 11/9.98ms/4.21ms
これ?要はchromeの実装がクソ雑魚だったってだけでしょ
firefoxとsafariはjs版を大きく超えてる
2018/10/07(日) 17:53:01.73ID:???
>>405
1週間〜10年といったところ
1週間〜10年といったところ
2018/10/07(日) 18:02:40.77ID:???
2018/10/07(日) 18:17:10.16ID:???
いやだって巨大なプログラム用だから
2018/10/07(日) 18:28:51.84ID:???
なんでchromeで遅くなってるの?
chrome、前はjsの最適化で最速とか言ってたけど
sandboxとかセキュリティ絡み?
chrome、前はjsの最適化で最速とか言ってたけど
sandboxとかセキュリティ絡み?
2018/10/07(日) 18:33:16.37ID:???
>>411
ご覧くださいwww「javascriptの実行速度が 遅 す ぎ て 使 え な い」とまでイキッておいてコレwwwww
ご覧くださいwww「javascriptの実行速度が 遅 す ぎ て 使 え な い」とまでイキッておいてコレwwwww
2018/10/07(日) 18:36:45.12ID:???
cとphpやpyの差みたいに10倍かそれ以上速くなるもんだとばっかり思ってた
カスだな
カスだな
2018/10/07(日) 18:41:24.71ID:???
コンパイルの手間かけてまでこの程度かよw
時間は有効に使えよ?みんなお前に付き合うほどヒマじゃねーんだw
時間は有効に使えよ?みんなお前に付き合うほどヒマじゃねーんだw
2018/10/07(日) 18:43:11.76ID:???
これでセキュリティに穴が見つかろうものならまるで利用価値なしのゴミ屑扱いになってしまう
420Name_Not_Found
2018/10/07(日) 20:08:06.87ID:3lG9iLI9 >>412
意地悪
意地悪
421Name_Not_Found
2018/10/07(日) 21:47:17.66ID:4m+yZWnq エロゲー廃人速報改
http://erogehaijin.com/
・生活保護の不正受給カミングアウトして自慢
・DMMからステマ脅迫工作で雇われる
・アフィで稼ぎまくり
・DLsiteはじめ各流通やメーカーへの脅迫
・ステマ工作で金貰ってるのは言うに及ばず
・風俗通い・焼肉ざんまい
エロゲー廃人速報改
http://erogehaijin.com/
∧_∧
ピュー ( ^^ ) <これからもエロゲー廃人速報改(ナマポ不正受給)を応援して下さいね(^^)v
=〔~∪ ̄ ̄〕
= ◎――◎ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
http://erogehaijin.com/
・生活保護の不正受給カミングアウトして自慢
・DMMからステマ脅迫工作で雇われる
・アフィで稼ぎまくり
・DLsiteはじめ各流通やメーカーへの脅迫
・ステマ工作で金貰ってるのは言うに及ばず
・風俗通い・焼肉ざんまい
エロゲー廃人速報改
http://erogehaijin.com/
∧_∧
ピュー ( ^^ ) <これからもエロゲー廃人速報改(ナマポ不正受給)を応援して下さいね(^^)v
=〔~∪ ̄ ̄〕
= ◎――◎ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2018/10/07(日) 22:46:34.14ID:???
2018/10/08(月) 00:10:27.89ID:???
wasm使うならもはやjs発である必要性ないと思うんだが
js使いたいだけっていう
違うコンパイル言語開発しろって
js使いたいだけっていう
違うコンパイル言語開発しろって
2018/10/08(月) 05:29:18.70ID:???
>>402-405
プログラマーが、クソ言語のPHP を使う理由がない
Ruby on Rails などのフレームワークを使うけど、
画面は、Vue.js など、JavaScript(JS) になるので必須
初心者は、Ruby, JS を数年やればよい。
それ以外の言語は難しいから、数年後に始める
プログラマーが、クソ言語のPHP を使う理由がない
Ruby on Rails などのフレームワークを使うけど、
画面は、Vue.js など、JavaScript(JS) になるので必須
初心者は、Ruby, JS を数年やればよい。
それ以外の言語は難しいから、数年後に始める
2018/10/08(月) 06:10:18.89ID:???
wasm, wasmってまあ良く聞くけど
・wasmの性能って「元の言語/コードの効率性」と「wasm形式にしてくれるコンパイラの(最適化)性能」と
「ブラウザの方のwasm動作環境の性能」の全部に左右されんだよね?
・「wasmはロード時間短縮にはなるけど動作速度は変わらない」って主張が今でもいくらか見られるけど
jsで動かしてたものをc-wasmに変えれば動作速度は劇的に改善される可能性もまあ普通にあるよね?
・jsと違って低次元なメモリ管理できちゃうけど、
wasmが個々のwasmに割り当てられたメモリ領域以外を読み書きできちゃって
セキュリティ的に大問題になる、ってことは生じ得ないの?
activexで脆弱性突いてウィルス散布、みたいな現象はノーサンキューなんだけど
・wasmの性能って「元の言語/コードの効率性」と「wasm形式にしてくれるコンパイラの(最適化)性能」と
「ブラウザの方のwasm動作環境の性能」の全部に左右されんだよね?
・「wasmはロード時間短縮にはなるけど動作速度は変わらない」って主張が今でもいくらか見られるけど
jsで動かしてたものをc-wasmに変えれば動作速度は劇的に改善される可能性もまあ普通にあるよね?
・jsと違って低次元なメモリ管理できちゃうけど、
wasmが個々のwasmに割り当てられたメモリ領域以外を読み書きできちゃって
セキュリティ的に大問題になる、ってことは生じ得ないの?
activexで脆弱性突いてウィルス散布、みたいな現象はノーサンキューなんだけど
2018/10/08(月) 07:14:06.94ID:???
そもそもwasmっていうのは既存のサイト速くするものではないからな
既存のサイトは、サーバー側でバッチ処理をさせるという設計
クライアントでやることが少ないから、いくらwasmでクライアントが
速くなったとしても効果は殆ど無い。
ぶっちゃけるとwsamの主な用途はゲームだよ
ゲームは反応速度が重要なのでバッチ処理でさせると成り立たない
あとはせいぜいグラフィックソフトぐらいだろう
既存のサイトは、サーバー側でバッチ処理をさせるという設計
クライアントでやることが少ないから、いくらwasmでクライアントが
速くなったとしても効果は殆ど無い。
ぶっちゃけるとwsamの主な用途はゲームだよ
ゲームは反応速度が重要なのでバッチ処理でさせると成り立たない
あとはせいぜいグラフィックソフトぐらいだろう
2018/10/08(月) 07:31:39.68ID:???
ユーザに気付かれないようにクライアントに高処理効率でマイニングさせるとかな
2018/10/08(月) 08:39:34.68ID:???
NoScript使えば?
2018/10/08(月) 09:41:12.45ID:???
>>425
WASMはJSエンジンのバックエンドを流用できるよう設計されていて
現状ではGCもなくほぼasm.jsと同じだからasm.jsのバックエンドが使われてるよ
正確には最近はasm.jsの方がWASMにコンパイルされてWASMのバックエンドで動くんだけど
だから実行速度に関してはJSの限界というかasm.jsと同等になる
ただこれからSIMDが入ったりして、最適化も進めば
原理上ターゲットを絞りきれないネイティブコードより早くなることもあり得る
ただJSで動かしていたものをWASMにすれば早くなるかと言うとそういうものではない
asm.jsでも同じだが、JS-WASM間の関数のやり取りにはオーバーヘッドがあって、
インライン化などの相互最適化も効かないので
基本的に沢山呼び出される小さな関数をWASMにすると性能は悪化する
だから大きな処理を丸っとWASMにするという使い方が一番良い
それと別に低次元なメモリ管理はできない
WASMにとってのメモリとはただのArrayBufferだから
勿論サイドチャネル攻撃はいくらかできるがそれはもうWASMに限った話ではないので仕方がない
WASMはJSエンジンのバックエンドを流用できるよう設計されていて
現状ではGCもなくほぼasm.jsと同じだからasm.jsのバックエンドが使われてるよ
正確には最近はasm.jsの方がWASMにコンパイルされてWASMのバックエンドで動くんだけど
だから実行速度に関してはJSの限界というかasm.jsと同等になる
ただこれからSIMDが入ったりして、最適化も進めば
原理上ターゲットを絞りきれないネイティブコードより早くなることもあり得る
ただJSで動かしていたものをWASMにすれば早くなるかと言うとそういうものではない
asm.jsでも同じだが、JS-WASM間の関数のやり取りにはオーバーヘッドがあって、
インライン化などの相互最適化も効かないので
基本的に沢山呼び出される小さな関数をWASMにすると性能は悪化する
だから大きな処理を丸っとWASMにするという使い方が一番良い
それと別に低次元なメモリ管理はできない
WASMにとってのメモリとはただのArrayBufferだから
勿論サイドチャネル攻撃はいくらかできるがそれはもうWASMに限った話ではないので仕方がない
2018/10/08(月) 09:45:07.18ID:???
ネイティブより速くとか無理ゲーだろ
C/C++で書いたアプリより速く計算しますってことだぞ
C/C++で書いたアプリより速く計算しますってことだぞ
2018/10/08(月) 13:07:34.94ID:???
jsが超早くなった!! cよりも早く!!
→ c側のコードが糞過ぎただけでした
chromeのjs処理が**より数段早くなった!!
→ chromeが決め打ち特化でチューンした部分だけでの話でした
この手の誤った性能比較話を連想した
→ c側のコードが糞過ぎただけでした
chromeのjs処理が**より数段早くなった!!
→ chromeが決め打ち特化でチューンした部分だけでの話でした
この手の誤った性能比較話を連想した
2018/10/08(月) 16:00:34.49ID:???
ブラウザが仮想マシンの代わりになるのはいいけど
そのブラウザが乱立してる状況じゃ安定性は得られんよね
結局Windows OSみたいな独裁体制にしないと
そのブラウザが乱立してる状況じゃ安定性は得られんよね
結局Windows OSみたいな独裁体制にしないと
2018/10/08(月) 17:47:25.39ID:???
>>430
全然無理じゃない
そこらのネイティブコードっていうのは多くの環境に対応するため最新のCPU機能を使いきれずコンパイルされてるから
ちょっとしっかりしたのだとスイッチ使ったりインストール時にコンパイルするけど
それでも実行の直前にコンパイルするのに原理的に勝りはしない
WASMならそれこそ10年前に書いたコードでも最新の機能を使って最新のコンパイラでコンパイルされる
まあ現実未だ可能性の話でしか無いが、中間コンパイルというものにはそういうメリットが昔からある
コンパイルするということは書いたコンテキストが失われるということだから
それに将来的にJITも働くようになればもっと最適化の可能性が広がる
無理ゲーだが原理的な可能性はあるということ
特に個人的にはメニーコアの時代がやってきてるのにOSが支援が弱い
パラレリズムとそのバランサをブラウザにやってもらいたい
>>431
決め打ちチューンは正当な最適化手段
可能性の高い方に賭けるというのはCPUでさえもやってること
全然無理じゃない
そこらのネイティブコードっていうのは多くの環境に対応するため最新のCPU機能を使いきれずコンパイルされてるから
ちょっとしっかりしたのだとスイッチ使ったりインストール時にコンパイルするけど
それでも実行の直前にコンパイルするのに原理的に勝りはしない
WASMならそれこそ10年前に書いたコードでも最新の機能を使って最新のコンパイラでコンパイルされる
まあ現実未だ可能性の話でしか無いが、中間コンパイルというものにはそういうメリットが昔からある
コンパイルするということは書いたコンテキストが失われるということだから
それに将来的にJITも働くようになればもっと最適化の可能性が広がる
無理ゲーだが原理的な可能性はあるということ
特に個人的にはメニーコアの時代がやってきてるのにOSが支援が弱い
パラレリズムとそのバランサをブラウザにやってもらいたい
>>431
決め打ちチューンは正当な最適化手段
可能性の高い方に賭けるというのはCPUでさえもやってること
2018/10/08(月) 18:16:31.49ID:???
前身のasm.jsなんて大分前からあるのに
なんで変な誤解されるんだろ
なんで変な誤解されるんだろ
2018/10/08(月) 21:09:11.67ID:???
それで、javaはcより速くなりましたか?
2018/10/08(月) 21:47:03.75ID:???
原理的に無理
2018/10/08(月) 23:09:33.50ID:???
生理的に無理
2018/10/08(月) 23:14:58.49ID:???
物理的に無理
2018/10/08(月) 23:15:03.19ID:???
いつから、Javaの話になった?
2018/10/08(月) 23:16:01.13ID:???
スレタイから
2018/10/09(火) 00:35:11.01ID:???
全C使いと全Java使いの中央値の力量を持った者同士にアプリを作らせたら
Java使いの方がパフォーマンスも安定性も使い勝手も良いもの作ることは間違いない
でもAndroid開発でもそうだけど今どきCやC++を使うということは
「あえて」使ってるということだから、プログラマのレベルも高いし
それで比較的劣るものができるはずがない
Java使いの方がパフォーマンスも安定性も使い勝手も良いもの作ることは間違いない
でもAndroid開発でもそうだけど今どきCやC++を使うということは
「あえて」使ってるということだから、プログラマのレベルも高いし
それで比較的劣るものができるはずがない
2018/10/09(火) 00:37:47.92ID:???
証明よろ
2018/10/09(火) 00:40:29.39ID:???
>>442
証明したければ自分が相当数の被験者集めて実験したら?
証明したければ自分が相当数の被験者集めて実験したら?
2018/10/09(火) 00:43:27.78ID:???
2018/10/09(火) 00:45:50.79ID:???
ガイジだからさ
2018/10/09(火) 00:49:29.54ID:???
俺の意見は間違いない
俺の意見をお前が証明しろ
俺の意見をお前が証明しろ
2018/10/09(火) 06:52:15.47ID:???
俺はあくまで(経験上)間違いがないと言っただけで
証明が欲しいなら勝手に自分でやれってことだ
証明が欲しいなら勝手に自分でやれってことだ
2018/10/09(火) 06:58:36.38ID:???
>>447は無職の荒らしであって実はJavaもCも扱ったことがない
俺の経験上間違いない
俺の経験上間違いない
2018/10/09(火) 20:11:25.06ID:???
赤の他人の正しさを「証明」する人はいないが、「確認」ならするかもしれない
2018/10/09(火) 20:38:47.66ID:???
経験上間違いがないwww
2018/10/10(水) 05:46:07.33ID:???
MathJaxを使っています
$\begin{array}{cc}
a & b \\
c & d
\end{array}$
はちゃんと機能していますが、
$\begin{array}{cc}
a & b \\
\multicolumn{2}{c}{d}
\end{array}$
が機能しません。
なぜですか?
MathJaxでは\multicolumnは実装されていないんですか?
使っているMathJaxは
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML">
</script>
です。
$\begin{array}{cc}
a & b \\
c & d
\end{array}$
はちゃんと機能していますが、
$\begin{array}{cc}
a & b \\
\multicolumn{2}{c}{d}
\end{array}$
が機能しません。
なぜですか?
MathJaxでは\multicolumnは実装されていないんですか?
使っているMathJaxは
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML">
</script>
です。
2018/10/10(水) 07:12:21.60ID:???
2018/10/10(水) 07:31:17.80ID:???
>>451
multicolumnの検索結果— MathJax 2.7 documentation -
https://docs.mathjax.org/en/latest/search.html?q=multicolumn&check_keywords=yes&area=default
multicolumnの検索結果— MathJax 2.7 documentation -
https://docs.mathjax.org/en/latest/search.html?q=multicolumn&check_keywords=yes&area=default
2018/10/10(水) 09:05:37.54ID:???
>>452
命題が真である事を確認するのが「証明」
命題が真である事を確認するのが「証明」
2018/10/11(木) 06:18:14.70ID:???
MathJaxでarray環境の入れ子って何重まで可能ですか?
2018/10/11(木) 06:29:11.26ID:???
>>455自己解決しました
2018/10/11(木) 08:25:44.31ID:???
自己解決したら解決方法まで書きましょう
それが他の人の助けになるかも知れません
それが他の人の助けになるかも知れません
2018/10/11(木) 09:13:23.34ID:???
>>457
自己解決しました
自己解決しました
2018/10/12(金) 20:13:58.33ID:???
460Name_Not_Found
2018/10/13(土) 22:19:19.58ID:sQ6ZRTcU <INPUT type="textbox" name="test">などのフォームのnameから
フォームがテキストボックスかセレクトボックスかチェックボックスかラジオボタンかを判別するにはどうすればいいんですか?
フォームがテキストボックスかセレクトボックスかチェックボックスかラジオボタンかを判別するにはどうすればいいんですか?
2018/10/13(土) 22:43:44.55ID:???
区別できないことに重要な意味がある
2018/10/13(土) 22:47:16.84ID:???
.checkedや.valueでundefinedでない値さがせば?
2018/10/13(土) 23:31:50.06ID:???
2018/10/13(土) 23:58:51.51ID:???
var elm = $('[name="test"]')[0];
console.log(elm.type==="text");
console.log(elm.type==="text");
2018/10/14(日) 10:59:35.78ID:???
>>464
なぜjQueryオブジェクト外したの
なぜjQueryオブジェクト外したの
466Name_Not_Found
2018/10/14(日) 11:08:36.15ID:moJyl5te 在宅プログラマーってエクセルできないと無理?エクセルから逃げてきたんだ
2018/10/14(日) 11:44:33.14ID:???
はい
2018/10/14(日) 11:55:46.32ID:???
はい、はい
2018/10/14(日) 12:39:45.28ID:???
>>465
単に>>463に合わせただけ。あえて一つだけ処理しようとするとこうなるという例
もちろん>>463もそうだけど、こういう書き方は良くない。
name属性がtestのものがない場合や複数ある場合に対応できないからね
一つだけ処理する場合でも、動的なページで要素がない場合でもエラーにならない
$('[name="test"]').attr('text')
またこうすれば、0個から複数全てに対応できる
$('[name="test"]').each(function() {
console.log(this.type==="text");
})
でもそうすると>>463よりも長くなってしまう。
それはどんな場合でもjQueryの方が短くかけるという俺の主張に反するから
DOM APIで実現しているレベルにまで下げることで短いということを示しただけ
ちなみにjQueryでjQueryオブジェクトを外すのは普通
そもそも上のeachの中のthisはDOM要素なんだから
単に>>463に合わせただけ。あえて一つだけ処理しようとするとこうなるという例
もちろん>>463もそうだけど、こういう書き方は良くない。
name属性がtestのものがない場合や複数ある場合に対応できないからね
一つだけ処理する場合でも、動的なページで要素がない場合でもエラーにならない
$('[name="test"]').attr('text')
またこうすれば、0個から複数全てに対応できる
$('[name="test"]').each(function() {
console.log(this.type==="text");
})
でもそうすると>>463よりも長くなってしまう。
それはどんな場合でもjQueryの方が短くかけるという俺の主張に反するから
DOM APIで実現しているレベルにまで下げることで短いということを示しただけ
ちなみにjQueryでjQueryオブジェクトを外すのは普通
そもそも上のeachの中のthisはDOM要素なんだから
2018/10/14(日) 12:46:45.63ID:???
>>465
そういうこというと、こういう面倒くさい宗教論が始まるから控えてくれ
そういうこというと、こういう面倒くさい宗教論が始まるから控えてくれ
2018/10/14(日) 12:54:45.67ID:???
jQueryの話題が出ることが許せないんだ。
僕のスレのルールは僕が決めるんだ
僕のスレのルールは僕が決めるんだ
2018/10/14(日) 13:11:31.62ID:???
(´・ω・`)やめなよ
2018/10/14(日) 13:15:33.48ID:???
jQueryは便利だけどprototype.jsとコンフリクトするのがなぁ…
2018/10/14(日) 13:16:50.36ID:???
nameだと複数あるものだしそもそも要素の特定をどうするのかって問題が有るでしょ
もしidが'test'なら
console.log(test.type==="text");
でOk
もしidが'test'なら
console.log(test.type==="text");
でOk
2018/10/14(日) 13:27:04.54ID:???
2018/10/14(日) 14:54:52.32ID:???
条件付きでOKと言いたいわけではない
今提示されてる条件の範囲では解答が出せないと言ってるんだよ
今提示されてる条件の範囲では解答が出せないと言ってるんだよ
2018/10/14(日) 14:58:22.24ID:???
条件っつってnameで引っ掛けてelem.typeを見ましょうで終わりじゃん
2018/10/14(日) 15:32:09.66ID:???
俺はそう簡単な話とは思えないけどな
質問者が求めていそうなこと、実際にあり得る状態の組み合わせはかなり合って
そもそもnameを見ることが不適切な場合もあるってことだ
質問者が求めていそうなこと、実際にあり得る状態の組み合わせはかなり合って
そもそもnameを見ることが不適切な場合もあるってことだ
2018/10/14(日) 15:38:23.16ID:???
そんなこと言い出したらjavascriptを使うのが適切じゃない場面も多々あるぞ
2018/10/14(日) 16:26:42.92ID:???
極論を言ってるのではなく極めて常識的な範囲での話のつもりはなんだが
まあ多分これ以上話しても分かり会えないだろうからここで止めにしよう
まあ多分これ以上話しても分かり会えないだろうからここで止めにしよう
2018/10/14(日) 16:33:27.33ID:???
482Name_Not_Found
2018/10/14(日) 17:02:45.96ID:IsUCjf39 GitHub、jQueryやめたってよ。
https://githubengineering.com/removing-jquery-from-github-frontend/
https://www.i-programmer.info/news/167-javascript/12017-github-removes-jquery-why.html
https://news.ycombinator.com/item?id=17612540
後でこんな手間かかるなら最初から使わないほうがいいなwwwww
https://githubengineering.com/removing-jquery-from-github-frontend/
https://www.i-programmer.info/news/167-javascript/12017-github-removes-jquery-why.html
https://news.ycombinator.com/item?id=17612540
後でこんな手間かかるなら最初から使わないほうがいいなwwwww
2018/10/14(日) 17:07:13.73ID:???
最初からjavascriptなんて使わなけりゃよかったんだよ
2018/10/14(日) 17:37:59.14ID:???
よろしいならばflashだ
2018/10/14(日) 17:49:20.87ID:???
2018/10/14(日) 18:19:16.47ID:???
>>481
詭弁だな
もしこういう場合ならこうと答えを出すのは
答えが出せないと思ってることと矛盾しないし悪いことである訳がない
それにマシンじゃないんだからさ
人の主張に込められた思いというのはたった1つで
かならず0か1かハッキリできるものかのように話を進めるのは止めてくれない?
今回はただ君の頭が硬すぎて変な思い込みしちゃったってだけの事件
それ以上でも以下でもない
詭弁だな
もしこういう場合ならこうと答えを出すのは
答えが出せないと思ってることと矛盾しないし悪いことである訳がない
それにマシンじゃないんだからさ
人の主張に込められた思いというのはたった1つで
かならず0か1かハッキリできるものかのように話を進めるのは止めてくれない?
今回はただ君の頭が硬すぎて変な思い込みしちゃったってだけの事件
それ以上でも以下でもない
2018/10/14(日) 18:24:22.91ID:???
GitHubほど大きいところがjQueryなんて大味なライブラリ使っちゃ駄目だろ
もっと軽量なものだけにして後は自分たちで最適化したものを開発するだけのメリットが有る
もっと軽量なものだけにして後は自分たちで最適化したものを開発するだけのメリットが有る
2018/10/14(日) 22:28:23.85ID:???
2018/10/14(日) 22:28:57.49ID:???
2018/10/14(日) 22:40:38.35ID:???
繊細な味のライブラリを教えてください
2018/10/14(日) 22:53:44.72ID:???
あ、ごめんなさいそれ来月からなんですよ
2018/10/14(日) 22:54:38.99ID:???
GitHubほどの大きい所がjQueryを使ってるんだから
信頼性は高いだろう
どこの馬の骨ともわからんやつが、
大手が使っちゃダメなんだって叫んでも信用できない
信頼性は高いだろう
どこの馬の骨ともわからんやつが、
大手が使っちゃダメなんだって叫んでも信用できない
2018/10/14(日) 22:59:24.26ID:???
馬の骨で出汁をとると大味になるからな
2018/10/14(日) 22:59:43.87ID:???
今は使ってないんだが
2018/10/14(日) 23:09:45.57ID:???
当店は化学調味料の使用を中止しました
2018/10/14(日) 23:10:13.33ID:???
>>494
jQueryって文字があるし使ってるんじゃないですかねぇ
https://github.com/
https://assets-cdn.github.com/assets/frameworks-a2f69f341e3df821fdcb56e335ef9920.js
jQueryって文字があるし使ってるんじゃないですかねぇ
https://github.com/
https://assets-cdn.github.com/assets/frameworks-a2f69f341e3df821fdcb56e335ef9920.js
2018/10/14(日) 23:18:04.65ID:???
jQueryって文字があると使ってる事になるってマ?
498Name_Not_Found
2018/10/14(日) 23:32:03.81ID:dlr2OXqt2018/10/14(日) 23:32:31.17ID:???
一瞬何を言ってるのかよくわからなかったw
jQuery を使用して Excel のアドインを作成する
https://docs.microsoft.com/ja-jp/office/dev/add-ins/quickstarts/excel-quickstart-jquery?tabs=visual-studio
jQuery を使用して Excel のアドインを作成する
https://docs.microsoft.com/ja-jp/office/dev/add-ins/quickstarts/excel-quickstart-jquery?tabs=visual-studio
2018/10/14(日) 23:34:12.60ID:???
Vueってやつが都会じゃナウでヤングなハイカラらしいってばっちゃが言ってた
2018/10/14(日) 23:36:38.27ID:???
そういや、jQueryはこれからも使われ続けるって言っていたやつが
↓のスレたてたっけ
2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net
https://medaka.5ch.net/test/read.cgi/prog/1485008061/
今どうなったかな? あと2ヶ月すればスレ立てて2年立つけど
https://w3techs.com/technologies/history_overview/javascript_library/all
jQuery
72.9%
72.9%
73.0%
73.1%
73.2%
73.2%
73.4%
73.3%
73.2%
73.3%
73.3%
73.4%
73.3%
73.3%
やっと73.2%〜73.4%で安定したみたい。
↓のスレたてたっけ
2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net
https://medaka.5ch.net/test/read.cgi/prog/1485008061/
今どうなったかな? あと2ヶ月すればスレ立てて2年立つけど
https://w3techs.com/technologies/history_overview/javascript_library/all
jQuery
72.9%
72.9%
73.0%
73.1%
73.2%
73.2%
73.4%
73.3%
73.2%
73.3%
73.3%
73.4%
73.3%
73.3%
やっと73.2%〜73.4%で安定したみたい。
2018/10/14(日) 23:53:13.57ID:???
GitHubがjQueryの使用をやめたのは分かったがなぜjQueryがバカにされるのか分からない
2018/10/14(日) 23:54:40.02ID:???
馬鹿にしている方もわかってないんだから
誰にもわからないだろうさw
誰にもわからないだろうさw
2018/10/14(日) 23:57:37.12ID:???
2018/10/15(月) 00:08:05.37ID:???
むこうでもいるいらねの喧嘩になってんじゃん
ここと一緒だな
ここと一緒だな
2018/10/15(月) 00:10:03.84ID:???
githubなんてオタクの相手だけしてりゃいいんだからjqueryも簡単に捨てられるわな
githubはjqueryのことバカにはしてないけどな
githubはjqueryのことバカにはしてないけどな
2018/10/15(月) 00:22:31.88ID:???
jQueryディスるのにGitHubを持ち出してきた奴がバカだってことでよろしいでしょうか?
2018/10/15(月) 00:31:24.96ID:???
githubのようなシステム屋なら
技術者がたくさんいるからjQueryなくてもやれるんですよ!
社長。githubに勝てると思いますか?
うちでは無理です。
技術者がたくさんいるからjQueryなくてもやれるんですよ!
社長。githubに勝てると思いますか?
うちでは無理です。
2018/10/15(月) 01:10:02.94ID:???
社長「これからはFLASHの時代や」
2018/10/15(月) 01:33:55.01ID:???
JavaScript使ってますけどjQueryは使ってませんっていうのは
全世界で2.8%しかないのな
全世界で2.8%しかないのな
2018/10/15(月) 01:46:22.74ID:???
会社で一人でもjquery使ってたら会社丸ごとjqueryユーザ理論
2018/10/15(月) 02:06:30.76ID:???
どうやって一人がjQuery使ってるって調べるの?
調べる方法がない=そういう統計も出せるはずがない
と思うけど?
調べる方法がない=そういう統計も出せるはずがない
と思うけど?
2018/10/15(月) 03:09:32.12ID:???
2018/10/15(月) 03:30:32.15ID:???
2018/10/15(月) 03:47:10.87ID:???
一つの処理だから:eq(0)すらいらなかったわ >>513
2018/10/15(月) 03:48:06.46ID:???
2018/10/15(月) 12:51:27.51ID:???
2018/10/15(月) 12:53:11.87ID:???
>>514
jQueryオブジェクトから[0]で0番目のDOM要素が
取れるっていうのもjQueryの機能なんだわ。
jQueryではDOM要素も併用する
簡単に併用できるってことも特徴のひとつなわけ
jQueryオブジェクトから[0]で0番目のDOM要素が
取れるっていうのもjQueryの機能なんだわ。
jQueryではDOM要素も併用する
簡単に併用できるってことも特徴のひとつなわけ
2018/10/15(月) 12:54:27.86ID:???
2018/10/15(月) 12:56:09.56ID:???
var elm = document.querySelector('[name="test"]');
console.log(elm.type==="text");
var type = $('[name="test"]').attr('type');
console.log(type==="text");
まあどうしてもっていうのなら、こう書いてもいいけどさ
console.log(elm.type==="text");
var type = $('[name="test"]').attr('type');
console.log(type==="text");
まあどうしてもっていうのなら、こう書いてもいいけどさ
2018/10/15(月) 12:57:46.20ID:???
2018/10/15(月) 13:49:55.47ID:???
2018/10/15(月) 14:19:27.30ID:???
>>522
そうだよ。添字でアクセスできるようにArray Likeオブジェクトを実装している
https://techblog.kayac.com/jquery-type-array-like-object.html
なぜこんな事をしているかというとArrayの継承は今でこそ可能になってるけど
当時のブラウザではできなかったから
https://efcl.info/2016/11/23/array-subclass-by-reflect/
そうだよ。添字でアクセスできるようにArray Likeオブジェクトを実装している
https://techblog.kayac.com/jquery-type-array-like-object.html
なぜこんな事をしているかというとArrayの継承は今でこそ可能になってるけど
当時のブラウザではできなかったから
https://efcl.info/2016/11/23/array-subclass-by-reflect/
2018/10/15(月) 14:40:45.66ID:???
2018/10/15(月) 14:43:38.75ID:???
同じものの比較
単数版DOM API(要素がない場合にエラーになる版)
var elm = document.querySelector('[name="test"]');
console.log(elm.type==="text");
単数版jQuery(要素がない場合にエラーになる版)
var elm = $('[name="test"]')[0];
console.log(elm.type==="text");
単数版DOM API(要素がない場合にエラーになる版)
var elm = document.querySelector('[name="test"]');
console.log(elm.type==="text");
単数版jQuery(要素がない場合にエラーになる版)
var elm = $('[name="test"]')[0];
console.log(elm.type==="text");
2018/10/15(月) 14:46:54.12ID:???
単数版DOM API(要素がない場合にtypeがnullになる版)
var elm = document.querySelector('[name="test"]');
var type = elm ? elm.type : null;
console.log(type==="text");
単数版jQuery(要素がない場合にtypeがnullになる版)
var type = $('[name="test"]').attr('type');
console.log(type==="text");
var elm = document.querySelector('[name="test"]');
var type = elm ? elm.type : null;
console.log(type==="text");
単数版jQuery(要素がない場合にtypeがnullになる版)
var type = $('[name="test"]').attr('type');
console.log(type==="text");
2018/10/15(月) 14:52:53.64ID:???
2018/10/15(月) 14:56:35.95ID:???
流石に>>525見れば、同じものがどういうものか
理解したようだな
理解したようだな
2018/10/15(月) 15:01:56.45ID:???
少なくともおれは別物コードの比較で長さを気にしてることに違和感を感じたことしか言ってないわ
そしてまだ回答は得られていない
そしてまだ回答は得られていない
2018/10/15(月) 15:03:59.68ID:???
2018/10/15(月) 15:16:32.42ID:???
2018/10/15(月) 15:18:13.05ID:???
はぁ?理解力無いのか。同じことを実現するなら、
どんな場合でもjQueryの方が短くかけるんだよ
どんな場合でもjQueryの方が短くかけるんだよ
2018/10/15(月) 15:21:38.81ID:???
2018/10/15(月) 15:23:42.90ID:???
短くかけると言ったのは俺だってーの
お前の話なんか知らんわ
お前の話なんか知らんわ
2018/10/15(月) 15:24:59.33ID:???
短く”かけない”
な
typeとtext間違えるは、聞き間違えるは
どうしようもないなほんと
な
typeとtext間違えるは、聞き間違えるは
どうしようもないなほんと
2018/10/15(月) 15:28:50.54ID:???
>ほんと、いつもお前のやり口は卑怯
これも追加で
これも追加で
2018/10/15(月) 15:29:02.94ID:???
だから俺が短くかけると言って、
お前は何も言ってないんだろ?
何も言ってないなら、そこで終わりだろ
お前は何も言ってないんだろ?
何も言ってないなら、そこで終わりだろ
2018/10/15(月) 15:37:36.76ID:???
2018/10/15(月) 17:22:54.60ID:???
あれみて、jQueryの複数版とDOM APIの問題がある版(あえて単数版とは言わないw)
で長さ比較してると思ってるのかw
jQueryだと普通に書いたら、DOM APIのような問題あるコードは簡単に排除できるんだよ。
それじゃ比較にならないから、最初にDOM APIと問題があるコードにしたんだろ
同じもので比較するために
で長さ比較してると思ってるのかw
jQueryだと普通に書いたら、DOM APIのような問題あるコードは簡単に排除できるんだよ。
それじゃ比較にならないから、最初にDOM APIと問題があるコードにしたんだろ
同じもので比較するために
2018/10/15(月) 18:03:47.93ID:???
いや>>469のどこをどうみても
>でもそうすると
というレスの前に、
>一つだけ処理する場合でも と >またこうすれば 複数全て云々
が書かれている
それらに対して逆説として、>でもそうすると
が書かれており、その直後に>それは
と書かれていることから>>469が
単数処理である>>463のコードについて>長くなってしまう
というコードの長さについて触れているのは明確
決定的なのは、仮に、
複数版である>またこうすれば、 略 ="text"); })
の行を消去した場合、>一つだけ処理する場合でも云々
のコードは既に>>463より短いため、
>よりも長くなってしまう
の意味は通じなくなる
これらのことから、
>でもそうすると>>463よりも長くなってしまう。
とは>複数全てに対応できる云々の複数版コードの長さについて
言及していたものと思われる
>でもそうすると
というレスの前に、
>一つだけ処理する場合でも と >またこうすれば 複数全て云々
が書かれている
それらに対して逆説として、>でもそうすると
が書かれており、その直後に>それは
と書かれていることから>>469が
単数処理である>>463のコードについて>長くなってしまう
というコードの長さについて触れているのは明確
決定的なのは、仮に、
複数版である>またこうすれば、 略 ="text"); })
の行を消去した場合、>一つだけ処理する場合でも云々
のコードは既に>>463より短いため、
>よりも長くなってしまう
の意味は通じなくなる
これらのことから、
>でもそうすると>>463よりも長くなってしまう。
とは>複数全てに対応できる云々の複数版コードの長さについて
言及していたものと思われる
2018/10/15(月) 18:12:41.06ID:???
ほんとキモイなw
こいつなにがしたいんだろう?
こいつなにがしたいんだろう?
2018/10/15(月) 18:57:13.39ID:???
どっちもキモいんですが
2018/10/15(月) 19:07:36.03ID:???
俺はjQueryを使えばいかなるDOM操作も
同じことをDOM APIを使うよりも簡潔に書けるって
言ってるだけなのに、どうも関係ない所に反応するんだよなぁ
反論しないなら意味不明なこと言わなくていいのに
同じことをDOM APIを使うよりも簡潔に書けるって
言ってるだけなのに、どうも関係ない所に反応するんだよなぁ
反論しないなら意味不明なこと言わなくていいのに
2018/10/15(月) 19:21:19.41ID:???
2018/10/15(月) 19:25:36.62ID:???
そしてその答えがこれなわけ
464 名前:Name_Not_Found[sage] 投稿日:2018/10/13(土) 23:58:51.51 ID:???
var elm = $('[name="test"]')[0];
console.log(elm.type==="text");
これに対して関係ない質問をするなってこと
464 名前:Name_Not_Found[sage] 投稿日:2018/10/13(土) 23:58:51.51 ID:???
var elm = $('[name="test"]')[0];
console.log(elm.type==="text");
これに対して関係ない質問をするなってこと
2018/10/15(月) 19:26:25.24ID:???
誰が関係ない話を始めたのかよくわかりました。
2018/10/15(月) 19:33:05.62ID:???
まとめると>>464が何の進展もない駄レスしただけの話
2018/10/15(月) 19:40:30.57ID:???
おれならわざわざjquery使って同じような回答するくらいなら
console.log( $('[name="test"]').map((i,_)=>_.type) );
判別手前だが、こういうのでいいじゃんと思うわ
そもそも>>460のレスから察するにコードすらいらないと思うわ
おそらくelement.typeで取得できるかどうかを知りたかったレベルだろうし
console.log( $('[name="test"]').map((i,_)=>_.type) );
判別手前だが、こういうのでいいじゃんと思うわ
そもそも>>460のレスから察するにコードすらいらないと思うわ
おそらくelement.typeで取得できるかどうかを知りたかったレベルだろうし
2018/10/15(月) 19:40:36.60ID:???
2018/10/15(月) 19:42:08.68ID:???
2018/10/15(月) 19:48:25.14ID:???
2018/10/15(月) 19:52:07.67ID:???
なんだ。単に誰にレスしてるのかわからんかっただけかw
2018/10/15(月) 19:54:37.27ID:???
そう 解決してるのにわざわざ同じようなレスしちゃった馬鹿がいるんだよなぁ
2018/10/15(月) 19:55:24.73ID:???
jQueryを使った例ってだけですが?
自分の気に食わないレスだから叩いてるんだね。
これからも頑張らなきゃ(笑)
自分の気に食わないレスだから叩いてるんだね。
これからも頑張らなきゃ(笑)
2018/10/15(月) 19:57:52.13ID:???
このスレ的にはjQueryの存在が害悪だな
必要のない諍いを生み出す
必要のない諍いを生み出す
2018/10/15(月) 20:02:22.57ID:???
質問者置いてけ堀で議論カッコいいですね
2018/10/15(月) 20:03:38.24ID:???
やっぱりいち早くjQuery使って回答してすでに答えが出てるから
そんな冗長な例出すなって流れにしないとダメだな
質問が来てるのには気づいていたんだが
ちょっと放置したのがまずかった
そんな冗長な例出すなって流れにしないとダメだな
質問が来てるのには気づいていたんだが
ちょっと放置したのがまずかった
2018/10/15(月) 20:07:49.14ID:???
2018/10/15(月) 20:11:48.09ID:???
わかった。今度からjQueryのコードが出るまで待つことにするよ
2018/10/15(月) 20:13:16.06ID:???
たのむ
2018/10/15(月) 21:21:42.06ID:???
IDないと誰が誰やらw
2018/10/15(月) 22:56:21.27ID:???
え、もしかして土曜からずっとやってんの
お前ら働けよ…
お前ら働けよ…
2018/10/15(月) 23:17:16.89ID:???
jQuery駆逐したらな
564Name_Not_Found
2018/10/15(月) 23:35:18.95ID:/0B3mE22 jQueryだと短く書けるモン!とか言って
$('[name="test"]')[0]
みたいなコード出してくるのホンマ草www
$が何千行の関数なんだよとww
それゴマカシていいんだったらjQuery あろうがなかろうが俺ならもっと短く書けるぞ。
a()
ほらよバーカw
$('[name="test"]')[0]
みたいなコード出してくるのホンマ草www
$が何千行の関数なんだよとww
それゴマカシていいんだったらjQuery あろうがなかろうが俺ならもっと短く書けるぞ。
a()
ほらよバーカw
2018/10/15(月) 23:38:43.83ID:???
いや、$の中なんて書かないですし、
2018/10/15(月) 23:45:22.20ID:???
a()の中は長々と書くんだろうなぁw
2018/10/15(月) 23:52:31.43ID:???
a()が何も書かないで期待通り動いてくれればいいねw
568Name_Not_Found
2018/10/16(火) 02:54:20.89ID:O7ZoRP+n $は何千行にも渡るコードなのにノーカンw
aは何も書いてはいけないww
jQueryだと短く書けるモン!君のオレオレルールにはかなわねぇwwwww
aは何も書いてはいけないww
jQueryだと短く書けるモン!君のオレオレルールにはかなわねぇwwwww
2018/10/16(火) 04:27:30.53ID:???
>>568
当たり前じゃね?
jQueryは汎用のコードですでに動くものがある。
それにたいしてa()は中身を書かないと使えないんだから。
問題を出す前にすでにコードが有るなら使えると言えるけど、
問題聞いてから作らないと使えないんじゃね
当たり前じゃね?
jQueryは汎用のコードですでに動くものがある。
それにたいしてa()は中身を書かないと使えないんだから。
問題を出す前にすでにコードが有るなら使えると言えるけど、
問題聞いてから作らないと使えないんじゃね
2018/10/16(火) 06:52:33.43ID:???
有る前でも後でも質問者にライブラリのインストールを強いるなら同じこと
jQuery使おうぜっていうのはBabel使おうぜとかRust.js使おうぜって言ってるのと同じことってことが何故わからない
自分の好きなもの勧めるのは悪いことじゃないけれど
それが普通とか勘違いするのは駄目
jQuery使おうぜっていうのはBabel使おうぜとかRust.js使おうぜって言ってるのと同じことってことが何故わからない
自分の好きなもの勧めるのは悪いことじゃないけれど
それが普通とか勘違いするのは駄目
2018/10/16(火) 09:22:31.24ID:???
いや、そうじゃなくて
ライブラリのインストールをするだけで終わるのと
自分でa()の中身を書かないのと行けないのじゃ
ぜんぜん違うでしょと言う話だ
ライブラリのインストールをするだけで終わるのと
自分でa()の中身を書かないのと行けないのじゃ
ぜんぜん違うでしょと言う話だ
572Name_Not_Found
2018/10/16(火) 11:21:51.21ID:v/rkbiNX インストールするだけ(約100kB ASCII文字にして10万文字)
2018/10/16(火) 12:21:22.28ID:???
それだけのコードがインストールするだけで使える
2018/10/16(火) 12:55:19.91ID:???
最終的な主張はそれか。
ま、いいだろ。ずいぶんしおらしくなった。
ま、いいだろ。ずいぶんしおらしくなった。
2018/10/16(火) 13:07:58.98ID:???
a()の中身を書けばa()だけで呼び出せる!
って言っていたことについてはなかったコトにするつもり?
って言っていたことについてはなかったコトにするつもり?
2018/10/17(水) 07:09:31.73ID:???
>>575
a()と書くのがスマートだからそっちにしろと言ってるわけじゃなく
下手をするとそれと同程度な行為に捉えられ得るという悪い見本として言ってるんだが
>>571
jQuery乱用解答へのの批判として
jQueryの読み込みscriptタグ貼ったら文字数の差が無くなるような例が多い中
全然「全然」違うってことはないよね
jQuery使ったら全然違うように書き手がだけが勘違いしてる事のほうが多いよね
もう一つ短い解答への批判として
別にa()の中身がライブラリ使ってないとは言ってないんだから
そうやって質問者にできるだけコードを読み書きする負担を与えず問題を解決するコードを提示するのって
質問者が自ら学ぶという目的のこのスレに於いて良くない行為だと思うんだよね
回答者はjQueryとか自分が好きなアピールしたい技術があって、
自分の思いつき解法を公開したくなったとしても
ぐっと我慢して質問者が自分で考えて解決できるようなヒント程度の提示にして
あとは質問者とよく話し合って導くことが大事だと思うんだよね
スマートだと思う解答をポーンと投げるだけ、そして後は批判合戦は違う
最後に、これはjQueryを使わない解答にケチが付いた流れに対して言ってる一般的なことで
その他の具体的な質問・回答は関係ないからね
a()と書くのがスマートだからそっちにしろと言ってるわけじゃなく
下手をするとそれと同程度な行為に捉えられ得るという悪い見本として言ってるんだが
>>571
jQuery乱用解答へのの批判として
jQueryの読み込みscriptタグ貼ったら文字数の差が無くなるような例が多い中
全然「全然」違うってことはないよね
jQuery使ったら全然違うように書き手がだけが勘違いしてる事のほうが多いよね
もう一つ短い解答への批判として
別にa()の中身がライブラリ使ってないとは言ってないんだから
そうやって質問者にできるだけコードを読み書きする負担を与えず問題を解決するコードを提示するのって
質問者が自ら学ぶという目的のこのスレに於いて良くない行為だと思うんだよね
回答者はjQueryとか自分が好きなアピールしたい技術があって、
自分の思いつき解法を公開したくなったとしても
ぐっと我慢して質問者が自分で考えて解決できるようなヒント程度の提示にして
あとは質問者とよく話し合って導くことが大事だと思うんだよね
スマートだと思う解答をポーンと投げるだけ、そして後は批判合戦は違う
最後に、これはjQueryを使わない解答にケチが付いた流れに対して言ってる一般的なことで
その他の具体的な質問・回答は関係ないからね
2018/10/17(水) 15:39:11.40ID:???
>>576
それは単なるあなたの希望ですね
それは単なるあなたの希望ですね
2018/10/17(水) 20:16:52.40ID:???
原理主義者は何を言っても改宗しないので時間の無駄だよ
2018/10/17(水) 21:00:26.73ID:???
jQuery原理主義者は悪魔だと思う
親切な顔をして実際はポリフィルも自分で組めない
jQueryの範囲でしか何もできない無能を作り出して
自分より優秀な人材が育たないようにしてる悪魔
親切な顔をして実際はポリフィルも自分で組めない
jQueryの範囲でしか何もできない無能を作り出して
自分より優秀な人材が育たないようにしてる悪魔
2018/10/17(水) 21:03:15.97ID:???
jQueryが原理主義になるわけがないだろう
だいたいこれDOM操作ライブラリやで?
だいたいこれDOM操作ライブラリやで?
2018/10/17(水) 21:04:35.48ID:???
>>579
だからそれは単なるあなたの希望ですね
だからそれは単なるあなたの希望ですね
2018/10/17(水) 21:09:16.87ID:???
jQueryの素晴らしさの一つは、セレクタを自分で拡張できるところだと思う
DOM APIではできないことができる。
DOM APIではできないことができる。
2018/10/17(水) 21:33:23.98ID:???
原理主義ってのは人の考え方のことよ
スレに張り付いて3連続レスもできる気持ち悪さのことよ
スレに張り付いて3連続レスもできる気持ち悪さのことよ
2018/10/17(水) 21:37:17.41ID:???
原理主義の原理の意味もわかってないのか
原理主義と言いながら、ただの主義の話をしている
原理主義と言いながら、ただの主義の話をしている
2018/10/17(水) 22:36:58.02ID:???
とにかくjQueryがいいってんなら原理主義だろ
違うならたまにはjQuery以外の話してみろよ
違うならたまにはjQuery以外の話してみろよ
2018/10/17(水) 22:38:52.74ID:???
ごめん、原理主義は意味が違うらしいな
絶対主義だな
絶対主義だな
2018/10/17(水) 22:46:14.37ID:???
jQueryがいいと言ってるが、jQueryですべてできるなんて思ってない。
jQueryはDOM操作ライブラリなんだから、例えば日付の計算にjQueryは使えない
つまり、jQueryを使ってる人はjQuery以外も使ってるということ
jQueryはDOM操作ライブラリなんだから、例えば日付の計算にjQueryは使えない
つまり、jQueryを使ってる人はjQuery以外も使ってるということ
2018/10/18(木) 02:23:22.69ID:???
私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
2018/10/18(木) 07:02:12.18ID:???
590Name_Not_Found
2018/10/18(木) 09:34:22.49ID:HcsddB5d 「ストローおじさん」って知ってる?
昔、映画館とかに置いてあったタン壺(みんながカ〜ッペ!とタンを吐く壺)に
ストロー突っ込んで全部飲み干すらしいよ。ゴックンゴックン!
ストローが透明だから飲んでるのが丸見え!
たまにハナクソが詰まるらしいけど、思いっきり吸って食べるらしい。スッポン!
ちなみにストローは絶対に洗わない方針だそうです。
「どんぶりおじさん」もいるようです。
タン壺を熱いご飯にぶっかけてジュルジュル流しこむように食べるそうです。
ごはんの上にハナクソとか鼻毛が丸見え!
汁はご飯の隙間を通って下に溜まるけど、全部飲み干すそうです。ゴクゴク!
昔、映画館とかに置いてあったタン壺(みんながカ〜ッペ!とタンを吐く壺)に
ストロー突っ込んで全部飲み干すらしいよ。ゴックンゴックン!
ストローが透明だから飲んでるのが丸見え!
たまにハナクソが詰まるらしいけど、思いっきり吸って食べるらしい。スッポン!
ちなみにストローは絶対に洗わない方針だそうです。
「どんぶりおじさん」もいるようです。
タン壺を熱いご飯にぶっかけてジュルジュル流しこむように食べるそうです。
ごはんの上にハナクソとか鼻毛が丸見え!
汁はご飯の隙間を通って下に溜まるけど、全部飲み干すそうです。ゴクゴク!
2018/10/18(木) 10:48:22.83ID:???
2018/10/18(木) 19:14:54.22ID:???
指摘も希望も意見も大した違いはないでしょ
君が希望と言うんなら希望で良いよ
お、こいつ、自分の発言を希望と認めたな!!!
で、だからどうなるのって感じ
君が希望と言うんなら希望で良いよ
お、こいつ、自分の発言を希望と認めたな!!!
で、だからどうなるのって感じ
2018/10/18(木) 19:25:59.70ID:???
> 指摘も希望も意見も大した違いはないでしょ
それもお前の希望だなw
↑これは指摘。ぜんぜん違う
それもお前の希望だなw
↑これは指摘。ぜんぜん違う
2018/10/18(木) 21:33:06.36ID:???
jsの前に日本語勉強しなおした方がいいんじゃねえの
2018/10/19(金) 01:04:01.46ID:???
jQuery君は希望的観測という言葉を知ってるのかな
2018/10/19(金) 01:10:10.81ID:???
希望、指摘、意見に続いて、
今度は新たに希望的観測が増えました。
用語を増やして何がしたいんだろう?
今度は新たに希望的観測が増えました。
用語を増やして何がしたいんだろう?
2018/10/19(金) 06:48:18.84ID:???
2018/10/19(金) 09:53:37.38ID:???
ん? jQueryユーザーを根拠なく貶めるのが目的だったんじゃないのか?
jQueryユーザーとはこういうものですーという書き込みが単なる希望だと自白した。
つまり、jQueryユーザーとはこういうものであってほしいんです。という書き込みだった。
それで何がどうなるかって?
jQueryユーザーを貶めることに失敗したってことだろう
jQueryユーザーとはこういうものですーという書き込みが単なる希望だと自白した。
つまり、jQueryユーザーとはこういうものであってほしいんです。という書き込みだった。
それで何がどうなるかって?
jQueryユーザーを貶めることに失敗したってことだろう
2018/10/19(金) 12:26:22.43ID:???
jQuery君の目的はjQueryのメリットを唱えて支持者を増やすのが目的でしょ
2018/10/19(金) 12:55:51.60ID:???
2018/10/19(金) 13:26:46.04ID:???
君たちどっか他のところ行ってくれませんかね…わざとなんだろうけど
2018/10/19(金) 13:35:11.85ID:???
喧嘩してるように見せかけて
両者とも何か共通の目的のためにやっているのだとしたら…
両者とも何か共通の目的のためにやっているのだとしたら…
2018/10/19(金) 14:24:05.50ID:???
jQuery厨は相変わらずうざいな。いよいよ余裕なくなってきたかw
2018/10/19(金) 14:48:22.63ID:???
> 俺は俺の思ったことを
事実ではなくて、希望を書いたらしいなw
事実ではなくて、希望を書いたらしいなw
2018/10/19(金) 15:34:31.64ID:???
だから「思う」って書いてるでしょ?
しつこいね君は
そもそも悪魔が事実だったら大事じゃん
最近勝手に煽られたと思い込む煽り耐性マイナスのやつ多いね
短期で余裕がないっつうか
しつこいね君は
そもそも悪魔が事実だったら大事じゃん
最近勝手に煽られたと思い込む煽り耐性マイナスのやつ多いね
短期で余裕がないっつうか
2018/10/19(金) 16:26:30.46ID:???
そっちじゃねーよw
> 親切な顔をして実際はポリフィルも自分で組めない
> jQueryの範囲でしか何もできない無能を作り出して
> 自分より優秀な人材が育たないようにしてる
↑これが事実ではなく、お前の希望だっていってんの
> 親切な顔をして実際はポリフィルも自分で組めない
> jQueryの範囲でしか何もできない無能を作り出して
> 自分より優秀な人材が育たないようにしてる
↑これが事実ではなく、お前の希望だっていってんの
2018/10/19(金) 16:45:06.99ID:???
お前らスレ違い
ここは品評スレじゃなくて、質問用スレ
回答者の価値観を問うところではない
いい加減に成仏しろよ
ここは品評スレじゃなくて、質問用スレ
回答者の価値観を問うところではない
いい加減に成仏しろよ
2018/10/19(金) 18:37:18.09ID:???
無理です
jQuery君は数年前からこのスレを見張っており生き甲斐なのです
jQuery君は数年前からこのスレを見張っており生き甲斐なのです
2018/10/19(金) 21:08:48.14ID:???
早いとこ1000まで埋めてくれ
2018/10/19(金) 21:37:13.65ID:???
.cssのファイル内の値を動的にできないでしょうか
HTML側はjsもphpも使用不可なのですが、
cssファイルは別サーバーに置ける為、使用可能です
HTML側はjsもphpも使用不可なのですが、
cssファイルは別サーバーに置ける為、使用可能です
611610
2018/10/19(金) 21:42:38.78ID:??? 具体的には、
タイマーで、ある特定の期間だけcssファイルで指定しているheightの値が変わるように仕組みを作りたいんです。
バッチファイル+タスクスケジューラでアップロードする方が現実的でしょうか?
タイマーで、ある特定の期間だけcssファイルで指定しているheightの値が変わるように仕組みを作りたいんです。
バッチファイル+タスクスケジューラでアップロードする方が現実的でしょうか?
2018/10/19(金) 22:59:11.14ID:???
>>611
サーバ側でクロンでも書けばいいじゃない
サーバ側でクロンでも書けばいいじゃない
2018/10/20(土) 00:28:12.31ID:???
2018/10/20(土) 01:09:53.02ID:???
2018/10/20(土) 02:53:32.82ID:???
>>614
> それが一般的な方法ぽいですね・・
いやいや、一般的ではないよ。
特定の期間以外はCSSファイル見てもわからないようにしたいっていうのなら話は違うが
cssファイルを動的に生成するのは一般的にはアンチパターンだよ
(ついでにいうとJavaScriptファイルも動的に生成しないほうが良い
必要ならばJSONデータを動的に生成してしようする)
>>611
> タイマーで、ある特定の期間だけcssファイルで指定しているheightの値が変わるように仕組みを作りたいんです。
「ある期間」っていうのが午前、午後やタイムセール、キャンペーン期間中みたいに
特定の言葉で表せるのであれば、以下のようなCSSを書く
div { height: 100px }
.sale div { height: 200px }
HTMLの<html>や<body>なんかのclassで現在の期間を表現する
例えば <body class=""> or <body class="sale"> みたいな感じ
ここまではCSSの範疇だからJavaScriptしらない人でも画面デザインだけ担当できる。
でJavaScriptで特定の期間を判断して<html>や<body>のclassを書き換える
用途は違うがModernizr (https://modernizr.com/) でも用いられているテクニック
見ての通りJavaScriptもCSSも静的で作れる
これが一般的な方法
> それが一般的な方法ぽいですね・・
いやいや、一般的ではないよ。
特定の期間以外はCSSファイル見てもわからないようにしたいっていうのなら話は違うが
cssファイルを動的に生成するのは一般的にはアンチパターンだよ
(ついでにいうとJavaScriptファイルも動的に生成しないほうが良い
必要ならばJSONデータを動的に生成してしようする)
>>611
> タイマーで、ある特定の期間だけcssファイルで指定しているheightの値が変わるように仕組みを作りたいんです。
「ある期間」っていうのが午前、午後やタイムセール、キャンペーン期間中みたいに
特定の言葉で表せるのであれば、以下のようなCSSを書く
div { height: 100px }
.sale div { height: 200px }
HTMLの<html>や<body>なんかのclassで現在の期間を表現する
例えば <body class=""> or <body class="sale"> みたいな感じ
ここまではCSSの範疇だからJavaScriptしらない人でも画面デザインだけ担当できる。
でJavaScriptで特定の期間を判断して<html>や<body>のclassを書き換える
用途は違うがModernizr (https://modernizr.com/) でも用いられているテクニック
見ての通りJavaScriptもCSSも静的で作れる
これが一般的な方法
2018/10/20(土) 07:00:23.39ID:???
2018/10/20(土) 07:29:14.73ID:???
俺は事実を素直に書いてるだけだから
>>579が間違いだから、間違いって書いただけ
>>579が間違いだから、間違いって書いただけ
2018/10/20(土) 10:12:37.03ID:???
>>615
なるほど。
>でJavaScriptで特定の期間を判断して<html>や<body>のclassを書き換える
しかし、セキュリティ的な問題か何かしりませんが
html側のサーバーにはjsを効かせる事はできません。
cssのみ可能なのと、そのcssの外部サーバーにはjsを置く事はできます。
なるほど。
>でJavaScriptで特定の期間を判断して<html>や<body>のclassを書き換える
しかし、セキュリティ的な問題か何かしりませんが
html側のサーバーにはjsを効かせる事はできません。
cssのみ可能なのと、そのcssの外部サーバーにはjsを置く事はできます。
2018/10/20(土) 10:29:58.68ID:???
>>618
その外部jsをhtml側から読むことはできない設定(?)なんだよね?
その外部jsをhtml側から読むことはできない設定(?)なんだよね?
2018/10/20(土) 10:41:21.10ID:???
2018/10/20(土) 12:45:09.49ID:???
>>618
じゃあCSSをPHPで書けば?
じゃあCSSをPHPで書けば?
2018/10/20(土) 12:58:19.01ID:???
2018/10/20(土) 12:59:39.61ID:???
2018/10/20(土) 18:10:38.35ID:???
意見も希望も主観には変わらないわけで、その定義に拘って議論するのは馬鹿馬鹿しい
2018/10/20(土) 18:19:53.51ID:???
2018/10/20(土) 22:51:18.80ID:???
>>625
もしくは.htaccessとかで-.cssが呼ばれた時-.phpを呼ぶようにcssを置くサーバーで偽装する
もしくは.htaccessとかで-.cssが呼ばれた時-.phpを呼ぶようにcssを置くサーバーで偽装する
2018/10/21(日) 01:24:35.87ID:???
628Name_Not_Found
2018/10/21(日) 19:12:28.26ID:PfpMCgsw 初心者です。
if (!args.length) { 処理 } の条件を日本語訳してもらえませんか?
argsは変数なんですが、lengthは変数じゃないです。
変数argsの長さじゃなかったら? でしょうか。。おねがいします
if (!args.length) { 処理 } の条件を日本語訳してもらえませんか?
argsは変数なんですが、lengthは変数じゃないです。
変数argsの長さじゃなかったら? でしょうか。。おねがいします
2018/10/21(日) 19:21:20.56ID:???
2018/10/21(日) 19:25:53.72ID:???
lengthは長さを数値で返す
数値をそのまま条件にすると
0は否、0以外は正。
それを!で逆転してるので
長さが0であれば、の意。
※argsが存在して配列や文字列などlengthメソッドが働く前提
数値をそのまま条件にすると
0は否、0以外は正。
それを!で逆転してるので
長さが0であれば、の意。
※argsが存在して配列や文字列などlengthメソッドが働く前提
2018/10/21(日) 19:31:48.58ID:???
>>630
ごめんlengthはプロパティだわ
ごめんlengthはプロパティだわ
632628
2018/10/21(日) 19:34:16.74ID:+KGIAcbR ありがとうございます!よくわかりました。これで先に進めそうです。またお願いします
2018/10/22(月) 16:24:37.89ID:???
適当に書くときはいいけど
慣れちゃうとちょっと怖いよね
args.lengthがundefinedでもnullでもfalseでも通っちゃうし
慣れちゃうとちょっと怖いよね
args.lengthがundefinedでもnullでもfalseでも通っちゃうし
2018/10/23(火) 20:39:26.75ID:???
>>633
それが排列であることを確定させているなら、問題はないかと
それが排列であることを確定させているなら、問題はないかと
2018/10/23(火) 21:09:50.10ID:???
排泄
2018/10/23(火) 21:20:03.47ID:???
NodeRedって流行ってるの?
知識ない自分の力量不足だけど使いにくい…
知識ない自分の力量不足だけど使いにくい…
2018/10/23(火) 21:23:36.40ID:???
2018/10/23(火) 22:49:46.08ID:???
2018/10/23(火) 23:39:33.33ID:???
>>638
簡単なUI作ったりするのは便利なんだけどDBとのやりとりとかExcelに出力したりさせようとしたら訳わからなくなって詰まった
こういうのをNodeRedでやろうとするのが間違ってるのかなぁと思ったり
簡単なUI作ったりするのは便利なんだけどDBとのやりとりとかExcelに出力したりさせようとしたら訳わからなくなって詰まった
こういうのをNodeRedでやろうとするのが間違ってるのかなぁと思ったり
2018/10/25(木) 12:47:18.40ID:???
2018/10/25(木) 14:43:57.61ID:???
Pythonを学習中です。
Webの事は全くの素人です。
スクレイピングや可視化する際、CSS XPath JavaScriptなどの事が分からなくて行き詰まってしまいました。
PythonとJavaScriptではじめるデータビジュアライゼーションという本で詰まりました。
知人にJavaScript第5版という古い本をもらいましたが、言語仕様が延々と書いてあるような感じで、自分には早過ぎました。
CSS、XPath、JavaScriptこの辺りを体系的に学べるおすすめの本あったら教えて欲しいです。
Webの事は全くの素人です。
スクレイピングや可視化する際、CSS XPath JavaScriptなどの事が分からなくて行き詰まってしまいました。
PythonとJavaScriptではじめるデータビジュアライゼーションという本で詰まりました。
知人にJavaScript第5版という古い本をもらいましたが、言語仕様が延々と書いてあるような感じで、自分には早過ぎました。
CSS、XPath、JavaScriptこの辺りを体系的に学べるおすすめの本あったら教えて欲しいです。
2018/10/25(木) 14:49:57.07ID:???
>>640
今でも読まれるたびに数えてんですかね?
今でも読まれるたびに数えてんですかね?
2018/10/26(金) 07:06:26.78ID:???
うろ覚えだが呼ばれるたびに数えてたことはなかっただろう
更新のたびに内部プロパティを更新してそれを読み出すような仕組みじゃなかった?
更新のたびに内部プロパティを更新してそれを読み出すような仕組みじゃなかった?
2018/10/26(金) 07:43:19.89ID:???
>>642
getterではなく、setter
getterではなく、setter
2018/10/26(金) 12:56:08.60ID:???
getterでもsetterでもなくね
2018/10/26(金) 13:05:10.89ID:???
>>641
HTML, CSS, JavaScript は、初心者用の本を読む。
CSS セレクターは、jQuery で学ぶ
または、CSS セレクター・XPath は、入門用サイトを見る
CSSセレクターは、jQueryの本に書いてあるけど、
XPathは、どの本にも書いていないから、入門用ウェブサイトを見る
XPathは重要度が低いから、無視してもよい。
CSSセレクターを使う方が、読みやすい
HTML, CSS, JavaScript は、初心者用の本を読む。
CSS セレクターは、jQuery で学ぶ
または、CSS セレクター・XPath は、入門用サイトを見る
CSSセレクターは、jQueryの本に書いてあるけど、
XPathは、どの本にも書いていないから、入門用ウェブサイトを見る
XPathは重要度が低いから、無視してもよい。
CSSセレクターを使う方が、読みやすい
2018/10/26(金) 20:12:27.73ID:???
プログラミングは体系的には学べない
分からなければ分かるようにならない
でもそこで諦めたらそこまで
「言語仕様が延々と書いてあるような感じ」と思ったのなら
分かったのが0ということではないはず
最悪書いてある日本語は読めるのだから、1万分の1は分かるだろう
なら5万回分読めばいい
そしたら1-(1-0.0001)**50000で0.9932637373893968で99%理解できる
分からなくてもほんの少しは分かるまで血を吐きながら無理やり頑張る
その繰り返しの修行で覚えるのがプログラミング
分からなければ分かるようにならない
でもそこで諦めたらそこまで
「言語仕様が延々と書いてあるような感じ」と思ったのなら
分かったのが0ということではないはず
最悪書いてある日本語は読めるのだから、1万分の1は分かるだろう
なら5万回分読めばいい
そしたら1-(1-0.0001)**50000で0.9932637373893968で99%理解できる
分からなくてもほんの少しは分かるまで血を吐きながら無理やり頑張る
その繰り返しの修行で覚えるのがプログラミング
2018/10/26(金) 20:44:33.09ID:???
俺もXPathは後回しでいい…ってかやらなくてもいいと思う。
昔はCSSセレクタより表現力高いからとか言われてたがよくも悪くもXML全般に使われる汎用仕様だからな。
HTML/CSS仕様に寄り添い、技術要素疑似セレクタも使えて素のJavascriptやjQueryなどでも手厚くサポートされているCSSセレクタ覚えたらWeb系技術以外扱わないならXPathなんて正直いつ使うんだっていう。
Javaとかやるなら別だけど…
あれか、Pythonと一緒にやろうとしたからPythonライブラリの都合に引っ張られちゃったんだな!
昔はCSSセレクタより表現力高いからとか言われてたがよくも悪くもXML全般に使われる汎用仕様だからな。
HTML/CSS仕様に寄り添い、技術要素疑似セレクタも使えて素のJavascriptやjQueryなどでも手厚くサポートされているCSSセレクタ覚えたらWeb系技術以外扱わないならXPathなんて正直いつ使うんだっていう。
Javaとかやるなら別だけど…
あれか、Pythonと一緒にやろうとしたからPythonライブラリの都合に引っ張られちゃったんだな!
2018/10/26(金) 21:02:05.71ID:???
650641
2018/10/26(金) 21:35:04.99ID:??? どうもありがとうございます
結果的にPythonスレとマルチポストになってしまっていたらごめんなさい。
>>646
PythonスレのRubyの方ですかね?
その節はありがとうございます。
初心者用というのはHTML5の初心者という事ですよね?
よく分かる〇〇とかいちばんやさしい〇〇だとか過去に読んだことあるんですが、その手の本ってパソコンそのものの初心者が対象なのか、
〇〇のコードを使ったらハンバーガーメニューが出せますとか、このコードを使ったらこういうレイアウトに出来ます。今流行りのスマホPC両対応のレスポシブなんちゃらのカッコいいホームページを作ろう、みたいな。
そういう本って理屈は置いておいて、カッコよさげなホームページが作れた。よかったね、っていう感じの本だから、
それぞれのコードの中身や用語の解説じゃないから結局提示されたcssのコピペだけで終わり訳もわからず応用が利かず結局何も身に付かなかったです。
オライリーからPythonの本が大量に出てるけどそんな感じの本があればいいんですが。
>>647
やっぱ甘えてますね、自分。
辛いけど、出来るようになりたいから読むしかないのかぁ。
結果的にPythonスレとマルチポストになってしまっていたらごめんなさい。
>>646
PythonスレのRubyの方ですかね?
その節はありがとうございます。
初心者用というのはHTML5の初心者という事ですよね?
よく分かる〇〇とかいちばんやさしい〇〇だとか過去に読んだことあるんですが、その手の本ってパソコンそのものの初心者が対象なのか、
〇〇のコードを使ったらハンバーガーメニューが出せますとか、このコードを使ったらこういうレイアウトに出来ます。今流行りのスマホPC両対応のレスポシブなんちゃらのカッコいいホームページを作ろう、みたいな。
そういう本って理屈は置いておいて、カッコよさげなホームページが作れた。よかったね、っていう感じの本だから、
それぞれのコードの中身や用語の解説じゃないから結局提示されたcssのコピペだけで終わり訳もわからず応用が利かず結局何も身に付かなかったです。
オライリーからPythonの本が大量に出てるけどそんな感じの本があればいいんですが。
>>647
やっぱ甘えてますね、自分。
辛いけど、出来るようになりたいから読むしかないのかぁ。
651641
2018/10/26(金) 21:35:51.39ID:??? >>648
Webサイト作りそのものには全く感心は無いんですが、Pythonを学ぶうちに作ったデータの可視化をWebでやりたくなりました。
Pythonを学んだら今までは怖かったJavaScriptも基本的な文法はPythonで書いた場合を考えながらやればJavaScriptでもSwiftでもObjective-Cも何となく理解出来るようになりました。
JavaScriptもWeb用のナニカじゃなくて、これもPythonと同じプログラム言語だと分かったのでおもしろくなってきたました。
XMLを弄るにもXPathが分かれば簡単に弄れそうなんですが、XPathそのものが難しい。
Chromeの開発者ツールの使い方も分からないままだし。
>>649
けど、正論だと思いました。
オライリーからHTML5という本が出てますけれど、7年以上前の本だからやめておいた方がいいでしょうか?
>>641 で読んでる本の最初のページにこんなイラストが載ってました。
https://i.imgur.com/H3vQCNy.jpg
まさに自分もこんな認識です。
Webサイト作りそのものには全く感心は無いんですが、Pythonを学ぶうちに作ったデータの可視化をWebでやりたくなりました。
Pythonを学んだら今までは怖かったJavaScriptも基本的な文法はPythonで書いた場合を考えながらやればJavaScriptでもSwiftでもObjective-Cも何となく理解出来るようになりました。
JavaScriptもWeb用のナニカじゃなくて、これもPythonと同じプログラム言語だと分かったのでおもしろくなってきたました。
XMLを弄るにもXPathが分かれば簡単に弄れそうなんですが、XPathそのものが難しい。
Chromeの開発者ツールの使い方も分からないままだし。
>>649
けど、正論だと思いました。
オライリーからHTML5という本が出てますけれど、7年以上前の本だからやめておいた方がいいでしょうか?
>>641 で読んでる本の最初のページにこんなイラストが載ってました。
https://i.imgur.com/H3vQCNy.jpg
まさに自分もこんな認識です。
2018/10/26(金) 22:05:29.26ID:???
>>651
セレクタを覚えるなら、jQueryよりCSSを覚えた方が良い
jQuery拡張記法を覚えても何にもならん
https://triple-underscore.github.io/selectors4-ja.html
XPathは今でもCSSセレクタ以上の事が出来るが、日本語の資料は多くないので、初心者向きではないだろうな
セレクタを覚えるなら、jQueryよりCSSを覚えた方が良い
jQuery拡張記法を覚えても何にもならん
https://triple-underscore.github.io/selectors4-ja.html
XPathは今でもCSSセレクタ以上の事が出来るが、日本語の資料は多くないので、初心者向きではないだろうな
2018/10/26(金) 22:10:26.33ID:???
>>645
Array(10).length = 1; // これはsetterでは?
Array(10).length = 1; // これはsetterでは?
2018/10/26(金) 23:44:44.27ID:???
getter, setterという場合、
Array(10).getLength();
Array(10).setLength(5);
などのようにメソッドの形を取る。
Array(10).length = 1;
は上のsetLengthとやることは同じだが、(実装はどうあれ)プロパティ形式を取っているのでsetterとは呼ばない。
なお説明に使っただけでArrayにgetLength、setLengthとあったメソッドは無い。
Array(10).getLength();
Array(10).setLength(5);
などのようにメソッドの形を取る。
Array(10).length = 1;
は上のsetLengthとやることは同じだが、(実装はどうあれ)プロパティ形式を取っているのでsetterとは呼ばない。
なお説明に使っただけでArrayにgetLength、setLengthとあったメソッドは無い。
2018/10/27(土) 06:58:31.07ID:???
TypedArrayのlengthはgetter,setterだが
Arrayのlengthは内部プロキシが特別に扱っている名前というだけ
Arrayのlengthは内部プロキシが特別に扱っている名前というだけ
2018/10/27(土) 08:54:32.87ID:???
2018/10/27(土) 10:10:23.05ID:???
658646
2018/10/27(土) 18:26:45.84ID:??? 漏れが、XPath を使うのは、CSS セレクターでできない場合だけ。
例えば、5ch の書き込み内のa タグを抜き出すなら、
このCSSセレクターでできるけど、
div.thread > div.post > div.message > span > a
a を含む、post_node だけを抜き出す場合、
div.message の子孫で、aタグを含むものがある場合、
そのaタグの祖先のdiv.post を抜き出す。
(自分の処理では、div.postを主体に処理している場合)
CSSセレクターでは、div.message div.post a
descendant は子孫、ancestor は祖先。
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
子孫に何々要素がある場合の、その祖先を求めるとか、
条件が複雑で、CSSセレクターでは表せない場合だけ、XPathを使う
jQueryのCSSセレクター一覧表を見て、それでできなければ、XPathを使う
例えば、5ch の書き込み内のa タグを抜き出すなら、
このCSSセレクターでできるけど、
div.thread > div.post > div.message > span > a
a を含む、post_node だけを抜き出す場合、
div.message の子孫で、aタグを含むものがある場合、
そのaタグの祖先のdiv.post を抜き出す。
(自分の処理では、div.postを主体に処理している場合)
CSSセレクターでは、div.message div.post a
descendant は子孫、ancestor は祖先。
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
子孫に何々要素がある場合の、その祖先を求めるとか、
条件が複雑で、CSSセレクターでは表せない場合だけ、XPathを使う
jQueryのCSSセレクター一覧表を見て、それでできなければ、XPathを使う
2018/10/27(土) 19:38:24.03ID:???
:has擬似クラスが仕様に入ったからXPathの出番はますます無くなる
2018/10/27(土) 22:40:17.34ID:???
>>659
これマジうれしい
これマジうれしい
2018/10/27(土) 23:59:35.53ID:???
jQueryは:hasに独自で対応しているから、JavaScriptでは
もうXPathの出番はなくなってるね。
もうXPathの出番はなくなってるね。
2018/10/28(日) 00:21:16.71ID:???
XPathってJavaScript以外で使えたっけ?
jQueryで:hasが使えるならもういらないような
jQueryで:hasが使えるならもういらないような
2018/10/28(日) 00:36:19.99ID:???
>>662
なに言ってんだ各言語にライブラリ出てるよXPathくらい…
なに言ってんだ各言語にライブラリ出てるよXPathくらい…
2018/10/28(日) 08:23:02.53ID:???
2018/10/28(日) 11:37:15.18ID:???
漏れは、Ruby のNokogiri で、XPath, CSS セレクターを使っている
2018/10/28(日) 13:38:53.56ID:???
>>655
文盲かな?
文盲かな?
2018/10/28(日) 13:39:15.20ID:???
>>664だった。
2018/10/28(日) 14:38:20.99ID:???
Proxy APIの話ではなくプロパティが設定されるときに働く
[[DefineOwnProperty]]内部メソッドをオーバーロードしてlengthを書き換えてることを
分かりやすく内部プロキシと言い換えただけなのにね
[[DefineOwnProperty]]内部メソッドをオーバーロードしてlengthを書き換えてることを
分かりやすく内部プロキシと言い換えただけなのにね
2018/10/28(日) 22:26:18.35ID:???
漏れ、って久しく見ないな
懐かしい
懐かしい
2018/10/29(月) 09:06:25.00ID:???
2018/10/29(月) 09:11:35.57ID:???
2018/10/29(月) 10:27:51.41ID:???
Proxyでのハンドリングもsetterと言うのならArray#lengthもsetterと呼んでいいと思うけど
普通JSでsetterって言ったらプロパティディスクリプタがアクセサタイプでsetにメソッドが入ってる状態を言うと思うけどな
普通JSでsetterって言ったらプロパティディスクリプタがアクセサタイプでsetにメソッドが入ってる状態を言うと思うけどな
2018/10/29(月) 10:29:06.09ID:???
>>671
いや、数値文字列と、lengthの2種類ともを特別に扱ってるんだよ
いや、数値文字列と、lengthの2種類ともを特別に扱ってるんだよ
2018/10/29(月) 12:34:14.87ID:???
>>672
あなたのいう、setterとProxyの違いは何だ?
lengthは余所から書き換えられる場面は多々あるが、lengthそのものはProxyを使うほどの機能があるとは思えんのだが
http://www.ecma-international.org/ecma-262/9.0/#sec-properties-of-array-instances-length
あなたのいう、setterとProxyの違いは何だ?
lengthは余所から書き換えられる場面は多々あるが、lengthそのものはProxyを使うほどの機能があるとは思えんのだが
http://www.ecma-international.org/ecma-262/9.0/#sec-properties-of-array-instances-length
2018/10/29(月) 19:36:10.52ID:???
でlengthはなんて呼んだら良いの?
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/length
これも直した方が良いってこと?
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/length
これも直した方が良いってこと?
2018/10/29(月) 19:41:22.88ID:???
MDNはprototype経由せずDateやらArray やらから直接生やされたメソッドを静的なメソッドと表現したりクラスベースの人に配慮した柔軟な記述見かけるよね。
2018/10/30(火) 06:56:22.75ID:???
2018/10/30(火) 08:34:44.71ID:???
>>677
> [[DefineOwnProperty]]内部メソッドをオーバーロードしてlengthを書き換えてることを
> 分かりやすく内部プロキシと言い換えただけなのにね
これがProxyの条件か?
ただの内部 プロパティを書き換えるだけでProxy扱い
しかも、Array(19).length = 1; 時に [[DefineOwnProperty]] が書き換わらんし、到底理解できんな
> [[DefineOwnProperty]]内部メソッドをオーバーロードしてlengthを書き換えてることを
> 分かりやすく内部プロキシと言い換えただけなのにね
これがProxyの条件か?
ただの内部 プロパティを書き換えるだけでProxy扱い
しかも、Array(19).length = 1; 時に [[DefineOwnProperty]] が書き換わらんし、到底理解できんな
679678
2018/10/30(火) 08:40:23.79ID:??? > しかも、Array(19).length = 1; 時に [[DefineOwnProperty]] が書き換わらんし、到底理解できんな
訂正する
Array(19)[1] 以降が削除されるので、[[DefineOwnProperty]] は確かに書き換わる
しかし、他所のプロパティ [[DefineOwnProperty]] が書き換わるだけで、lengthプロパティはProxyの動きをしていない
訂正する
Array(19)[1] 以降が削除されるので、[[DefineOwnProperty]] は確かに書き換わる
しかし、他所のプロパティ [[DefineOwnProperty]] が書き換わるだけで、lengthプロパティはProxyの動きをしていない
2018/10/30(火) 09:16:03.64ID:???
こういう事かな
const a = [];
a[0] = 1; // 668「a[0] はProxyなプロパティです」→OK
a.length = 0; // 668「a[0]を書き換えるa.lengthもProxyなプロパティです」→ん?
この場合、a.lengthを書き換えるa.fooを定義したら、a.fooもProxyになる
Proxyが感染していく
const a = [];
a[0] = 1; // 668「a[0] はProxyなプロパティです」→OK
a.length = 0; // 668「a[0]を書き換えるa.lengthもProxyなプロパティです」→ん?
この場合、a.lengthを書き換えるa.fooを定義したら、a.fooもProxyになる
Proxyが感染していく
2018/10/30(火) 12:07:55.19ID:???
hey YO! チェケラッチョ!
2018/10/30(火) 12:55:41.57ID:???
>>679
大きな勘違いしてるね、Arrayのインスタンスオブジェクトはlengthと言う通常のプロパティを持っているが
それと同時に数値文字列と"length"という文字列のプロパティ設定に関して特別な振る舞いをするんだよ
つまりProxyのようなのはArrayのインスタンスの事であって、
そのプロキシは"length"プロパティアクセスがあると、間接的にlengthプロパティを設定して配列の要素を調整すると言う動作をするんだよ
ただし、setterとは違うという話
大きな勘違いしてるね、Arrayのインスタンスオブジェクトはlengthと言う通常のプロパティを持っているが
それと同時に数値文字列と"length"という文字列のプロパティ設定に関して特別な振る舞いをするんだよ
つまりProxyのようなのはArrayのインスタンスの事であって、
そのプロキシは"length"プロパティアクセスがあると、間接的にlengthプロパティを設定して配列の要素を調整すると言う動作をするんだよ
ただし、setterとは違うという話
2018/10/30(火) 13:09:50.35ID:???
ようそこまで内部動作把握してるな
こういう人はそんなの当然って言うんだけど大半の人はそんなの無理
こういう人はそんなの当然って言うんだけど大半の人はそんなの無理
2018/10/30(火) 14:08:55.83ID:???
アニメスレに沸く小説板から来た設定厨を思い出しました。
2018/10/30(火) 19:02:56.34ID:???
2018/10/30(火) 19:11:18.70ID:???
2018/10/30(火) 19:19:02.36ID:???
>>686
誰もわかってくれないからって自己レスするな
誰もわかってくれないからって自己レスするな
2018/10/30(火) 19:23:08.67ID:???
>>668は確かにwrapperって感じだが、wrapperとsetterは両立出来るんだよなあ
2018/10/30(火) 20:13:36.59ID:???
わかっててスルーしてるにきまっとるじゃろ
2018/10/30(火) 21:00:05.07ID:???
ぶっちゃけ、>>653がsetterで実装できなくて、Proxyでなければ実装できない機能って何なの?
2018/10/30(火) 21:50:37.00ID:???
>>685
勘違いというか、全く分かっていなかったんだね
実際Arrayオブジェクトのlengthはsetterではないということが話の肝
Arrayのlengthは普通のオブジェクト固有のプロパティだ
Object.getOwnPropertyDescriptor( Array(1), 'length' )
// {value: 1, writable: true, enumerable: false, configurable: false}
参考までにTypedArrayのlengthは共通親クラスから継承したgetterだ
Object.getOwnPropertyDescriptor( Uint8Array.__proto__.prototype, 'length' )
// {get: ƒ, set: undefined, enumerable: false, configurable: true}
ならArrayのlengthへ値を代入したときの振る舞いなどはどう説明するのかといえば、
Arrayオブジェクトのプロパティ設定のトラップでlengthを特別扱いしてるということだ
そしてそれはもちろんsetterとは違う
言い換えればArrayオブジェクトはそのただ1点を除いて普通のオブジェクトと何にも変わらない
[ 'a', 'b', 'c' ]は{ '0':'a', '1': 'b', '2': 'c', 'length': 3 } と全く違いはない
ただたった一つ、[[DefineOwnProperty]]内部メソッドの振る舞いが違う、
プロパティアクセス時に'length'と数字プロパティへの設定を特別に監視するということだけが
ArrayをArrayたらしめてる理屈
勘違いというか、全く分かっていなかったんだね
実際Arrayオブジェクトのlengthはsetterではないということが話の肝
Arrayのlengthは普通のオブジェクト固有のプロパティだ
Object.getOwnPropertyDescriptor( Array(1), 'length' )
// {value: 1, writable: true, enumerable: false, configurable: false}
参考までにTypedArrayのlengthは共通親クラスから継承したgetterだ
Object.getOwnPropertyDescriptor( Uint8Array.__proto__.prototype, 'length' )
// {get: ƒ, set: undefined, enumerable: false, configurable: true}
ならArrayのlengthへ値を代入したときの振る舞いなどはどう説明するのかといえば、
Arrayオブジェクトのプロパティ設定のトラップでlengthを特別扱いしてるということだ
そしてそれはもちろんsetterとは違う
言い換えればArrayオブジェクトはそのただ1点を除いて普通のオブジェクトと何にも変わらない
[ 'a', 'b', 'c' ]は{ '0':'a', '1': 'b', '2': 'c', 'length': 3 } と全く違いはない
ただたった一つ、[[DefineOwnProperty]]内部メソッドの振る舞いが違う、
プロパティアクセス時に'length'と数字プロパティへの設定を特別に監視するということだけが
ArrayをArrayたらしめてる理屈
2018/10/30(火) 22:04:42.06ID:???
>>679のこの行がそもそもだいぶトンチンカン
>>Array(19)[1] 以降が削除されるので、[[DefineOwnProperty]] は確かに書き換わる
[[DefineOwnProperty]]は内部「関数」なのだから、書き換わったりしない、呼ばれる対象
そしてlength要素に設定時に適宜配列のプロパティが消されるから呼ばれるのではなくて、
length要素設定時にこれが呼ばれたときに間接的にプロパティを消してる、因果が逆
因みにプロパティが消されるときに呼ばれるのは[[Delete]]
[[DefineOwnProperty]] はこの場合関わらない
>>Array(19)[1] 以降が削除されるので、[[DefineOwnProperty]] は確かに書き換わる
[[DefineOwnProperty]]は内部「関数」なのだから、書き換わったりしない、呼ばれる対象
そしてlength要素に設定時に適宜配列のプロパティが消されるから呼ばれるのではなくて、
length要素設定時にこれが呼ばれたときに間接的にプロパティを消してる、因果が逆
因みにプロパティが消されるときに呼ばれるのは[[Delete]]
[[DefineOwnProperty]] はこの場合関わらない
2018/10/30(火) 23:07:23.33ID:???
>>691
へー知らなかった
へー知らなかった
694Name_Not_Found
2018/10/30(火) 23:28:54.54ID:ROO+RjWt そもそも、length に設定するのが、おかしい。
意味不明のソースコード
普通は参照しかしない
意味不明のソースコード
普通は参照しかしない
2018/10/31(水) 01:25:47.55ID:???
>>694
ザコは黙ってろ
ザコは黙ってろ
2018/10/31(水) 11:52:21.98ID:???
>>691
勉強になったわ
勉強になったわ
2018/10/31(水) 15:55:58.36ID:???
new Int8Array([1,2,3]).__lookupGetter__('length')
//=> f length() { [native code] }
[1,2,3].__lookupGetter__('length')
//=> undefined
ほんまやTypedArrayのlengthにはGetter設定されてるけどArrayは無い
//=> f length() { [native code] }
[1,2,3].__lookupGetter__('length')
//=> undefined
ほんまやTypedArrayのlengthにはGetter設定されてるけどArrayは無い
2018/10/31(水) 15:56:05.22ID:???
だからtypeof new Arrayは'object'なんだよな
そこしか違いがないから
そこしか違いがないから
2018/11/01(木) 02:16:21.76ID:???
大雑把にはわかっていたつもりだったけど
詳しい説明ありがたいわ
詳しい説明ありがたいわ
700Name_Not_Found
2018/11/02(金) 09:27:19.04ID:33ufQNJG jQueryの.nextUntil() をJavaScriptで書くのは難しいでしょうか?
2018/11/02(金) 11:56:52.88ID:???
>>700
難しいかどうかはその人のスキルによるとしか。。。
難しいかどうかはその人のスキルによるとしか。。。
2018/11/02(金) 13:12:13.08ID:???
困難かという意味ではそうでもないかも
parentNodeのChildNodesを、その要素以降順に見ていくだけだから
ていうか、jQueryだってJSで書かれているわけだしね
parentNodeのChildNodesを、その要素以降順に見ていくだけだから
ていうか、jQueryだってJSで書かれているわけだしね
2018/11/02(金) 14:27:31.10ID:???
nextSibling
2018/11/02(金) 14:57:52.92ID:???
質問を変えて、jQueryの.nextUntil()をDOM API以外のライブラリを使わずに
10行以内(セミコロン不使用、横80文字まで、普段やらない書き方を使うのなし)で
作れるでしょうか?だったらどう?
10行以内(セミコロン不使用、横80文字まで、普段やらない書き方を使うのなし)で
作れるでしょうか?だったらどう?
2018/11/02(金) 15:08:06.56ID:???
まず親要素のquerySelectorAllで
セレクタにマッチする小要素を全部取り出しておく
目的の要素のnextSiblingが、上のマッチした要素群に含まれれば当たり
なければ次のnextSiblingを見る
なんとか80字でいけるか?
セレクタにマッチする小要素を全部取り出しておく
目的の要素のnextSiblingが、上のマッチした要素群に含まれれば当たり
なければ次のnextSiblingを見る
なんとか80字でいけるか?
2018/11/02(金) 15:22:12.61ID:???
全部取り出しておいてfilterしてもいいし、
ただ単に次の要素を見ていくだけのイテレータでもいい
5行くらいの関数で書けるんじゃない?
ただ単に次の要素を見ていくだけのイテレータでもいい
5行くらいの関数で書けるんじゃない?
2018/11/02(金) 16:49:57.19ID:???
function nextUntil(el, selector){
const result = [];
while(el = el.nextElementSibling){
if(selector && el.matches(selector)){
break;
}
result.push(el);
}
return result;
}
こんな感じか。matchesはIEで動かんからポリフィルを追加して
https://developer.mozilla.org/ja/docs/Web/API/Element/matches
const result = [];
while(el = el.nextElementSibling){
if(selector && el.matches(selector)){
break;
}
result.push(el);
}
return result;
}
こんな感じか。matchesはIEで動かんからポリフィルを追加して
https://developer.mozilla.org/ja/docs/Web/API/Element/matches
2018/11/02(金) 18:30:13.65ID:???
はー
matchesなんてあったんだな
勉強になる
matchesなんてあったんだな
勉強になる
2018/11/02(金) 20:12:43.52ID:???
及川光秀
2018/11/03(土) 07:10:10.07ID:???
function * nextUntil ( el, sel ) {
while ( el = el.nextElementSibling && ! el.matches( sel) )yield el
}
while ( el = el.nextElementSibling && ! el.matches( sel) )yield el
}
711Name_Not_Found
2018/11/03(土) 22:22:33.52ID:6Ec8PRLb2018/11/03(土) 22:44:24.52ID:???
>>710は単なる技術マウントだから無視してよい。
713Name_Not_Found
2018/11/04(日) 02:57:07.43ID:B7aXq2Tw 沖侑果 CMに抜擢!
萩原工業CM (ハミダセ、アミダセ篇 )
http://www.youtube.com/watch?v=LDSJwe6i1kU
萩原工業CM (グローバル・ハミダセ篇)
http://www.youtube.com/watch?v=RiJhTSMp_MI
萩原工業CM (開発・アミダセ篇)
http://www.youtube.com/watch?v=1xxgGGPQmQk
萩原工業CMメイキング映像 (萩原工業×STU48)
http://www.youtube.com/watch?v=EG591Nw3ErA
萩原工業CM (ハミダセ、アミダセ篇 )
http://www.youtube.com/watch?v=LDSJwe6i1kU
萩原工業CM (グローバル・ハミダセ篇)
http://www.youtube.com/watch?v=RiJhTSMp_MI
萩原工業CM (開発・アミダセ篇)
http://www.youtube.com/watch?v=1xxgGGPQmQk
萩原工業CMメイキング映像 (萩原工業×STU48)
http://www.youtube.com/watch?v=EG591Nw3ErA
2018/11/04(日) 03:23:50.49ID:???
技術マウントだからと言って無視するか、
技術を勉強するか
どちらを取るかね?
技術を勉強するか
どちらを取るかね?
2018/11/04(日) 04:32:09.76ID:???
>>711
>>710は代入演算子と論理積演算子の優先順位を間違えているから結果がバグっている。
修正してオプションのfilter足してjqueryのnextUntilの
http://js.studio-kingdom.com/jquery/traversing/next_until
のデモと同じことする使い方を
https://codepen.io/anon/pen/VVwdQB
に上げた。
しかし結果を配列でまとめて取り出す使い方しかしないなら
https://codepen.io/anon/pen/YRzvWa
みたいになりわざわざジェネレータ使う意味ないしこんなことするなら>>707のほうがいいな。
>>710は代入演算子と論理積演算子の優先順位を間違えているから結果がバグっている。
修正してオプションのfilter足してjqueryのnextUntilの
http://js.studio-kingdom.com/jquery/traversing/next_until
のデモと同じことする使い方を
https://codepen.io/anon/pen/VVwdQB
に上げた。
しかし結果を配列でまとめて取り出す使い方しかしないなら
https://codepen.io/anon/pen/YRzvWa
みたいになりわざわざジェネレータ使う意味ないしこんなことするなら>>707のほうがいいな。
2018/11/04(日) 06:28:04.76ID:???
一番いいのはjQueryを使うこと
717Name_Not_Found
2018/11/04(日) 10:01:07.40ID:plxWY2l1 >>715
=>
...
yield
など知らない文法ですが、テストしたら動きました。
大変参考になりました。このコードが理解出来るように勉強します。
ところで707 nextUntilを応用してnextAllを作ってみたのですが、これで良いでしょうか?
function nextAll(el, selector) {
const result = [];
while (el = el.nextElementSibling) {
result.push(el);
}
return result;
}
一つ質問ですが、const指定しているresult変数に値を代入しても良いのですか?
定数なら変更してはいけないような印象を受けるのですが。
=>
...
yield
など知らない文法ですが、テストしたら動きました。
大変参考になりました。このコードが理解出来るように勉強します。
ところで707 nextUntilを応用してnextAllを作ってみたのですが、これで良いでしょうか?
function nextAll(el, selector) {
const result = [];
while (el = el.nextElementSibling) {
result.push(el);
}
return result;
}
一つ質問ですが、const指定しているresult変数に値を代入しても良いのですか?
定数なら変更してはいけないような印象を受けるのですが。
2018/11/04(日) 10:14:41.54ID:???
いいよ
2018/11/04(日) 10:52:13.08ID:???
>>717
再代入はされてない
再代入はされてない
720Name_Not_Found
2018/11/04(日) 11:18:37.07ID:plxWY2l12018/11/04(日) 11:20:32.34ID:???
722Name_Not_Found
2018/11/04(日) 12:15:16.17ID:plxWY2l12018/11/04(日) 13:15:33.79ID:???
CやC+に一切変更ができないconstなんかありません
2018/11/04(日) 13:18:38.69ID:???
chromeだけど、dataスキームで新しいタグ開いてhtmlを表示させたいんだけど
data:text/html;云々をwindow.openするとabout:blankになってしまうたすけて
(data:text/html;云々を直接urlボックスにいれて移動、は表示される)
data:text/html;云々をwindow.openするとabout:blankになってしまうたすけて
(data:text/html;云々を直接urlボックスにいれて移動、は表示される)
2018/11/04(日) 14:00:44.03ID:???
>>724
再現コードをjsfiddleへUP
再現コードをjsfiddleへUP
2018/11/04(日) 14:11:19.81ID:???
2018/11/04(日) 14:36:36.33ID:???
constは名前に対して働くもので値に対して働くものではない
2018/11/04(日) 15:24:02.74ID:???
>>722
そもそもがcのconst勘違いしてないか。
プリミディブ値ならjsのconstでも同じように使えるし、
cではjsのconst OBJ = {a: 1, b: {c: 2}};みたいにオブジェクト直接入れるみたいなことはそもそも出来ない。
ポインタ使うにしたってOBJ.aやOBJ.b.cなどメンバーを書き換えられてしまうことは同じ。
まあやりたいことは分かる…気がする…
以下にdeepFreezeの実装例出てるから参考にしてみたら?
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
こういうことでしょ?違う?
https://codepen.io/anon/pen/EQxJKB
そもそもがcのconst勘違いしてないか。
プリミディブ値ならjsのconstでも同じように使えるし、
cではjsのconst OBJ = {a: 1, b: {c: 2}};みたいにオブジェクト直接入れるみたいなことはそもそも出来ない。
ポインタ使うにしたってOBJ.aやOBJ.b.cなどメンバーを書き換えられてしまうことは同じ。
まあやりたいことは分かる…気がする…
以下にdeepFreezeの実装例出てるから参考にしてみたら?
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
こういうことでしょ?違う?
https://codepen.io/anon/pen/EQxJKB
2018/11/04(日) 15:24:32.56ID:???
>>725
いろんなサイトでconsole開いて実行したので、jsfiddleのコードに書いて実行してしまうと若干挙動が違う気がするので
具体的には
window.open('data:text/html;charset=utf-8,'+encodeURIComponent('<!DOCTYPE html><html lang="en"><body>hoge</body></html>'));
を適当なサイトでコンソール開いて実行
一応jsfiddleでもやってみたけどポップアップ禁止みたいなのが出てきた
https://jsfiddle.net/pLdojb9w/
ポップアップ許可するとabout:blank
いろんなサイトでconsole開いて実行したので、jsfiddleのコードに書いて実行してしまうと若干挙動が違う気がするので
具体的には
window.open('data:text/html;charset=utf-8,'+encodeURIComponent('<!DOCTYPE html><html lang="en"><body>hoge</body></html>'));
を適当なサイトでコンソール開いて実行
一応jsfiddleでもやってみたけどポップアップ禁止みたいなのが出てきた
https://jsfiddle.net/pLdojb9w/
ポップアップ許可するとabout:blank
2018/11/04(日) 15:29:06.49ID:???
731729
2018/11/04(日) 15:31:07.23ID:??? ちなみに用途としては
とあるサイトの画像urlだけをスクレイピングして
htmlで新しいタブに<img src=>みたいに単純表示したいだけ
今までconsoleで<img src="">を出力してコピペ→テキストエディタでhtmlで新規保存
ブラウザで開いてウェブ丸ごと保存ってやってたのでめんどくさくなった
(別のスクリプトやアプリで画像urlだけ抽出してダウンロードしたらいいのではと思うし
都合が良いところはそれでやってるけど)
とあるサイトの画像urlだけをスクレイピングして
htmlで新しいタブに<img src=>みたいに単純表示したいだけ
今までconsoleで<img src="">を出力してコピペ→テキストエディタでhtmlで新規保存
ブラウザで開いてウェブ丸ごと保存ってやってたのでめんどくさくなった
(別のスクリプトやアプリで画像urlだけ抽出してダウンロードしたらいいのではと思うし
都合が良いところはそれでやってるけど)
732729
2018/11/04(日) 15:39:44.04ID:??? あと、document.writeで上書き版もしたけど
ajaxでページロードしてる感じのとこだと続きの画像表示したいときに不便だった
ajaxでページロードしてる感じのとこだと続きの画像表示したいときに不便だった
2018/11/04(日) 17:21:46.38ID:???
dataURI直で新規タブ開いて中身反映されないのはセキュリティ理由によるもの
blob→objectURL化が必要
const blob = new Blob([ '<!DOCTYPE html><html lang="en"><body>hoge</body></html>' ], { type: 'text/html' });
const url = URL.createObjectURL(blob);
window.open(url);
blob→objectURL化が必要
const blob = new Blob([ '<!DOCTYPE html><html lang="en"><body>hoge</body></html>' ], { type: 'text/html' });
const url = URL.createObjectURL(blob);
window.open(url);
735Name_Not_Found
2018/11/04(日) 18:43:51.03ID:plxWY2l12018/11/04(日) 19:09:43.38ID:???
>>733
勉強になった
勉強になった
2018/11/04(日) 21:50:56.98ID:???
漏れは、Ruby で、selenium webdriver, Nokogiri を使って、
5ch の書き込み内から、画像リンクだけを取り出して、
Nokogiri で、img タグを構築して、そのsrc 属性に設定して表示している
ブラウザに、5ch のスレを表示して、結果はそれとは異なる、新しいタブに表示している
driver.execute_script "window.open()" # 新しいタブを開く
driver.switch_to.window ( driver.window_handles.last ) # 新しいタブへ移動する
ERB みたいな、HTML 内にRuby プログラムを書ける、
埋め込みテンプレートを使えば、もっと簡単にできるのだろうけど
5ch の書き込み内から、画像リンクだけを取り出して、
Nokogiri で、img タグを構築して、そのsrc 属性に設定して表示している
ブラウザに、5ch のスレを表示して、結果はそれとは異なる、新しいタブに表示している
driver.execute_script "window.open()" # 新しいタブを開く
driver.switch_to.window ( driver.window_handles.last ) # 新しいタブへ移動する
ERB みたいな、HTML 内にRuby プログラムを書ける、
埋め込みテンプレートを使えば、もっと簡単にできるのだろうけど
2018/11/04(日) 21:56:18.15ID:???
jsならコンソールやブックマークレットでできることをそんな大がかりにしてバカみたい。
で、何をやってるかと思えばjs呼び出してるだけwww
そりゃそうだよなruうんこbyなんてブラウザで動かないもんなwwwww
で、何をやってるかと思えばjs呼び出してるだけwww
そりゃそうだよなruうんこbyなんてブラウザで動かないもんなwwwww
2018/11/04(日) 22:02:25.28ID:???
>>738
> そりゃそうだよなruうんこbyなんてブラウザで動かないもんなwwwww
いつの時代の話してるんだよwww
Ruby2.0はChromeブラウザでネイティブに動くようになりそう
http://hoshi.air-nifty.com/diary/2012/05/ruby20chrome-d6.html
> そりゃそうだよなruうんこbyなんてブラウザで動かないもんなwwwww
いつの時代の話してるんだよwww
Ruby2.0はChromeブラウザでネイティブに動くようになりそう
http://hoshi.air-nifty.com/diary/2012/05/ruby20chrome-d6.html
2018/11/04(日) 22:06:31.07ID:???
>>739
皮肉キツいぜwwwww
皮肉キツいぜwwwww
2018/11/05(月) 03:11:29.05ID:???
echo.jsより容量小さい画像遅延読み込みのスクリプトってあんの?
2018/11/05(月) 06:26:31.41ID:???
2018/11/05(月) 06:57:00.55ID:???
RubyみたいなポンコツエンジンをNative Clientで走らせるとか愚の骨頂の考えだった
WasmにコンパイルしてJSエンジン上で走らせる方がよっぽどパフォーマンス出る可能性がある
WasmにコンパイルしてJSエンジン上で走らせる方がよっぽどパフォーマンス出る可能性がある
744Name_Not_Found
2018/11/06(火) 22:07:50.79ID:G7U6fKUW jQueryだと
$(window).on('resize', data, func);
のようにdataを与える事が出来ますよね。
それを
window.addEventListener('resize', data, func);
とは出来ませんが、どうやれば同じようにdataをfuncにパス出来ますか?
$(window).on('resize', data, func);
のようにdataを与える事が出来ますよね。
それを
window.addEventListener('resize', data, func);
とは出来ませんが、どうやれば同じようにdataをfuncにパス出来ますか?
2018/11/06(火) 22:26:04.96ID:???
クロージャで
746Name_Not_Found
2018/11/06(火) 22:36:13.12ID:G7U6fKUW2018/11/06(火) 22:54:14.02ID:???
>>746
内部的にクロージャーを使っているから
内部的にクロージャーを使っているから
2018/11/06(火) 22:56:17.72ID:???
えっ、なにが疑問なのかよく分かんない…
function chinko(data) {
return 'I love ' + data;
}
function manko(func, data) {
if (!data) data = func.name;
console.log(func(data));
}
let data = 'unko';
manko(chinko); //=> "I love chinko"
manko(chinko, data); //=> "I love unko"
function chinko(data) {
return 'I love ' + data;
}
function manko(func, data) {
if (!data) data = func.name;
console.log(func(data));
}
let data = 'unko';
manko(chinko); //=> "I love chinko"
manko(chinko, data); //=> "I love unko"
2018/11/06(火) 23:02:33.42ID:???
2018/11/06(火) 23:30:28.38ID:???
>>744みたいな疑問が浮かぶ人はjQueryのソースを読んでみるべきだと思う
勉強になるぞ
勉強になるぞ
2018/11/06(火) 23:35:27.27ID:???
>>749
教えてよ。答えらんないの?
教えてよ。答えらんないの?
2018/11/07(水) 00:44:22.26ID:???
2018/11/07(水) 00:56:05.92ID:???
こう?
function chinko(data) {
return function() {
return 'I love ' + data;
}
}
function manko(func) {
console.log(func());
}
let data = 'unko';
manko(chinko(data)); //=> "I love unko"
function chinko(data) {
return function() {
return 'I love ' + data;
}
}
function manko(func) {
console.log(func());
}
let data = 'unko';
manko(chinko(data)); //=> "I love unko"
2018/11/07(水) 01:23:52.55ID:???
違う。クロージャーはmankoの引数にしろ
2018/11/07(水) 01:24:57.72ID:???
そしてdataはクロージャーの引数にしろ
2018/11/07(水) 02:00:00.12ID:???
もういいから教えてよ。
コードで示してくれりゃ分かるのにめんどくさい。
質問に回答するより煙に巻いて指示するのが好きなの?
コードで示してくれりゃ分かるのにめんどくさい。
質問に回答するより煙に巻いて指示するのが好きなの?
2018/11/07(水) 02:09:53.52ID:???
はい。大好きです(笑)
2018/11/07(水) 02:21:09.20ID:???
質問スレに何しに来てんだよ……
こう?
function chinko(data) {
return function() {
return 'I love ' + data;
}
}
function manko(func, data) {
if (!data) data = func.name;
console.log(func(data)());
}
let data = 'unko';
manko(chinko); //=> "I love chinko"
manko(chinko, data); //=> "I love unko"
こう?
function chinko(data) {
return function() {
return 'I love ' + data;
}
}
function manko(func, data) {
if (!data) data = func.name;
console.log(func(data)());
}
let data = 'unko';
manko(chinko); //=> "I love chinko"
manko(chinko, data); //=> "I love unko"
2018/11/07(水) 02:31:49.49ID:???
var clos = function closure( data ) {
return function( ) {
return 'I love ' + data;
}
}
function caller( func ) {
console.log( func() );
}
var data = 'cat';
caller( clos( data ) ); //=> "I love cat"
return function( ) {
return 'I love ' + data;
}
}
function caller( func ) {
console.log( func() );
}
var data = 'cat';
caller( clos( data ) ); //=> "I love cat"
2018/11/07(水) 02:55:16.89ID:???
2018/11/07(水) 03:21:23.96ID:???
>>744より
> では、jQueryの場合、スコープが異なるfuncになぜデータを渡せるんですか?
>
> jQueryだと
> $(window).on('resize', data, func);
> のようにdataを与える事が出来ますよね。
↑ この場合、jQueryのfuncは以下のように定義しますよね?
function func(event, data) {
console.log('I love' + data);
}
でも、>>758を見ると、以下のような書き方でjQueryの場合と全然違います。
何故でしょうか?jQueryはどんなマジックを使っているのでしょうか?疑問です。
function chinko(data) {
return function() {
console.log('I love ' + data);
}
}
--------------------------
>>748
わかったか? お前は何が疑問なのかよくわからないって言ったが、
これが疑問なんだよ。
> では、jQueryの場合、スコープが異なるfuncになぜデータを渡せるんですか?
>
> jQueryだと
> $(window).on('resize', data, func);
> のようにdataを与える事が出来ますよね。
↑ この場合、jQueryのfuncは以下のように定義しますよね?
function func(event, data) {
console.log('I love' + data);
}
でも、>>758を見ると、以下のような書き方でjQueryの場合と全然違います。
何故でしょうか?jQueryはどんなマジックを使っているのでしょうか?疑問です。
function chinko(data) {
return function() {
console.log('I love ' + data);
}
}
--------------------------
>>748
わかったか? お前は何が疑問なのかよくわからないって言ったが、
これが疑問なんだよ。
2018/11/07(水) 06:30:36.29ID:???
2018/11/07(水) 08:05:06.49ID:???
>>744
.on() が内部でコールバック関数を渡す前にクロージャでラップしてるから
ちなみに、>>761はjQueryの動きになってない上、コールバック関数を渡す実装もしていない無視して良い
http://api.jquery.com/on/
最も、addEventListenerなら、handleEvent付きのオブジェクトを指定する方がスマートだと思うが
.on() が内部でコールバック関数を渡す前にクロージャでラップしてるから
ちなみに、>>761はjQueryの動きになってない上、コールバック関数を渡す実装もしていない無視して良い
http://api.jquery.com/on/
最も、addEventListenerなら、handleEvent付きのオブジェクトを指定する方がスマートだと思うが
2018/11/07(水) 08:52:20.84ID:???
いいオチがつきましたね
2018/11/07(水) 11:44:49.22ID:???
function hoge(){ /*この中に重複作業をまとめたいときがある*/ }
例えば
function hoge(x,y){
function sum10(x) { return x+10; }
return [sum10(x),sum10(y)];
}
このsum10は汎用なのでhogeの外にsum10を書いても良いような気がしますが
仮に、hogeだけでしか使わないような関数でも
外に出しておいた方が良いのでしょうか?
今まで、単に見た目の問題なのかな?と思い、適当にやっていたのですが
例えば
function hoge(x,y){
function sum10(x) { return x+10; }
return [sum10(x),sum10(y)];
}
このsum10は汎用なのでhogeの外にsum10を書いても良いような気がしますが
仮に、hogeだけでしか使わないような関数でも
外に出しておいた方が良いのでしょうか?
今まで、単に見た目の問題なのかな?と思い、適当にやっていたのですが
2018/11/07(水) 11:45:31.97ID:???
訂正
>hogeだけでしか
>hogeの中だけでしか
>hogeだけでしか
>hogeの中だけでしか
2018/11/07(水) 12:03:24.66ID:???
>>765
一回しか使うかどうかで、関数にするかどうかを決めるんじゃない。
また同じ処理だからって言うだけで、関数にするのでもない
長いコードがあったとき、読むのが大変になるから、
その中の一部に適切な名前をつけて関数にすることで、名前だけから
やってることがわかるから中を読まなくていい。
読まなくていいから長いコードを読むのが楽になった!
という目的のために、関数にするんだよ
1回しか使わなくても、長いコードを読むのが楽になるなら
関数にするべきだし、関数にしたからと言って、長いコードを読む時に
関数の中まで見ないとやってることがわからないなら、
それは関数にするやり方間違ってる
読むべきコードを減らすのが関数にする目的
だから独自で作るよりも既存のライブラリを使ったほうが良いという話にもつながる
独自で作ると少なくとも一回は中を読まないといけない。
既存のライブラリは、たいてい中を読まないで使ってるだろう?
一回しか使うかどうかで、関数にするかどうかを決めるんじゃない。
また同じ処理だからって言うだけで、関数にするのでもない
長いコードがあったとき、読むのが大変になるから、
その中の一部に適切な名前をつけて関数にすることで、名前だけから
やってることがわかるから中を読まなくていい。
読まなくていいから長いコードを読むのが楽になった!
という目的のために、関数にするんだよ
1回しか使わなくても、長いコードを読むのが楽になるなら
関数にするべきだし、関数にしたからと言って、長いコードを読む時に
関数の中まで見ないとやってることがわからないなら、
それは関数にするやり方間違ってる
読むべきコードを減らすのが関数にする目的
だから独自で作るよりも既存のライブラリを使ったほうが良いという話にもつながる
独自で作ると少なくとも一回は中を読まないといけない。
既存のライブラリは、たいてい中を読まないで使ってるだろう?
2018/11/07(水) 12:19:30.73ID:???
関数ってよりサブルーチンとかプロシージャっぽい説明だね。
2018/11/07(水) 12:25:56.81ID:???
2018/11/07(水) 12:44:11.43ID:???
何か引数を受けて、何かしらの処理をし、何かを返すのがfunction(関数)
プログラムの中で一定の処理をひとまとまりにしてモジュール化したものを
メイン処理と対比して呼ぶのがsub routine(サブルーチン)
プログラムの中で、サブルーチンを作るために作られた
何も返さない関数がprocedure(プロシージャ)
であってるかな
横からですが
プログラムの中で一定の処理をひとまとまりにしてモジュール化したものを
メイン処理と対比して呼ぶのがsub routine(サブルーチン)
プログラムの中で、サブルーチンを作るために作られた
何も返さない関数がprocedure(プロシージャ)
であってるかな
横からですが
2018/11/07(水) 12:56:11.97ID:???
んにゃ、合ってない
それらの用語は各言語仕様やコミュニティ毎に定義されている
それらの用語は各言語仕様やコミュニティ毎に定義されている
2018/11/07(水) 13:23:52.42ID:???
本質的にはあってんじゃない?
いろんな方言的解釈があるのはその通りだが
いろんな方言的解釈があるのはその通りだが
2018/11/07(水) 14:00:38.33ID:???
で、どこが後者の話になってるの?
2018/11/07(水) 14:30:07.56ID:???
> 読むべきコードを減らすのが関数にする目的
???
['80', '9', '700', 40, 1, 5, 200]
.sort((a, b) => a - b);
???
['80', '9', '700', 40, 1, 5, 200]
.sort((a, b) => a - b);
2018/11/07(水) 14:33:41.17ID:???
2018/11/07(水) 14:47:22.52ID:???
2018/11/07(水) 14:52:27.59ID:???
>>776
じゃあsort関数の中身をここにコピペして
じゃあsort関数の中身をここにコピペして
2018/11/07(水) 15:04:11.21ID:???
2018/11/07(水) 15:13:40.55ID:???
>>778
sort関数に渡す引数?
(a, b) => a - b のこと?
なにを突っかかってきてるのか知らんが、
const byAsc = (a, b) => a - b;
const byDesc = (a, b) => b - a;
みたいなの並び替えアルゴリズムとして関数化しておけば、
aからbを引いて・・・ってどういうこと?って
もう読まなくてすみますね。
['80', '9', '700', 40, 1, 5, 200].sort(byAsc);
計算部分を読まなくてすむから楽になった!
sort関数に渡す引数?
(a, b) => a - b のこと?
なにを突っかかってきてるのか知らんが、
const byAsc = (a, b) => a - b;
const byDesc = (a, b) => b - a;
みたいなの並び替えアルゴリズムとして関数化しておけば、
aからbを引いて・・・ってどういうこと?って
もう読まなくてすみますね。
['80', '9', '700', 40, 1, 5, 200].sort(byAsc);
計算部分を読まなくてすむから楽になった!
2018/11/07(水) 15:28:58.55ID:???
(a, b) => a - bは既に関数。それは関数に名前をつけているだけ。
関数化www
関数化www
2018/11/07(水) 15:30:23.11ID:???
だから関数に名前つけるって言ってるじゃん
バカなのかな?
バカなのかな?
2018/11/07(水) 15:30:52.82ID:???
> その中の一部に適切な名前をつけて関数にすることで、名前だけから
2018/11/07(水) 15:36:40.08ID:???
訳:「読むべきコードを減らすのが関数にする目的」というのは嘘でしたすみません!「読むべきコードを減らすのが関数に名前をつける目的」でした!あと関数化とかいうオレオレ用語で混乱させてしまってすみません!
こうかな
こうかな
2018/11/07(水) 15:37:20.51ID:???
いや違うな。名前をつけて関数化したんだから
読むべきコードが減ってる。
重要なのは読むべきコードを減らすこと。
読むべきコードが減ってる。
重要なのは読むべきコードを減らすこと。
2018/11/07(水) 15:37:50.18ID:???
いやはや、また>>783はいつものキチガイなんだろうねw
2018/11/07(水) 15:42:58.80ID:???
2018/11/07(水) 15:45:40.86ID:???
それは関数じゃなくてアロー関数
重要なのは読まなくて良いコードを増やすことなんだが、
そっちへのレスがないってことは、逃げてんだね
重要なのは読まなくて良いコードを増やすことなんだが、
そっちへのレスがないってことは、逃げてんだね
2018/11/07(水) 15:46:35.31ID:???
2018/11/07(水) 15:51:56.72ID:???
790Name_Not_Found
2018/11/07(水) 17:14:19.84ID:D6OVyDfn >>787
なんで?読めばいいじゃん
なんで?読めばいいじゃん
2018/11/07(水) 17:53:16.41ID:???
2018/11/07(水) 17:53:56.85ID:???
.replace().replace().replace()....replace地獄になります
クールな書き方をおしえてください
クールな書き方をおしえてください
2018/11/07(水) 17:56:48.24ID:???
単なる数値ではないソートの場合に名前がめっちゃ長くなりそう
794Name_Not_Found
2018/11/07(水) 18:04:42.39ID:D6OVyDfn >>792
第二引数を関数にして中でゴニョゴニョするとか
第二引数を関数にして中でゴニョゴニョするとか
2018/11/07(水) 18:35:54.90ID:???
>>792
[
['私', '拙者'],
['シッコ', 'ウンコ'],
['マンコ', 'チンコ'],
['好き', '嫌い'],
].reduce((acc, [oldWord, newWord]) => acc.replace(oldWord, newWord), '私は、シッコとマンコが好きです。');
//=> "拙者は、ウンコとチンコが嫌いです。"
[
['私', '拙者'],
['シッコ', 'ウンコ'],
['マンコ', 'チンコ'],
['好き', '嫌い'],
].reduce((acc, [oldWord, newWord]) => acc.replace(oldWord, newWord), '私は、シッコとマンコが好きです。');
//=> "拙者は、ウンコとチンコが嫌いです。"
2018/11/07(水) 18:57:11.04ID:???
それでもいいけどreplacer関数作って渡す方が筋がいいかもな。
2018/11/07(水) 19:27:20.73ID:???
>>791
まあ、そこは本質的なところではないんでどうでもいいんだわw
バカに付き合ってあげただけ
重要なのは、読むべきコードを減らすのが関数にする目的
だ〜れも、なんでもかんでも関数にしろとか言ってない
関数にする基準の話をしてるところに
重箱おじさんが連れたので、つついてあげただけw
まあ、そこは本質的なところではないんでどうでもいいんだわw
バカに付き合ってあげただけ
重要なのは、読むべきコードを減らすのが関数にする目的
だ〜れも、なんでもかんでも関数にしろとか言ってない
関数にする基準の話をしてるところに
重箱おじさんが連れたので、つついてあげただけw
2018/11/07(水) 19:31:48.74ID:???
バカ「バカに付き合ってあげただけ」
重箱つつかれたのはお前ww
重箱つつかれたのはお前ww
2018/11/07(水) 19:33:30.33ID:???
読むコード減らすべきおじさん「読むコード減らす」
まで読んだ
まで読んだ
2018/11/07(水) 19:37:20.82ID:???
面白いように反応してくれるなw
で、いちばん重要な「読まなくて良いコードを増やすこと」には
ほら、反論できないでしょ?w
そういうとこやで
で、いちばん重要な「読まなくて良いコードを増やすこと」には
ほら、反論できないでしょ?w
そういうとこやで
2018/11/07(水) 19:40:26.32ID:???
2018/11/07(水) 19:50:57.64ID:???
すぐ喧嘩するなお前ら
2018/11/07(水) 19:51:16.90ID:???
2018/11/07(水) 19:51:48.97ID:???
2018/11/07(水) 19:52:31.92ID:???
>>800
重要じゃない
重要じゃない
2018/11/07(水) 19:52:51.85ID:???
自演始めたw
2018/11/07(水) 19:54:05.99ID:???
ワロタ
読まなくていいようなこと、そもそも書くなよw
んでそんなもの増やすなw
スクリプト言語なんだから
読まなくていいようなこと、そもそも書くなよw
んでそんなもの増やすなw
スクリプト言語なんだから
2018/11/07(水) 19:59:59.22ID:???
こんなゲームにマジになっちゃってどーするの式逃亡か?w
2018/11/07(水) 20:10:42.52ID:???
>>794-795
ありがとうございます
同じ文字の複数置換がしたかったのでnew RegExpで795しました
あと他にreplaceの第二引数でreplacerも試みたのですが
やり方が悪かったのか今度はif地獄になってしまったので、
根本的に変えて
((str,
reg = new RegExp('[abcd/!/"]','g'),
sub = {
'a':'あ',
'b':'B',
'c':'C',
'd':'D',
'!':'?',
'"':'\''
}) => str.replace(reg,old=>sub[old])
)('abbcdd!"');
// あBBCDD?'
としましたが、見難かったのと
objectのプロパティ名に!とか"とか使わないほうがいい気がしたのでこちらは諦めました
ありがとうございます
同じ文字の複数置換がしたかったのでnew RegExpで795しました
あと他にreplaceの第二引数でreplacerも試みたのですが
やり方が悪かったのか今度はif地獄になってしまったので、
根本的に変えて
((str,
reg = new RegExp('[abcd/!/"]','g'),
sub = {
'a':'あ',
'b':'B',
'c':'C',
'd':'D',
'!':'?',
'"':'\''
}) => str.replace(reg,old=>sub[old])
)('abbcdd!"');
// あBBCDD?'
としましたが、見難かったのと
objectのプロパティ名に!とか"とか使わないほうがいい気がしたのでこちらは諦めました
2018/11/07(水) 20:16:54.30ID:???
解決オメ!
2018/11/07(水) 20:32:11.26ID:???
>>809
見にくいか?
'abbcdd!"'.replace(/[abcd/!/"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\'',
}[old]));
// あBBCDD?'
見にくいか?
'abbcdd!"'.replace(/[abcd/!/"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\'',
}[old]));
// あBBCDD?'
2018/11/07(水) 20:35:20.25ID:???
>>811
訂正
'abbcdd!"'.replace(/[abcd!\"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\''
}[old]));
// あBBCDD?'
訂正
'abbcdd!"'.replace(/[abcd!\"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\''
}[old]));
// あBBCDD?'
2018/11/07(水) 20:38:09.90ID:???
>>812
ごめん再訂正
'abbcdd!"'.replace(/[abcd!"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\''
}[old]));
// あBBCDD?'
ごめん再訂正
'abbcdd!"'.replace(/[abcd!"]/g, old => ({
'a': 'あ',
'b': 'B',
'c': 'C',
'd': 'D',
'!': '?',
'"': '\''
}[old]));
// あBBCDD?'
2018/11/07(水) 20:52:34.68ID:???
毎度思うけど、頭が硬いと思う
'abbcdd!"'.replace(/[abcd!"]/g, old => ({
'a': 'あ', 'b': 'B', 'c': 'C', 'd': 'D', '!': '?', '"': '\''
}[old]));
// あBBCDD?'
改行しろって言われたから、改行してます
理由?知りません。って言いそうだわw
この程度ならこれでいいけどな
const data = { 'a': 'あ', 'b': 'B', 'c': 'C', 'd': 'D', '!': '?', '"': '\'' };
'abbcdd!"'.replace(/[abcd!"]/g, from => data[from]);
'abbcdd!"'.replace(/[abcd!"]/g, old => ({
'a': 'あ', 'b': 'B', 'c': 'C', 'd': 'D', '!': '?', '"': '\''
}[old]));
// あBBCDD?'
改行しろって言われたから、改行してます
理由?知りません。って言いそうだわw
この程度ならこれでいいけどな
const data = { 'a': 'あ', 'b': 'B', 'c': 'C', 'd': 'D', '!': '?', '"': '\'' };
'abbcdd!"'.replace(/[abcd!"]/g, from => data[from]);
2018/11/07(水) 21:03:21.88ID:???
オブジェクトの部分は勝手にコード整形で改行展開されちゃうわ。
全部手動でコードのレイアウト()やってんならそれでいいけどw
全部手動でコードのレイアウト()やってんならそれでいいけどw
2018/11/08(木) 00:16:49.04ID:???
2018/11/08(木) 01:27:28.53ID:???
整形ツールはPrettier
これはVSCodeのプラグイン経由で使ってるわ。デフォルトで使ってるはずだけどこれは展開されるな。
ESLintも使っててチームのスタイルガイドが当たるがこっちも展開されてる。
rule設定で
https://eslint.org/docs/rules/object-curly-newline
の"ObjectExpression"が"always"になってんじゃねえかな。
今確認できんが。
これはVSCodeのプラグイン経由で使ってるわ。デフォルトで使ってるはずだけどこれは展開されるな。
ESLintも使っててチームのスタイルガイドが当たるがこっちも展開されてる。
rule設定で
https://eslint.org/docs/rules/object-curly-newline
の"ObjectExpression"が"always"になってんじゃねえかな。
今確認できんが。
818Name_Not_Found
2018/11/09(金) 00:05:48.65ID:k4MX0uF/ 【環境】 Win7-Pro、主にGoogleChrome(たまにFirefox)
【期待する結果】 文字列型オブジェクトのキー値の参照
例えば obj = {x:100, y:200, 'font-size':16} とあったときに、x は obj.x で 100 と
参照できるのですが 'font-size' のようなキーはどうすれば参照できますか?
そのまま obj.'font-size' とすると
Uncaught SyntaxError: Unexpected string というエラーになります。
【期待する結果】 文字列型オブジェクトのキー値の参照
例えば obj = {x:100, y:200, 'font-size':16} とあったときに、x は obj.x で 100 と
参照できるのですが 'font-size' のようなキーはどうすれば参照できますか?
そのまま obj.'font-size' とすると
Uncaught SyntaxError: Unexpected string というエラーになります。
2018/11/09(金) 00:09:05.33ID:???
>>820
キミに任せた
キミに任せた
2018/11/09(金) 00:44:04.87ID:???
var obj = { x:100, 'font-size':16 };
console.log( obj.x, obj[ 'font-size' ] ); //=> 100 16
console.log( obj.x, obj[ 'font-size' ] ); //=> 100 16
821Name_Not_Found
2018/11/09(金) 01:00:09.37ID:k4MX0uF/ >>820
ありがとうございます
ありがとうございます
2018/11/09(金) 01:19:22.14ID:???
ごくろう
2018/11/09(金) 02:34:46.40ID:???
偉そうな丸投げ君
2018/11/11(日) 23:27:20.76ID:???
関数内の変数は関数が終了するとメモリ開放されるようですが
クロージャ内でも同様でしょうか?
hogeは他から参照はされていません
(function(){
var hoge = 'abcde';
}());
クロージャ内でも同様でしょうか?
hogeは他から参照はされていません
(function(){
var hoge = 'abcde';
}());
2018/11/12(月) 06:46:35.75ID:???
ES仕様にはWeak*系やSABを除いてCGやメモリの定義はない
基本的にJSはメモリを回収しなくても仕様違反とはならないし、
そのタイミングや挙動に関しては完全にブラウザ・実行系依存だから
このスレで聞くのは間違ってる
基本的にJSはメモリを回収しなくても仕様違反とはならないし、
そのタイミングや挙動に関しては完全にブラウザ・実行系依存だから
このスレで聞くのは間違ってる
2018/11/12(月) 11:15:34.20ID:???
> そのタイミングや挙動に関しては完全にブラウザ・実行系依存だから
> このスレで聞くのは間違ってる
はて? このスレはES仕様限定でブラウザ・実行系の話は禁止でしたっけ?
ならDOM APIの話も禁止ですな。
> このスレで聞くのは間違ってる
はて? このスレはES仕様限定でブラウザ・実行系の話は禁止でしたっけ?
ならDOM APIの話も禁止ですな。
2018/11/12(月) 12:49:02.11ID:???
ESにもW3C/WHATWGにも無いなら
ブラウザの名前くらい示してくれないと答えようが無い
ブラウザの名前くらい示してくれないと答えようが無い
2018/11/12(月) 13:11:46.84ID:???
__proto__みたいに仕様のほうが追認することもある(あった)から……
2018/11/12(月) 13:24:35.78ID:???
MathJaxの質問です。
MathJaxのサードパーティーによる追加機能である XyJax を追加したいですが、追加方法が分かりません。
ヘッダには、
script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { extensions: ["AMSmath.js", "AMSsymbols.js", "http://sonoisa.github.io/xyjax_ext/xypic.js"] },
tex2jax: { inlineMath: [['$','$'], ["\\(","\\)"]] }
});
/script>
script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML">
/script>
と書いたのですが、上手く行きません
どうしたらいいですか?
MathJaxのサードパーティーによる追加機能である XyJax を追加したいですが、追加方法が分かりません。
ヘッダには、
script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { extensions: ["AMSmath.js", "AMSsymbols.js", "http://sonoisa.github.io/xyjax_ext/xypic.js"] },
tex2jax: { inlineMath: [['$','$'], ["\\(","\\)"]] }
});
/script>
script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML">
/script>
と書いたのですが、上手く行きません
どうしたらいいですか?
2018/11/12(月) 13:25:36.39ID:???
注意
< script と書き込もうとすると5chから書き込めないといわれたので、
わざと左三角括弧< を削除しました
< script と書き込もうとすると5chから書き込めないといわれたので、
わざと左三角括弧< を削除しました
2018/11/12(月) 13:31:44.12ID:???
>>829
それ作った人はなんて言ってるの?
それ作った人はなんて言ってるの?
2018/11/12(月) 13:54:55.71ID:???
2018/11/12(月) 14:00:58.58ID:???
2018/11/12(月) 14:18:14.16ID:???
2018/11/12(月) 16:25:36.47ID:???
無能ってすぐ人に答えを求めるよな
https://medaka.5ch.net/test/read.cgi/prog/1540885252/
https://medaka.5ch.net/test/read.cgi/prog/1540885252/
2018/11/12(月) 16:26:54.54ID:???
無能ってすぐ人に答えを求めずに時間無駄にするよな
https://mevius.5ch.net/test/read.cgi/tech/1540894449/
https://mevius.5ch.net/test/read.cgi/tech/1540894449/
2018/11/12(月) 21:05:32.87ID:???
2018/11/12(月) 21:27:34.42ID:???
示されてる例がクロージャじゃない件
2018/11/12(月) 21:29:51.34ID:???
>>825は答えられないからそう言ってるだけ
2018/11/12(月) 22:02:53.81ID:???
2018/11/12(月) 22:21:44.40ID:???
IIFEの例じゃないの?letの普及で役割を終えた。
2018/11/13(火) 06:47:42.27ID:???
>>824
メジャーなエンジン実装で言うと
関数が終了したら解法ではなく
定期的に全ての要素を見て回って
ルートから辿れなければ解法の方が近い
実際は別言語間との循環参照だったり
非常にややこしいが
基本的に同期的には開放しない
メジャーなエンジン実装で言うと
関数が終了したら解法ではなく
定期的に全ての要素を見て回って
ルートから辿れなければ解法の方が近い
実際は別言語間との循環参照だったり
非常にややこしいが
基本的に同期的には開放しない
2018/11/13(火) 06:54:35.61ID:???
基本的に同期的には開放しないっていうのは
開放しないってことですか?
開放しないってことですか?
2018/11/13(火) 08:50:47.42ID:???
えっ?今?w 今それ解放する?www って時に解放する。
2018/11/13(火) 09:09:49.29ID:???
2018/11/13(火) 11:06:07.08ID:???
ここは質問するのも自由だし回答するのも自由
他人に口出す必要はない
他人に口出す必要はない
2018/11/13(火) 11:36:08.94ID:???
2018/11/13(火) 11:59:01.84ID:???
2018/11/13(火) 12:38:14.25ID:???
2018/11/13(火) 19:33:02.88ID:???
2018/11/13(火) 20:23:57.82ID:???
本当は解決してないのなら引き続き回答が付く流れになって何が問題なんだ?
何が言いたいんだこいつ、自分自身が何を言ってるのか認識しながら書いてるのか?
何が言いたいんだこいつ、自分自身が何を言ってるのか認識しながら書いてるのか?
2018/11/13(火) 21:43:27.74ID:???
2018/11/13(火) 22:48:17.01ID:???
MathJaxについて質問です
サードパーティーによる拡張機能を追加する時は、どういう記法がいいんですか?
サードパーティーによる拡張機能を追加する時は、どういう記法がいいんですか?
2018/11/13(火) 22:53:27.13ID:???
2018/11/14(水) 06:12:04.52ID:???
2018/11/14(水) 09:45:32.58ID:???
>>855
お前なんか恥ずかしい
お前なんか恥ずかしい
2018/11/14(水) 15:26:53.45ID:???
2018/11/14(水) 20:05:19.08ID:???
2018/11/14(水) 21:02:44.14ID:???
2018/11/14(水) 21:58:54.43ID:???
よ
そ
で
や
れ
まで読んだ
そ
で
や
れ
まで読んだ
2018/11/14(水) 22:53:28.60ID:???
後からコテハンつけてもな
2018/11/17(土) 00:10:54.73ID:???
質問です
class Company {
constructor(){
this.factory = new Factory();
this.shop = new Shop();
}
}
class Factory {
constructor(){}
}
class Shop {
constructor(){}
}
こうしたときに
factoryとshopがお互いを参照するためには
それぞれのインスタンスを作るときに
Companyのthisを渡すので良いのでしょうか?
class Company {
constructor(){
this.factory = new Factory();
this.shop = new Shop();
}
}
class Factory {
constructor(){}
}
class Shop {
constructor(){}
}
こうしたときに
factoryとshopがお互いを参照するためには
それぞれのインスタンスを作るときに
Companyのthisを渡すので良いのでしょうか?
2018/11/17(土) 00:26:19.34ID:???
>>862
良いか悪いかはあなたが判断すること
良いか悪いかはあなたが判断すること
2018/11/17(土) 00:43:04.97ID:???
factory・shop が、お互いを参照するためには、
それよりも1階層上のCompany に、メソッドを定義すればよい
Companyからは、両方へアクセスできるから
それよりも1階層上のCompany に、メソッドを定義すればよい
Companyからは、両方へアクセスできるから
2018/11/17(土) 01:07:09.66ID:???
2018/11/17(土) 06:18:42.13ID:???
>>862
Companyのthisを渡すのが良いね
Companyのthisを渡すのが良いね
867862
2018/11/17(土) 16:11:14.78ID:??? >>863,865,866
あざます
微妙な聞き方ですみませんでした
ベストプラクティスが知りたかったです
コピペプログラマ以前の、まだペーペーでして
class使わずに書いてた時はCompanyの中でこんな感じで
var company = {
constructor : function(){
this.factoty = this.createFactory();
},
createFactory : function(){
var A = this;
var factory = {
constructor : function(){
// ここではAでcompanyが参照できる
}
};
factory.constructor();
return factory;
}
};
コンストラクタ作らずに、直に{}でオプジェクトとして生成してたので
参照に困ることがなかったのですが
これ自体正しいのかわからんし、classで書くにはこうも出来んので
どうするのが良いのか聞いてみた次第でした
ありがとうございました
あざます
微妙な聞き方ですみませんでした
ベストプラクティスが知りたかったです
コピペプログラマ以前の、まだペーペーでして
class使わずに書いてた時はCompanyの中でこんな感じで
var company = {
constructor : function(){
this.factoty = this.createFactory();
},
createFactory : function(){
var A = this;
var factory = {
constructor : function(){
// ここではAでcompanyが参照できる
}
};
factory.constructor();
return factory;
}
};
コンストラクタ作らずに、直に{}でオプジェクトとして生成してたので
参照に困ることがなかったのですが
これ自体正しいのかわからんし、classで書くにはこうも出来んので
どうするのが良いのか聞いてみた次第でした
ありがとうございました
2018/11/17(土) 17:15:08.56ID:???
どういてこましたれ
2018/11/17(土) 19:39:54.37ID:???
ベストプラクティスと言っても魔法の解があるわけじゃないし
JSはいろんな書き方ができる言語だから
結局はその要件・コンテキストでどれだけ自然かってことになる
でもそれってプログラミング関係なくて
実際の「企業」「工業」「店」の関係に置き換えて想像してみたら
もし変なことをしていたりムダがあってもすぐ分かるよ
JSはいろんな書き方ができる言語だから
結局はその要件・コンテキストでどれだけ自然かってことになる
でもそれってプログラミング関係なくて
実際の「企業」「工業」「店」の関係に置き換えて想像してみたら
もし変なことをしていたりムダがあってもすぐ分かるよ
2018/11/17(土) 20:06:38.43ID:???
キモイ
2018/11/17(土) 21:02:18.66ID:???
<script src="js1.js"></script>
<script src="js2.js"></script>
js2からjs1に書いてある関数を実行するにはどうしたらいいでしょうか?
書き込めないので2バイト文字にしてます
<script src="js2.js"></script>
js2からjs1に書いてある関数を実行するにはどうしたらいいでしょうか?
書き込めないので2バイト文字にしてます
2018/11/17(土) 22:13:59.02ID:???
それだけだと普通に呼べばいいのではと思うが
特殊な事情があるならそれを書いて欲しい
特殊な事情があるならそれを書いて欲しい
2018/11/17(土) 23:17:45.59ID:???
まじすか、リファエラー出てて、スコープは問題ないし
見直してみます
見直してみます
2018/11/18(日) 10:35:53.61ID:???
>>871
IE11をサポートしなくて良いなら、
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import
https://mevius.5ch.net/test/read.cgi/hp/1510321470/635 と同じ質問だが、マルチポストか?
内容的にはライブラリ関係ないので、、こっちですべきだが
IE11をサポートしなくて良いなら、
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import
https://mevius.5ch.net/test/read.cgi/hp/1510321470/635 と同じ質問だが、マルチポストか?
内容的にはライブラリ関係ないので、、こっちですべきだが
2018/11/18(日) 14:51:26.73ID:???
>>871,873
今時の奴はマルチポスト先で解決したら、「全てのマルチポスト先で解決方法を書く」程度の礼儀も知らんのか
全員がお前と同じスレを同じタイミングで見ているわけではないんだぞ
解決済みの質問に回答が来てもお前は困らないだろうが、無駄に骨を折らせるだろうが
しかも、スコープの問題ではないといってるし
$(function () {
var a = 1;
});
$(function () {
a; // ReferenceError: a is not defined
});
「それが普通とあれば解決です」といっている辺りからして、コピペコードのネタを探しているだけで理解する気はなさそうだな
今時の奴はマルチポスト先で解決したら、「全てのマルチポスト先で解決方法を書く」程度の礼儀も知らんのか
全員がお前と同じスレを同じタイミングで見ているわけではないんだぞ
解決済みの質問に回答が来てもお前は困らないだろうが、無駄に骨を折らせるだろうが
しかも、スコープの問題ではないといってるし
$(function () {
var a = 1;
});
$(function () {
a; // ReferenceError: a is not defined
});
「それが普通とあれば解決です」といっている辺りからして、コピペコードのネタを探しているだけで理解する気はなさそうだな
2018/11/18(日) 15:45:59.34ID:???
質問者本人は「使いたい関数定義義は $(function の外にだすのが普通、と分かったので他はどうでもいいです」な考えだろうから、相手するだけ無駄って感じ
それはそれとして、moduleも解決策の一つだと思うけど、なぜ向こうではカスタムイベント一択の人が必死になってるんだろ
それはそれとして、moduleも解決策の一つだと思うけど、なぜ向こうではカスタムイベント一択の人が必死になってるんだろ
2018/11/18(日) 15:47:15.84ID:???
それはIEで動かないから。
2018/11/18(日) 15:56:42.73ID:???
jQueryを使えばIEサポートできるよ派が必死になってるのね
カスタムイベント、IEでも使えるんだけどねえ
カスタムイベント、IEでも使えるんだけどねえ
2018/11/18(日) 16:37:35.12ID:???
しかし、グローバル変数を敬遠してカスタムイベントを使うのはどうなんだろうな
カスタムイベントにも衝突のリスクがあるという点では問題が内在している事になるのだが
グローバル変数は一つのオブジェクト内にプロパティ定義すれば、汚染変数を一つに集約できるが、カスタムイベントは複数あれば複数定義してやらねばならない
必ずしも、カスタムイベントに優位性はないと思うんだがな
カスタムイベントにも衝突のリスクがあるという点では問題が内在している事になるのだが
グローバル変数は一つのオブジェクト内にプロパティ定義すれば、汚染変数を一つに集約できるが、カスタムイベントは複数あれば複数定義してやらねばならない
必ずしも、カスタムイベントに優位性はないと思うんだがな
2018/11/18(日) 17:33:16.72ID:???
カスタムイベントの人、衝突のリスクを真面目に考えてはいないと思うな
衝突を回避しようとすると、module一択になると思う
IEに対応するなら、一つのファイルに連結させるぐらいしか思いつかない
衝突を回避しようとすると、module一択になると思う
IEに対応するなら、一つのファイルに連結させるぐらいしか思いつかない
2018/11/18(日) 17:51:25.34ID:???
カスタムイベントもグローバル変数もページ単位でスコープを持っているので、リスクは同等なんだよな
カスタムイベントに「関数をグローバルに定義する必要も importも使う必要もない」といえる程のメリットはない
衝突のリスクがないmoduleとは比較にならない
カスタムイベントに「関数をグローバルに定義する必要も importも使う必要もない」といえる程のメリットはない
衝突のリスクがないmoduleとは比較にならない
2018/11/18(日) 17:58:17.91ID:???
JS全般に言えることだけど衝突してもすぐ分かるので問題にならない
そんな来年になったら衝突しだしたみたいなことはまず起き得ないのだから
そんな来年になったら衝突しだしたみたいなことはまず起き得ないのだから
2018/11/18(日) 18:02:39.12ID:???
> JS全般に言えることだけど衝突してもすぐ分かるので問題にならない
const宣言しておけば、確かにわかるな
だが、カスタムイベントは検知できない
const宣言しておけば、確かにわかるな
だが、カスタムイベントは検知できない
2018/11/18(日) 18:13:24.56ID:???
衝突の問題って自分がa.jsとb.jsを両方管理していればそうそう起きないけど、管理外のc.jsを別の人が加えた時点で発生するんだよね
全てのjsファイルを一人が管理しているなら発生しづらいけど、運用の都合上、編集権限がないjsファイルがあるかもしれない
あるいは、自分が今までに関わっていないサイトの機能拡張を依頼されて、そのサイトのグローバル変数に関するドキュメントがないかもしれない
そういう時に衝突しない仕組み(module)だったり、衝突しても自動的にエラーになる(constでグローバルスコープに宣言)のは大きい
全てのjsファイルを一人が管理しているなら発生しづらいけど、運用の都合上、編集権限がないjsファイルがあるかもしれない
あるいは、自分が今までに関わっていないサイトの機能拡張を依頼されて、そのサイトのグローバル変数に関するドキュメントがないかもしれない
そういう時に衝突しない仕組み(module)だったり、衝突しても自動的にエラーになる(constでグローバルスコープに宣言)のは大きい
2018/11/18(日) 18:14:28.75ID:???
そんな大真面目にバグの可能性をできるだけ検知しようとしなくてもいいじゃん
どうせjQuery使う程度のサイトなんだからさ
そんなちょっとテストしてみてわからないバグなんてクリティカルじゃないよ
あとで気づいたり指摘されたときになおすので十分で
製作時はそんなこと考えずに適当に思いつくままパパっと作ったのでいいじゃない
どうせjQuery使う程度のサイトなんだからさ
どうせjQuery使う程度のサイトなんだからさ
そんなちょっとテストしてみてわからないバグなんてクリティカルじゃないよ
あとで気づいたり指摘されたときになおすので十分で
製作時はそんなこと考えずに適当に思いつくままパパっと作ったのでいいじゃない
どうせjQuery使う程度のサイトなんだからさ
2018/11/18(日) 18:30:20.34ID:???
>>885
君は>>883って事でいいのかな?
> そんなちょっとテストしてみてわからないバグなんてクリティカルじゃないよ
「すぐに発見できないバグ=クリティカルなバグじゃない」は通らないよ
むしろ、すぐに発見できない重大なバグの方が恐ろしいので、早期発見に努めたいと俺は思うね
> どうせjQuery使う程度のサイトなんだからさ
あなたが「品質保証しません」なスタイルなら、いいと思うよ(顧客の信用は失うけど)
https://mevius.5ch.net/test/read.cgi/hp/1510321470/643- は何かしらのポリシーをもって、カスタムイベントを推奨していたみたいだからおかしいとは思ったけどね
君は>>883って事でいいのかな?
> そんなちょっとテストしてみてわからないバグなんてクリティカルじゃないよ
「すぐに発見できないバグ=クリティカルなバグじゃない」は通らないよ
むしろ、すぐに発見できない重大なバグの方が恐ろしいので、早期発見に努めたいと俺は思うね
> どうせjQuery使う程度のサイトなんだからさ
あなたが「品質保証しません」なスタイルなら、いいと思うよ(顧客の信用は失うけど)
https://mevius.5ch.net/test/read.cgi/hp/1510321470/643- は何かしらのポリシーをもって、カスタムイベントを推奨していたみたいだからおかしいとは思ったけどね
2018/11/18(日) 18:37:51.65ID:???
俺は883じゃないよ
そんなバグを潰したければTSも使うしjQueryは使わないよ
jQueryは何となく作ってそれなりに良いようにやってくれるライブラリなのに
それをちょっとでもマシにしようと考える時点で間違ってるんだよ
そんなバグを潰したければTSも使うしjQueryは使わないよ
jQueryは何となく作ってそれなりに良いようにやってくれるライブラリなのに
それをちょっとでもマシにしようと考える時点で間違ってるんだよ
2018/11/18(日) 18:48:32.46ID:???
>>887
君の中ではこういうこと?
低品質コード: jQueryを使ったコード (jQueryで高品質なコードを作ろうとすることが間違っている)
中品質コード: TSとjQueryを使ったコード
高品質コード: TSを使ったコード
ぶっちゃけ、いずれも同様にJSなので品質が変わるのはおかしい気がするけど、TSに君の頭が最適化されているって事かな
jQueryの内部コード読んでると、共感できない実装が多いので、気持ちは分からんでもないけど
君の中ではこういうこと?
低品質コード: jQueryを使ったコード (jQueryで高品質なコードを作ろうとすることが間違っている)
中品質コード: TSとjQueryを使ったコード
高品質コード: TSを使ったコード
ぶっちゃけ、いずれも同様にJSなので品質が変わるのはおかしい気がするけど、TSに君の頭が最適化されているって事かな
jQueryの内部コード読んでると、共感できない実装が多いので、気持ちは分からんでもないけど
2018/11/18(日) 19:11:27.93ID:???
正直、1年前に書いた自分のコードを書き換えようと思っても、細部まで覚えていられる自信はない
直近なら完璧に管理できると思うけど、時間が経てば忘れるので、「自動的にエラーが検知される機構」か「エラーにならない機構」であって欲しいなあ
直近なら完璧に管理できると思うけど、時間が経てば忘れるので、「自動的にエラーが検知される機構」か「エラーにならない機構」であって欲しいなあ
2018/11/18(日) 23:11:37.91ID:???
2018/11/19(月) 01:17:54.54ID:???
2018/11/19(月) 04:29:56.34ID:???
以下に、複数ファイルに分割して、読み込む方法が書いてある
JavaScriptの設計について考える - 機能ごとに分類する
http://tech.leihauoli.com/post/2014/11/10/program-design-1.html
でも、ファイル数が増えると、読み込みが遅くなるから、
webpack などで連結して、1つのファイルにまとめるのが普通
JavaScriptの設計について考える - 機能ごとに分類する
http://tech.leihauoli.com/post/2014/11/10/program-design-1.html
でも、ファイル数が増えると、読み込みが遅くなるから、
webpack などで連結して、1つのファイルにまとめるのが普通
2018/11/19(月) 05:01:24.27ID:???
2018/11/19(月) 05:03:00.74ID:???
つまり、jQueryのカスタムイベントを使う方法は、
名前空間があるから、衝突のリスクも少なく
推奨できる方法というわけか
名前空間があるから、衝突のリスクも少なく
推奨できる方法というわけか
2018/11/19(月) 05:16:20.51ID:???
2018/11/19(月) 05:38:24.46ID:???
共感できるようになるというメリットがある
2018/11/19(月) 05:54:14.63ID:???
なぜこの場合にカスタムイベントが適切かと言うと
>>871の書き込みだけ見てるとわからんのよ
https://mevius.5ch.net/test/read.cgi/hp/1510321470/635-636
こっちをみないと理解できないだろう
そっちを見るとわかるのが、ex_js_2.js から呼び出しているのが
ex_js_1.js が担当しているDOM要素の初期化処理なんだよ
単一責任原則からするとモジュール(ファイル)が分かれているのだから
担当すべきものは別々でなければならない。
ex_js_1.js が担当している処理の内部実装に依存するのは良くない
本来なら ex_js_1.js で完結させるべきことだろう
だがどうしてもex_js_2.jsから呼ばなければいけないというのならば、
モジュール間の結合度を下げるためにイベントを使うのが適切
module使うのもモジュール間の結合度が高まってるのでなんの解決にもなっていない
カスタムイベントと聞いてDOMのカスタムイベントと同様のことしかできないと
思い込んでいる無知がいそうだが、jQueryのカスタムイベントは
名前空間が使えるからかぶるリスクも少ない
そこまで考慮した上でのレスなんだよ
呼べればいいだろレベルの浅い考えの答えとはわけが違う
>>871の書き込みだけ見てるとわからんのよ
https://mevius.5ch.net/test/read.cgi/hp/1510321470/635-636
こっちをみないと理解できないだろう
そっちを見るとわかるのが、ex_js_2.js から呼び出しているのが
ex_js_1.js が担当しているDOM要素の初期化処理なんだよ
単一責任原則からするとモジュール(ファイル)が分かれているのだから
担当すべきものは別々でなければならない。
ex_js_1.js が担当している処理の内部実装に依存するのは良くない
本来なら ex_js_1.js で完結させるべきことだろう
だがどうしてもex_js_2.jsから呼ばなければいけないというのならば、
モジュール間の結合度を下げるためにイベントを使うのが適切
module使うのもモジュール間の結合度が高まってるのでなんの解決にもなっていない
カスタムイベントと聞いてDOMのカスタムイベントと同様のことしかできないと
思い込んでいる無知がいそうだが、jQueryのカスタムイベントは
名前空間が使えるからかぶるリスクも少ない
そこまで考慮した上でのレスなんだよ
呼べればいいだろレベルの浅い考えの答えとはわけが違う
2018/11/19(月) 05:54:49.47ID:???
>>897
それだけしかないという意味でいい?
それだけしかないという意味でいい?
2018/11/19(月) 06:03:39.84ID:???
>>890
> 正直、1年前に書いた自分のコードを書き換えようと思っても、細部まで覚えていられる自信はない
誰でもそう。記憶力に頼って仕事なんてできないし、
そんなものに頼ってはだめ。
だからといってドキュメントをたくさん残せば良いのかと言うと
それも違う。読むものが増えると、その分忘れた記憶を取り戻す時間がかかる
じゃあどうするのかと言うと、結局は読むべきものを減らすということに尽きる
ドキュメントもそうだしコードもそう
プロジェクト依存の知識は、そのプロジェクトから外れると必要なくなる。
つまり忘れる。だからプロジェクトに依存しない知識を使いつつ
より少ないドキュメントやコードで構成しなければいけない
もう分かるね? どんなにjQueryがなくてもできようが、
jQuery使ったほうがコードが減るなら、jQuery使ったほうが良いってことだよ
もちろんjQueryとTSを使ったほうがより良いだろう
TS単体よりもjQuery使ったほうがプロジェクト固有の知識は必要なくなる
> 正直、1年前に書いた自分のコードを書き換えようと思っても、細部まで覚えていられる自信はない
誰でもそう。記憶力に頼って仕事なんてできないし、
そんなものに頼ってはだめ。
だからといってドキュメントをたくさん残せば良いのかと言うと
それも違う。読むものが増えると、その分忘れた記憶を取り戻す時間がかかる
じゃあどうするのかと言うと、結局は読むべきものを減らすということに尽きる
ドキュメントもそうだしコードもそう
プロジェクト依存の知識は、そのプロジェクトから外れると必要なくなる。
つまり忘れる。だからプロジェクトに依存しない知識を使いつつ
より少ないドキュメントやコードで構成しなければいけない
もう分かるね? どんなにjQueryがなくてもできようが、
jQuery使ったほうがコードが減るなら、jQuery使ったほうが良いってことだよ
もちろんjQueryとTSを使ったほうがより良いだろう
TS単体よりもjQuery使ったほうがプロジェクト固有の知識は必要なくなる
2018/11/19(月) 06:59:03.74ID:???
それってjQueryのAPIを忘れないよう未来永劫使い続けること前提じゃん
ライブラリにロックインされるのは嫌だわ
ライブラリにロックインされるのは嫌だわ
2018/11/19(月) 08:18:44.00ID:???
未来永劫、jQueryを使ったほうがコードが減るなら
そうした方が良いのでは?w
そうした方が良いのでは?w
2018/11/19(月) 08:55:45.60ID:???
フレームワークにロックインっていうのならわかるが
ライブラリにロックインってよくわからんな
フレームワークは一つの大きな枠組みだから、
外すときは中身が全てばらばらになってしまうが
ライブラリは、中身で使ってるだけだから、
一つづつ中身を置き換えていける
ロックインってほどのものじゃない
ライブラリにロックインってよくわからんな
フレームワークは一つの大きな枠組みだから、
外すときは中身が全てばらばらになってしまうが
ライブラリは、中身で使ってるだけだから、
一つづつ中身を置き換えていける
ロックインってほどのものじゃない
2018/11/19(月) 09:10:06.39ID:???
>>900
> もう分かるね? どんなにjQueryがなくてもできようが、
> jQuery使ったほうがコードが減るなら、jQuery使ったほうが良いってことだよ
jQueryの内部コードを完全に把握していて、jQueryがバージョンアップする度に更新内容を詳細に知る努力を維持しているならね
根幹のjQueryを他者が完全に把握するのは不可能
> もう分かるね? どんなにjQueryがなくてもできようが、
> jQuery使ったほうがコードが減るなら、jQuery使ったほうが良いってことだよ
jQueryの内部コードを完全に把握していて、jQueryがバージョンアップする度に更新内容を詳細に知る努力を維持しているならね
根幹のjQueryを他者が完全に把握するのは不可能
2018/11/19(月) 09:27:59.59ID:???
> jQueryの内部コードを完全に把握していて、jQueryがバージョンアップする度に更新内容を詳細に知る努力を維持しているならね
そんなこと必要ないのでは?
誰もOSの中身やブラウザの中身なんて完全に把握してないでしょう?
もう少しさ、公平な視線で見れないの?
そんなこと必要ないのでは?
誰もOSの中身やブラウザの中身なんて完全に把握してないでしょう?
もう少しさ、公平な視線で見れないの?
2018/11/19(月) 10:41:03.83ID:???
読むコード減らすべきおじさん
いい加減自重してほしい…
ここは質問スレなんで
自己主張はブログでも作ってそこでやってください
いい加減自重してほしい…
ここは質問スレなんで
自己主張はブログでも作ってそこでやってください
2018/11/19(月) 11:03:44.39ID:???
2018/11/19(月) 12:22:28.72ID:???
議論用スレじゃないのに明らかにおかしいね。
荒らしが足したのかな?
次スレ立てるとき消しとくわ。
荒らしが足したのかな?
次スレ立てるとき消しとくわ。
2018/11/19(月) 12:30:35.39ID:???
>>907
だから自重と書いたのを理解してほしい
だから自重と書いたのを理解してほしい
2018/11/19(月) 12:56:03.85ID:???
>>909
じゃあ、自重してほしいというのをやめてほしい
じゃあ、自重してほしいというのをやめてほしい
2018/11/19(月) 12:56:48.59ID:???
>>908
昔からあるのを勝手に消すな
昔からあるのを勝手に消すな
2018/11/19(月) 13:05:00.37ID:???
ほとんど議論なんだから議論スレ立てて好きにやれば?
2018/11/19(月) 13:40:05.09ID:???
分離する意味ないし
914Name_Not_Found
2018/11/19(月) 14:44:45.01ID:DYe7Rsfm phpやrubyと違ってjavascriptは簡単な言語です、
とか言ってる人もいるけど、間違ってると思いませんか
とか言ってる人もいるけど、間違ってると思いませんか
2018/11/19(月) 15:03:30.18ID:???
思います。
はい次
はい次
2018/11/19(月) 20:24:27.87ID:???
2018/11/19(月) 21:00:32.09ID:???
複数のページにまたがって使えるような定数の集まりや関数など
include的に使いたいとき皆どうしてるんだろう
include的に使いたいとき皆どうしてるんだろう
2018/11/19(月) 21:02:11.71ID:???
それがなかったからバカにされてたんだろうが!
2018/11/19(月) 21:06:06.38ID:???
jsの場合、ファイル分けてもあまり意味がないからincludeしなくなったわ
一つのファイルにまとめている。アナリティクスすら一つのファイル
一つのファイルにまとめている。アナリティクスすら一つのファイル
2018/11/19(月) 21:16:23.86ID:???
つまり各ページで同じことを書いてると
2018/11/19(月) 21:19:16.20ID:???
あれ?jQueryでやるんじゃなかったのかw
2018/11/19(月) 21:23:24.64ID:???
2018/11/19(月) 21:38:39.08ID:???
javascriptウルトラ初心者がいきなりvue.jsやっても良いですか
2018/11/19(月) 22:01:21.65ID:???
いいよ。
次〜
次〜
2018/11/19(月) 22:08:46.80ID:???
2018/11/19(月) 22:14:08.87ID:???
>>925
vue.jsってあんまり普及してないんですかね?
vue.jsってあんまり普及してないんですかね?
2018/11/19(月) 22:27:17.38ID:???
>>926
一時的に普及はしてるけど、いつもの流行り
多分君みたいな「なんか革新的で凄そう!」って人が使ってしまっている
俺もその昔、jquerymobileっての使ってた。今みたらgithubは二年も更新止まってるわ・・・まぁいいけど
こういうのはある程度やってないと分からない
まぁ時間を無駄にしたくなければjQuery使っておけばok
一時的に普及はしてるけど、いつもの流行り
多分君みたいな「なんか革新的で凄そう!」って人が使ってしまっている
俺もその昔、jquerymobileっての使ってた。今みたらgithubは二年も更新止まってるわ・・・まぁいいけど
こういうのはある程度やってないと分からない
まぁ時間を無駄にしたくなければjQuery使っておけばok
2018/11/19(月) 22:29:34.96ID:???
SPAを今の環境でやるには便利だし普及してるとは思う
けど、SPAをもりもり作ってる人ってのがそもそも少ないだろうし
より最適化したものが作られたりUA側の環境が変われば
また変わっていくでしょう
けど、SPAをもりもり作ってる人ってのがそもそも少ないだろうし
より最適化したものが作られたりUA側の環境が変われば
また変わっていくでしょう
2018/11/19(月) 22:42:38.22ID:???
>>922
変更の場合いちいち全部するんだな
変更の場合いちいち全部するんだな
2018/11/19(月) 22:47:26.34ID:???
2018/11/19(月) 22:54:07.62ID:???
>>927
流石に偏見が過ぎる
流石に偏見が過ぎる
2018/11/19(月) 23:05:36.01ID:???
>>927
jquerymobile廃れたじゃんふざけやがって
jquerymobile廃れたじゃんふざけやがって
2018/11/19(月) 23:07:01.65ID:???
2018/11/19(月) 23:23:33.60ID:???
2018/11/19(月) 23:34:22.44ID:???
お、話反らしにきてるな
2018/11/20(火) 00:11:55.25ID:???
>>918
jQueryでいい方法があるよ!
jQueryでいい方法があるよ!
2018/11/20(火) 00:41:20.42ID:???
2018/11/20(火) 00:41:58.78ID:???
2018/11/20(火) 02:07:54.64ID:???
2018/11/20(火) 08:21:29.16ID:???
>>939
さすが圧倒的に可読性が高いRuby!
圧倒的にランクイン!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
さすが圧倒的に可読性が高いRuby!
圧倒的にランクイン!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
2018/11/20(火) 10:59:04.66ID:???
electronでアプリ作ったらソース丸見えなの?
2018/11/20(火) 17:22:45.93ID:???
>>941
本質的には隠せないと言われてんね
本質的には隠せないと言われてんね
2018/11/20(火) 17:23:05.71ID:???
2018/11/20(火) 17:28:35.72ID:???
rubyなんで終わったん?
なんか便利そうだな〜って思ってる内にフェードアウトしていた
なんか便利そうだな〜って思ってる内にフェードアウトしていた
2018/11/20(火) 18:40:16.17ID:???
元々Railsのおかげで流行っただけだし、ある種当然の流れともいえる
2018/11/20(火) 18:44:45.09ID:???
ライブラリの出来の差でpythonに二周差くらいつけられた。
有名な先端のC/C++で書かれたライブラリ(ネイティブ)なんかも大抵Pythonから呼び出すインターフェースを公式で提供されてる。
Rubyだってできるもん!と馬の骨がRubyラッパーを作っても誰もメンテしない始末w
あとディープラーニングなんかはMacでGPUサポートが弱い関係でWindows(やLinux)が主戦場になってるがRubyのコミュニティはWindows蔑視の伝統がありそのツケがまわってきてしまった形w自業自得www
もうRailsのDSLとしてしか息してない。
有名な先端のC/C++で書かれたライブラリ(ネイティブ)なんかも大抵Pythonから呼び出すインターフェースを公式で提供されてる。
Rubyだってできるもん!と馬の骨がRubyラッパーを作っても誰もメンテしない始末w
あとディープラーニングなんかはMacでGPUサポートが弱い関係でWindows(やLinux)が主戦場になってるがRubyのコミュニティはWindows蔑視の伝統がありそのツケがまわってきてしまった形w自業自得www
もうRailsのDSLとしてしか息してない。
2018/11/20(火) 18:47:24.39ID:???
2018/11/20(火) 18:47:36.78ID:???
Pythonって機械学習一発屋じゃなかった?
2018/11/20(火) 18:48:04.22ID:???
>>947
他人は口を出さないように
他人は口を出さないように
2018/11/20(火) 18:50:09.35ID:???
Rails一発屋「Pythonは機械学習一発屋!!」
2018/11/20(火) 18:54:03.53ID:???
2018/11/20(火) 18:56:48.63ID:???
7月生まれだからルビーって名前つけられたのがムカつくわ
パール参考にしてんだからオパールとかでいいのに
パール参考にしてんだからオパールとかでいいのに
2018/11/20(火) 18:57:22.06ID:???
見よ!一発屋Pythonを大きく引き離す圧倒的大人気言語Ruby!!
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg
2018/11/20(火) 19:02:30.39ID:???
ScalaとRustが面白い
2018/11/20(火) 19:03:18.27ID:???
2018/11/20(火) 19:04:05.15ID:???
2018/11/20(火) 19:09:40.91ID:???
>>953
それみたらc++以下は全部オワコンだな
それみたらc++以下は全部オワコンだな
2018/11/20(火) 19:14:01.27ID:???
2018/11/20(火) 20:30:07.26ID:???
rustなんてマニアック言語、ぜったいはやらないわ
2018/11/20(火) 21:01:25.32ID:???
ここに載ること自体立派なもんだ
2018/11/20(火) 22:49:51.64ID:???
rustに失速の可能性はあるよもちろん。
rubyに復活の可能性はないけどwww
rubyに復活の可能性はないけどwww
2018/11/20(火) 22:58:49.12ID:???
>>949
本人です
本人です
2018/11/21(水) 00:04:45.71ID:???
JavaScript強すぎだな
これはもう言語自体に何か人をくすぐる要素があるんだろ
俺にはわからんけど
これはもう言語自体に何か人をくすぐる要素があるんだろ
俺にはわからんけど
2018/11/21(水) 00:47:28.30ID:???
レンタルサーバーでちょろちょろっとサーバーサイドの処理書くから
PHPは消えてほしくないな……
PHPは消えてほしくないな……
2018/11/21(水) 00:49:43.57ID:???
>>963
そういうことではなくてブラウザで動く唯一の言語という特権ではないかな。
今後はwasmがあるからjsの落日が〜とかいうやつもいるけどそんなことには絶対ならない。
だから言語勝負の時は殿堂入りで除外される。
でpython vs rubyだがコミュニティがクズ過ぎてrubyの自滅だったね。
ドキュメント軽視、Windows蔑視、
で逆にドキュメント重視、Windowsにも手厚いコミュニティサポートのPythonがアカデミック領域の真面目な人たちの気を引いて学術ライブラリが充実、
真面目だからメンテもしっかりされてそれがまた人を惹き付けてのポジティブサイクルでgoogleやらにも気に入られて勝負あった。
そういうことではなくてブラウザで動く唯一の言語という特権ではないかな。
今後はwasmがあるからjsの落日が〜とかいうやつもいるけどそんなことには絶対ならない。
だから言語勝負の時は殿堂入りで除外される。
でpython vs rubyだがコミュニティがクズ過ぎてrubyの自滅だったね。
ドキュメント軽視、Windows蔑視、
で逆にドキュメント重視、Windowsにも手厚いコミュニティサポートのPythonがアカデミック領域の真面目な人たちの気を引いて学術ライブラリが充実、
真面目だからメンテもしっかりされてそれがまた人を惹き付けてのポジティブサイクルでgoogleやらにも気に入られて勝負あった。
2018/11/21(水) 00:54:59.40ID:???
GoogleのDartがMSのTypeScriptに負けるあたりも面白い
2018/11/21(水) 01:05:14.37ID:???
ブラウザクラッシャーのjavascriptがこんな立派に成長するなんて
そのうちなくなるだろうって思ってたのに
素質が良かったのと周りに助けられて育ったんだな
そのうちなくなるだろうって思ってたのに
素質が良かったのと周りに助けられて育ったんだな
2018/11/21(水) 01:18:39.48ID:???
育ったのはいいが一旦過去を切り捨ててほしい
2018/11/21(水) 01:20:40.36ID:???
どんな過去?
2018/11/21(水) 03:50:20.43ID:???
真だけを処理する三項演算子の書き方はないのかと思ってググったところ、
同じようなことを考えた人は結構いるようですが、大体「{}無しのif使え」という結論のようでした。
実際のところ、
A===1?B=C:'';
で行けるようなんですが、これだと何か問題あるでしょうか?
同じようなことを考えた人は結構いるようですが、大体「{}無しのif使え」という結論のようでした。
実際のところ、
A===1?B=C:'';
で行けるようなんですが、これだと何か問題あるでしょうか?
2018/11/21(水) 06:59:13.91ID:???
三項である必要がないんだから三項演算子でやろうということが矛盾してる
&&でいいじゃん
&&でいいじゃん
2018/11/21(水) 07:09:33.79ID:???
2018/11/21(水) 07:29:36.64ID:???
何が問題かって、そんなおかしな書き方してたら読みづらくて仕方ない
素直にif使うか、ギリギリ許せて&&だ
素直にif使うか、ギリギリ許せて&&だ
2018/11/21(水) 07:50:12.08ID:???
>>970
三項演算子は式で使う
if節は文(ステートメント)で使う
今回のケースは文
よってif文を使う
使い分けに明確な差がある
逆に
let B
if (A === 1) B = C else B = ""
これなら
const B = A === 1 ? C : ""
と書く
書けるかどうかではなく意味論の話
三項演算子は式で使う
if節は文(ステートメント)で使う
今回のケースは文
よってif文を使う
使い分けに明確な差がある
逆に
let B
if (A === 1) B = C else B = ""
これなら
const B = A === 1 ? C : ""
と書く
書けるかどうかではなく意味論の話
2018/11/21(水) 08:31:13.79ID:???
2018/11/21(水) 12:03:37.57ID:???
2018/11/21(水) 14:10:07.78ID:???
>>965
ここで上がってるJSはnodeの方が多いんではなかろか
ここで上がってるJSはnodeの方が多いんではなかろか
2018/11/21(水) 14:17:43.74ID:???
>>946
WindowsとMacが云々はあまり関係ない気がするなあ
最近はやりの他の言語もさして変わらんし
強いて言えば、Unix/Linux環境ありきの言語なので
Windowsはちと親和性が低いくらいのもんで
関係ないけど
WSLには期待してたんだがなあ…
WindowsとMacが云々はあまり関係ない気がするなあ
最近はやりの他の言語もさして変わらんし
強いて言えば、Unix/Linux環境ありきの言語なので
Windowsはちと親和性が低いくらいのもんで
関係ないけど
WSLには期待してたんだがなあ…
2018/11/21(水) 16:03:50.71ID:???
WSLはめちゃくちゃ使えるし、実際に使ってるけど?
2018/11/21(水) 16:15:29.96ID:???
そういやlindowsってどうなったんだろう
・・・13年前に終了していた
・・・13年前に終了していた
2018/11/21(水) 18:06:28.09ID:???
colinux 64bit
2018/11/22(木) 05:10:16.35ID:???
>>979
Windowsでbashが使えるって触れ込みだったから
てっきりWindowsをシェルで操れるようになるもんだと思ってたんだがなあ
あれじゃあ、単に並列にubuntuが起動して
Windowsのボリュームをマウントしてるだけじゃねえかと
Windowsでbashが使えるって触れ込みだったから
てっきりWindowsをシェルで操れるようになるもんだと思ってたんだがなあ
あれじゃあ、単に並列にubuntuが起動して
Windowsのボリュームをマウントしてるだけじゃねえかと
2018/11/22(木) 05:12:20.86ID:???
すれ違いスマンコ
2018/11/22(木) 06:03:43.01ID:???
>>982
> てっきりWindowsをシェルで操れるようになるもんだと思ってたんだがなあ
操れるよ?
bashからWindowsのコマンドが実行できる(その逆も可能)
だからどんなことでもシェルで扱える
> あれじゃあ、単に並列にubuntuが起動して
> Windowsのボリュームをマウントしてるだけじゃねえかと
Windowsのボリュームをマウントしてるだけなら
UbuntuからWindows用のコマンド実行できないね
> てっきりWindowsをシェルで操れるようになるもんだと思ってたんだがなあ
操れるよ?
bashからWindowsのコマンドが実行できる(その逆も可能)
だからどんなことでもシェルで扱える
> あれじゃあ、単に並列にubuntuが起動して
> Windowsのボリュームをマウントしてるだけじゃねえかと
Windowsのボリュームをマウントしてるだけなら
UbuntuからWindows用のコマンド実行できないね
2018/11/22(木) 08:29:51.82ID:???
2018/11/22(木) 08:30:32.23ID:???
*wsl
2018/11/22(木) 12:58:46.38ID:???
ぼく「~が」
敵「それはWindows側ではなくLinux側の…」
ぼく「sudoで」
敵「だからLinux側の…」
ぼくはwslを諦めた
Windowsは無理に世間に迎合しないで
独自路線突っ走ってればいいんじゃねえのかなあ
会社の文房具としては揺るぎない地位を確立してんだし
敵「それはWindows側ではなくLinux側の…」
ぼく「sudoで」
敵「だからLinux側の…」
ぼくはwslを諦めた
Windowsは無理に世間に迎合しないで
独自路線突っ走ってればいいんじゃねえのかなあ
会社の文房具としては揺るぎない地位を確立してんだし
2018/11/22(木) 14:26:02.87ID:???
>>987
Windows側のHOMEが知りたければ、wslpathで知ることが出来るし、
Windowsの管理者権限がほしいならrunasコマンドを実行すれば?
自分ができないからって、OSのせいにするなよ
> Windowsは無理に世間に迎合しないで
> 独自路線突っ走ってればいいんじゃねえのかなあ
> 会社の文房具としては揺るぎない地位を確立してんだし
そうしてくれないとお前が困るもんねw
これからも文房具だって馬鹿にしたかったのに、
Windowsが本当になんにでも使える道具になってしまった
開発するのはWindowsが一番便利だなんて!
お前は、困るよねw
Windows側のHOMEが知りたければ、wslpathで知ることが出来るし、
Windowsの管理者権限がほしいならrunasコマンドを実行すれば?
自分ができないからって、OSのせいにするなよ
> Windowsは無理に世間に迎合しないで
> 独自路線突っ走ってればいいんじゃねえのかなあ
> 会社の文房具としては揺るぎない地位を確立してんだし
そうしてくれないとお前が困るもんねw
これからも文房具だって馬鹿にしたかったのに、
Windowsが本当になんにでも使える道具になってしまった
開発するのはWindowsが一番便利だなんて!
お前は、困るよねw
2018/11/22(木) 14:26:55.02ID:???
どうしたの急に
よくわかんないけど
俺の愛してるWindowsバカにすんなこのやろう
よくわかんないけど
俺の愛してるWindowsバカにすんなこのやろう
2018/11/22(木) 14:36:29.58ID:???
2018/11/22(木) 16:36:08.13ID:???
みんなちがって みんないい
2018/11/22(木) 18:43:08.89ID:???
2018/11/22(木) 19:08:16.10ID:???
>>992
それ批判するときの使い古された言葉だよw
文房具は安いという前提があって成り立つ批判なんだが
ようするに便利な道具で実際には会社以外でもどこでも使えるわけで
値段を除けば批判する点はなく、値段も別に安くもないので
何一つ批判になってないというw
それ批判するときの使い古された言葉だよw
文房具は安いという前提があって成り立つ批判なんだが
ようするに便利な道具で実際には会社以外でもどこでも使えるわけで
値段を除けば批判する点はなく、値段も別に安くもないので
何一つ批判になってないというw
2018/11/22(木) 21:07:29.67ID:???
WindowsではLinuxが走るけど
LinuxではWindowsが走らない
どっちがいいかは自明
LinuxではWindowsが走らない
どっちがいいかは自明
2018/11/22(木) 21:12:31.61ID:???
vineだかwineだかなかった?
フォントサイズおかしくなったけど普通に動いたぞ
フォントサイズおかしくなったけど普通に動いたぞ
2018/11/22(木) 21:16:32.71ID:???
wineは動くのと動かないの、動かすにしてもコツがいるのなどいろいろあるよ
そろそろさすがにスレチじゃね
そろそろさすがにスレチじゃね
2018/11/22(木) 21:28:55.26ID:???
>プログラミング教育の本格的な導入に向けて実務家や有識者などからなるIT教育再生審議会による審議で、小学校ではRubyを、中学校ではC++を導入することが明らかになった。
2018/11/22(木) 21:30:13.70ID:???
>>997
どんな有識者で話し合うとこういう結論になるんだ、、
どんな有識者で話し合うとこういう結論になるんだ、、
2018/11/22(木) 22:32:48.90ID:???
>>997
どん判金ドブwwwww
どん判金ドブwwwww
1000Name_Not_Found
2018/11/22(木) 22:33:37.44ID:???10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 10時間 2分 45秒
新しいスレッドを立ててください。
life time: 114日 10時間 2分 45秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 加速する若者の「献血」離れ [ぐれ★]
- 【埼玉】「山岳部の生徒が滑落した」県立高の女子生徒が約100m滑落…意識不明で救急搬送 秩父市の御岳山で部活動中 [ぐれ★]
- 【自民】小泉氏 物価高対策 “現金給付や減税含む負担軽減策を” [ぐれ★]
- 前澤友作、主催のゴルフ試合で選手のホール間の喫煙問い合わせに「耳を疑った」「試合中に選手がタバコを吸うってどういう感覚?」 [jinjin★]
- 【日本語】「親子丼」を「おやこどん」と読む人は20代と30代に多い…年代・性別・地域でも差が出る身近な食べ物の呼び方 ★3 [おっさん友の会★]
- 【お笑い】『THE SECOND』ファイナル進出8組決定! ザ・ぼんち、金属バット、囲碁将棋、モンスターエンジン、吉田たちら 5月17日決戦 [冬月記者★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap88
- 【DAZN】フォーミュラGP【F1 F2F3 SF P】Lap1676
- 巨専
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap89
- やくせん
- 競輪実況★1374
- マンCサポーターの日本人、警備員に「ユニフォームを脱がなければ、スタジアムに入れさせない」と言われ、ブチギレ 抗議文を提出 [594040874]
- 【実況】博衣こよりのえちえちRUST🧪 5
- __河野太郎デジタル庁/マイナンバーと銀行口座の紐付け「自動化」を検討 [827565401]
- 【悲報】安倍昭恵「日本は台湾の為に戦います😤」 [616817505]
- ゴミ箱の先にあるお🏡
- 【訃報】この国のオワコン感えぐいよな [943688309]