JavaScriptでスタックオーバーフローを起こさず高速に再帰呼び出しをする
JavaScriptでは、以下のような関数の再帰呼び出しをすると、ブラウザごとに定義されている最大コールスタック数を超えたとき、エラーが出ます。var i = 0;function recurse() {i++;recurse();}recurse();// Uncaught RangeError: Maximum call stack size ex…
JavaScriptでは、以下のような関数の再帰呼び出しをすると、ブラウザごとに定義されている最大コールスタック数を超えたとき、エラーが出ます。var i = 0;function recurse() {i++;recurse();}recurse();// Uncaught RangeError: Maximum call stack size ex…
現在JavaScriptは、ブラウザで使用されるのはもちろんのこと、サーバーサイドでWebサーバーとして動作したり、はたまた開発者のPCで各種開発ツールとして動作したりしており、様々な場面で利用されています。そこで今回は、そのどちらでも使える、Node.jsと…
最近、デザインされたQRコードを見る機会が多くなりました。QRコードの真ん中にアイコン等が配置してあるものを見たことがある人も多いと思います。LINE等でQRコードを生成すると、真ん中にアイコンが表示されますね。今回は、高度にQRコードに画像を埋め込…
2017年1月下旬頃から、当ブログをシングルページアプリケーション(SPA)としてリニューアル・公開開始しました。公開してからある程度時間が経ち、SPAにした成果が見え始めてきているので、ここで一つ、実際のところSPAにしてどのように変化したかを振り返…
通常のWebページの場合、Google Analyticsは単一のJavaScriptコードをHTML内に埋め込むだけで利用できます。しかし、シングルページアプリケーション(SPA)の場合、そのままでは最初の1ページしか記録してくれませんので、ページ遷移ごとにGoogle Analytics…
近年、Web業界の発展により、UI/UXの優れたWebサイトやWebアプリケーションが登場してきています。そして、それに合わせ、フロントエンドの技術が進歩し、UIを構築するのに優れたライブラリやフレームワークが多く登場してきています。周りがどんどん進化し…
iframeを利用する上で、最も障害となるものの一つに、ページ間のJavascriptの連携のしにくさが挙げられます。通常のWebページでは、windowオブジェクトは1つですから、何も考えることなく普通にwindowオブジェクトを使えば良いです。しかし、iframeを利用し…
ブログやWebサイトのコンテンツを作成する際、プログラムのソースコードを記載するような場面も、エンジニアならあるかと思います。そんなとき、記載するソースコードの可読性が少しでも向上するように、プログラミング言語の変数名や予約語などを色分けする…
インターネット上には、Express 3.x系の情報ばかりで、苦労したので備忘録として。前提以下のバージョンを使用しています。モジュール名バージョンNode.js0.12.0Express4.13.3compression1.5.2モジュールのインストールあらかじめ必要なモジュールをインスト…
REST APIにアクセスする際に、ブラウザがAPIサーバに対してHTTP(もしくはHTTPS)のOPTIONSメソッドでリクエストを投げることがあります。本記事では、その現象の解説と、Node.jsでAPIサーバを実装している場合のOPTIONSメソッドへの対応法を記述します。HTT…