JavaScript
immutableとconstはとてもよく似ていて混乱しがちです。でも、コードを見れば一発で違いがわかります。
配列をシャッフルし、それぞれのインデックスの要素が、元の配列の該当インデックス要素と異なるようにするアルゴリズムです。 A, B, Cを A, C, Bではなく、 C, A, Bのようにシャッフルします。 あ、前回の記事が400番目の記事でした。また記念イベントを忘…
0で埋まった二次配列、つまり零行列の作り方に関して。
つい先日 \b がアンカーであると知って驚いたので共有。 (注意: \b は [] で囲ってないときはアンカーですが、[] で囲うとアンカーではなく文字扱いになります)
「canvas上の円をクリックしたら色を変えたい!」「canvasでゲームを作りたい!」そういう時、canvasに対してイベントリスナを設定したくなります。しかし、円をクリックしたかどうかの判定を書くのは煩雑で面倒な作業です。 本記事ではUnitaryJSを用いて、c…
ついに!ついに!canvas内の三角形や円にイベントハンドラーをつけることができるようになりました!誰もが待ち望んだ機能ですよね!最高です!
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 今年2016年はうるう年です。2月は29まであり1年が366日でオリンピックが開かれます。 そして、うるう年判定はプログラマにとって熱いものがこみ上げ…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 「C++ 入門書の次に読む本」という本を読み終わりました。中身はとても良かったです。まあ書評は置いときます。この本にIteratorが出てきたので、そ…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) function Hoge(){ this.hoge = 'hoge'; } console.log(new Hoge().prototype); // undefined console.log(new Hoge().constructor); // [Hoge] 知ら…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) コメント頂いて雑に書きすぎたと思い書き直し。 本記事は「i++と書きがちだけど実はi ++って書いてもいいんだよ」と新しい視点を提供…というと大げ…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 追記: 個人的にそろそろ脱jQueryが来てもいいんじゃないかなと思い書いた記事です。 まあ読むとわかりますが、趣旨は「jQueryの悪いところAngularな…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ずばりこれ 🍣 をUnicodeに変換するコードは下。もいけた。は出来なかった。謎である。(下に追記があります) const sushi = ''; let res = 0…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) まあ僕は今受験生でしかも今11月なんで中身はほぼ0です。そのうち書き直します。多分。 誰か代わりに書いて 仕様書 今回はECMA262で書いていきます…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ずっと思ってたんです。 「ctx.beginPath(); ctx.moveTo(x, y);」とか書くのは私の性に合わないな、と。 こんな無機質なプログラムは書きたくないな…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ngRepeat.jsにあった、 clone[clone.length++] = endNode; というコード。おそらく arr[arr.length] = 0; というコードの亜種と思われる(clone.leng…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 記事書く時にのせるJavaScriptコードはなるべく綺麗な方いいです。綺麗だと読む人も疲れません。 他にも常日頃からJavaScriptコードを綺麗に書くよ…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 対象読者 「配列なんて何に使うんだよ…変数でいいじゃん。」みたいに感じている初心者だった頃の私のような人。 「配列は役立つなぁ。便利だなぁ。…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ようやくわかったのでまとめておきます。決定版と言って差し支えないはずです。これ読めば 絶対に ServiceとFactoryの違いがわかります。これでもう…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) Angularでスパゲティを大量生産するのはMVC厳格に守りつつAngularでアプリケーション作れてないからです。実はMVCを厳格に守りつつ作るのはかなり難…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) JavaScript で同じ要素が繰り返す配列を作る この記事を受けてコメントして自分の浅学を晒してしまいました。 さすがにまずいと思い、自分で検証し…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ※これは私が以前書いたJavaScript製HTMLパーサーとは仕様が大きく異なります。 以前との違い 以前書いたHTMLパーサーをより使いやすくしました。ど…
追記 この記事のパーサは使いづらいです。子要素の取得すら面倒です。JavaScript製HTMLパーサー改に使いやすく改善したパーサーを載せましたのでそちらを御覧ください。 本題 今回はHTMLパーサーを作りました。HTMLパーサーは、Webスクレイピングやらなにや…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) parsimmonで数式をパースしました。あとは操車場アルゴリズムでも適用してやれば計算も可能です。 const Parsimmon = require('parsimmon'); const …
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) パーサコンビネータなる素敵なものを見つけたので使って検索クエリのパースをしてみました。そのとき、理解するのに時間がかかったのでメモを残して…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) Google検索のように A or Bみたいに検索可能にしました。 配列を探索して当てはまった要素を抜き出した新しい配列を返します。元の配列に変更を加え…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 一応実装できてるはずですが、仕様熟読したわけじゃないのであやしいです。 簡単な説明 コードを簡単に説明すると、Cellクラスは位置情報、状態(生…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) たとえばインデントをしたりゼロ詰めするときとかに使うのでメモ。 以下、strをn回繰り返した文字列をresという変数に格納するとする。 ループして…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) ググっても出てこなかったのでドラマウロボロス聞きながら作りました。そのせいでif入り乱れのスパゲッティです。あしからず。 ※ヘボン式自体が不可…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) アプリで使うために作ったけど意外と汎用性高そうだったので別ライブラリに分離しました(もともとAngularJSのfactoryとして作ったものだったので、…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) * var outerMethod = function() { return this.name; }; var obj = { name: 'hoge', outerMethod: outerMethod }; global.name = 'fuga'; console.…