JavaScript 4©2ch.net
>>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 なんで多く出てくるものに、 そんなに長い情報量を与えないといけないんだ? 圧縮の基本だぞ。 多く使うものに短いビットを割り当てるのは。 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる