プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。
ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。
ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/
JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。
※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。
+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
+ JavaScript の質問用スレッド vol.131 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1478053599
前スレ + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1472401404
+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2016/12/21(水) 21:56:53.30ID:xYX0mlO/107デフォルトの名無しさん
2020/12/09(水) 21:51:54.81ID:/YstjyGo >>106
それは要らん。
必要なのは、「簡潔で要領を得た説明」と「的確な例え」だ。
キチガイじゃないから謝罪と賠償なんて要求しないし、
俺は管理人でもないから代表して謝罪を受ける立場でもないし、
それ以前に謝られても失った物は取り戻せないし、何も改善しない。
それをお前らゆとりはそういった形だけのごまかしで切り抜けてきたから今もってクズなんだよ。
何度も言っているが、必要なのは建設的な提案だ。繰り返すが、>>78
「長い」と文句を言うのなら、「簡潔で要領を得た説明」、
「例えが悪い」と言うのなら、もっと「的確な例え」を出す努力義務があるんだよ。
そしてそれが出来ないのなら、文句を言うべきではないし、通常は言ってはいけないとされる。
ここら辺はガキ同士の遊びからでも学べる内容で、それが大人になっても理解出来てないのだからゆとりは終わってる。
ちなみにここら辺のマナーはテンプレにもなってるだろ。今回なら「言い出しっぺがやれの法則」だ。
知らなくてもいいけど、何故それがテンプレなのかはまともな知能があれば理解出来るし、
仮に理解出来なくても、そこでテンプレとされている物にはある程度は従う必要があるんだよ。
それはそれなりの合理的な理由があって存在しているのだから。
(だからまあ、馬鹿であっても、喜々としてテンプレを楽しむ連中は無害なんだよ。
お前らゆとりは独自の価値観で他を全く受け入れないから問題なのであって。マジでお前らの頑固さには驚く)
あとついでに言うと、お前らだいぶ性格が屈折してる。
>>78なんて、お前らが言われたら「上から目線ガー」と発狂すると思うが、お前らは他人には平気で言う。
自分がされたら嫌なことは他人にしてはいけません、ってのは幼稚園児でも理解する内容なのに、ゆとりはこれが出来ない。
実はお前らは「上から目線したいし、するけど、されるのは絶対嫌」という、俺にはよく分からんひねくれ方をしているのかなとは思う。
「マウント」も酷いし。俺ら世代は「マウント」(一方的にボコる)ではなく、「突っ張りあい」(お互いにボコる)なんだよ。
>>105
親ガー親ガーなお前は相当キモイと思うぜ。
それは要らん。
必要なのは、「簡潔で要領を得た説明」と「的確な例え」だ。
キチガイじゃないから謝罪と賠償なんて要求しないし、
俺は管理人でもないから代表して謝罪を受ける立場でもないし、
それ以前に謝られても失った物は取り戻せないし、何も改善しない。
それをお前らゆとりはそういった形だけのごまかしで切り抜けてきたから今もってクズなんだよ。
何度も言っているが、必要なのは建設的な提案だ。繰り返すが、>>78
「長い」と文句を言うのなら、「簡潔で要領を得た説明」、
「例えが悪い」と言うのなら、もっと「的確な例え」を出す努力義務があるんだよ。
そしてそれが出来ないのなら、文句を言うべきではないし、通常は言ってはいけないとされる。
ここら辺はガキ同士の遊びからでも学べる内容で、それが大人になっても理解出来てないのだからゆとりは終わってる。
ちなみにここら辺のマナーはテンプレにもなってるだろ。今回なら「言い出しっぺがやれの法則」だ。
知らなくてもいいけど、何故それがテンプレなのかはまともな知能があれば理解出来るし、
仮に理解出来なくても、そこでテンプレとされている物にはある程度は従う必要があるんだよ。
それはそれなりの合理的な理由があって存在しているのだから。
(だからまあ、馬鹿であっても、喜々としてテンプレを楽しむ連中は無害なんだよ。
お前らゆとりは独自の価値観で他を全く受け入れないから問題なのであって。マジでお前らの頑固さには驚く)
あとついでに言うと、お前らだいぶ性格が屈折してる。
>>78なんて、お前らが言われたら「上から目線ガー」と発狂すると思うが、お前らは他人には平気で言う。
自分がされたら嫌なことは他人にしてはいけません、ってのは幼稚園児でも理解する内容なのに、ゆとりはこれが出来ない。
実はお前らは「上から目線したいし、するけど、されるのは絶対嫌」という、俺にはよく分からんひねくれ方をしているのかなとは思う。
「マウント」も酷いし。俺ら世代は「マウント」(一方的にボコる)ではなく、「突っ張りあい」(お互いにボコる)なんだよ。
>>105
親ガー親ガーなお前は相当キモイと思うぜ。
108デフォルトの名無しさん
2020/12/10(木) 07:39:45.16ID:fOOMoAJP 簡潔に。
109デフォルトの名無しさん
2020/12/10(木) 21:29:16.19ID:zPBkFjIs110デフォルトの名無しさん
2020/12/23(水) 02:54:13.29ID:0hcglhBp templateタグをcloneしてすぐそれにidを追加したいんすけど
なんか無理っぽいですね??
appendした後にその要素を特定する作業(追加した最後の要素を見つける)をしてから
その要素を改めて取得してから、idを追加することはできるみたいですけど
どうにかなりませんかね
なんか無理っぽいですね??
appendした後にその要素を特定する作業(追加した最後の要素を見つける)をしてから
その要素を改めて取得してから、idを追加することはできるみたいですけど
どうにかなりませんかね
111デフォルトの名無しさん
2020/12/23(水) 14:54:21.18ID:+DNtEOeU マルチ
112デフォルトの名無しさん
2021/01/11(月) 03:04:58.47ID:JR6qyFIK コントローラ側にruby使ってます。
フロント側からExcelファイルを選択して
submitボタンでファイルオブジェクトを送った後に
そのファイルデータをコントローラー側で読み取らせ
コントローラ側から処理結果をフロント画面側に返したいです。
ただ、submitだけだと、コントローラ側に渡して終わりになってしまうので
submitボタン押下時にJS側からPostJsonとかで送って、その結果をJS側に返して、
最終的に画面側に[読み取り成功]or[失敗]みたいにしたいのですが
PostJsonで送っても、ファイルオブジェクトとして渡せないので
困っています。どうしたらよいでしょうか??
フロント側からExcelファイルを選択して
submitボタンでファイルオブジェクトを送った後に
そのファイルデータをコントローラー側で読み取らせ
コントローラ側から処理結果をフロント画面側に返したいです。
ただ、submitだけだと、コントローラ側に渡して終わりになってしまうので
submitボタン押下時にJS側からPostJsonとかで送って、その結果をJS側に返して、
最終的に画面側に[読み取り成功]or[失敗]みたいにしたいのですが
PostJsonで送っても、ファイルオブジェクトとして渡せないので
困っています。どうしたらよいでしょうか??
113デフォルトの名無しさん
2021/01/11(月) 09:11:40.78ID:RwOnRvzI 5ch は、マルチポスト禁止です!
5ch内や、どこかのサイトに書いてある、同じ質問を書いてはいけない!
他の場所の質問を取り消してからじゃないと、書き込んではいけない
5ch内や、どこかのサイトに書いてある、同じ質問を書いてはいけない!
他の場所の質問を取り消してからじゃないと、書き込んではいけない
114デフォルトの名無しさん
2021/01/11(月) 16:16:21.50ID:h7h/pzca115デフォルトの名無しさん
2021/01/18(月) 08:48:24.03ID:svUqu+sR paizaのホームにあるコードでHello World表示問題
他言語でもやや難しいのがあるが
Javascriptだけ(言語仕様上仕方無い面もあるが)レベルが違うな
他言語でもやや難しいのがあるが
Javascriptだけ(言語仕様上仕方無い面もあるが)レベルが違うな
116デフォルトの名無しさん
2021/01/18(月) 22:23:47.54ID:NoZiY6OY >>115
そもそもstdinが無い(からNodeになってる)し、色々無理がある。
ただし他言語もstdinの内容を全く使ってないので、
console.log('Hello, world!');
でいいと思うがな。
そもそもstdinが無い(からNodeになってる)し、色々無理がある。
ただし他言語もstdinの内容を全く使ってないので、
console.log('Hello, world!');
でいいと思うがな。
117デフォルトの名無しさん
2021/01/19(火) 14:45:14.91ID:XSrmGQNg わざわざ上の方の配列成分にハロワドを.pushしたのは自分だけか
118デフォルトの名無しさん
2021/01/19(火) 21:45:43.33ID:RlWrzlQv process.stdout.end("Hello World");
で終わりやんけ
で終わりやんけ
119デフォルトの名無しさん
2021/01/22(金) 02:29:19.24ID:pAC29luX DOMParserがエンコードに反応しない?為に文字化けするのだが、これってどうすればいいのだ?
地のページはutf-8でエンコードされており、
クロスドメインでXML(rss)を取ってくるのだが、これがShift_JISでエンコードされている。
当然頭には <?xml version="1.0" encoding="Shift_JIS" ?> と書かれている。
Shift_JISのrss単体を別タブで開くとちゃんと読めるが、utf-8のページから取得すると読めない。
utf-8でエンコードされている他サイトのrssは普通に読める。
DOMParserにはエンコードを指定する方法がない。
というより頭に書いてるので自動で切り替わると勝手に信じていたが、そうなってないようだ。
document の inputEncording、characterSet, charset は全て UTF-8 となっている。
ただ、xmlEncodingは Shift_JIS となっているので、全く反応していないわけではないようだ。
なお正しく動くutf-8のrssの場合は、xmlEnfording も UTF-8 となっている。
TextDecoder で何とかしようと文字化けしている文字列に対し charCodeAt や codePointAt で Uint16Array に変換してみたが、
65533(0xfffd)がやたら多いので、そもそもDOMStringに上手く入っていないっぽい。
これはどうすればいいのだ?
地のページはutf-8でエンコードされており、
クロスドメインでXML(rss)を取ってくるのだが、これがShift_JISでエンコードされている。
当然頭には <?xml version="1.0" encoding="Shift_JIS" ?> と書かれている。
Shift_JISのrss単体を別タブで開くとちゃんと読めるが、utf-8のページから取得すると読めない。
utf-8でエンコードされている他サイトのrssは普通に読める。
DOMParserにはエンコードを指定する方法がない。
というより頭に書いてるので自動で切り替わると勝手に信じていたが、そうなってないようだ。
document の inputEncording、characterSet, charset は全て UTF-8 となっている。
ただ、xmlEncodingは Shift_JIS となっているので、全く反応していないわけではないようだ。
なお正しく動くutf-8のrssの場合は、xmlEnfording も UTF-8 となっている。
TextDecoder で何とかしようと文字化けしている文字列に対し charCodeAt や codePointAt で Uint16Array に変換してみたが、
65533(0xfffd)がやたら多いので、そもそもDOMStringに上手く入っていないっぽい。
これはどうすればいいのだ?
120デフォルトの名無しさん
2021/01/22(金) 11:10:24.32ID:pAC29luX >>119
自己解決しました。
サーバー側で content-type:text/plain としていたせいであり、
XMLHttpRequest.overrideMimeType('application/xml'); で直りました。
65533はREPLACEMENT CHARACTERという文字化け用の文字らしく、
DOMStringに変換する時点で失敗しているので、これを辿っていったら判明しました。
サーバー管理者はちゃんとしてくれ。日テレ、お前のことだぞ。(以下URL)
https://www.news24.jp/rss/index.rdf
自己解決しました。
サーバー側で content-type:text/plain としていたせいであり、
XMLHttpRequest.overrideMimeType('application/xml'); で直りました。
65533はREPLACEMENT CHARACTERという文字化け用の文字らしく、
DOMStringに変換する時点で失敗しているので、これを辿っていったら判明しました。
サーバー管理者はちゃんとしてくれ。日テレ、お前のことだぞ。(以下URL)
https://www.news24.jp/rss/index.rdf
121デフォルトの名無しさん
2021/02/17(水) 13:56:56.26ID:bo7LOn7s クロージャーつかって関数内の静的変数つくるテクニックあるじゃん
あれって無駄にややこしくない?
クロージャー使わないでオブジェクト使えばいいんじゃないか?
静的変数と関数を両方オブジェクトのメンバーにすれば
あれって無駄にややこしくない?
クロージャー使わないでオブジェクト使えばいいんじゃないか?
静的変数と関数を両方オブジェクトのメンバーにすれば
122デフォルトの名無しさん
2021/02/17(水) 14:28:58.61ID:ty0uudwM >>121
それでどうやってオブジェクトでprivateにするんだ?
それでどうやってオブジェクトでprivateにするんだ?
123デフォルトの名無しさん
2021/02/17(水) 16:24:24.66ID:xcIRk5Ik >>121
> 静的変数と関数を両方オブジェクトのメンバーにすれば
それでも問題ないが、指摘されているようにprivateには出来ない。
ただしJava流のprivateは最早手段が目的化しているし、
俺も当初は戸惑ったが、実際問題として全部publicでも何ら問題はない。
だからチームで方針を決めればいいだけ。
君だけで完結しているのなら、その方針でも困ることはないはず。
> あれって無駄にややこしくない?
これは違う。クロージャの方が簡単だし速いからそうしてる。
あと、このメソッドからのみ参照可能とかが簡単に出来るのも大きい。(これは長期的にはものすごく重要)
よって、君の方式のメリットが全くないから誰も使ってないだけ。
ちなみにJSの場合はfunctionもオブジェクトなのでプロパティを生やしてそこに格納も出来るが、
これもメリットがないから誰もやらないだけ。
なおかなり長期にメンテすると、当初privateだった物をpublic的にする必要が出てきたりする。
この場合は普通は君が言ってるような方法で対応することになる。
> 静的変数と関数を両方オブジェクトのメンバーにすれば
それでも問題ないが、指摘されているようにprivateには出来ない。
ただしJava流のprivateは最早手段が目的化しているし、
俺も当初は戸惑ったが、実際問題として全部publicでも何ら問題はない。
だからチームで方針を決めればいいだけ。
君だけで完結しているのなら、その方針でも困ることはないはず。
> あれって無駄にややこしくない?
これは違う。クロージャの方が簡単だし速いからそうしてる。
あと、このメソッドからのみ参照可能とかが簡単に出来るのも大きい。(これは長期的にはものすごく重要)
よって、君の方式のメリットが全くないから誰も使ってないだけ。
ちなみにJSの場合はfunctionもオブジェクトなのでプロパティを生やしてそこに格納も出来るが、
これもメリットがないから誰もやらないだけ。
なおかなり長期にメンテすると、当初privateだった物をpublic的にする必要が出てきたりする。
この場合は普通は君が言ってるような方法で対応することになる。
124デフォルトの名無しさん
2021/02/17(水) 19:45:55.76ID:cBwdq4+S125デフォルトの名無しさん
2021/02/17(水) 22:01:08.47ID:3Rkqt+9c >>121
const makeCounter = (count=0) => () => count += 1
const counter = makeCounter(10)
counter() //=> 11
counter() //=> 12
counter() //=> 13
よくあるような例だけどクロージャ使わない方法でやってみて
const makeCounter = (count=0) => () => count += 1
const counter = makeCounter(10)
counter() //=> 11
counter() //=> 12
counter() //=> 13
よくあるような例だけどクロージャ使わない方法でやってみて
126デフォルトの名無しさん
2021/02/17(水) 22:10:02.73ID:gjncEnw2 Ruby で言えば、クラスみたいなもの
関数スコープでは、スコープ外の変数にアクセスできないけど、
クラス内では、メソッド・display_abc は、インスタンス変数@abc にはアクセスできる
Rubyでは、クラスとは別に、ブロックスコープというクロージャがある。
このスコープでは、スコープ外の変数にアクセスできる
他の言語では、スコープ外の変数を通さない、厳格な関数スコープが無く、
第一級関数をクロージャとしているから、バグが多い
Rubyだけは関数スコープ内に、ブロックスコープを作るクロージャの2段構造で、
関数スコープが厳格で、引数渡しじゃないと、スコープ外の変数にアクセスできない
class A
def initialize( str )
@abc = str
end
def display_abc
puts @abc
end
end
a = A.new( "xyz" )
a.display_abc #=> xyz
関数スコープでは、スコープ外の変数にアクセスできないけど、
クラス内では、メソッド・display_abc は、インスタンス変数@abc にはアクセスできる
Rubyでは、クラスとは別に、ブロックスコープというクロージャがある。
このスコープでは、スコープ外の変数にアクセスできる
他の言語では、スコープ外の変数を通さない、厳格な関数スコープが無く、
第一級関数をクロージャとしているから、バグが多い
Rubyだけは関数スコープ内に、ブロックスコープを作るクロージャの2段構造で、
関数スコープが厳格で、引数渡しじゃないと、スコープ外の変数にアクセスできない
class A
def initialize( str )
@abc = str
end
def display_abc
puts @abc
end
end
a = A.new( "xyz" )
a.display_abc #=> xyz
127デフォルトの名無しさん
2021/02/18(木) 09:18:17.34ID:BYtePDJa javascript で メンバーをprivate にするかpublic にするかの区別が分からんが(全部publicだと思ってる)それは俺には重要じゃない
関数呼び出しを繰り返しても保存される静的変数の話がしたい
それをグローバル変数にせずに関数内に置くためにクロージャを使ってると思ってる
だったらobjectにして関数とひとまとめにするのも同じことじゃないか、と思う
そっちのほうが素直な表現だし
クロージャがそもそも何のために出来たのか? ということが分かれば、腑に落ちるのかもしれんが
そもそもそういうことをするために出来たのだ、ということなら
なんとなくオブジェクトの簡易版という感じがするが
関数呼び出しを繰り返しても保存される静的変数の話がしたい
それをグローバル変数にせずに関数内に置くためにクロージャを使ってると思ってる
だったらobjectにして関数とひとまとめにするのも同じことじゃないか、と思う
そっちのほうが素直な表現だし
クロージャがそもそも何のために出来たのか? ということが分かれば、腑に落ちるのかもしれんが
そもそもそういうことをするために出来たのだ、ということなら
なんとなくオブジェクトの簡易版という感じがするが
128デフォルトの名無しさん
2021/02/18(木) 09:19:29.54ID:BYtePDJa >>125
こんな感じ
function myCounterClass(init=0)
{
this.value = init;
this.count = function () {this.value++;};
}
var mycounter = new myCounterClass(10);
mycounter.count();
mycounter.count();
mycounter.count();
document.write(mycounter.value);
こんな感じ
function myCounterClass(init=0)
{
this.value = init;
this.count = function () {this.value++;};
}
var mycounter = new myCounterClass(10);
mycounter.count();
mycounter.count();
mycounter.count();
document.write(mycounter.value);
129デフォルトの名無しさん
2021/02/18(木) 09:21:11.85ID:BYtePDJa 俺のIDがBYte だ
それとお前らいたんだなw みんなもう死んだのかと思った
それとお前らいたんだなw みんなもう死んだのかと思った
130デフォルトの名無しさん
2021/02/18(木) 09:23:20.60ID:qR1rH4Mn131デフォルトの名無しさん
2021/02/18(木) 09:44:32.35ID:BYtePDJa 釈迦に説法だろうが"クロージャ 目的"でググって見つけたこのページが分かりやすかった
これを読むとやっぱりクロージャは言語に用意されてない機能を無理やり使うための便法という感じがする
慣れてしまえば楽なのかもしれんが
https://dev.techdrive.top/entry/2018/08/19/124731
これを読むとやっぱりクロージャは言語に用意されてない機能を無理やり使うための便法という感じがする
慣れてしまえば楽なのかもしれんが
https://dev.techdrive.top/entry/2018/08/19/124731
132デフォルトの名無しさん
2021/02/18(木) 10:30:00.23ID:BYtePDJa あまり深く意味を考えずに
myFunction = (function() {
var x;
var y;
return function(a, b,…) {関数の定義};
})();
とすれば、自分専用の静的変数(ここではx, y) を持つ関数が定義できる、と思っとくのがよさそうだな
myFunction = (function() {
var x;
var y;
return function(a, b,…) {関数の定義};
})();
とすれば、自分専用の静的変数(ここではx, y) を持つ関数が定義できる、と思っとくのがよさそうだな
133デフォルトの名無しさん
2021/02/18(木) 10:38:43.56ID:Ld9H4alj 静的変数ってJavaやC#のstaticの事言ってるんだろうけど、そのJSのはメンバー変数相当
134デフォルトの名無しさん
2021/02/18(木) 10:51:12.81ID:1zMeI46+ >>130
気持ちは分かるがくだらん小競り合いは止めとけ。
>>127
脱線するが、何がずれてるかを教えておく。
つまりはお前のプログラミング理論の全体像がデタラメなのでみんな適当にエスパーしてるから迷走してるのだが。
> なんとなくオブジェクトの簡易版という感じがするが (127)
クロージャがオブジェクトの簡易版なのは『周知の』事実だ。
ただしクロージャ(Lisp)の方がオブジェクト(Simula)よりも古い。そしてこれらを体系的に纏めたのがOOP(クラス)になる。
そして今時の若者はOOPから入るのだから、
> 静的変数と関数を両方オブジェクトのメンバーにすれば (121)
これを読んだら、「ああ、クラスね」と取られるんだよ。より正確に言えば、頭の「静的」を除去して、
「変数と関数を両方オブジェクトのメンバーにする」=クラスであり、
「クラスのクロージャでprivateガー」はJSにおいては、またこれ?、だから話がそっちに流れる。
そして君の用途ならクラスでは「静的クラス変数」とするものだから130の言い分になる。
見たところお前はOOP/クラスの使い方を理解出来てない。そして
> 関数内の静的変数つくる
と言っているところをみると、もしかしてCしかやってないタイプか?
Cには確かに関数内static変数がある。(130はおそらくこれを知らない。が、知らなくていいし、知るべきでもない)
ただし一般的に「使うな」とされてきたものだからまともな奴なら使わない。
ところが最近の若者がCを習う際には実用ではなく文法から入るようで、
「こんな機能もあるんだ!」「static知ってる俺スゲー」らしく、「そんなん使うなアホ」と言ったら「老害ガー」と逆ギレされる。
そしてお前もこいつら「若害」と同類なのだと思う。
なお、「使うな」とされてるのは、一部仕様が奇妙で信頼出来ないのと、そもそも使う必要がないからだ。
Cにおいては関数は全てstaticであり、つまり関数のインスタンスは常に一つだから、関数内staticなんてグローバルと大差ない。
気持ちは分かるがくだらん小競り合いは止めとけ。
>>127
脱線するが、何がずれてるかを教えておく。
つまりはお前のプログラミング理論の全体像がデタラメなのでみんな適当にエスパーしてるから迷走してるのだが。
> なんとなくオブジェクトの簡易版という感じがするが (127)
クロージャがオブジェクトの簡易版なのは『周知の』事実だ。
ただしクロージャ(Lisp)の方がオブジェクト(Simula)よりも古い。そしてこれらを体系的に纏めたのがOOP(クラス)になる。
そして今時の若者はOOPから入るのだから、
> 静的変数と関数を両方オブジェクトのメンバーにすれば (121)
これを読んだら、「ああ、クラスね」と取られるんだよ。より正確に言えば、頭の「静的」を除去して、
「変数と関数を両方オブジェクトのメンバーにする」=クラスであり、
「クラスのクロージャでprivateガー」はJSにおいては、またこれ?、だから話がそっちに流れる。
そして君の用途ならクラスでは「静的クラス変数」とするものだから130の言い分になる。
見たところお前はOOP/クラスの使い方を理解出来てない。そして
> 関数内の静的変数つくる
と言っているところをみると、もしかしてCしかやってないタイプか?
Cには確かに関数内static変数がある。(130はおそらくこれを知らない。が、知らなくていいし、知るべきでもない)
ただし一般的に「使うな」とされてきたものだからまともな奴なら使わない。
ところが最近の若者がCを習う際には実用ではなく文法から入るようで、
「こんな機能もあるんだ!」「static知ってる俺スゲー」らしく、「そんなん使うなアホ」と言ったら「老害ガー」と逆ギレされる。
そしてお前もこいつら「若害」と同類なのだと思う。
なお、「使うな」とされてるのは、一部仕様が奇妙で信頼出来ないのと、そもそも使う必要がないからだ。
Cにおいては関数は全てstaticであり、つまり関数のインスタンスは常に一つだから、関数内staticなんてグローバルと大差ない。
135デフォルトの名無しさん
2021/02/18(木) 10:51:41.67ID:1zMeI46+ そしてこの辺の雑多な概念を整理して出来上がったのがOOP/クラスだ。
だからクラスを使えば、全て綺麗に書けるようになってる。
逆に言えば、クラスしか使えない言語はエレガントな書き方しか出来ないようになってるが、
クラス文法を使わずにクラスを書けるJSとかだと、グダグダな書き方も出来るというわけだ。
その実例が>>128だ。
this.count はインスタンスに依らず固定値だから、各インスタンスにエントリがあるだけ無駄だ。(メモリを余分に食う)
だからそういったメンバ関数(=メソッド)はプロトタイプに格納して
myCounter.prototype.count = function () {this.value++;};
とし、クラスにするのが正しい。そしてこの場合、valueがインスタンスメンバとなり、private/publicという話が出てくる。
> そっちのほうが素直な表現だし (127)
今お前がやりたいことを記述する場合、もっとも素直な実装は、クラスを使うことなんだよ。
クラスを使うまでもない、というのなら125のようにアロー関数のワンライナーでもいいし、今回ならbindでも代用可能だが、
ちゃんと設計する気ならクラスにしておけ。
周りの連中が最初からクラスの話をしているのもそのため。その用途ならクラスだから。
さらに言うと、Cで言う「関数内静的変数」はクラス文法だと「静的クラス変数」として確保することになってるから、こっちも最初からそういう話になってる。
当たり前だが、クラスは後発の洗練された文法なのだから、先行したグダグダ文法で実装出来たことを記述する能力は持ってる。
ただまあ、127は俺の嫌いなタイプではない。
お前はちゃんと自分で考えてる。ただし浅すぎるが。
でも、文法しか学ぶ気のない最近の若害連中よりは断然いい。
若い連中に知識がないのはある程度仕方ない。考え方とか方向性は合ってるから、他言語とOOPを学べば飛躍すると思うぜ。頑張れ。
だからクラスを使えば、全て綺麗に書けるようになってる。
逆に言えば、クラスしか使えない言語はエレガントな書き方しか出来ないようになってるが、
クラス文法を使わずにクラスを書けるJSとかだと、グダグダな書き方も出来るというわけだ。
その実例が>>128だ。
this.count はインスタンスに依らず固定値だから、各インスタンスにエントリがあるだけ無駄だ。(メモリを余分に食う)
だからそういったメンバ関数(=メソッド)はプロトタイプに格納して
myCounter.prototype.count = function () {this.value++;};
とし、クラスにするのが正しい。そしてこの場合、valueがインスタンスメンバとなり、private/publicという話が出てくる。
> そっちのほうが素直な表現だし (127)
今お前がやりたいことを記述する場合、もっとも素直な実装は、クラスを使うことなんだよ。
クラスを使うまでもない、というのなら125のようにアロー関数のワンライナーでもいいし、今回ならbindでも代用可能だが、
ちゃんと設計する気ならクラスにしておけ。
周りの連中が最初からクラスの話をしているのもそのため。その用途ならクラスだから。
さらに言うと、Cで言う「関数内静的変数」はクラス文法だと「静的クラス変数」として確保することになってるから、こっちも最初からそういう話になってる。
当たり前だが、クラスは後発の洗練された文法なのだから、先行したグダグダ文法で実装出来たことを記述する能力は持ってる。
ただまあ、127は俺の嫌いなタイプではない。
お前はちゃんと自分で考えてる。ただし浅すぎるが。
でも、文法しか学ぶ気のない最近の若害連中よりは断然いい。
若い連中に知識がないのはある程度仕方ない。考え方とか方向性は合ってるから、他言語とOOPを学べば飛躍すると思うぜ。頑張れ。
136デフォルトの名無しさん
2021/02/18(木) 11:38:14.57ID:1zMeI46+ >>131
その手の「プログラミングスクール誘導記事」は全部ゴミだから無視しとけ。
間違いが多すぎる。
初心者的に見分けが付かないのなら、Qiitaやここみたいに、あからさまに間違ってたら突っ込まれる場所だけにしとけ。
あと、MDNは(準)公式だから信頼してもいい。
その記事は典型的な「クラスのprivateをクロージャで」だが、クロージャはprivateを実現する為の物ではない。
むしろ、慣れれば「クロージャがない言語は糞言語だ」と断言出来るようになる。それくらい重要で便利な代物だ。
結果、C++にもJavaにも入って、メジャー言語で使えないのは最早存在しない。
同様にメジャー言語を全制覇した概念はOOP位だ。だから同程度に重要な概念だと言える。
とはいえ、本質的にはクラスとクロージャは同じ概念であり、その実装文法が異なるに過ぎない。
そしてJSは最初からそれを理解していたから、クラスも階層も関数も全部functionになってて、これも初心者が混乱する原因にはなってるが。
だからclass文法なんて使わなくてもクラス(と同等の動作をするもの)はJSでも記述出来、MDNはそうなってるだろ。
class文法はクラス脳の為の補助輪(糖衣構文)であり、本質的な事柄ではない。
と言ってもよく分からないだろうけど、今のお前のレベルからすると、
もうその辺の「プログラミングスクール誘導記事」は読むのを止めた方がいい。マジで全部ゴミだから。
MDN読んどけ。
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/Object-oriented_JS
https://developer.mozilla.org/ja/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
その手の「プログラミングスクール誘導記事」は全部ゴミだから無視しとけ。
間違いが多すぎる。
初心者的に見分けが付かないのなら、Qiitaやここみたいに、あからさまに間違ってたら突っ込まれる場所だけにしとけ。
あと、MDNは(準)公式だから信頼してもいい。
その記事は典型的な「クラスのprivateをクロージャで」だが、クロージャはprivateを実現する為の物ではない。
むしろ、慣れれば「クロージャがない言語は糞言語だ」と断言出来るようになる。それくらい重要で便利な代物だ。
結果、C++にもJavaにも入って、メジャー言語で使えないのは最早存在しない。
同様にメジャー言語を全制覇した概念はOOP位だ。だから同程度に重要な概念だと言える。
とはいえ、本質的にはクラスとクロージャは同じ概念であり、その実装文法が異なるに過ぎない。
そしてJSは最初からそれを理解していたから、クラスも階層も関数も全部functionになってて、これも初心者が混乱する原因にはなってるが。
だからclass文法なんて使わなくてもクラス(と同等の動作をするもの)はJSでも記述出来、MDNはそうなってるだろ。
class文法はクラス脳の為の補助輪(糖衣構文)であり、本質的な事柄ではない。
と言ってもよく分からないだろうけど、今のお前のレベルからすると、
もうその辺の「プログラミングスクール誘導記事」は読むのを止めた方がいい。マジで全部ゴミだから。
MDN読んどけ。
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/Object-oriented_JS
https://developer.mozilla.org/ja/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript
137デフォルトの名無しさん
2021/02/18(木) 12:01:38.80ID:BYtePDJa138デフォルトの名無しさん
2021/02/18(木) 12:03:18.73ID:vQ0bM4Ab >>128
機能的に同じにするなら++は前置でreturnが必要
this.count = function () {return ++this.value;};
クロージャを使わないとthisとnewというJavaScript的にはややこしいものが必要になる
newを忘れるとサイレントにバグる
thisを使ってるのでイベントハンドラやsetIntervalなど関数を受け取る関数にそのまま渡せない
クラスベースになれてるとわかりやすいと感じるかもしれないけど
JavaScript的にはほぼメリットが無いのでクロージャ使うほうが一般的
関数を作って関数を受け渡したい場合に必要もなくnewやthisを使うのは邪魔なので
インスタンスを大量に作るような場合は
prototypeに関数をおいて共有したいので単純なクロージャじゃなくclass相当のものを使う
機能的に同じにするなら++は前置でreturnが必要
this.count = function () {return ++this.value;};
クロージャを使わないとthisとnewというJavaScript的にはややこしいものが必要になる
newを忘れるとサイレントにバグる
thisを使ってるのでイベントハンドラやsetIntervalなど関数を受け取る関数にそのまま渡せない
クラスベースになれてるとわかりやすいと感じるかもしれないけど
JavaScript的にはほぼメリットが無いのでクロージャ使うほうが一般的
関数を作って関数を受け渡したい場合に必要もなくnewやthisを使うのは邪魔なので
インスタンスを大量に作るような場合は
prototypeに関数をおいて共有したいので単純なクロージャじゃなくclass相当のものを使う
139デフォルトの名無しさん
2021/02/18(木) 12:12:11.21ID:smpReQBN JavaScriptはクソ。
140デフォルトの名無しさん
2021/02/18(木) 12:18:52.22ID:1zMeI46+141デフォルトの名無しさん
2021/02/18(木) 12:27:08.76ID:BYtePDJa142デフォルトの名無しさん
2021/02/18(木) 12:28:22.65ID:BYtePDJa 「泥臭く」だったわw
143デフォルトの名無しさん
2021/02/18(木) 13:46:08.90ID:1zMeI46+ >>141
> mycounter.count() をイベントハンドラとして登録してもうまく行くぞ
bindしないと無理だろ。
あと、エレガントに出来ることを「俺が見慣れてない」という理由だけで泥臭くやるのを強いるのは極めて老害だと思うが。
もし君だけで完結してるのならどうぞご自由にだが。
個人的には関数の仮引数に分割代入をまぶしたもの
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions
> https://teratail.com/questions/306663
これは違うだろ、とは思うが。このケースなら以下と書けるのだからそうしろと。
> elements.map(element => element.length); // [8, 6, 7, 9]
というか、関数の仮引数に分割代入をしないと綺麗に書けないケースってあるのか?
> mycounter.count() をイベントハンドラとして登録してもうまく行くぞ
bindしないと無理だろ。
あと、エレガントに出来ることを「俺が見慣れてない」という理由だけで泥臭くやるのを強いるのは極めて老害だと思うが。
もし君だけで完結してるのならどうぞご自由にだが。
個人的には関数の仮引数に分割代入をまぶしたもの
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions
> https://teratail.com/questions/306663
これは違うだろ、とは思うが。このケースなら以下と書けるのだからそうしろと。
> elements.map(element => element.length); // [8, 6, 7, 9]
というか、関数の仮引数に分割代入をしないと綺麗に書けないケースってあるのか?
144デフォルトの名無しさん
2021/02/18(木) 14:40:23.80ID:BYtePDJa >>143
mycounter はクラス名じゃなくてオブジェクトだからmycounter.count()はうまく行くと思う
実際にうまく行く
そうじゃないとオブジェクトである意味がない
bind()が必要になるのは、mycounter.count を別の変数に代入したときだろ
bind は今
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
で初めて知ったがトンでもない世界だな
こんな代入アリなのかよ
アリならデフォルトで"bind()"しとけよ、と思う
module はクラスじゃなくてオブジェクトなんだから
> const retrieveX = module.getX;
> retrieveX();
> // 9 を返します。この関数はグローバルスコープで呼び出されるためです。
mycounter はクラス名じゃなくてオブジェクトだからmycounter.count()はうまく行くと思う
実際にうまく行く
そうじゃないとオブジェクトである意味がない
bind()が必要になるのは、mycounter.count を別の変数に代入したときだろ
bind は今
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
で初めて知ったがトンでもない世界だな
こんな代入アリなのかよ
アリならデフォルトで"bind()"しとけよ、と思う
module はクラスじゃなくてオブジェクトなんだから
> const retrieveX = module.getX;
> retrieveX();
> // 9 を返します。この関数はグローバルスコープで呼び出されるためです。
145デフォルトの名無しさん
2021/02/18(木) 17:18:28.59ID:1zMeI46+146デフォルトの名無しさん
2021/02/18(木) 17:31:17.73ID:qR1rH4Mn >>131
言語の機能の一つがクロージャー
お前が言ってるのは「やっぱり関数は言語に用意されてない機能を無理やり使うための〜」と
言ってるに過ぎない。
そりゃ言語から関数を取り除いたら、関数は用意されてない機能だろうよw
関数がない言語に関数を付け加えたら、用意されてない機能を無理やり〜になるだろうよw
クロージャーは多くの言語に用意されてる標準的な機能で
それがない言語が無理やり実現しようとしてるだけ。クロージャーがないのはJavaぐらいかなw
言語の機能の一つがクロージャー
お前が言ってるのは「やっぱり関数は言語に用意されてない機能を無理やり使うための〜」と
言ってるに過ぎない。
そりゃ言語から関数を取り除いたら、関数は用意されてない機能だろうよw
関数がない言語に関数を付け加えたら、用意されてない機能を無理やり〜になるだろうよw
クロージャーは多くの言語に用意されてる標準的な機能で
それがない言語が無理やり実現しようとしてるだけ。クロージャーがないのはJavaぐらいかなw
147デフォルトの名無しさん
2021/02/18(木) 18:16:30.57ID:BYtePDJa >>145
function myCounterClass(init=0)
{
this.value = init;
this.count = function () {this.value++; document.getElementById("demo").innerHTML = this.value;};
}
var mycounter = new myCounterClass(10);
これで
"demo"ってIDの領域作って、
それと、
button を作ってそのonclick = "mycounter.count()" でやってみてくれ
HTMLタグ貼ろうとすると書けない
function myCounterClass(init=0)
{
this.value = init;
this.count = function () {this.value++; document.getElementById("demo").innerHTML = this.value;};
}
var mycounter = new myCounterClass(10);
これで
"demo"ってIDの領域作って、
それと、
button を作ってそのonclick = "mycounter.count()" でやってみてくれ
HTMLタグ貼ろうとすると書けない
148デフォルトの名無しさん
2021/02/18(木) 19:09:51.10ID:1zMeI46+ >>147
> button を作ってそのonclick = "mycounter.count()" でやってみてくれ
ああなるほど分かった。お前は今やったらグーで殴られるような書き方をしている。
だから通じないんだ。
お前が参考にしている本かサイトが糞過ぎる。全部捨てて、MDNを読め。
それで解決する。
お前がやってる、HTMLに直に、しかもJavaScript「文字列」を貼るってのは、かなり酷くて、
まともなところでは最初からそんなことは教えない。
だから今時の入門サイトにはそんなことが出来ることすら書いてない。
それはレガシーオブレガシーで、15年前なら許されたかもしれんが、それ以降は多分グーで殴られてる。
ただな、プログラミングスクール誘導記事は講師が糞で知識もアップデートされてないから、そういうことはよくある。
だからそういうサイトを読んでは駄目だ。
onclickなら以下になる。お前のコードとは全然違うだろ。
https://developer.mozilla.org/ja/docs/Web/API/Element/click_event
> button を作ってそのonclick = "mycounter.count()" でやってみてくれ
ああなるほど分かった。お前は今やったらグーで殴られるような書き方をしている。
だから通じないんだ。
お前が参考にしている本かサイトが糞過ぎる。全部捨てて、MDNを読め。
それで解決する。
お前がやってる、HTMLに直に、しかもJavaScript「文字列」を貼るってのは、かなり酷くて、
まともなところでは最初からそんなことは教えない。
だから今時の入門サイトにはそんなことが出来ることすら書いてない。
それはレガシーオブレガシーで、15年前なら許されたかもしれんが、それ以降は多分グーで殴られてる。
ただな、プログラミングスクール誘導記事は講師が糞で知識もアップデートされてないから、そういうことはよくある。
だからそういうサイトを読んでは駄目だ。
onclickなら以下になる。お前のコードとは全然違うだろ。
https://developer.mozilla.org/ja/docs/Web/API/Element/click_event
149デフォルトの名無しさん
2021/02/18(木) 19:13:44.87ID:y9RXv00d やっぱプログラマは言葉であーだこーだ言ってないでコード出してなんぼだな
150デフォルトの名無しさん
2021/02/18(木) 20:06:48.49ID:BYtePDJa151デフォルトの名無しさん
2021/02/18(木) 20:39:35.12ID:1zMeI46+ >>150
いやお前の知識は全否定されて然るべきレベルだぞ。
実際、褒めてる奴なんて誰一人いないだろ。
そしてお前はもう既に老害になってる。
新しい書き方は、当然だが古い書き方の問題点を修正して出来てる。
だから、特に問題なければ、新しい書き方で書くべきだ。
この単純な理屈を認められず、自分のやり方に固執するから、老害と言われるわけでさ。
ゆとりは老害の必要条件を「年齢」だとして自分を除外したがるが、そうじゃない。
老害ってのは頭が固いことであり、若くてもお前みたいな奴は該当するんだよ。
(勿論老人に特に多いのは事実として)
とはいえ、まあ、そちらの希望どおり、教えてやらないことにする。
馬鹿なままでいるのも君の自由だし、権利でもある。
いやお前の知識は全否定されて然るべきレベルだぞ。
実際、褒めてる奴なんて誰一人いないだろ。
そしてお前はもう既に老害になってる。
新しい書き方は、当然だが古い書き方の問題点を修正して出来てる。
だから、特に問題なければ、新しい書き方で書くべきだ。
この単純な理屈を認められず、自分のやり方に固執するから、老害と言われるわけでさ。
ゆとりは老害の必要条件を「年齢」だとして自分を除外したがるが、そうじゃない。
老害ってのは頭が固いことであり、若くてもお前みたいな奴は該当するんだよ。
(勿論老人に特に多いのは事実として)
とはいえ、まあ、そちらの希望どおり、教えてやらないことにする。
馬鹿なままでいるのも君の自由だし、権利でもある。
152デフォルトの名無しさん
2021/02/18(木) 20:42:06.59ID:qR1rH4Mn >>151
長文の割に中身がなんにもないぞ
長文の割に中身がなんにもないぞ
153デフォルトの名無しさん
2021/02/18(木) 21:01:54.28ID:1zMeI46+ >>152
とんでもない馬鹿向けに常識を説いただけだから、常識があるお前には何の中身もなくて当然。
小1向けの教科書をお前が今読んでも何の意味もないが、小1にとってはあれも重要なのと同じ。
というか、お前も質問者を責めてる側なんだから、俺に噛みついてくるなよ。
俺と話したいのなら、143の件、再掲すると、
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> elements.map(({ length }) => length); // [8, 6, 7, 9]
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions
仮引数に分割代入をまぶしているこれ、何か意味あるかね?
これをやるメリットが分からん。
とんでもない馬鹿向けに常識を説いただけだから、常識があるお前には何の中身もなくて当然。
小1向けの教科書をお前が今読んでも何の意味もないが、小1にとってはあれも重要なのと同じ。
というか、お前も質問者を責めてる側なんだから、俺に噛みついてくるなよ。
俺と話したいのなら、143の件、再掲すると、
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> elements.map(({ length }) => length); // [8, 6, 7, 9]
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions
仮引数に分割代入をまぶしているこれ、何か意味あるかね?
これをやるメリットが分からん。
154デフォルトの名無しさん
2021/02/18(木) 21:08:34.67ID:qR1rH4Mn やる意味かぁ(苦笑)
まあ、お前のレベルではそうだね
○○しろ→やる意味がわからん
初学者だと勉強中=教科書見て書いてある=○○しろと言われる立場で
自分で何かをしたいという要望がないからそういう流れになるんだよね。
プロは○○しろと言われて、やる意味を考えるんじゃないんだよ
プロは○○したいと思っていて、それを実現する方法を探すんだよ
やる意味がわからないレベルなら、やらなくていいよ
力がつけば○○したいと思うからさ
まあ、お前のレベルではそうだね
○○しろ→やる意味がわからん
初学者だと勉強中=教科書見て書いてある=○○しろと言われる立場で
自分で何かをしたいという要望がないからそういう流れになるんだよね。
プロは○○しろと言われて、やる意味を考えるんじゃないんだよ
プロは○○したいと思っていて、それを実現する方法を探すんだよ
やる意味がわからないレベルなら、やらなくていいよ
力がつけば○○したいと思うからさ
155デフォルトの名無しさん
2021/02/18(木) 21:16:36.79ID:1zMeI46+156デフォルトの名無しさん
2021/02/18(木) 21:28:41.37ID:qR1rH4Mn これ
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> elements.map(({ length }) => length); // [8, 6, 7, 9]
> elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]
> elements.map(({ length }) => length); // [8, 6, 7, 9]
157デフォルトの名無しさん
2021/02/18(木) 21:36:41.02ID:1zMeI46+ >>156
それは143で既に言ってるが、
> elements.map(element => element.length); // [8, 6, 7, 9]
の方がいいだろ。
多分お前は以前俺(または俺と勘違いされてる誰か)に馬鹿にされたか何かで、
無理して俺を貶そうとしているのだと思うが、お前では多分無理だと思うぞ。
ただし、こういうモチベーションを俺は否定しない。
実際それで良いアイデアがでてきたらお互いにとって利益だから。
それは143で既に言ってるが、
> elements.map(element => element.length); // [8, 6, 7, 9]
の方がいいだろ。
多分お前は以前俺(または俺と勘違いされてる誰か)に馬鹿にされたか何かで、
無理して俺を貶そうとしているのだと思うが、お前では多分無理だと思うぞ。
ただし、こういうモチベーションを俺は否定しない。
実際それで良いアイデアがでてきたらお互いにとって利益だから。
158デフォルトの名無しさん
2021/02/18(木) 21:48:50.17ID:vQ0bM4Ab (...args) => args.map(x=> … ).join("")
とか
(obj, [k, v]) => ({ ...obj, [k]: v });
とか
({a, b, ...rest})=>
とか
できないわけじゃないが分割代入使ったほうがスッキリするケースはある
とか
(obj, [k, v]) => ({ ...obj, [k]: v });
とか
({a, b, ...rest})=>
とか
できないわけじゃないが分割代入使ったほうがスッキリするケースはある
159デフォルトの名無しさん
2021/02/18(木) 22:17:02.71ID:1zMeI46+160デフォルトの名無しさん
2021/02/18(木) 22:17:10.38ID:Bh0dg9IZ javascriptって無限ループしてる事を検知する処理作れる?
マルチスレッドで片方のスレッドでメッセージループ作ってそこに来ない=無限ループしてるって判断でいいんだけど
マルチスレッドで片方のスレッドでメッセージループ作ってそこに来ない=無限ループしてるって判断でいいんだけど
161デフォルトの名無しさん
2021/02/18(木) 22:43:56.38ID:UlBwu06v >>128
document.write は、HTML を初期化するから、使わない方が良い
>>147
>HTMLタグ貼ろうとすると書けない
5ch は、HTMLのタグを解釈するから、<scr@ipt> タグは書けない。
だから間に、@を入れてる
ls ーl などのコマンド、cmd.exe なども半角では書けない
確かに最近は、onclick なども使わないけど、
5ch でサンプルで示す場合には良いと思う
仕事では、jQuery, addEventListener などを使う
専門家は、この板よりも、web制作管理板の方にいるから、そちらで聞いた方が良い。
この板のスレは、荒らしが出たときに、緊急避難用に作られただけ
document.write は、HTML を初期化するから、使わない方が良い
>>147
>HTMLタグ貼ろうとすると書けない
5ch は、HTMLのタグを解釈するから、<scr@ipt> タグは書けない。
だから間に、@を入れてる
ls ーl などのコマンド、cmd.exe なども半角では書けない
確かに最近は、onclick なども使わないけど、
5ch でサンプルで示す場合には良いと思う
仕事では、jQuery, addEventListener などを使う
専門家は、この板よりも、web制作管理板の方にいるから、そちらで聞いた方が良い。
この板のスレは、荒らしが出たときに、緊急避難用に作られただけ
162デフォルトの名無しさん
2021/02/18(木) 22:46:25.69ID:1zMeI46+ >>160
エスパーするとお前がやるべきなのは無限ループの検出ではなく setTimeout(func, 0);
ただしお前は単発だから ID:BYtePDJa の可能性があるので子細は説明しない。
文句があるのなら次回からは質問するタイミングを考えろ。
エスパーするとお前がやるべきなのは無限ループの検出ではなく setTimeout(func, 0);
ただしお前は単発だから ID:BYtePDJa の可能性があるので子細は説明しない。
文句があるのなら次回からは質問するタイミングを考えろ。
163デフォルトの名無しさん
2021/02/18(木) 23:24:04.72ID:BYtePDJa お前のその「エスパー」とやらで同一人物かどうか見抜けんのか?
見ぬけんだろうな
俺に対して発揮した「エスパー」もてんで頓珍漢だったからな
そういうとこなんだよお前の「老害」は
その暴言、うぬぼれで他人を嫌な気持ちにさせていることに気付かない
他人がjavascriptにどの程度興味を持っているのかについても感じることが出来ない
みんながみんなお前のように真剣にjavascriptの修行をしていると誤解して、まるで師匠が弟子に対するような厳しい態度を取る
こっちはお前に弟子入りしたつもりなどさらさらないのに
いまどき2chでもお前のような勘違い野郎は珍しい
久しぶりだわムカついたの
見ぬけんだろうな
俺に対して発揮した「エスパー」もてんで頓珍漢だったからな
そういうとこなんだよお前の「老害」は
その暴言、うぬぼれで他人を嫌な気持ちにさせていることに気付かない
他人がjavascriptにどの程度興味を持っているのかについても感じることが出来ない
みんながみんなお前のように真剣にjavascriptの修行をしていると誤解して、まるで師匠が弟子に対するような厳しい態度を取る
こっちはお前に弟子入りしたつもりなどさらさらないのに
いまどき2chでもお前のような勘違い野郎は珍しい
久しぶりだわムカついたの
164デフォルトの名無しさん
2021/02/18(木) 23:37:57.72ID:1zMeI46+165デフォルトの名無しさん
2021/02/19(金) 00:10:32.26ID:U7Kfl++T まだわからねーみたいなだな
お前が、俺にとって何がいいか悪いかを決める資格はねーんだよ
それが分からねーところがお前が「老害」たるゆえんだ
お前が、俺にとって何がいいか悪いかを決める資格はねーんだよ
それが分からねーところがお前が「老害」たるゆえんだ
166デフォルトの名無しさん
2021/02/19(金) 00:17:50.37ID:/F349RGd167デフォルトの名無しさん
2021/02/19(金) 00:30:48.44ID:U7Kfl++T 人に指図をするな
お前にその権利はない
それだけ知っとけ老害野郎
お前にその権利はない
それだけ知っとけ老害野郎
168160
2021/02/19(金) 08:06:22.61ID:WxeWR4wh ありがとうございます。質問タイミングかんがえます。。
169160
2021/02/19(金) 08:15:14.60ID:WxeWR4wh >>162
組込C言語をずっとやっていたため、うまく表現できるかわかりませんがsetTimeoutでは処理の順番がかわるだけでありマルチスレッドにすらならないのでやりたい事とは異なります。
やりたかった事はwatchdogTimerです。片方の処理スレッドで処理を定期的に監視スレッドに通知、監視スレッドにて処理スレッドから定期的な通知が来なければ処理を停止させたいです。
組込C言語をずっとやっていたため、うまく表現できるかわかりませんがsetTimeoutでは処理の順番がかわるだけでありマルチスレッドにすらならないのでやりたい事とは異なります。
やりたかった事はwatchdogTimerです。片方の処理スレッドで処理を定期的に監視スレッドに通知、監視スレッドにて処理スレッドから定期的な通知が来なければ処理を停止させたいです。
170デフォルトの名無しさん
2021/02/19(金) 08:27:37.97ID:7Qyf3bFY171デフォルトの名無しさん
2021/02/19(金) 09:45:07.39ID:SQn3IdCj Workerスレッド使えばできるよ
でもユーザーが入力した任意のコードを実行するのでもなければ無限ループに陥ってることを検出する必要はないと思うんだけどな
でもユーザーが入力した任意のコードを実行するのでもなければ無限ループに陥ってることを検出する必要はないと思うんだけどな
172デフォルトの名無しさん
2021/02/19(金) 10:42:51.45ID:3r79aovE >>169
JavaScriptでウォッチドッグタイマが必要になるケースってほぼ無いというかあったことがない
WDTでやるってことはCPUバウンドな処理があって, そのタイムアウトを扱いたいってことだと思うけど, もしその処理が実際にはCPUバウンドじゃなくてI/OバウンドならsetTimeoutを使うべき
本当にCPUバウンドならそれはそれでJavaScriptでやるべきかどうか微妙だけど
どうせJavaScriptでハードリアルタイムなんて出来ないしCPUバウンドじゃないならスレッド分ける意味もない, スレッド分けてもネイティブスレッドとは限らないから素直に基本シングルスレッド非同期のJavaScriptスタイルに慣れる方がいい
JavaScriptでウォッチドッグタイマが必要になるケースってほぼ無いというかあったことがない
WDTでやるってことはCPUバウンドな処理があって, そのタイムアウトを扱いたいってことだと思うけど, もしその処理が実際にはCPUバウンドじゃなくてI/OバウンドならsetTimeoutを使うべき
本当にCPUバウンドならそれはそれでJavaScriptでやるべきかどうか微妙だけど
どうせJavaScriptでハードリアルタイムなんて出来ないしCPUバウンドじゃないならスレッド分ける意味もない, スレッド分けてもネイティブスレッドとは限らないから素直に基本シングルスレッド非同期のJavaScriptスタイルに慣れる方がいい
173デフォルトの名無しさん
2021/02/19(金) 10:43:15.54ID:SUcss9HT javascriptって初心者向けと言われてるけど、実際はかなり難しくないですか?
174デフォルトの名無しさん
2021/02/19(金) 12:41:37.80ID:ZJMIAFRu 関数型言語ですから、数学的に考えれば簡単ですよ。
175デフォルトの名無しさん
2021/02/19(金) 12:48:05.50ID:/F349RGd >>172
一応突っ込んでおくと、CPUバウンドだからこその setTimeout (=メッセージポンプ)な。
使い方/プログラミング的な意味合いは、君の言ってる setTimeoutループとほぼ同じだが。
一応突っ込んでおくと、CPUバウンドだからこその setTimeout (=メッセージポンプ)な。
使い方/プログラミング的な意味合いは、君の言ってる setTimeoutループとほぼ同じだが。
176160
2021/02/19(金) 23:11:32.07ID:5sukW+yn みなさんありがとうございます。WDT質問したものです。
javascriptでハードウェア制御装置しちゃってるんですよね。
webワーカーでワーカースレッド立ててみてもdom操作できないし制約が大きいんですよね。ワーカースレッドとして使いたい所もhtmlタグを追加していて遅くなっている箇所なので詰んでいます。
CPUバウンドなのはわかるのですが処理の途中で止めたいのでsetTimeoutでは区切りにくいです。やっぱり関数抜けないと別の処理が動かないのがネックです。スレッド毎にラウンドロビン(時間でスレッド処理を切替える)はできないですか?
javascriptでハードウェア制御装置しちゃってるんですよね。
webワーカーでワーカースレッド立ててみてもdom操作できないし制約が大きいんですよね。ワーカースレッドとして使いたい所もhtmlタグを追加していて遅くなっている箇所なので詰んでいます。
CPUバウンドなのはわかるのですが処理の途中で止めたいのでsetTimeoutでは区切りにくいです。やっぱり関数抜けないと別の処理が動かないのがネックです。スレッド毎にラウンドロビン(時間でスレッド処理を切替える)はできないですか?
177デフォルトの名無しさん
2021/02/19(金) 23:28:10.27ID:8W/4DxSU そんなシビアなところをブラウザでってのは頑張れとしか言えない
ただ巨大な計算が発生してるというよりDOMで詰まってる雰囲気がするんだけど
どれくらいの頻度で書き換えてるの?
ただ巨大な計算が発生してるというよりDOMで詰まってる雰囲気がするんだけど
どれくらいの頻度で書き換えてるの?
178160
2021/02/19(金) 23:31:25.57ID:5sukW+yn 一度に大量に状態ランプを並べる処理だいたい数百
それに加えて畳込み演算、ajax通信
畳込み演算はwebgl使ったgpgpu利用
それに加えて畳込み演算、ajax通信
畳込み演算はwebgl使ったgpgpu利用
179160
2021/02/19(金) 23:33:44.51ID:5sukW+yn 書いていてサーバーサイドの無能っぷりにぷりぷりしてきた
180デフォルトの名無しさん
2021/02/20(土) 09:52:22.47ID:eWwdlcu+ >>173
文法は簡単だしパソコンで何もしなくても使える一番手軽な言語だけど、
Hello world 以上のことをしようとするとほかに覚えなきゃならないことが多くて大変だ
HTML, CSS は必須だし
あと、プロの使う超絶技法が解読不能
jQuery.js なんかだと1万行の関数を引数として渡してる
文法は簡単だしパソコンで何もしなくても使える一番手軽な言語だけど、
Hello world 以上のことをしようとするとほかに覚えなきゃならないことが多くて大変だ
HTML, CSS は必須だし
あと、プロの使う超絶技法が解読不能
jQuery.js なんかだと1万行の関数を引数として渡してる
181デフォルトの名無しさん
2021/02/20(土) 09:59:30.33ID:xSEyIqRP182デフォルトの名無しさん
2021/02/20(土) 12:25:50.12ID:eWwdlcu+ 40行目、最後のfunction(…
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
183デフォルトの名無しさん
2021/02/20(土) 13:40:06.63ID:nR8iJ2Ee 普通にscriptタグで読み込む場合とモジュールとしてインポートの両対応のための定石なので難しく考えずに引数で渡してる関数内だけ見ればおk
184デフォルトの名無しさん
2021/02/20(土) 17:07:25.19ID:4GiEl8LD >>173
ゆとりには無理。
意味に関心を持たず、「道の端を歩け」と言っても「指図するな」とブチ切れるのがゆとり。
ソースは ID:BYtePDJa ID:U7Kfl++T
document.writeの使用は、リアルなら「無差別通り魔殺人」級の犯罪で、
逆に俺にはあの仕様が廃止されない理由が分からん。
今更JSを難しいとか言ってる奴って、根本的にこの「俺様ゆとり体質」で、
自分の気に入らないことを全て否定してきているだけ。
結局、誰かに同意してもらえるまでその投稿を繰り返すんだろうし。
多数の人が「比較的簡単」だと認めてるんだから、それ以上でも以下でもない。
お前にとって難しいならお前が比較的馬鹿なだけ。
そもそもゆとりはプログラマに向いてない。
上記のように、「正しいこと」を「指図」し、「間違ったこと」を「お願い」した場合、
上の世代:正しい(=大正義)を指図(=小悪)>間違い(=大悪)をお願い(=小善)となり、「正しいこと」が選択されるが、
ゆとり:正しい(=小善)を指図(=大悪)<間違い(=小悪)をお願い(=大正義)となり、「間違ったこと」が選択される。
プログラマが相手にしているコンピュータは、一切の間違いを認めない。だからゆとりとは相性が悪い。
これが「いまだにJSを難しいと信じたいゆとり」の実際の姿だと思うよ。
そして誰かが「JSは難しい」(=間違い)と優しく言ってくれる(=大正義)のを待っているわけだ。
ゆとりには無理。
意味に関心を持たず、「道の端を歩け」と言っても「指図するな」とブチ切れるのがゆとり。
ソースは ID:BYtePDJa ID:U7Kfl++T
document.writeの使用は、リアルなら「無差別通り魔殺人」級の犯罪で、
逆に俺にはあの仕様が廃止されない理由が分からん。
今更JSを難しいとか言ってる奴って、根本的にこの「俺様ゆとり体質」で、
自分の気に入らないことを全て否定してきているだけ。
結局、誰かに同意してもらえるまでその投稿を繰り返すんだろうし。
多数の人が「比較的簡単」だと認めてるんだから、それ以上でも以下でもない。
お前にとって難しいならお前が比較的馬鹿なだけ。
そもそもゆとりはプログラマに向いてない。
上記のように、「正しいこと」を「指図」し、「間違ったこと」を「お願い」した場合、
上の世代:正しい(=大正義)を指図(=小悪)>間違い(=大悪)をお願い(=小善)となり、「正しいこと」が選択されるが、
ゆとり:正しい(=小善)を指図(=大悪)<間違い(=小悪)をお願い(=大正義)となり、「間違ったこと」が選択される。
プログラマが相手にしているコンピュータは、一切の間違いを認めない。だからゆとりとは相性が悪い。
これが「いまだにJSを難しいと信じたいゆとり」の実際の姿だと思うよ。
そして誰かが「JSは難しい」(=間違い)と優しく言ってくれる(=大正義)のを待っているわけだ。
185デフォルトの名無しさん
2021/02/20(土) 17:07:46.88ID:4GiEl8LD なお、構ってちゃんならウザイから死ね。
これは俺のみではなく、本当に、プログラミング界隈では構ってちゃんは死ねと思われてるから、止めた方がいい。
構ってちゃん/あげたいちゃんは、もっとウェーイ界隈に行った方がいい。
プログラミング界隈はgeekだnerdだと馬鹿にされてるが、
逆に言えば、そういう奴等の方が向いてるから集まってるだけ。
そうなれないならマジで止めとけ。お互いに不幸なだけだから。
なお、これを「俺が変えてやる!」みたいなのもマジで迷惑だから止めとけ。
根本的な原因は俺らの上司であるコンピュータ様が「コードが正しければok、他は何も関係ない」という価値観であり、
結果的に世界中のプログラマが「朱に交われば赤くなる」でその価値観に染まっている事による。
結果、ゲイもブスもトランスジェンダーも、朝型も夜型も関係ない、
お菓子食べて音楽を聴きながらコーディングしてもガッツリ動くなら問題ない、という連中が集まってる。
そして他界隈からは、あいつらは弛んでる、けしからん、と見られてる。
どっちが良いかはさておき、
この「コードが正しければok、他は何も関係ない」という価値観に染まれないのなら、プログラマには向いてない。
こんな匿名掲示板上ですら、内容が正しいとしても言い方が気に入らない、と感じてるようでは話にならない。
逆に、上司であろうが間違いをキッパリ指摘出来るような奴の方が向いてる。
(まあこの意味では日本は文化的にプログラマに向いて無く、実際酷いわけだが)
これは俺のみではなく、本当に、プログラミング界隈では構ってちゃんは死ねと思われてるから、止めた方がいい。
構ってちゃん/あげたいちゃんは、もっとウェーイ界隈に行った方がいい。
プログラミング界隈はgeekだnerdだと馬鹿にされてるが、
逆に言えば、そういう奴等の方が向いてるから集まってるだけ。
そうなれないならマジで止めとけ。お互いに不幸なだけだから。
なお、これを「俺が変えてやる!」みたいなのもマジで迷惑だから止めとけ。
根本的な原因は俺らの上司であるコンピュータ様が「コードが正しければok、他は何も関係ない」という価値観であり、
結果的に世界中のプログラマが「朱に交われば赤くなる」でその価値観に染まっている事による。
結果、ゲイもブスもトランスジェンダーも、朝型も夜型も関係ない、
お菓子食べて音楽を聴きながらコーディングしてもガッツリ動くなら問題ない、という連中が集まってる。
そして他界隈からは、あいつらは弛んでる、けしからん、と見られてる。
どっちが良いかはさておき、
この「コードが正しければok、他は何も関係ない」という価値観に染まれないのなら、プログラマには向いてない。
こんな匿名掲示板上ですら、内容が正しいとしても言い方が気に入らない、と感じてるようでは話にならない。
逆に、上司であろうが間違いをキッパリ指摘出来るような奴の方が向いてる。
(まあこの意味では日本は文化的にプログラマに向いて無く、実際酷いわけだが)
186デフォルトの名無しさん
2021/02/20(土) 19:57:59.29ID:xSEyIqRP >>182
それのソースコードはこれな
https://github.com/jquery/jquery/blob/main/src/wrapper.js
> jQuery.js なんかだと1万行の関数を引数として渡してる
これはビルド済みのコードでそうなってるだけで
実際のソースコードは1万行の関数を引数として渡したりしてない
お前はプロの使う超絶技法が解読不能なのではなく
JavaScript業界でよく使われるビルドという基礎知識を知らないだけなのだ
君は、初心者だよ、初心者w
それのソースコードはこれな
https://github.com/jquery/jquery/blob/main/src/wrapper.js
> jQuery.js なんかだと1万行の関数を引数として渡してる
これはビルド済みのコードでそうなってるだけで
実際のソースコードは1万行の関数を引数として渡したりしてない
お前はプロの使う超絶技法が解読不能なのではなく
JavaScript業界でよく使われるビルドという基礎知識を知らないだけなのだ
君は、初心者だよ、初心者w
187デフォルトの名無しさん
2021/02/20(土) 20:56:30.97ID:eWwdlcu+ >>184-185
今は、お前より優秀でお前よりまともに人と関われる人多いから、
めんどくさいお前のようなやつはもう邪魔なだけだよ
独りよがりの「指導」で周りのモチベーション下がるし
これを老害と呼ばずしてなんと呼ぶ?
ま、お前が働いていたらの話だがな
>>186
おまえが>>181 で出してきた https://code.jquery.com/jquery-3.5.1.js では1万行の無名関数を渡してるじゃないか
俺はjQuery.js ではそうなってるって書いた
事実そうなっている
wrapper.js を持ち出してきて俺の書いたことを否定するのは筋が通らん
今は、お前より優秀でお前よりまともに人と関われる人多いから、
めんどくさいお前のようなやつはもう邪魔なだけだよ
独りよがりの「指導」で周りのモチベーション下がるし
これを老害と呼ばずしてなんと呼ぶ?
ま、お前が働いていたらの話だがな
>>186
おまえが>>181 で出してきた https://code.jquery.com/jquery-3.5.1.js では1万行の無名関数を渡してるじゃないか
俺はjQuery.js ではそうなってるって書いた
事実そうなっている
wrapper.js を持ち出してきて俺の書いたことを否定するのは筋が通らん
188デフォルトの名無しさん
2021/02/20(土) 21:03:03.00ID:xSEyIqRP >>187
お前が言った1万行ってそれのことだろ?
どうせビルド済みのコードの話でもしてるんだろうと思って
ビルド済みのコードだしたら見事にそれだったじゃないかw
それともそれ(ビルド済み)以外のコードの話をしてたんか?
お前が言った1万行ってそれのことだろ?
どうせビルド済みのコードの話でもしてるんだろうと思って
ビルド済みのコードだしたら見事にそれだったじゃないかw
それともそれ(ビルド済み)以外のコードの話をしてたんか?
189デフォルトの名無しさん
2021/02/20(土) 21:16:19.92ID:eWwdlcu+ 俺はjquery.js では1万行の関数を渡している と書いた
実際にそうだった
それをお前は勝手にソースでビルド前の関数という前提を自分の中で決めて否定してきた
>>181 でお前はビルドだのソースだの何も書いてないじゃないか
お前の中の基準を黙って適用すなよ
実際にそうだった
それをお前は勝手にソースでビルド前の関数という前提を自分の中で決めて否定してきた
>>181 でお前はビルドだのソースだの何も書いてないじゃないか
お前の中の基準を黙って適用すなよ
190デフォルトの名無しさん
2021/02/20(土) 22:26:24.43ID:xSEyIqRP191デフォルトの名無しさん
2021/02/20(土) 22:44:01.65ID:4GiEl8LD >>187
お前の周りに「優秀でまともに人と関われる人」がいるのなら、最初からそいつに聞け。
ここで聞くのなら、馬鹿すぎたら馬鹿にされるのも当然。
というより、糞を糞と言われるからこそ、ここには意味があるんだよ。
お前みたいなクズゆとりは5chにもプログラミングにも向いてない。
次からはteratailで聞けよ。お互いにその方が幸せだ。
お前の周りに「優秀でまともに人と関われる人」がいるのなら、最初からそいつに聞け。
ここで聞くのなら、馬鹿すぎたら馬鹿にされるのも当然。
というより、糞を糞と言われるからこそ、ここには意味があるんだよ。
お前みたいなクズゆとりは5chにもプログラミングにも向いてない。
次からはteratailで聞けよ。お互いにその方が幸せだ。
192デフォルトの名無しさん
2021/02/20(土) 22:55:55.05ID:56yjs2OO なにか因縁のある二人なんかな
とりあえず>>180の「1万行の関数を引数として渡してる」が正しくて
>>181の「渡してないぞ。何行目から何行目の話してるんだ? https://code.jquery.com/jquery-3.5.1.js」は明らかに間違ってるのは確か
1万行の関数渡したところで別に問題ないけどね
とりあえず>>180の「1万行の関数を引数として渡してる」が正しくて
>>181の「渡してないぞ。何行目から何行目の話してるんだ? https://code.jquery.com/jquery-3.5.1.js」は明らかに間違ってるのは確か
1万行の関数渡したところで別に問題ないけどね
193デフォルトの名無しさん
2021/02/20(土) 22:59:13.44ID:eWwdlcu+194デフォルトの名無しさん
2021/02/21(日) 00:39:04.01ID:3C6ImJQN >>193
スルーしてるだろうな、ってのは予想してたぞ。
むしろ144で反応したことにこちらは驚いた。
IDでNGしてると思ってたからな。
ただ、スルーするのは勿論自由だから、当然俺は何も文句言ってない。
俺が言ってたのは純粋に技術論であり、お前が人格攻撃に切り替えたから俺も「やっぱゆとりはクズだわ」と対応しただけ。
そもそも俺はお前の人格になんて全く興味ない。
お前はスレをまるで読めてない。
俺が143を書いたのは、>>138をサポートする為だ。
自信持って書いてても、即座に否定されたら、「あれ?俺何か勘違いしたか?」と心配になるから、
「お前(138)は間違ってない」と示す為に書いただけ。
あれはお前(141)にレス付けてるが、俺自身はお前からレス来るとは思ってなかった。(だから後半で別の話題に振ってる)
その後「老害」に反応したお前と「ゆとり」に反応した>>152から完全に脱線モードだが、
138は158で『こんな俺に対しても』答えてくれてる。
俺をどう思ってるかは知らんが、少なくともおまえらみたいなクソガキではないのは確実だ。
さてその後162で俺は糞タイミングの悪い160をしばき、俺を殴り足りない152を受けてみた。
152に対して俺より良い回答が出来る状況を作り、そこで上方向の喧嘩に持ち込み、スレの流れを正常化して品質を上げる為だ。
それをお前(167)はクドクドと邪魔しているわけだが、マジでお前何の役にも立ってねえゴミだよ。
まあそれはさておき、この時点で138は技術的にも極めてまとも、
152は俺に食ってかかってくる=少なくとも本人は俺より上だと思っている程度には自信があるのは読みとれる。
となると放置しても2つは回答付くところだが、敢えて先に回答して152による攻撃目標箇所を作ってみた。
毎度お前らが長い長いとうるさいので回答もワンライナーだ。
結局152は受けなかったようだが、結果的にさらに3つ回答付いているのだからこのスレの捨てたものではない。
そして良回答をしている>>172をサポートする為に俺は175を書いた。
172が勘違いしている場所を修正し、結果的に、172にとっても回答したことが利益になるようにする為だ。
(なお170も171も良回答だ。ただしツッコミどころがなかったので放置だが)
スルーしてるだろうな、ってのは予想してたぞ。
むしろ144で反応したことにこちらは驚いた。
IDでNGしてると思ってたからな。
ただ、スルーするのは勿論自由だから、当然俺は何も文句言ってない。
俺が言ってたのは純粋に技術論であり、お前が人格攻撃に切り替えたから俺も「やっぱゆとりはクズだわ」と対応しただけ。
そもそも俺はお前の人格になんて全く興味ない。
お前はスレをまるで読めてない。
俺が143を書いたのは、>>138をサポートする為だ。
自信持って書いてても、即座に否定されたら、「あれ?俺何か勘違いしたか?」と心配になるから、
「お前(138)は間違ってない」と示す為に書いただけ。
あれはお前(141)にレス付けてるが、俺自身はお前からレス来るとは思ってなかった。(だから後半で別の話題に振ってる)
その後「老害」に反応したお前と「ゆとり」に反応した>>152から完全に脱線モードだが、
138は158で『こんな俺に対しても』答えてくれてる。
俺をどう思ってるかは知らんが、少なくともおまえらみたいなクソガキではないのは確実だ。
さてその後162で俺は糞タイミングの悪い160をしばき、俺を殴り足りない152を受けてみた。
152に対して俺より良い回答が出来る状況を作り、そこで上方向の喧嘩に持ち込み、スレの流れを正常化して品質を上げる為だ。
それをお前(167)はクドクドと邪魔しているわけだが、マジでお前何の役にも立ってねえゴミだよ。
まあそれはさておき、この時点で138は技術的にも極めてまとも、
152は俺に食ってかかってくる=少なくとも本人は俺より上だと思っている程度には自信があるのは読みとれる。
となると放置しても2つは回答付くところだが、敢えて先に回答して152による攻撃目標箇所を作ってみた。
毎度お前らが長い長いとうるさいので回答もワンライナーだ。
結局152は受けなかったようだが、結果的にさらに3つ回答付いているのだからこのスレの捨てたものではない。
そして良回答をしている>>172をサポートする為に俺は175を書いた。
172が勘違いしている場所を修正し、結果的に、172にとっても回答したことが利益になるようにする為だ。
(なお170も171も良回答だ。ただしツッコミどころがなかったので放置だが)
195デフォルトの名無しさん
2021/02/21(日) 00:40:03.90ID:3C6ImJQN というわけだ。馬鹿なお前みたいなクズゆとりには分からないだろうが、
俺は質問者をダシにして、良回答者をサポートし、結果的に良回答者が集まるように仕向けている。
ついでにお前みたいな馬鹿は二度とここに来たくなくなるようにも仕向けてる。
スレっていうのはこうやって調整するもんなんだよ。
その辺分かってるのか、興味ないのか、138は淡々としてるけどな。
俺はWeb板には行かないから、俺を嫌いならWeb板に行ってくれ。
それでみんなWeb板に移住し、俺がここに置き去りにされたら、俺の負けで全く問題ない。
そうやって、上方向への競争をするべきなんだよ。
なお勿論このレスも、お前をダシにして、俺が何をしたか/しようとしているか、他のスレ民に説明する為だ。
俺からの知識はいらん、というお前に説明する必要はないからな。
ただ、お前みたいなコミュ症クズゆとりが多いから、ゆとりはゆとりの場所を持てないんだよ。
お前は俺が何をやっていたか、全く理解出来てなかっただろ?
お前はこれまで居た場所も多分それなりに破壊してきてる。
Web上のコミュニティは、コミュ症なお前が理解出来るほど単純な物ではないんだよ。
丁寧に応対すれば良くなるという単純なものでもない。
だからコミュ症なのを自覚して、teratailに引きこもってくれ。
そしてお前の脳内の「優秀でまともに人と関われる人」に質問しとけ。
俺は質問者をダシにして、良回答者をサポートし、結果的に良回答者が集まるように仕向けている。
ついでにお前みたいな馬鹿は二度とここに来たくなくなるようにも仕向けてる。
スレっていうのはこうやって調整するもんなんだよ。
その辺分かってるのか、興味ないのか、138は淡々としてるけどな。
俺はWeb板には行かないから、俺を嫌いならWeb板に行ってくれ。
それでみんなWeb板に移住し、俺がここに置き去りにされたら、俺の負けで全く問題ない。
そうやって、上方向への競争をするべきなんだよ。
なお勿論このレスも、お前をダシにして、俺が何をしたか/しようとしているか、他のスレ民に説明する為だ。
俺からの知識はいらん、というお前に説明する必要はないからな。
ただ、お前みたいなコミュ症クズゆとりが多いから、ゆとりはゆとりの場所を持てないんだよ。
お前は俺が何をやっていたか、全く理解出来てなかっただろ?
お前はこれまで居た場所も多分それなりに破壊してきてる。
Web上のコミュニティは、コミュ症なお前が理解出来るほど単純な物ではないんだよ。
丁寧に応対すれば良くなるという単純なものでもない。
だからコミュ症なのを自覚して、teratailに引きこもってくれ。
そしてお前の脳内の「優秀でまともに人と関われる人」に質問しとけ。
196デフォルトの名無しさん
2021/02/21(日) 01:34:22.48ID:kbkbRMiR >>192
Linuxのビルド済みのコードを見て機械語で書かれてる
これぞプロの超絶技巧だって言われたら意味不明になるだろ
本来1万行の関数を渡すなんて駄目なやり方
それを指して超絶技巧とか言ってたら間違いを正さなければいけない
意味が180度かわるんだよ。ビルドしたら複雑になるようなものを
ファイルを分割してシンプルにすることこそプロの超絶技巧なわけ
Linuxのビルド済みのコードを見て機械語で書かれてる
これぞプロの超絶技巧だって言われたら意味不明になるだろ
本来1万行の関数を渡すなんて駄目なやり方
それを指して超絶技巧とか言ってたら間違いを正さなければいけない
意味が180度かわるんだよ。ビルドしたら複雑になるようなものを
ファイルを分割してシンプルにすることこそプロの超絶技巧なわけ
197デフォルトの名無しさん
2021/02/21(日) 05:27:22.32ID:x7XX42Aa >>173
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan
この2つは、表紙にサイの絵が描いてある、サイ本と言われているけど、
これだけでも数言語をやっていないと無理だし、数年は掛かる
要するに言語仕様が滅茶苦茶だから、それをいじくり回すのが、すごく難解。
引掛け・バグつぶしばっかりで、面白くない
だから皆、バックエンドをRuby で書く。
Rubyの本を数冊読む方が、サイ本1冊よりも、遥かに簡単だから
>>176
並列処理は、AWS Lambda/Batch、キュー(SQS)など
仕事なら、言語でやらずに、サービスを使えば?
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
JavaScript 第6版、2012、David Flanagan
この2つは、表紙にサイの絵が描いてある、サイ本と言われているけど、
これだけでも数言語をやっていないと無理だし、数年は掛かる
要するに言語仕様が滅茶苦茶だから、それをいじくり回すのが、すごく難解。
引掛け・バグつぶしばっかりで、面白くない
だから皆、バックエンドをRuby で書く。
Rubyの本を数冊読む方が、サイ本1冊よりも、遥かに簡単だから
>>176
並列処理は、AWS Lambda/Batch、キュー(SQS)など
仕事なら、言語でやらずに、サービスを使えば?
198デフォルトの名無しさん
2021/02/21(日) 08:23:47.55ID:yNNx6IFm199デフォルトの名無しさん
2021/02/21(日) 09:05:40.21ID:3C6ImJQN >>193
あとついでに言っておくと、周りに ID:eWwdlcu+ みたいな「サイコパス老害ゆとり」が居る場合、そいつの言う事を聞いてはいけない。
この「サイコパス老害ゆとり」は確実にさとり世代をイジメ殺す。
俺にはそれが見えてるから、何とかさとりを救おうとしている。
言葉だけは丁寧なはずだが、それに騙されてはいけない。さとりはしたたかに反逆しろ。
(ただし表面的には合わせとけ。こいつはパワハラ/アカハラするタイプだ。気を付けろ)
こいつは
A. 今時クロージャを知らず
B. 今時クラスの使い方も知らず、
C. 今時アロー関数を「エラガントにしようとしすぎて余計に分かりづらい」として認めず、
D. しかし何故かプログラミングについて自信たっぷりで、
E. 質問した癖に質問した場所の悪口を言い、
F. 始めて来た癖に、元々居た住民に出て行けと言わんばかりの態度
こんなテンプレ的「サイコパス老害ゆとり」に遭遇するのは珍しいが、それでも遭遇することは偶にある。
それはやっぱり、実際にゆとり世代にこういう奴が点在していることの証明だから、さとり世代は気を付けないといけない。
ABCについては、お前はどの世界線にいた浦島太郎だよ?だが、問題はDで、
知らないだけならさておき、それを問題だとも認めず逆ギレしているのだから、完全にどテンプレの老害だ。
Eについては、実はゆとりは典型的にこれをやる。コミュ障で「筋」を理解出来ないからだ。
お前がここで聞いた=お前にとってはここが質問するベストプレース、なのだから、それは言ってはいけない(負け)だろ、というのが筋だ。
そして最大の問題はFだ。今時ゆとりでもなかなかこれはない。
典型的な上世代は、「あれ?俺何か間違ったか?」と自省し、
典型的なゆとり世代は、「あ、ここはクソだった。さようなら」と考え、黙って居なくなる。
ところが「サイコパス老害ゆとり」は、「ぼくのおもっているかいとうがでてこなかったのは、そこにいるれんちゅうがくずだから。」
とし、一ミリも自分に問題があったとは考えない。自分=大正義であり、それ以外は全て悪だから。
あとついでに言っておくと、周りに ID:eWwdlcu+ みたいな「サイコパス老害ゆとり」が居る場合、そいつの言う事を聞いてはいけない。
この「サイコパス老害ゆとり」は確実にさとり世代をイジメ殺す。
俺にはそれが見えてるから、何とかさとりを救おうとしている。
言葉だけは丁寧なはずだが、それに騙されてはいけない。さとりはしたたかに反逆しろ。
(ただし表面的には合わせとけ。こいつはパワハラ/アカハラするタイプだ。気を付けろ)
こいつは
A. 今時クロージャを知らず
B. 今時クラスの使い方も知らず、
C. 今時アロー関数を「エラガントにしようとしすぎて余計に分かりづらい」として認めず、
D. しかし何故かプログラミングについて自信たっぷりで、
E. 質問した癖に質問した場所の悪口を言い、
F. 始めて来た癖に、元々居た住民に出て行けと言わんばかりの態度
こんなテンプレ的「サイコパス老害ゆとり」に遭遇するのは珍しいが、それでも遭遇することは偶にある。
それはやっぱり、実際にゆとり世代にこういう奴が点在していることの証明だから、さとり世代は気を付けないといけない。
ABCについては、お前はどの世界線にいた浦島太郎だよ?だが、問題はDで、
知らないだけならさておき、それを問題だとも認めず逆ギレしているのだから、完全にどテンプレの老害だ。
Eについては、実はゆとりは典型的にこれをやる。コミュ障で「筋」を理解出来ないからだ。
お前がここで聞いた=お前にとってはここが質問するベストプレース、なのだから、それは言ってはいけない(負け)だろ、というのが筋だ。
そして最大の問題はFだ。今時ゆとりでもなかなかこれはない。
典型的な上世代は、「あれ?俺何か間違ったか?」と自省し、
典型的なゆとり世代は、「あ、ここはクソだった。さようなら」と考え、黙って居なくなる。
ところが「サイコパス老害ゆとり」は、「ぼくのおもっているかいとうがでてこなかったのは、そこにいるれんちゅうがくずだから。」
とし、一ミリも自分に問題があったとは考えない。自分=大正義であり、それ以外は全て悪だから。
200デフォルトの名無しさん
2021/02/21(日) 09:05:56.83ID:3C6ImJQN 典型的にはこれ
> 俺にはお前の持っている知識は必要ない
今回は俺宛に言ってるが、こいつは間違いなく他の場所でも同じ事を言ってきてる。だから知識が全くアップデートされてない。
そして人格攻撃をしてくるところをみると、少なくとも俺よりは人格者だと思っているのだろうが、
上記Eをしてる時点でクズだし、(ゆとり的には許容されるようだが、少なくとも上世代の連中はこの手の奴はクズに分類する)
Fに至ってはなかなか居ないレベルのサイコパスだ。
だが現実として、居る。
だからさとり世代は「誰の言うことを信じるか」よく考え、しかもあからさまでもなく、したたかに行動しないといけない。
> 俺にはお前の持っている知識は必要ない
今回は俺宛に言ってるが、こいつは間違いなく他の場所でも同じ事を言ってきてる。だから知識が全くアップデートされてない。
そして人格攻撃をしてくるところをみると、少なくとも俺よりは人格者だと思っているのだろうが、
上記Eをしてる時点でクズだし、(ゆとり的には許容されるようだが、少なくとも上世代の連中はこの手の奴はクズに分類する)
Fに至ってはなかなか居ないレベルのサイコパスだ。
だが現実として、居る。
だからさとり世代は「誰の言うことを信じるか」よく考え、しかもあからさまでもなく、したたかに行動しないといけない。
201デフォルトの名無しさん
2021/02/21(日) 10:14:51.80ID:yNNx6IFm >>73 からの流れ読んだが涙流してワロタわw
おまえこれでよく他人に
> お前はこれまで居た場所も多分それなりに破壊してきてる。
なんて言えたなw
もったいなくてまだ全部読んでない ちょっとずつ楽しんで読むつもりだ
おまえこれでよく他人に
> お前はこれまで居た場所も多分それなりに破壊してきてる。
なんて言えたなw
もったいなくてまだ全部読んでない ちょっとずつ楽しんで読むつもりだ
202デフォルトの名無しさん
2021/02/21(日) 11:33:10.72ID:3C6ImJQN >>201
そうだとして、ならば何故お前はここで質問したんだ?
少し読めばそういう奴が居ることを確認出来たのに、それをしなかったのはお前の責任だ。
半年ROMれとはそういうことだ。
結局ゆとりはこれなんだ。
自分のほんの少しの努力によって回避出来ることすら回避せず、ぶつかって来たくせに、文句を言う。
ネット当たり屋暴走族と化してる。
始めて来た場所で、相手を追い出して、自分が居座ろうとする。
ないわー。完全に通り魔破壊マンでしかない。
普通は「あ、ここは俺向きじゃなかった」として新しく来た奴が出ていくだろ。
これだから「ゆとりが通った後」はすべて破壊されてるんだよ。だからゆとりはゆとりだけの場所を持てない。
ちなみに>>160はおそらく別人で、少なくともお前みたいなサイコパス老害ゆとりとは違い、
(形式的にでも)俺に対して謝る(=俺の意見を受け容れる余地はある)事を168で示してる。
内容からしてこいつは修士程度の学生か?という感じだが。
なお160の為についでに説明しておくと、
俺は「質問するな」とは言ってなくて、「このタイミングで質問するのなら、このタイミングを選んだ責任は持て」と言っているだけだ。
茶髪/ピアスが校則で禁止されているのと同等の意味合いだ。
そしておそらく160は気づいてないが、その責任は取らされてる。
俺の175は172向けであって、つまり、172には分かるが160には分からないように調整したからだ。そして176を見る限り、これは上手く行ってる。
しかしこの状況なので、これ以上の説明もしてはやらない。
もうちょっと平和な時に質問すれば、こんな調整もせず、俺流にクドクド説明しただろうさ。
それを読むかどうかは160の自由として。
そして160、お前が修士だと仮定して、卒業後はどうしてもゆとりの下に付くことになる。
その時、そいつを信じるかは、よくよく考えろよ、というのが俺のアドバイスだ。
ゆとりはマジで色々クズ過ぎる。
ただし、表面的には合わせておけよ。(これは君は問題なく出来ることを既に示してはいるが)
そうだとして、ならば何故お前はここで質問したんだ?
少し読めばそういう奴が居ることを確認出来たのに、それをしなかったのはお前の責任だ。
半年ROMれとはそういうことだ。
結局ゆとりはこれなんだ。
自分のほんの少しの努力によって回避出来ることすら回避せず、ぶつかって来たくせに、文句を言う。
ネット当たり屋暴走族と化してる。
始めて来た場所で、相手を追い出して、自分が居座ろうとする。
ないわー。完全に通り魔破壊マンでしかない。
普通は「あ、ここは俺向きじゃなかった」として新しく来た奴が出ていくだろ。
これだから「ゆとりが通った後」はすべて破壊されてるんだよ。だからゆとりはゆとりだけの場所を持てない。
ちなみに>>160はおそらく別人で、少なくともお前みたいなサイコパス老害ゆとりとは違い、
(形式的にでも)俺に対して謝る(=俺の意見を受け容れる余地はある)事を168で示してる。
内容からしてこいつは修士程度の学生か?という感じだが。
なお160の為についでに説明しておくと、
俺は「質問するな」とは言ってなくて、「このタイミングで質問するのなら、このタイミングを選んだ責任は持て」と言っているだけだ。
茶髪/ピアスが校則で禁止されているのと同等の意味合いだ。
そしておそらく160は気づいてないが、その責任は取らされてる。
俺の175は172向けであって、つまり、172には分かるが160には分からないように調整したからだ。そして176を見る限り、これは上手く行ってる。
しかしこの状況なので、これ以上の説明もしてはやらない。
もうちょっと平和な時に質問すれば、こんな調整もせず、俺流にクドクド説明しただろうさ。
それを読むかどうかは160の自由として。
そして160、お前が修士だと仮定して、卒業後はどうしてもゆとりの下に付くことになる。
その時、そいつを信じるかは、よくよく考えろよ、というのが俺のアドバイスだ。
ゆとりはマジで色々クズ過ぎる。
ただし、表面的には合わせておけよ。(これは君は問題なく出来ることを既に示してはいるが)
203デフォルトの名無しさん
2021/02/21(日) 12:05:37.33ID:yNNx6IFm 全部読んじまった
あのジジイがこのスレの主なのかと思ったら総スカン食らっててワロタw
職場にあんなのがいたらたまらんやろな
あのジジイがこのスレの主なのかと思ったら総スカン食らっててワロタw
職場にあんなのがいたらたまらんやろな
204デフォルトの名無しさん
2021/02/21(日) 12:21:33.18ID:3C6ImJQN205デフォルトの名無しさん
2021/02/21(日) 13:38:09.26ID:u2qGdVDT つまり、一万行の引数を渡してるって事で良いみたいですね。
206デフォルトの名無しさん
2021/02/21(日) 14:16:57.88ID:kbkbRMiR ビルド済みはそういうコードを生成するね
だから?
だから?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 肴は炙った〰イカでいい〰って歌あるじゃん?
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
