JavaScript 4©2ch.net
現行スレ + JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net http://peace.2ch.net/test/read.cgi/hp/1423915644/ >>99 [ツール]-[テンプレート] [エディタで開く] 『関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間』 http://www.amazon.co.jp/dp/4798043761/ せっかくだからJavaScriptで関数型プログラミングを学んでみるのも面白いかもしれないな。 >>105 Qiitaアカバンされたポエマー、毛の壁先生じゃんw JavaScriptが20周年。開発者のBrendan Eich氏が過去と未来についてのスライドを公開 ttp://www.publickey1.jp/blog/15/javascript20brendan_eich.html >>107 たった10日で書いたのか。 通りでクソなはずだ。 言語としてはかなりシンプルだったからな。 LexとYacc使っただろうし、スタックマシンな バイトコードインタープリタはSchemeのインタープリタを Cで書いたことがあれば難しくない。 コードを10日で書いたからクソというよりは、 書く前に言語仕様をきちんと練らなかったからクソなんだろう。 10日で書いたにしては良くできてるけど、もともとVBAみたいなものなのに、 後からいろいろ理屈を考えて素晴らしいものみたいに言いくるめようと したのがいけなかったんじゃないの。 アプリに付属させるマクロだと思えば、納得の仕様だと思うけど。 元々そういうものなんだし。 >>109 すまないが、ゴミをシンプルって言う風潮やめてくれるか? ClojureScript使い始めたらJSのクソさが 気にならなくなってきた。 誰でも10日で出来る作業なら クソだろうさw 10日でとても出来ないような作業を 10日で作ったのならば、それは優秀ってことだよ。 優秀な人が作ったのだから、とても良く出来ている。 >>113 ←こういうの権威主義の馬鹿っていうんだよねぇ。日本人に実に多い。 jsスレでdisるのもアレだけど 権威主義以外の何物でもない 10日で作ったのは凄いかもしれんが別に洗練されてもないしシンプルでもない 初期のjsって文字列演算、暗黙変換とか無駄に長いfunctionとか、 中途半端にvbやC++の真似もしてて、バージョン違いの挙動もあって普通にクソ 初期のを優秀とか言う奴はES6使わないで欲しい 本人はサブセット言語嫌いとかlisp嫌いとか好き勝手言ってるみたいだけど 素直にパクリ元のselfのサブセットを素直に実装すりゃよかったと思うわ だいたい名前からしてクソだよ。 全然関係無いJavaパクってるんだし。 >>116 お前こそ権威主義じゃねーかw オリジナルは偉いんだ?w >>118 日本語読めないならそう言ってくれよな 噛み砕いて話してやるからさ >>119 じゃあどこが権威主義なのか 噛み砕いて説明してください。 その前に前提として権威主義とは何かを書いておきますね。 http://ja.wikipedia.org/wiki/%E6%A8%A9%E5%A8%81%E4%B8%BB%E7%BE%A9 > 権威主義(けんいしゅぎ)とは、権威に服従するという個人や社会組織の姿勢、思想、体制である[1][2]。権威主義の反対は個人主義や民主主義である。 > 政治学上の用法では、権威主義体制とは非民主的な体制の総称であり、通常は独裁、 > 専制、全体主義などを含むが、権威主義体制を民主主義体制と全体主義体制の中間とする立場もある[5][6]。 http://d.hatena.ne.jp/keyword/%B8%A2%B0%D2%BC%E7%B5%C1 > 権威(人を服従、強制させる力)に価値をおき、それに対して自己卑下や盲目的服従をする態度のこと。 > また逆に人にそれを要求する態度のこと。心理学的には、権威や伝統、社会的に価値のあると > されているものを無批判に承認し、これに服従、依存し、融通が利かないパーソナリティを指す。 オリジナルがえらいのではなくて パクリ損ないでオリジナルより劣化してるのがクソ、 っていう単純な話だと思うのだが…… >>120 10日で作業したというだけで優秀として 優秀な人、その人が作ったからスバラシイ 全然中身に言及してねえじゃんw どこに権威主義以外の要素があるんだよw >>121 まさかここまで使われるとは思ってなかったんだろうな >>116 ユーザが100万人ほどの言語を10日で作ってから言え 流石に初期JSの規模で大変とか言ってるのは インタプリタの作り方もわからない初心者だけだよな? クソ言語でも普及したPHPと違って言語そのものの需要で使われたわけでもなし JSが普及したのはウェブブラウザが先進的だったから そもそも本人も公開してるのに何マンセーしてんだかw >>127 オレもそう思うんだけどねえ。 Schemeのインタープリタ書いたことがあればさまえ難しくはない。 学部レベルのインタプリタよりエロ動画サイト作る方が難しい JavaScriptライブラリのスレにも書いたのですが,過疎っていたのでこちらで質問させてください openlayers3についてです http://openlayers.org/en/v3.5.0/examples/kml-timezones.html をそのままコピーして ローカルで実行したのですが,サンプルのようにTimezonesが表示されません(地図は表示されます) kmlファイルはhttps://github.com/openlayers/ol3 にあるdataフォルダをhtmlと同じ階層に設置しました 他のkmlファイルを読み込むサンプルも同様に動かないのですが何が原因でしょうか >>132 だからあなたには答えられないんですね。なるほど。 var vector = new ol.layer.Vector({ source: new ol.source.Vector({ url: 'timezones.kml',//url: 'data/kml/timezones.kml', >>131 普通に動く。timezones.kmlをhtmlと同階層に置いて>>135 を書き換えても動く。 >>135 >>136 ありがとうございます IE,Opera,Chromeだと動かないのですが,firefoxだとサンプル通り動きました これってコードにブラウザ依存の部分があるのでしょうか? それともブラウザの設定の問題でしょうか? ローカルテストはサーバ立ててやるものだと思うが、fileスキームで実行してるのか >>138 >>139 サーバたててやったらどのブラウザでも動きました ありがとうございました 最近やたらめったらモジュールに切り分けてたら共通部分の重複が酷いことになってた 現在のスコープ内にimport,requireできれば便利なんだが 現時点でもやはりES3で書くべきですか? ES5出てからもう何年も経ってるしObject.create()とか配列まわりの関数とか色々追加されてるのに使えないのが歯がゆいです。 ネット見てると結構ES5の機能使ってる人が多いですが、そういう方々はIE8とか切り捨ててるんですかね? >>142 サポートサイクルを見たらどうでしょう? 2016年1月まではIE8対応は切れません。 IE8 でもpolyfillで何とかなる場面が多いとは思いますが >>142 lodash使ってる。なんとIE6以上から対応してる。 実装不可能なものを除いて、ES5で提供されている関数が提供されてる。 Object.create相当のメソッドもある。 https://lodash.com/docs#create どうしてもES5だけでやりたいってわけじゃなく ES5で提供された便利な関数を使いたいならlodashオススメ。 lodashにはES5よりも多くの機能が追加されてる。 >>143 ありがとうございます。 ぐぐってみたら2016年1月以降は最新版のIEしかサポートされないんですね。 こういうのを境界にして考えるのですね。勉強になりました。 polyfillというのはes-shimsとかのことですよね?Object.createに対応してないので選択肢から外れました。 >>145 ありがとうございます。今回は素のJSでやりたかったのでlodashは使えません>< でももうすぐES6が出るしキリが無いですね ブラウザ対応状況とか考えるの諦めてlodashとかunderscoreとかそういうのに完全依存する方が正しいのかも >>146-147 Object.create はES3の範囲内で完全実装は出来ない為、制限付きを理解した上で polyfill を書く必要がある lodash は forEach 等で ES5 互換でないコードが見受けられるので ES 標準を目指すのであればお勧めしない コードを読む限りでは 仕様に忠実なライブラリではなく、独自の世界を構築するタイプのようだから underscoreって可読性低下しない? _から始まるってのがそもそも論外なんだけど… 知らない人間が見たら何だコリャ?ふざけてんのか? これを考えた奴は保守性を考慮しないオナニー馬鹿なのか?って思うだろ。 >>149 ま、普通使わない。 オナニーって言えばその通り。少なくとも個人的に使うのだったら文句言う アレはないが、プロジェクトなんかでこんなもの使ってる奴いたら、排除する。 >>149 > 知らない人間が見たら何だコリャ?ふざけてんのか? それを言い始めたら、$.hogeってなんだ?ってことにもなる。 >>150 > ま、普通使わない。 以外と使われてるよ? http://www.infoq.com/jp/news/2015/04/lodash-utility-library > JavaScriptユーティリティライブラリのlodashがバージョン3.5に達して,npmパッケージリポジトリの中で > 最も多く参照されるライブラリになった。もはや代用品などではなく,信頼できる選択肢のひとつだ。 http://matsukaz.hatenablog.com/entry/2014/04/09/082410 に上げられてるようなよく使う機能は、 オレオレ実装されるより、既知のライブラリのメソッド使って欲しい。 javascript使いってエンジニアとして未成熟なのか文系が多いのか、 保守性を考慮しないのばっかりだよな。 多言語では保守性において禁忌とされている事を平気でやる 先人が築きあげたバグを排除するコツのようなものをを完全に無視してる たぶん将来はjavascriptの仕様が整理されて、 jQueryとかunderscoreみたいな非直観的で腐ったキーワードを使うライブラリは完全非推奨になる。 >>152 だってJataScriptが使いにくいクソ言語じゃん。 細かいこと気にしてられないって、クソだから。 >>152 こういう関数の部分の保守性とかどうでもいいよw 単純に自分実装のライブラリに入れ替えれば済む話なんだから。 それより問題なのはフレームワークだ。 馬鹿が使うとフレームワークにガッチリ組み込まれて 別のものに変えるのがすごく大変になる。 >>151 > > ま、普通使わない。 > 以外と使われてるよ? だよな。Node関連では一番使われているライブラリだったはず。 何処かにデータが有ったはずなんだが。 好き嫌いは個人の好みとして、一番使われているという 事実を知らないとしたら、モグリだろうw あったあった。この記事だ。 lodash, あなたが既に使っているJavaScriptライブラリ http://www.infoq.com/jp/news/2015/04/lodash-utility-library JavaScriptユーティリティライブラリのlodashがバージョン3.5に達して, npmパッケージリポジトリの中で最も多く参照されるライブラリになった。 もはや代用品などではなく,信頼できる選択肢のひとつだ。 何の根拠もない「使われてない」は無視していいよ。 だって、本人が無知だから、使われていることを「知らない」という 状態でも、自分の知ってる小さな経験だけから 使われてないって発言するだろうからさw そんなことよりもNode.jsのREPLでアンダースコアが使えないのはどうすればいいの? REPL単体で使うぶんには別の名前を使っても気にならないけど、.loadで読み込むファイルでアンダースコアが 使われていた場合は、ファイルを書き換えなければならず、かなり気持ちが悪い こんな定番のライブラリで、Node.jsのことを考慮していない名前をデフォルトにするとも思えないから、 何か解決策はあると思うんだけど… >>149 perlのデフォルト演算子($_)の名残だと思ってた >>159 グローバル変数とローカル変数の違いわかってる? REPLで使うのはグローバル変数の_。 ローカル変数の_(lodash)が名前かぶっても 何の問題もないんだが。 名前かぶってわかりづらいというのなら、 var i だってずいぶん被ってるはずなんだが。 >>160 いやー、普通、_で思い出すのは、 C言語などで広く使われてる多言語の仕組みである GetTextの_関数でしょw あれだって、_で始まる関数なわけだけど、 何だこりゃの前に、普通GetText思い出すよね? >>149 は無知なんじゃないかって思うだけなんだが。 >>162 _で始まるって言い方はおかしかったな。 C言語系の_は名前が続くから識別に問題ないが、_だけというのがクソだって話 これを初めて拝んだとき、_だけを変数名にするなんて一体このバカはどんな教育を受けているんだと思ったわ。 >>163 うん。それでgettextは、_ だけの 関数名なんだが、恥の上塗りしてどうするの? >>161 流石にそれくらいは分かってるけど、UnderscoreやLodashは普通グローバルに読み込むものじゃないの? まさか関数ごとにrequireを書くわけでもあるまいし、少なくともvar iとは次元が違うものだと分かると思うんだけど… lodash使うアプリでグローバルなんて聞いたことがない。 普通nodeでライブラリを使うときは、 ローカル変数に、略 いわんでもわかるだろ? 知ってるならなw 訂正 lodash使うアプリでグローバルなんて聞いたことがない。 node使うアプリでグローバル変数なんて聞いたことがない。 CakePHPなんかの__()ならともかく、underscore.jsでGetTextの方の_を、 どうすれば連想できるのかわからない _を変数名にするのはゴミだってのは100人に聞いて99人が納得する話。 ほんとjQueryといい、javascriptのライブラリ作ってる奴は基地外だわ。 >> 166,167 何が言いたいのか分からんのだけど、ファイルの頭で var _ = require('lodash'); // またはunderscore とするのは十分、一般的な使い方じゃないか? 適当に検索したサンプルコードでも、ファイルの頭でrequireをしているものがほとんどだし >>170 デフォルトに近い機能を誰もタイプしたくないから >>171 はい、だからファイルの頭で var _ = require('lodash'); // またはunderscore とローカル変数に代入してるって言ってるわけですが。 >>173 それで>>159 に戻るんだが、そのファイルをREPLから.loadで読み込むと名前が衝突して困るという話なんだが 何かおかしいこと言ってるかな? >>174 それは作り方が悪いだけだろう。 自分で作ったものを自分でロードして 問題が起きたって騒いでいるだけ。 ヒント 普通はREPLでライブラリを読み込むときはrequireを使う。 >>175 だから、どのように作り方が悪いのかを>>159 で聞いているわけ >>176 何故qiitaが出てくるの? なんか話が通じない人多すぎ… ttp://stackoverflow.com/questions/5691901/using-the-underscore-module-with-node-js >>172 underscoreというものの存在を知ってる人間じゃないと、おふざけか本気なのか理解不能 知らない人でも直観的にわかるようにするべき。 _.なんていかにも意味ありげに書かれてたら、知らない人間はjavascriptに新しい構文でも出来たのかと勘違いする。 >>177 それは別な名前を使うってことじゃないの? それなら>>159 で書いたよ >>178 > だから、どのように作り方が悪いのかを>>159 で聞いているわけ 簡単な話。 .loadでAというファイルとBというファイルの 二つを読み込んだ時を考えればいい。 同じ変数を使っていれば、混乱が起きる。 だから.loadなんかを使っては駄目だ。 REPLはAというファイルの前に 別のファイルを読み込んでいると考えればいい。 nodeの標準に合わせてrequireで読み込め。 .loadは簡易なツールにすぎない。 >>180 _.なんていかにも意味ありげに書かれてたら、知らない人間は 普通調べる >>182 > .loadでAというファイルとBというファイルの > 二つを読み込んだ時を考えればいい。 これに関しては自分の場合は混乱が起きたことは無いな REPLで必要になるのは常に新しくロードされたものだから > nodeの標準に合わせてrequireで読み込め。 .> loadは簡易なツールにすぎない。 その簡易なツールとしての使い方を聞いたつもりだが、まぁうまい方法は無いってことで 答えてくれたことは感謝するよ、ありがとう >>183-184 こんな記述を許すなんて、webプログラマはどうかしてるわ C++等の堅牢な言語が理解できないからスクリプトに逃げたってのもあるのかねぇ javascriptって手作業感のあるかなりアナログな言語だよな。 コンパイルすれば型間違いやスペルミスを全部チェックしてくれるC++の方が楽だわ。 デフォルトで存在しなければならないような機能の構文は 可能な限り軽くしたい、というだけの話なのだが、 まあ、キチガイみたいだし、相手にする必要もなさそう。 >>187 >コンパイルすれば型間違いやスペルミスを全部チェックしてくれるC++の方が楽だわ。 静的検査なのに型安全じゃないクソみたいな型システム自慢されても…… >>186 $と_を選択したjQueryとundersocreの作者は天才だと思うぞ >C++等の堅牢な言語が理解できないからスクリプトに逃げたってのもあるのかねぇ ここ笑うところでOK? スクリプト言語なら_とかもありだと思うよ 直感的に理解不能なのはむしろC言語のテクニカルすぎるポインタ操作とか、処理系依存処理 _なんて使わないで堂々と大文字でUNDERSCORE.でいいのに 面倒くさいから_にしたなんていっても、 UNDERSCOREのようなループ処理は他の頻出するキーワードに比べてそう頻繁に使うもんじゃないから、 UNDERSCOREと打ち込むくらい苦にはならない むしろ見ただけでUNDERSCOREとわかるメリットのほうが大きい。 >>190 > $と_を選択したjQueryとundersocreの作者は天才だと思うぞ 天才じゃなくてズルいと思ったな。 そんな特等席を取るなんてw でもjQueryとlodashなら許せるよ。 DOM操作目的が多いJavaScriptで標準よりも 優れたライブラリに仕上げたjQueryは高く評価できるし。 JavaScriptという言語自体に足りない(そして他の言語にはある) 基本的な機能を備えたlodashも一文字名前空間を与える価値はある。 これ以外に一文字を与える価値が有るものなんてまず無いだろう。 (あえて言うのなら多言語のためのgettextだろうね) http://ja.wikipedia.org/wiki/Gettext > まず、gettextが利用されるようソースコードの修正を行なう。これはほとんどのプログラミング言語において、 > ソースコード中の文字列がまずgettext関数へ渡されるよう、文字列をラップしていく作業となる。 > 読みやすさやキータイプの手間を省くため gettextには通常 _ のエイリアスが付けられる。C言語では、 > > printf("My name is %s.\n", my_name); > > を以下のように変更する: > > printf(_("My name is %s.\n"), my_name); >>198 開発効率と可読性が悪いだろw なんで多く出てくるものに、 そんなに長い情報量を与えないといけないんだ? 圧縮の基本だぞ。 多く使うものに短いビットを割り当てるのは。 >>200 そんなに画面を占領するほど出てこないだろ。 圧縮率が気になる人は var, a, b, c; でも使えばいい _ が気にならないなら Java でも PHP でも同じように使えばいい それが誰が見てもコードの意図を理解できるものであると思うのならな > それが誰が見てもコードの意図を理解できるものであると思うのならな ん? 馬鹿が見てもわかるコードなんてあると思うのか? 何の知識も持たない奴が、forとか見て、繰り返しだな。なんてわかると思うのか? 知識があるプログラマが見てわかれば十分だろw >>203 ←こういう極論振りかざす馬鹿はプロジェクトから最初に外したいねぇ♪ そもそもjQueryの根幹を成していたcssQuery作者はJSに習熟していたから$なんて使わなかったが、 当時JS初心者が浅い知識で無茶苦茶に作ったprototypejsが流行っていてユーザーがそこで$にすっかり慣れてしまっていたから、彼らを取り込もうと図った時に敢えて$を使った。 jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。 実際、query api がなかった当時において、飛び抜けた存在だった。 誰も知らないだろうが、既に消した10年ほど前のブログで俺が日本で最初にjQueryにお墨付きを出したので、変な責任感があって、今や粗大ゴミと化したjQueryを徹底的に駆除しなきゃならないと思っている。 >>205 今じゃすっかり死に絶えたね prototype.jsは 未だに$使ってる奴は、PHPでもやってろって思うね。 どうでもいいが、underscorejsはグローバルで名前がかち合わないよう自動処理してるだろ。だから_にこだわりも何もないよ、あれは。あの作者はさすがだなと思う。 jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。 > jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。 メソッドチェーン便利じゃん メソッドチェーンを否定するなら、代わりに何を推すのだろうか >>206 > jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。 知ってるも何も、Internet Archiveに残ってるよ。 その画像ってどれのこと? https://web.archive.org/web/20060203025710/http ://jquery.com/ >>209 jQueryでみんなが慣れてしまったメソッドチェーンは jQueryができるより前から知っていたが、はて? そもそも、$ や _ の話にメソッドチェーンは関係なかろう vue.js でelを指定しない時にHTMLを生成できるって書いてある記事を見かけたのだけど、どうやればいいんだ? まあ名前付けが傲慢な感じはあるね prototypeとかqueryとかnodeとかbootstrapとか、 一般的なコンピュータ用語になんでもjs付ければ許されるのかと ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しいように思う >>219 > ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しい という無知 >>220 おっWeb屋だ、元気? ところでv8をビルドするときに使う bootstrapスクリプトの機序をどうやって検索したらいいか教えてくれよw >>221 v8のビルド方法で検索すればいいんじゃね? 検索したら、How to Download and Build V8っていうのが見つかったけど。 https://developers.google.com/v8/build?hl=ja >>219 世の中の大半は、おまえより生産的で知識豊富な人たちが開発したと思ってるけどね >>223 そういう話はキッチリソースつけて、話してくれや。 ま、ウェブ屋の大半が馬鹿なのは本当だろう 巨大なページに普通のjquery適用させて重い重い言ってるのよく見るしな 中古のスマホやタブレットでデザイナーに作られたようなjQuery満載の糞ページを表示させると電力不足を引き起こされてバッテリー残量が正確に認識されなくなってOSが緊急終了させられる。 今やスマホどころかタブレットもバッテリー内蔵で交換は困難/不可能だからバッテリーが寿命になっても使い続けられている端末はいくらでもある。 >>226 とにかく書き捨ての糞プロジェクトが増えた こんな流れはGoogleがつくった感じする 誰かのせいにして安心するのは間違ってる それは作った当人らの責任だろ 詐欺業者が横行してて 姉歯的案件だらけだよ 年金記録流出も起こるべくして起きた 関係無いけど久しぶりにJSLint使おうと思ったら随分変わってるのな つーか何で x /= 3; でストップするんだ?わけわからんのだが 他人が作ったコードをメンテすることになってJSDocアノテーションされてたので ドキュメント化しようという話になった 開発時にはがJSDoc Toolkit(https://code.google.com/p/jsdoc-toolkit/ )を使っていたようなのだが それはすでにサポート終了してテンプレートも消えていた それでJSDoc3(https://github.com/jsdoc3/jsdoc )を試しているのだがデフォルトのテンプレートが どうにも満足のいかないものだったので、テンプレートをいくつか探して試した なかには not found のエラーを出すものがあり、そろそろ疑問に感じてきた それで JSDoc を jsdoc -T としてテスト実行してみたところ大量の not found えっ? テストしてないでリリースしてるの? それともこちらの環境の問題? ちなみに Windows 7 環境で同梱のバッチで実行してるのだけれども java 上で動くのだからその辺は一緒のはず? javaランタイムのバージョン? もし Windows 上で JSDoc3 を使っている方がいたら 安定して動作している環境を教えてほしい >>235 $ git clone https://github.com/jsdoc3/jsdoc Initialized empty Git repository in /home/hoge/src/jsdoc/.git/ remote: Counting objects: 16429, done. remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429 Receiving objects: 100% (16429/16429), 16.16 MiB | 377 KiB/s, done. Resolving deltas: 100% (8177/8177), done. $ cd jsdoc/ $ ./jsdoc -T Running tests... .....(略).... Finished in 4.993 seconds 1163 tests, 2965 assertions, 0 failures .....(略).... Finished in 0.054 seconds 33 tests, 60 assertions, 0 failures ちなみに、 $ java -version openjdk version "1.8.0_45" OpenJDK Runtime Environment (build 1.8.0_45-b13) OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode) 同じ手順を Windows 上の Git Bash にて行ってみた $ git clone https://github.com/jsdoc3/jsdoc Cloning into 'jsdoc'... remote: Counting objects: 16429, done. remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429 Receiving objects: 100% (16429/16429), 16.16 MiB | 1.17 MiB/s, done. Resolving deltas: 100% (8177/8177), done. Checking connectivity... done. Checking out files: 100% (620/620), done. $ cd jsdoc/ $ ./jsdoc -T js: exception from uncaught JavaScript throw: Error: Module "c:/Users/xxxxxx/Documents/GitHub/jsdoc/jsdoc.js" not found. うわーん $ java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b15) Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode) です >>239 Windowsは、jsdoc.cmdを実行するみたいだよ。 ただ、俺には理解不能なエラーが出た。 Javaとか知らんし。 > $ .\jsdoc.cmd -T > Running tests... > org.mozilla.javascript.EcmaError: ReferenceError: "self" is not defined. (file:/C:/Temp/jsdoc/node_m > odules/bluebird/js/main/captured_trace.js#464) Macでもやってみた。 3年位使ってたけど、Java入ってないし。JDKのインストール方法をググる所から始めた。 Web開発にMac使ってる人が多いのは、こういうところかもね。 $ ./jsdoc -T Running tests... ....(略)... Finished in 3.486 seconds 1163 tests, 2965 assertions, 0 failures ....(略)... Finished in 0.024 seconds 33 tests, 60 assertions, 0 failures ttp://www.bluefoun.pos.to/games/howto/htimg.html ここに出てくる関数gameBodyって意味あんのか・・・? これ書いただけじゃ何も実行できんぞ 迷子なんでここでいいかな? cordova(phonegap)で躓いてるんだけど、専用スレが見当たらない 誘導plz そもそもフレームワークスレがないんだわ 自分で建ててもいいんじゃない webアプリの伝票を表示する画面のHTMLで、テーブルタグでエクセル方眼紙作ってあった 列とか必要以上に多くて無駄にセルの結合してあった 数字の1と文字の1が一致して笑った。 カス言語すぎる。 JSは互換を安易に切れないからな 残りカスのような変な仕様は山ほどある >>249 もしかしてマジでEXCELでデザインしたものを変換してるのかもな explicit宣言で==がsyntaxerrorになったりせんのけ 変数に型がない言語ではどうしても、 == と === 相当の機能が必要になる。 変数に型がない言語では全て同じ。 ID:mqZtRy/B は素直に静的な型宣言を必要とするコンパイル言語を使っとけ 言語としては悪くないが、 将来性として悪い。 BabelなどでES6が使えるようになった今、 CoffeeScriptの役目は終わった。 優位性が無くなったのだから。 CoffeeScriptはES6をつくるための 犠牲になったのだ。 >>259 null == undefinedがありますので >>267 でもこういうクソ仕様はありますね。 2.2.1 - 変換 Luaは文字列と数値を実行時に自動的に変換する。 すべての数学演算は、 文字列に適用されると、一般的な変換ルールに基づいてその文字列を数値に変換しようとする。 ただし、例外があって 2.5.2 - 関係演算子 2.2.1 の変換ルールは等価比較には適用されない。 そのため、"0"==0 は false に評価され、 t[0] と t["0"] は異なったテーブルエントリを示す。 一貫性がない。 NaN !== NaN は他言語でもそうなのかな これだけは直感的でないと感じてしまう >>269 Rubyも同じ http://docs.ruby-lang.org/ja/search/class:Float/version:2.0.0/query:NAN/ > ただし、NaN 同士の比較では常に false を返します。 Pythonでも同様 http://d.hatena.ne.jp/yosshi71jp/20090920/1253415431 > nanは非数(not a number)、infは無限(infinity)。通常、 > この表示になってしまったら、これにどんな演算を行っても、結果はもう変わらない。 PHPでも PHP 型の比較表 http://php.net/manual/ja/types.comparisons.php > この値を、自分自身を含む他の値と比較すると、緩い比較であっても厳しい比較であっても > 結果は FALSE となります (つまり NAN != NAN であり NAN !== NAN であるということです)。 さらにPerlでも http://perldoc.jp/docs/perl/5.6.1/perlop.pod > NaN はどの値に対しても(NaN に対してでさえも) "<", "==", ">", "<=", ">=" の > いずれも成立しないので、これらは全て偽となります。 SQLでも似た仕様がある。 NULL は NULL と等しくない!? http://blog.livedoor.jp/i_am_best/archives/7845603.html >>269 > NaN !== NaN は他言語でもそうなのかな > これだけは直感的でないと感じてしまう 直感的じゃないという意見はわからなくもないが、 他言語でも同じなわけで、それを知らないということは、 君の経験不足ってのがよく分かるねw a = NaN, b = NaN aとbを比較しようとしたときにどういう問題が発生するか考えれば納得出来るだろう >>273 わかりづらいw var a = "a"; var b = "b"; parseInt(a) == parseInt(b) これがtrueだとおかしいだろ? ぐらいのことを言えよ。 は? NaN という状態の意味を考えろよ? 言語でしか考えてなくてコンピュータで処理するってこと微塵も考えてないだろ? >>271 他言語の経験がないのは認めるけど、煽りとかどうでもいいから NaN !== NaN が成立する合理的な理由があるなら教えて欲しい 「他言語でもそうだから」という教科書的な答えでは納得できない >>273-274 その比較はする必要性を全く感じないので、そのコードの目的がわからない null, undefined は等価なのに NaN だけ特別扱いする理由がわからない >>278 nullやundefinedは演算の結果でなるものではない >>278 null や undefined は言語上で特定の意味を与えられた値にすぎない NaN はそれとは全く違う 不正な演算によって生じた結果を表す状態で、これは言語ではなくてコンピュータの仕組みから定義されているもの 「不正な値」だと理解してもらっていい 不正な値なので大小比較自体が成立しないのでその結果も不明となる あとは自分で NaN をググるなり、コンピュータでの数値表現について勉強するなりしてくれ >>279-280 NaN は Number ではない不定値のようなものか 何となくだが、理解した ありがとう しかし大小比較自体が成立しないんだったら 言語側では例外を投げてもいいような気もするが IEEE754で演算上の振る舞いも規定されているのか >>283 "Not a Number" だろう? "Not a Number" からは不定値か固定値かは読み取れないと思うが / {;;;;;;> _八_ :: :| /) ..:::::::::::ヽ ( : | , - ' .. '' {.. :::( 丶 _) | /.... ,.... .. ::: ::: | _/{:::::r‐ ,.::::::::::/ : : } _ イ ::::: {:::::::::}. ... ::: . ´ ^} _... , ィ ... :: .. :: , :::::::::::: .:. . ,' /::: . ´ ゛ :::::: :: ::::::::) ...:::.::. } .. イ:...:: ´ ,..::::::::::::::. ..::::.. :::"゛.. :::: ,' ,.´ ... .:. :: ´(::::::::: ゝ .:::::::ノ ;.. ハ .. ,′ . / {::::::::.. ::: :::: "" :: ...... ⌒ヽ { { /:::. / .... -<:: :::::::(::::::: } レ:::::::::::... { . {ヽ < ::: :: :: :::: { :::::::::::: ヽ {:: .. ___{ ,....:.:.:.:.::ヽ ,. { i:::::::::::: | ヾ:::: ´ ,'.:.:.:.:.:.:.:.:.:. :: .::. ゛"゛ .,′ \ y :.:.:.:: ヾ:: :: :: } .. /: `,´ / . \ ..::.::.::.. ` ::::::ゝ :: ::: ::. / \ ヾ:._.: .. ,:.: − _ン \ ::::: ... .. . "゛ ,..ィ ~ ヽ _ :::: ....:::. ::::::::::_ .ン  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / ヽ / ヽ / 人 ト、 | / >‐ァ / _\ ! jノ / / / /,=彡'⌒ V ,=ミ \ / / / r==彡tテ丁> ∨ /ヽ | \___, // / __ /`¨´ ヽ.ゞ'′ リ ノ / _ノ {' . ′ ⌒≫t示 / < / >ヘヽゞイ ∨ ヽ / ,, ’ ヽ丿 ∨ ! / _ .. ´ `ー _,. -‐'’ / \f⌒ヽ. |  ̄ ヽ ´ / \ ヽ! \ / ! /`≫‐- -‐…‐- \ / ! /`y'´ // ̄) `丶 _ア爪 .' /`y' // / ‘, -‐</ノ ヽ ′/`y' // / L ,-< ∨\ ! _, イヽ/ | し' 丿 | / ヽ. ヽ/ 丁 〉 // | r−、 / / / .′  ̄  ̄ | U `ー― - イ / / ' | U | / ! 若草物語 ナンとジョー先生 これからjavascript一本で生きます よろしくおねがいしまうー よくsetTimeoutつかって関数を一定時間繰り返し実行する例を見るけど メモリリーク(スタックオーバーフロー)しそうな気がしてならねえ function viewTime() { var date = new Date();//これはスタックに貯まるのか? console.log("date = " + date); setTimeout(viewTime,1000); } ああ違う、非同期だからsetTimeoutが終わった時点で消滅するのか 納得 ローカル変数なんだから関数終了で破棄されるだろ 非同期とか割り込みとか関係無い >>296 わからんやつだな setTimeout が 指定時間後に実行する関数を設定しているだけでそこで呼び出してるわけじゃない ってすぐに理解できてないと viewTime() setTimeout() viewTime() setTimeout() viewTime() ... みたいに再帰呼び出ししてるように錯覚しちゃうってことだろうよ 再帰呼び出しなら呼び元は終了してないからやばいよね 次の段階として、非同期で呼ばれるとなんとなく理解はしていても 別のコンテキストで実行されるってのがわかってないと this とか使ってあれえ?ってなことになる >>297 それは仮想的なコードだと思うけど、クロージャじゃないんだから一回毎に viewTime 内のメモリはGCが解放してくれないとおかしいんじゃない? そうでなければ、ブラウザのバグだと思うけど じゃあここでいいぞ。 一応俺のスタンスを言っておくと、俺はお前みたいな奴が嫌いじゃない。 お前はあのスレの中で唯一積極的にコードを書き、IDを付けて議論に持ち込み、論理的に解決しようとする。この点はいい。 ただなあ、技術的に余りにも稚拙すぎるから、色々空回りしている。 だからやる気があるのなら少しはサポートしてやるよ。上達したいかどうかはお前が決めろ。 ちなみにマジでウザイから無駄に吠えるのは止めろ。お前が大したことがないのは事実なんだよ。 今のお前ではあのベンチマークがどれだけ間抜けなことになっているのか分からないのだろうが、 上達した後から読み返せば今のお前の痛さは発狂レベルだぞ。 まあ、今のお前には俺が嘘を言っているとしか思えないのだろうけども。 とはいえ、あのスレの中の初心者で上達する可能性があるのはお前だけだ。 他の馬鹿共はお前と同様にあのベンチの問題が分からないにもかかわらず、煽ることしかできない無能共だ。 そもそも俺はお前みたいに「自分でやる」タイプじゃないとプログラミングには向かないと思っているので、 一から教えてくださいとか言われても死ねとしか思わない。 だからあのスレにたむろしている馬鹿共が何であそこにいるのかも謎なんだが。 もしやるのなら、こちらのスレの内容は向こうには投稿しないように。ゴミ共が増えるだけだから。 ベンチマークの結果がデタラメすぎるので訂正したくなると思うが、その必要もない。 心配せずともJavaScriptの個人的Web情報はデタラメばかりだし、 馬鹿は馬鹿のままでいればいいし、強制的に教育する方法もないんだよ。 今のお前のように、自分で馬鹿を止めますと決心させるしかないんだ。 そして自分で学ぼうとする心がある奴は、あの経緯ならこちらを見ている。だから、転載する必要は全くない。 マジであのスレ終わっているぞ。いろんな意味で。 まあとにかく、どうするかはお前が決めろ。 with(this){してその中でプロパティ読むのってアリ?} withはjavascriptの汚点。今すぐ脳内から消去しろ。 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません : たまにwithあったらなって思うことはあるな 例えばWebpackがモジュールに引数で渡す挙動とか http://www.cybersyndrome.net/ ここの検索結果画面、例えば http://www.cybersyndrome.net/search.cgi?q=& ;a=&f=&s=&n= からプロキシ一覧を取得しようとしてXMLHttpRequestを使ってresponseTextを見てるんだけど どうもscriptを動かさないとプロキシが表示されないみたい そんなわけでresponseTextの中の3番目のスクリプトを動かしてプロキシ一覧を表示させたいんだけど どうするのが良策ですか?ちなみにChrome java挫折したんでこっちにきました だいぶとっつきやすい・・・気がする ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ javascriptで配列の要素それぞれに関数を作用させて要素を作るってできますか? var a = [1,2,3]; function f(x){return x+1;} var b = f(a);// b = [2,3,4]; みたいな javascriptの正規表現で A/B/C(http://hoge.com/fuga )/X/Y このような文字列を/で分割したいが、()の中の/は分割の対象にしない ということはどのようにすればいいでしょうか? >>324 括弧がネストしてなければnegative lookahead”(?!)”で ネストしてたら知らん https://regex101.com/r/j03SqS/2/ ありがとうございます ネストしてないのでこれで事足りそうです XMLHttpRequestを使って取得したページのスクリプトを実行させようとしているのですが できません 取得したページを構成 var doc =document.implementation.createHTMLDocument(""); doc.body.innerHTML =req.responseText; このdocの中のscriptタグを取り出し 新たにscript elementをdoc.createElement("script")で作りコピーし 更にappendChildでスクリプトを追加し直せば実行されるかと思いましたがされませんでした(Chrome) なにかいい知恵はないでしょうか 今ふと思ったのですが 作っているものがChromeの拡張機能なのでセキュリティ設定で外部のスクリプトができないようになってるだけかもしれません ちょっと見直してきます なるほど とりあえず目的に対して別の方法を思いついたのでスクリプトの再実行はやめておきます 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 9O7AM "abcde?fgh".match("e?f") これが ["f", index: 6, input: "abcde?fgh", groups: undefined] になるんですが(chromeブラウザのコンソールで確認) 文字列の中の?ってどういう扱いなんでしたっけ? match("e?f")の"e?f"は文字列リテラルじゃなくて正規表現/e?f/と解釈されるということですか? javascriptのオブジェクトの書き方で {hoge:hoge}とかこうとして{hoge,hoge}と書いてエラーにならなかったんですが これって有効なんですかね? あーわかりました var a = 2; で var x = {a}; とすると var x = {a:2}; と同じになるんですね >>338 勉強になります https://mevius.5ch.net/test/read.cgi/tech/1489511075/862 で質問した者なのだけど、 String.matchとRegExp.execの挙動の細かい違いについて分かる人居る? 仕様書はMDNから飛べるけど一応以下。 https://tc39.es/ecma262/#sec-string.prototype.match https://tc39.es/ecma262/#sec-regexp.prototype.exec 正直俺はよく分からない。 問題になるのは質問した内容で、再掲すると、 '@time;prop1:style1;prop2:style2'.match(/(^|[@;])[^@;]*/g); // 結果 ["", ";prop1:style1", ";prop2:style2"] 、俺の想定 ["", "@time",";prop1:style1", ";prop2:style2"] '@time;prop1:style1;prop2:style2'.match(/(^.|[@;])[^@;]*/g); // 結果 ["@time", ";prop1:style1", ";prop2:style2"] 、これは納得 の前者の挙動が謎だったのだが、 var re = /(^|[@;])[^@;]*/g; var str = '@time;prop1:style1;prop2:style2'; re.exec(str); // 結果 ["", ""] console.log(re.lastIndex); でちまちま調べる限り、lastIndexは0のまま固定されており、俺の『正規表現の』理解は間違いではないことは分かった。 当然これだとMDNのexecにあるような while ((myArray = myRe.exec(str)) !== null) みたいなことをすると無限ループする。 だから String.match はそうならないように何かしら対策がしてあって、結果、頭のマッチが取れないようだ。 なのだが、仕様書を見ても違うのは分かるが何がどうなのかよく分からない。 String.matchでは (^| の条件は駄目で、 (^.| のように、「文頭」ではなく「文頭の文字」に当たるようにしないといけない、ということなのか? すいません分かりました。 String.match は RegExp[@@match] を読んでて、その中で RegExp.exec を呼んでいる。 RegExp.exec は当然そのまま RegExp.exec を呼んでいる。 だからそのままだと当然挙動は同じになるのだけど、String.matchの場合、 > 4. If matchStr is the empty String, then > a. Let thisIndex be ? ToLength(? Get(rx, "lastIndex")). > b. Let nextIndex be AdvanceStringIndex(S, thisIndex, fullUnicode). > c. Perform ? Set(rx, "lastIndex", nextIndex, true). https://tc39.es/ecma262/#sec-regexpbuiltinexec って書いてあったわ。 つまりマッチ結果が空文字だと必ず一文字進めるようになっており、「文頭マッチのフラグを落とす」仕様にはなってない。 この仕様でいいのか?という気もするが、とにかくそうなっているようだ。 お騒がせしました。 というかこれはMDNに注意書きがいる案件だ。 勿論君の手柄にしてくれていいから、誰かやっておいてくれ。 追記は取り敢えず4ヶ所(3文案)か? 1. String.match に、 「空文字にマッチした場合、その空文字の次の文字にはマッチしません。 このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、全てのマッチ文字列が結果に含まれないことがあります。」 2. String.replaceに、 「空文字にマッチした場合、その空文字の次の文字にはマッチしません。 このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、全てのマッチ文字列が置換されないことがあります。」 3. RegExp.exexとRegExp.testに、 「空文字にマッチした場合、lastIndexが更新されません。(+1されません) このため、空文字マッチを含む正規表現(オブジェクト)を与えた場合、 ループ内でマッチ結果の空文字判定を行わないと、無限ループします。」 問題となるケースは、空文字マッチを含む正規表現+空文字マッチ直後にマッチ文字列が来る場合。 具体的には>>341 searchはgマッチ関係ないからセーフ、 splitに関係するケースがあるかは分からない。(ぱっとは思いつかない) matchAllは知らん。 ちなみに以前 test について文句を言った者だ。これについて対応してくれた人はありがとう。 今回も頼むわ。 なお今確認すると、 > 注目すべきは、別な文字列で検索しても lastIndex がリセットされないことです。 > https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test とモロに書いてあって素晴らしい。ただこれはもっと赤字とか目立つように書くべきだが。 俺はWeb板は無視しているが、これについてだけは告知貼っておく。 いずれにしてもMDNの更新誰かよろしく。 俺は全世界の問題を一人で背負い込むほど若者ではないんだよ。 MDNの決定プロセスなんて知らんし、 それ以前に他人が噛むことにより「承認」の手続きがなされ、よりましな方向になると信じてる。 バグを見つけるのも十分な貢献だし、それをMDNに記載するのも同様だ。 だから一人でやる必要も意味もないし、それ以前に一人でやるべきではないと思ってるんだよ。 お前らが「こんなのMDNに記載する必要なし」と思うのなら放置でよし、 「こんな落とし穴があるのなら共有すべきだ」と思うのなら、 俺はテストパターンを提供したのだから、お前らはMDNを書き直すことによってcontributeしろ、ということ。 一般的にはメンテナに投げるものだが MDNはアカウント登録さえすれば修正できるものなのか >>348 多分そう。おそらくwikiと同じシステム。 ただ内容は英語版の翻訳でしかないので、おそらく翻訳以外の提案は英語版に出さないといけないのではないかな?と勝手に推測。 いずれにしても、経験者がいるのならそいつに頼むのが確実、といったところ。 JavaScript界隈はWebに間違った情報が垂れ流されてるケースが多く、 それは要するに「背伸びして書くから」だ。 大して経験もないのにさも熟練者のように振る舞うとか、 会社にしたって「技術力の宣伝になる」と考えて精一杯背伸びして書いてる。 だからオイオイ?みたいなのも散見されるだろ。 しかしこれも使いようだ。言い方を変えればやる気はあるのだから、そういう奴らにはやらせればいいのだ。 問題は、そういった「背伸び」状態で書く内容はゴミな事が多いので、そうではなく、 ちゃんとした内容をこちらが提供してやろう、というわけ。 そしてMDN等にコミットして箔をつけたがっている奴にやらせ、 こちらは手間を省け、win-winだ。 というわけで誰か頼む。 だから既に言ったろ。 俺はこれは単独でやるよりも誰かにやらせる方が妥当だと考えてるんだよ。 それは、俺が間違っている可能性もあるから。 最低限、誰かが追試し、また、誰かが内容に賛同することを待つのは重要なことなんだ。 これによって暴走を防げる。 そしてMDNに書くこと自体は本来は大した作業量ではないが、 こういうのって往々にして政治的だから、場合によっては無駄に嵌ることになるんだよ。 実際、wikiだって編集合戦したり、その上で色々ルール決めたりしてるだろ。 MDNだって色々ある筈なんだよ。 だからそういうのを知ってる奴が出てきてどうするか話し合えるとしたらそれもありなんだよ。 日本みたいな根回し文化はないはずだとは思うけど、それも実際どうなのかは分からないし。 ただ、そこら辺を知ってる奴が本当にいたとして、 いちいちグダグダ説明するよりは自身で書き換えた方が早い、と判断すれば、勝手に書き換えてくれる。 前回も(ここに書いたのが反映されたかは確実ではないけど)「俺が書く」みたいな宣言もなく書き替わっていたし。 ROMな人が書き換えるのもありなんだよ。 いちいちグダグダ言ってくるのは若くてそれなりに正義感があるのだと思うが、 本件は1ヶ月後にきっちり書き替わってれば問題ないんだから、そんなにスピード感は要らないんだよ。 若くて元気があって、今後もJavaScriptに関わる気があるのなら、お前がやってくれたっていいんだぜ。 経験不足を自覚していて辞退するのなら、その点は俺が補ってやる、というわけでさ。 コミュニティは一人で回したり改善するものではないんだ。 各自がそれぞれ持ち寄って改善していくものなんだよ。 参加する気がある奴は出てこい、というわけ。(勿論黙って勝手にやってくれてても助かるが) サンプルコードだけ書いて Hi! (sample & result) plz help me Thanks. で良い >>352 お前はプログラマを止めた方がいい。 今からのプログラマはその程度の英語能力では生きていけない。JavaScriptも当然該当する。 ネタならウザイだけだから止めろ。 今時の若者プログラマはお前以上に英語は出来るから、全く面白くもないしウザイ。 「英語」が最大の問題だとお前が勝手に捉えたのは、お前自身が英語が全く出来ないからだ。 問題はそこではない。 そして仮にお前のように「英語」が最大の問題なら、英語が出来る奴と協力すればいいだけだ。 それもせずに、カタコト以下の英語で結論すら書かないのは邪魔であり、スパムでしかない。 英語が出来ないお前みたいな馬鹿が何かMDN等にcoutributeしたいのなら、 お前が英語が出来ないことを認めて、誰か最低限の英語が出来る奴を募ることだ。 俺が今やっているような方法でもいい。 だから仮に、お前が俺の英語能力を心配してくれたというのなら、 当然お前の投稿は普通の日本人よりも圧倒的に上手い英語で書かれていないと話にならない。 明らかにそうではないのだから、お前は本当にウザイ。 ただな、日本人は最低限度の英語は書ける。 相手と対面して話しているわけではないのだから、時間は無限にあるし、ゆっくり考えて書けばいい。 上手い英語である必要はない。ただし伝わる必要はあるが、 細かい文法(三単現のsとか)なんて間違ったところで伝わるから全く問題ない。 だから書けばいいだけだ。 お前みたいな、英語が出来もしないのに出来る気取りの馬鹿は何もしないから上達出来ずそのままなんだよ。 >>352 ひとつだけ注文 レスアンカーはしっかりと合わせてくれないかな? あと、できれば上から目線じゃなくて仲間として話をして欲しい >>353 何のことだ?と思って確認したが、 俺のJaneでは2に「ここ壊れてます」という投稿があって、一つずれているようだ。 F12で確認したところ、現在のデータにはないようなので、これは俺が合わせよう。 >>354 ゴミクズを丁寧に扱うのは断る。 ゴミクズが調子に乗るだけで、何の利益もないのはもう何度も経験している。 俺はゴミをゴミとして扱うだけであって、まともな奴にはまともに返事をしているつもりだ。 気に入らないなら無視でいい。お前が俺をゴミ扱いするのもお前の自由だ。 それ以前に、何でもかんでも「上から目線ガー」も死ねばいいと思っている。 お前のことだ。 俺がクズだとしても、それをMDNに書くかどうかは全く関係ないことだ。 クズからもたらされた情報であれ、正しければ、それなりに対処すればいいだけだ。 お前は何がしたいんだ? 俺はお前と群れようなんて1mmも思ってない。 俺は>>351 をゴミだと判断した。だから叩きを行った。これで正しいと思っている。 これに文句をつけるお前は「丁寧な態度」なら間違いであれMDNに書き、 「粗暴な態度」なら情報が正しくてもMDNには書かない、と推測されるわけだが、 それは俺から見たらコミュニティの破壊者でしかない。 去れ。俺がお前を仲間として認めることはない。 仲間として扱って欲しいのなら、最低限、その価値がある投稿をするべきだ。 ここは匿名掲示板であり、お前がリアルでどんな地位にいたとしても、知ったことではない。 ここでは各自の書き込みで各自を証明するしかない。 「内容」よりも「態度」を重視するお前は俺からすると十分ゴミだ。 何度も言っているが、俺はこの件をMDNに反映することに賛同し、汗をかこう、という奴を募っているだけだ。 汗をかく気もなく、ただ乗りだけ目指している奴なんてコミュニティには要らない。死ね。 それで構わんぞ。 俺はゆとり----なにかにつけて「態度ガー」「上から目線ガー」「ぼくにやさしくしてくれなきゃいや」な連中----とは 価値観を共有出来ないし、したいとも思わない。 それ以前にゆとり的ポルポト型共産主義----「知識を持っていても持っていなくてもみんな平等」----も 間違っていると思っている。知らないよりは知ってる方が偉い、という価値観だ。 ただそれで異常に威張り散らす、例えば昔の仕様書廚みたいな奴を正当化することにはならんが。奴は異常だ。 俺が要求しているのは簡単なことだ。 ・MDNに俺が書く、という奴を募っている。 ・或いはこれに準じ、実際にMDNに書いたことのある奴からのノウハウの提供も待っている。 ・また、「文案が悪い」等の修正も勿論歓迎だ。 そもそも俺は仕様書を読み慣れておらず、最初から間違っている可能性すらある。 だからこの場合は反論とそれを証明するテストパターンを出してもらえれば素晴らしい。 というわけだ。 それをお前らゆとりは技術案件全無視で「態度ガー」しか言えないんだろ。 逆に言えば、「やさしくしてくれるひとならいうことをきく」という価値観な訳だが、 それは幼稚園児----お菓子をくれるから付いていく----と同レベルでしかない。 俺は幼稚園児とつるみたいなんて思ってない。 ただ、Web板久しぶりに見たが、前よりましになっているのに驚いた。 ゆとりというモンスター出現に右往左往している前世代より、 ゆとりがいる世界で育ったゆとり後期/さとりの方がゆとりの扱い方が上手いらしい。 実はこれは他の場所でも同傾向が散見されていたりする。 5-6年前:JavaScriptのスレは他言語に比べて異常にレベルが低かった 1-2年前:他言語にもゆとりが流入したらしく、他言語も著しく酷くなった 最近:JavaScriptのスレに復活の兆し? <-- new! 2-3年後:他言語スレも復活か? みたいな感じになってる。 JavaScripterは俺が思うに年齢層が他言語と比べて若い。だから先行指標になってる。 俺達がどうにも出来なかった荒らし共をWeb板の連中がどうやって追い払ったのかは分からないが、 いずれにしてもこの点についてはWeb板の連中の方が上だという事実は見えたので、俺は引き続き静観する。 (というより俺が余計なことをするとおそらく悪化するだけなので何もやらないし、読まない) ネットはゆとり撲滅運動をやるべきだ。 ゆとりは「ゆとりに対する人格否定は絶対に許さないが、気に入らない奴はとりあえず人格否定」な訳だろ。 今やってるように。 だから俺みたいに、「人格否定?やりたきゃやれよ。ゆとりみたいなクズに人格を認められる意味なんてそもそもない」 とされると対処出来ず、ひたすら人格攻撃連呼だろ。今みたいに。 全くお前らは勘違いしてる。クズからは否定された方がクズが寄ってこずに助かるものだ。 だから俺はそれをやってる。 ゆとりは本当に根本的に勘違いしてる。 俺にマウント取りたければ、仕様書をよく読んで俺の間違いを探せばいいだけだ。 俺に間違いがないのなら、俺が偉そうな態度を取ったところで『何も問題ない』だろ。正しいんだから。 ゆとりの「丁寧であれば間違ってても許される」って価値観が根本的に間違いだ。 まず「正しいかどうか」であって、態度がどうこうは二の次だ。人格攻撃でマウント取ろうってのがおかしい。 そしてこういう俺を気に入らないのなら最初から無視すればいいだけ。これも最初から言ってる。 おれはゆとりと会話したいなんて思ってない。相手するだけ時間の無駄だからだ。 ただ、これにさとりは気づき初めて対処出来ている。結果的に俺達はさとりに学ぶべき事があるのだとは思う。 ちなみに俺とゆとりとの差異は、典型的には>>351 を俺は「荒らし」だと見なしていることだ。 理由は「話が前に進まず、むしろ退行するから」だ。 これをゆとりは(俺の理解では) ・態度が偉そうではないから荒らしではない、むしろ偉そうなお前(俺のこと)が荒らし ・ゆとりは馬鹿だから英語が出来ない、だからみんな自分と同じで英語が出来ないと思っているし、思いたい ・そして英語が出来ないことも悪いなんて微塵も思ってない、むしろみんな違ってみんなイイ! ・それをガーガー喚き散らすお前(俺のこと)なんて大嫌い!それ!人格否定攻撃! な幼稚園児レベルの価値観だ。だからゆとりが混ざるとコミュニティは崩壊していく。 いやゆとりにとってはそれが居心地がいいのだろうが、それ以前の世代にとっては大迷惑でしかない。 ところがさとりはゆとりに対応する何かを持っているようだ。これはちょっと確認する必要があるな、という感じ。 今俺がグダグダこのメタ案件を書いているのもそのため。 ゆとりは>>351 みたいな糞投稿をしなければよかった、なんて反省は絶対せずに、 ひたすら「お前(俺のこと)が悪い!」と人格攻撃の連呼だ。俺はそれがゆとりの本当に駄目なところだと思っている。 そして俺は既に書いたがゆとりは殲滅対象だから、当然こういう機会が与えられたら「ゆとり死ね」とし、 「ゆとりが何故死ななければならないか」をきちんと説明するわけだ。今やっているように。 そうやって、少しでもネット全体がゆとり撲滅に動く助けになれば、と思っている。 これがコミュニティ(つまりネット全体)に対する俺流の貢献だ。 それに対してゆとりがゆとりに敵対する人(つまり俺)を攻撃して「ゆとり的居心地が良いコミュニティ」を維持するのは構わない。 ただそれなら俺達、或いは俺が所属しているコミュニティにちょっかい出さないでくれ。 ゆとりはゆとりだけの、俺達旧世代は俺達旧世代だけでそれぞれコミュニティを維持すればいい。 そしてどちらのコミュニティが生産的かで競えばいいだけだ。 本来ゆとりはネット接続率100%でそれなりの人数がいるのだから、 ゆとりだけの(ゆとりにとっては)居心地のよいSNSが出来ても何ら不思議でないし、 逆に、ない方が不自然なわけだが、ない。 これは、ゆとりがお子ちゃま過ぎてコミュニティの維持も出来ないし発展もしないからだ。 俺は最初から「ゆとり的価値観ではない」と明確に分かるように書いてるつもりだが、 それが読みとれなかったというのなら、それは俺の落ち度でもあるから、もっと分かりやすく書く。 本件については俺は今後必ず「ゆとり死ね」と入れるから、これでゆとり馬鹿にも分かるか? ゆとり死ね 前立ってた質問スレに常駐してヘイト撒き散らしてた荒らしかな >>361 そうやって嫌いな他人を全部脳内から排除してるのがゆとりの特徴だ。 だからゆとりはクズのままなんだよ。 ちょっと考えれば分かると思うのだが、 仮にMDNに、或いはJavaScriptの新規機能を標準化委員会に「リアル」で提案するとき、 そこで真面目に提案内容を議論/審議している状況で>>351 が許されると思っているのか? 俺の投稿はお前にとって課長か係長か、或いは同僚か部下だが、いずれにしてもあり得ないだろ。 ゆとりは「ネット」では何をやってもいいと思いこんでいる。だから何も生産出来ない。 ゆとり以前の世代はリアルの延長でネットを使っている。 だから匿名でも単に匿名なだけでリアルレベルの議論は出来るし、また、それを目指している。 相手を見ておもねり、或いは自分が匿名なのを利用して場を破壊しまくるゆとりのようなクズではない。 そしてさとりはこれらの馬鹿騒ぎを見て、何か思うところがあるのだろう、確かに達観してる。 ゆとり死ね といってもこれはおそらく「三つ子百まで」だからゆとりは今後ともネット上ではクズだ。 これは俺はネットデビューの状況に依るものだと推定している。 ゆとり以前: SNSが未発達/アングラで、ネットデビュー時の接続相手はリアルの知り合いが殆ど。 ゆとり: 2chやニコ等が一般的となってきて、ネットデビュー時の会話相手は会ったこともない人が殆ど、そしてほぼ匿名。 さとり: LineやFaceBook等リアル系SNSが一般化してきて、ネットデビュー時の接続相手はリアル友人が大半だが、 逆に既読疲れ等が発生し、これらを避けるように匿名SNSに流れてきている。 そして俺らゆとり以前の世代は「昔のネットはー」という幻影に囚われてそこを目指すわけだが、 これはゆとりがいる限り無理だ。作り上げるより壊す方が断然簡単だから。 実際、俺らがこっちで質問スレを復活させ、俺らが回答することにより質を上げたら、 ゆとりがWeb板から全員移住してきて潰したのは事実だ。 それで俺を荒らし扱いなのだから、お前らゆとりは全く腐ってる。 ゆとりに反対する限り荒らし、という極めて単細胞なゆとり独裁主義でしかない。 ゆとりがイナゴ行為を全く悪びれずに行う状況では、ゆとりが存在する限りゆとり標準以上の質を保つことは出来ない。 ところがさとりはむしろ俺ら旧世代よりももっと監視が厳しい状態でネットをやってる。 だからゆとりみたいに完全にたがが外れきって振り切っている感じが微塵もない。 そして死ね死ね言い慣れた俺に対しても疑念を持つわけだ。 そんなこと言っちゃいけません、と「正しく」教育されてるから。まあこれは悪いことではないが。 結果的に、俺はゆとりとは組めないが、さとりとは組める。俺からするとさとりは常識の範囲だからだ。 逆に、さとりにとっては俺も十分にゴミかも知れないが、それはさとりが決めることだ。 一応俺は正論を吐いているつもりだし、馬鹿な発言がなければ俺が叩くこともない。 勿論そうでなければ俺を叩くのも自由だし、好きにすればいい。 俺はこの状況を危機的だと見て、ゆとりを排除できる掲示板を準備中だ。 実際にはゆとりを排除ではなく、隔離に近いが。 システムとしては、今で言うと8chかredditが近い。 問題があればmoderatorが勝手に判断してBANを行う。 そしてそのmoderatorはコテハン(に近い物)ではあるが匿名だ。 勿論ゆとりである可能性もあり、その場合は多分俺がBANされるわけだが、それも自由だ。 そういう掲示板を準備している。 といってもあと数年かかりそうだが、さとりが社会人デビューし始める頃には出来ればいいなと思っている。 ゆとり死ね 実際、有効な議論の為に誰をBANすべきか、というのは極めて難しくて、 ここで俺がどれだけ説明したところでそのレベルに達してない奴には理解も納得も出来ないと思う。 だから俺は、それに対しての解、「結果的に有効な議論が出来たBANを行った者が良いmoderator」を導入する。 単純には、俺をBANした場合は俺はもうその板に書けなくなる。 結果、俺の有効レスも駄レスも含めて全部失う。 そしてそれが正しかったかどうかはユーザー、つまり参加者が判定する、というものだ。 そのBANによりその板の質が上がれば、その板は賑わうし、逆なら過疎る。 結果、上手いmoderatorがいれば、 コミュニティが健全であれば結果的に全く意味のない発言をする連中=ゆとりが排除される、というわけだ。 そしてユーザーが他板の同種スレに移動するコストをほぼゼロにしておけば、 BANを濫用して板の質を落とすmoderatorは板ごと過疎化して殺せる。 これでmoderatorとユーザーの相互BANを達成する。(この仕組みが8chやredditにはない) 結果的には昔の(今もかも?)ニコのコメのフィルターレベルみたいなことをやろうとしている。 そして逆に俺自身が隔離される可能性もあるわけだが、 その場合は、俺が間違っていたという事実を突きつけられただけであり、それもありだ。 興味がある人はちょっと心に留めておいてくれ。 もっとも、起動するときにここで告知するかどうかはまた別問題なのだが。 ゆとり死ね 一応具体的に言っておくと、俺なら>>351 を議事妨害行為としてBANする。 ただしここでやっているような説明はなし、いきなりBANして終わりだ。 BAN基準はリアル議論基準準拠だ。 説明は常に時間の無駄だからやらない。 分かる奴は説明無しでも分かるし、分からない奴にいくら説明しても理解されることはないからだ。 ナイスBANと思う奴は俺の板に書けばいいし、 BANに疑問を持つなら俺の板に書かなければいいし、或いは各自の板では俺をBANできる。 そういう掲示板だ。 なお海外には似たようなものなら実は既に沢山あって、既に言ったとおり、有名どころは8chやredditになる。 日本は5chとふたばしかなくて、また、「それしかない」と思いこんでいること自体がかなり大問題だ。 根本的な問題は、俺達とさとりは「匿名掲示板って酷いな(リア友とのネット関係と比べて)」なのだが、 ゆとりは「ネットは好き放題出来るもの。匿名で当たり前だし、これが普通」と思いこんでいるところ。 ただ俺にはこれを転換させるだけの方策はない。だからゆとりをBANするしかない、と思っている。 それで、ゆとり流幼稚園と、非ゆとり方式で、どっちが生産的か勝負だ、というわけ。 ゆとり死ね 前にも同じようなことを言って「プログラム板」と「Web制作板」でやろうとしたが、 前述の通り、ここ5chでやってもゆとりはましな方に常に寄生するので、(自らでは全く改善する気がない) ましになったと思ったら結局ゆとりが大量に押し寄せてきて駄目になる、の繰り返しだった。 だからもう、ゆとりが押し寄せて来れない構造の所を作るしかない、という判断だ。 そしてインターネット上ではそれはBANしかない。 賛同する奴は噂が流れてくるのでも待っていてくれ。 ゆとり以前の世代は大歓迎だ。そしてさとりも多分歓迎出来る。 俺より上手いmoderationが出来る奴がいれば、結果的に俺はそいつに従うことになる。 もしかするとさとりにはこのレベルの奴が居るのかも?というのが今の俺の見立てだ。 javascriptにいつのまにかclassなんてできたのか javascriptでクラスを使いたいんですが 例えば var A = function(name){this.name = name;} A.prototype.hello = function(){setTimeout(function(){console.log("Hello, my name is "+this.name);},1000);} var a = new A("aaa"); a.hello();// ここでthisがaを指していない この場合helloの中のsetTimeoutの中のthisがaを指すようにするためにはどう修正すべきですかね? setTimeoutに渡すcallbackをアロー関数にしてthisが変化しないようにする ありがとうございます アロー関数を知らなかったのですがちらっと調べた感じできそうなのでやってみます アロー関数問題ない環境を対象にするならクラスもclass構文使ってもいい気もする わいはjs4年の実の娘と一緒にお風呂に入って対面座位で抱きしめ合ってベロちゅう唾飲みせっくすしてる。つるぺたとつるまんが気持ち良すぎて抜かずで連続3回中出しした。 禁断を犯した事実が興奮をさらに煽りもう近親相姦は当分やめられない。妻にはもちろん内緒。娘がいて本当に良かった。 codesandboxが凄い手軽で便利なんだけどクソ重い これってうちのPenMノートの力不足?サーバ側の問題? ブラゲーの自動化をjavascriptでやってみようかなって思ってるんですが 対象のブラゲーはUnityでWebGLを使ってるらしくcanvasオブジェクトの指定した位置をクリックできればできそうなんですが 指定した位置をクリック、はjavascriptでどう書くべきですかね?そもそも書けるんですかね? 正直、JavaScriptはC++使いから見たら死んでる。 ブーストにBIGINTもBIGFLOATもあるから数値計算で秀でる部分が無い。 STLあるから、データ構造で困ることもない。 JsonIOさえあれば、アッパーコンパチなのがC++。 isn't it? 単にお前のユースケースにマッチしてないってだけじゃね その思想だとC++(あと数値計算的にFortranか?)以外の全ての言語が死んでそう Raspberry Pi4でVSCodeもどきが使える Raspberry Pi 4でVSCodeの100%オープンソース版のVSCodiumを使う https://pastebin.com/BV4Liiqv >>377 おじいちゃん、C++のスレに行くといいよ https://lpeg.info/html/javascript_css_calendar.html > 「let」は連続で使う事ができないので、jsコード内に「let」が並んでいる場合は全て「var」に変更しましょう。 自分のスクリプトを動作させるために、他のスクリプトのletをvarに変更しろという。 C/Javaから入ってC++、C#、Pythonなんか今まで触ってきて初めてJavascriptの勉強始めたんだけど難しすぎない…? 前評判聞いてもっとちゃちいとか初心者向けとかそういう想像してたんだけど全然違った これまで経験してきた言語とそもそも考え方とか概念が違いすぎて理解できないことが多すぎる やりたいことだけピンポイントで勉強したらいいよ 今となっては出来ることや構文やAPIが増えすぎてすっかり複雑になっている デフォルトで色々非同期(特にコールバック設計のAPI)だとかイベント駆動になってるってことじゃないの? それはもう慣れでしかないが 少なくともC++より難しいなんてことはあり得ない 単にAPIのデザインに慣れてないだけ PromiseとPromiseじゃない値を受け取る関数を定義したいのだけどどうやって判定すんの? async function get(x) { if ( isPromise(x) ) return await x; else return x; } isPromiseの完全な実装方法を知りたい ググるとオブジェクトがthenを持ってたらPromiseだぜ!なんてジョークみたいなコメントが出てきて困った >>387 Promiseじゃないのもawaitしてもいいのよ 初心者ですがGoogleのGrasshopperというアプリで勉強を始めました どうでしょうか? Google製のJavaScript教育ツール「Grasshopper」は基礎から学べて初心者に優しい! - どれ使う?プログラミング教育ツール - 窓の杜 https://forest.watch.impress.co.jp/docs/serial/progedu/1404361.html プログラミングはわからないことを検索して調べるってのが基本になるから 入門書とか入門サイト見つつわからない部分は個別に検索して調べるとかでどんどん知識広げていく そういうアプリを使ってもいいけどそれ1つだけで習得できるとは考えないほうが良いかな ありがとうございます 別の入門書を読んでるんだけど、理解は出来るんだけどすぐに忘れますね 経験を積んで覚えていくしかありませんね JavaScript作成って家で副業になりますか? まずChatGPTで実現したいお題のコードを大まかに書いてもらって、それの間違ってる箇所を指摘していくと、最終的に正常に動作するコードが書けるな AIってこういう風に使うんだということが理解できた 以下の様な図形の各矩形部の座標を取得したいときはどのようにしたら良いですか? 各矩形に対して別の矩形を整列させたいと思っています。 https://imgur.com/a/JtI3mj7 自己レスです。ちょっと考えてみました。 以下の方法でできそうな気がするのでとりあえず試してみます。 もっと効率良い求め方などあれば教えてください。 1.全ての横線と縦線の座標を取得 2.上から横線を順に二本ずつチェック 3.二本の左上から右下に斜線を仮定し、他線との交差点を求める 4.交差点があればその横座標を利用して矩形を取得していく すみません。HTMLは関係のない話です。 とりあえず上の自己レスのやり方で実現はできています。 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる