メモログ

💡 Personal notes about anything I'm interested in

Bubble Sort in JavaScript

Array.prototype.sort についてとTypedArray.prototype.sort についてで書いたようにビルトインされているsortメソッドが効率的なソートを実行できるように実装されているので、JavaScript上で自前のソートを実装する意味はあまりないのだけど、試しにバブルソートをJavaScript上で作ってみた。

📖 続きを読む

Array.prototype.sort について

JavaScriptの配列にはsortメソッドがあり配列のソートを実行することができるけど、この配列のソートの中の実装はどうなっているのかという話。v8における配列ソートについての記事が大変参考になりました。

📖 続きを読む

JavaScriptでビットベクタルを使う

ビットベクトルは2進数の値(ビット)の配列を使って状態を保持する。ビット配列(bit array)とかbit set, bit stringとも言うらしい。詳しくはBit arrayを参照。

📖 続きを読む

npm run script に引数を渡す

この記事の上にあるFeatured Imageを生成するときに毎回primitive_bulkのコマンドを入力していたのだけど、
しかしさすがに面倒になってきたので、npm run script にショートカットを用意してショートカットに引数を渡すようにしてみた。

📖 続きを読む

JavaScriptでハッシュテーブルを作る

JavaScriptオブジェクトのプロパティアクセスにおけるビッグ・オーで書いたようにJavaScriptのオブジェクトは基本ハッシュテーブルであるし、Mapオブジェクトも中の実装はChromeではハッシュテーブルであると書かれてある(Optimizing hash tables: hiding the hash code)。だからJavaScriptで自前のハッシュテーブルを作るというのは必要のないことなのだけど試しに作ってみたかった。

📖 続きを読む

JavaScriptオブジェクトのプロパティアクセスにおけるビッグ・オー

配列に格納しているオブジェクトをそのIDで検索するとしたら処理量は(線形探索だろうから)ビッグ・オー記法としては O(n) になるだろう。

📖 続きを読む

PWAのチェックリストを満たす

たいして更新もしない個人のブログで Service Worker とか入れる必要まったくないと思いながらも、Lighthouse の結果を見るたびに「PWAのチェックリストだけ100点に至らない」というなんとも言えないモヤモヤ感があった。別にそんなに大変でもないんだから入れてしまえ、ということでPWAのチェックリストを満たすべく、Service Worker と App manifest に対応しました。

📖 続きを読む

TypeScriptとWebpackを使ってDynamic Importを行う

Webpackではバンドルするファイルを3つのアプローチで分けることができる。エントリーポイントを複数設けたり、webpack.config.jsにsplitChunksの設定を入れたりなどの他に、Dyanmic importを使うことでもファイルを分けることができる。詳しくはCode Splittingを参照。

📖 続きを読む

カスタムドメインを設定する

このサイトはHexoを使ってGithub Pagesに公開しているのだけど、最近Github PagesカスタムドメインでもHTTPSをサポートしてくれるようになったので、適当にリダイレクトかけていた元の memolog.org のドメインを設定することにした。

📖 続きを読む