綺麗に死ぬITエンジニア

JavaScriptでブラウザ判定をするなら「Platform.js」がラク

JavaScriptで閲覧者のブラウザやOS等のプラットフォームを判定するのに、皆さんはどうしてますでしょうか。それぞれ独自にユーザーエージェントから推測するコードを実装している方も多いと思います。しかし、現在様々なプラットフォームが存在するため、正…

JavaScriptで正規表現文字列をエスケープする方法

JavaScriptで正規表現を利用する際、生成したRegExpオブジェクトが思いどおりに動かない場合があります。それは、もしかしたら正規表現で利用する特別な文字列がエスケープされていないのが原因かもしれません。時々、正規表現へ動的な文字列を突っ込みたく…

JavaScriptで画像処理するなら「Jimp」が便利

現在JavaScriptは、ブラウザで使用されるのはもちろんのこと、サーバーサイドでWebサーバーとして動作したり、はたまた開発者のPCで各種開発ツールとして動作したりしており、様々な場面で利用されています。そこで今回は、そのどちらでも使える、Node.jsと…

ブログをシングルページアプリケーション(SPA)にするメリット・デメリット

2017年1月下旬頃から、当ブログをシングルページアプリケーション(SPA)としてリニューアル・公開開始しました。公開してからある程度時間が経ち、SPAにした成果が見え始めてきているので、ここで一つ、実際のところSPAにしてどのように変化したかを振り返…

EC2のセキュリティグループにCloudFrontからしかアクセスを許可しない設定を追加する(AWS Lambda, SNS, S3利用 サーバーレス版)

※ 最新のAWS環境(LambdaのNode.js 4.3対応)に対応した形で記事を書き直しました。最新の記事はこちらからどうぞ。本記事投稿日現在、AWSのセキュリティグループの受信許可設定には、IPアドレスの指定および他のセキュリティグループのID指定しか対応してい…

Node.js + Express 4.xで、Gzip圧縮を実装する

インターネット上には、Express 3.x系の情報ばかりで、苦労したので備忘録として。前提以下のバージョンを使用しています。モジュール名バージョンNode.js0.12.0Express4.13.3compression1.5.2モジュールのインストールあらかじめ必要なモジュールをインスト…

Node.js + ExpressへのOPTIONSメソッドの実装

REST APIにアクセスする際に、ブラウザがAPIサーバに対してHTTP(もしくはHTTPS)のOPTIONSメソッドでリクエストを投げることがあります。本記事では、その現象の解説と、Node.jsでAPIサーバを実装している場合のOPTIONSメソッドへの対応法を記述します。HTT…