Corredor

ウェブ、プログラミングの勉強メモ。

Express

Express はレスポンスを返してからも処理が続行できる

Express において、res.json() とか res.send() とかを呼んだ後も処理が継続できることを知った。リクエストに対するレスポンスの用意ができたら迅速に res.send() を呼んでレスポンスしてしまい、残処理はそのあとゆっくりやれる、というワケだ。てっきり r…

Express のレスポンス関連メソッド「res.end()」「res.send()」「res.json()」の違い

Express でレスポンスを返す時、res.end()・res.send()・res.json() などのメソッドを使用するが、それぞれの違いは何か、res.end() は必ず呼ばなければならないのか、あたりを調べた。 Express の API リファレンスを呼んでみる まずは Express の API リフ…

LINE Messaging API を使ってオウム返しする Node.js 製チャットボットを作ってみる

突然だが、LINE Messaging API というモノを使って、簡単なチャットボットを作ってみる。 完成すると、LINE アプリでチャットボット用アカウントを友達登録して、トーク画面から会話できるようになる。メッセージの処理はしないので、ただユーザの発言をオウ…

Express サーバでエラーハンドリングをミドルウェアに分ける

Express サーバを作っていて、例外のハンドリングを簡単に実装できる方法を知ったのでまとめてみる。 Express 関連用語をまとめる express.Router() ミドルウェア Expressにおけるミドルウェアとは next() ミドルウェアは記述された順に実行される エラーハ…

Express で構築した WebAPI サーバをユニットテストする (コードカバレッジも見る)

Express で構築した WebAPI サーバをユニットテストしたく、やり方を調べた。 今回の要件 テストランナーは Mocha を使う Express サーバの制御には supertest を使う HTML 形式でレポートを出力するために nyc を使う 任意 : Jasmine 風にテストを書けるよ…

Express + Passport と Angular でセッション管理するアプリを作ってみる

サーバサイドは Express で、クライアントサイドは Angular で作り、クライアントでログイン処理をしたユーザのみが、ある API にアクセスできるようにしたいと思った。よくあるログイン処理とセッション管理をサーバサイドで行いたい、ということだ。 Expre…

Angular CLI で作ったアプリを Heroku にデプロイして動くようにした

Angular CLI で生成したアプリを Heroku にデプロイして動作するようにするには、いくつか設定変更が必要だったので紹介。 環境情報 Angular プロジェクトを作る package.json の devDependencies を dependencies に移動する package.json に engines を記…

Heroku に登録して Express サーバをデプロイして動かしてみる

Heroku (ヘロク) という PaaS (Platform as a Service) がある。Debian・Ubuntu 系の Linux 仮想環境に、Ruby on Rails や Node.js 製のアプリをデプロイして公開できるサービスだ。DB に PostgreSQL などが使える。無料枠もあり、開発者がお試しで使うには…

はてなブックマークにノイズが多いのでオレオレはてなブックマーク「Neo's Hatebu」を作った

二度と視界に入れたくない記事。 僕は iPhone の「はてなブックマーク」アプリを見るのが日課なのだが、最近どうにもこうにも、見たくない話題に関する記事がホットエントリを占めるようになっていて、気分が乗らない。BTS とかいう知らない連中がどうしたと…

Sequelize を使って Express サーバから MySQL DB を操作してみる

Express サーバから MySQL DB とのやり取りを行おうと思い、Node.js で使える良い O/R マッパーがないか調べてみたところ、Sequelize というモノがよく使われているようだったので試してみた。 Manual | Sequelize | The node.js ORM for PostgreSQL, MySQL,…

Express サーバで CORS を許可する・PUT や DELETE メソッドの通信を許可する

Express で作った Web API サーバに対し、SPA なアプリから GET 通信を試みたら、以下のようなエラーがブラウザコンソールに出てしまった。 Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is …

Express と SQLite を使って REST API サーバを作ってみた

Express で REST API を構築、SQLite でデータ永続化を実現して、Node.js オンリーで Web API サーバを作ってみた。 作成したソースコード一式が置いてある GitHub リポジトリは以下。 GitHub - Neos21/node-js-rest-api-sqlite-db: Node.js + Express + RES…