JavaScript
GitHub - pandanoir/riot-component 久しぶりのこのシリーズ(およそ9ヶ月ぶり!)です。今回も割と使いみちにあふれていそうなものを作りました。
StealJSをとりあえず動かして理解したい人向けに作ってみました。
モジュールバンドラーというと Webpack Browserify rollup Require.js あたりは知名度があると思います(rollupはそうでもないかも知れませんが)。しかし、乱世のJavaScript界隈、気が付けばかなりの数のモジュールバンドラーが乱立していました。今回はそん…
タイトルは半分ネタですが、かなり陰湿なトラップに引っかかってしまったので記録として残します。
配列操作でのshiftはコストが高いことで有名です。ところでつい先日ES2015にcopyWithinというメソッドが追加されていたことを知りました(今更)。調べてみたところ「左詰め」のようにズラす操作が得意なようです。これはshiftに使えるのではないか、と思い検…
(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください) 「それ、もっとスマートに書けるよ」の||のところ、もっとスマートに(というかリーダブルに)書けるよという話
タイトルのとおりです。いろは順に並べ替える関数をつくりました。
今までJavaScriptをちょっとブラウザで試したくなったときはalert+JSFiddleという地獄のような組み合わせをしていました。あまりガッツリしたことするわけでもないのでこれで十分だったんですね。 しかし、この間JS Binなるものを知ったので、試した雑感をま…
タイピングソフトを作っていたときに、かなり使えそうなローマ字変換プログラムをつくれたので単体で公開することにしました。たぶんほぼ入力可能な方法は網羅できていると思います。
jQuery、遊びツール作る分には重宝するのですが、やはりこのレベルでもつらく感じるのでフレームワークを作ってみました。
ことの発端は、変数入れ替えのコードゴルフをしていたときでした。変数入れ替え手法のひとつとしてa^=b;b^=a;a^=b;というものがあるのですが、これを短くしようと躍起になっていたら起きました。
コードゴルフしてたらたのしくなったので、コードゴルフテクの紹介記事を書こうと思います。
以前、Fisher-Yatesアルゴリズムについての記事を書きました。記事中のコードをもっと短くできないか?と思い、検証してみたところ、「分割代入の評価順と代入演算子を悪用すればいいんじゃないか」と思いつきました。今回はそのテクニックを紹介しようと思…
今までサーバー側をしてこなかったせいでSPAに対する印象があまりよくなかったのですが、サーバー側の設定をうまくすると通常のサイトとほとんど同様のページを作れると気がついたので構築してみました。
10分クオリティですがとりあえずできました。 実際に麻雀をしたときに実現可能な配列のみ表示するので、白14枚のようなありえない手牌は出ません。 まあぶっちゃけると生存報告記事です。
といってもふつうにしている分には困ることがあまりないであろう処理なので、気にしなくてもいい気はします。
ES2015でClassとProxyが追加されました。この二つをうまく組み合わせると強力なツールになりそうですよね。しかし、Proxyを継承するといったことができないので、ややトリッキーなやり方をしなければなりません。
のに記事にするのを忘れていました。 github.com
たった17行という超即席ライブラリです。なぜ作ったかというと、この記事のいうImmutableのメリットをJavaScriptでも授かりたいと思ったためです。たった17行でもできてしまってビックリしました。 nekogata.hatenablog.com
ES5で追加された機能、Getterと生プロパティのパフォーマンスの差について知りたくなったので検証してみました。超今更って感じですがね。
最初のマイナーアップデートです。Ellipse(楕円)、Curve(曲線)クラスを追加した他、様々な修正が行われています。 変更点 スタイルがくずれないように.setStyle()を呼ぶよう変更 lineDashやlineCap、lineDashOffset、lineJoin、lineWidthをサポート .push()…
一時期はやっていた逆FizzBuzzをいまさら解いてみました。数年前初めて見たときは難しそうと思ったのですが、今回やってみたらかなりスラスラと解けて驚きました。
お久しぶりです。クロパンダです。 10月から工学研修という、研究室の体験のようなことをしていたのですが、その研究室から借りていたMacを先週ついに返してしまいました。これで使用マシンのスペックが大きく下がって、プログラミングへのやる気も一緒にダ…
qiita.com この記事に触発されて、ついでにNodeでコマンドラインツール作ってみたかったので始めてみました。名称はズバリ「JEdit」。 今回の記事では、実装していておもしろかったところを取り上げていこうと思います。
3ヶ月空けたと思ったら1週間も空けずに次を作る計画性のなさ。どうもクロパンダです。 今回は日付をフォーマットして表示してくれる要素を作りました。 <date format="yyyy/MM/dd(E)"></date>
約3ヶ月あきました。今回はアナログ時計を作りました。 <analog-clock></analog-clock> <analog-clock hour="10" minute="10"></analog-clock> <analog-clock utc="+10:30"></analog-clock> こんな感じでつかいます。
Rollupでは、循環参照していてもビルドしてくれます。しかし、子クラスが2つ以上になると意図した通りにビルドしてくれません。 このケースでは、ビルド自体は通るのですが、エラーが起きるコードが出力されます。ビルドは通ってしまうので、落とし穴に気づ…
フィボナッチ数列イテレータなど、無限長であるイテレータに対してmapしたイテレータが欲しくなるときありますよね?ありますよね?
このように、わかりやすく任意の木構造を表示します。いくらか制限はありますが。
今、応用情報の勉強をしています。その中で平衡二分探索木が出てきました。応用情報を取ろうとしている人間です。平衡二分探索木のひとつやふたつ実装した経験がなければいけない、と思ったので実装してみました。 github.com