2019-03-01から1ヶ月間の記事一覧

inversifyJSを用いてTypeScriptでDIをする

この記事では、InversifyJS を用いて TypeScript で DI をするサンプルを紹介し、また、(DIに慣れていない方向けに)DI をすると何が嬉しいのか、というのを説明します。 サンプル 「ユーザーの登録」「登録したユーザーの情報を取得」の 2 つのシンプルな…

クラウドとディープラーニングと価格予測の話

AlpacaJapanさん主催のMarketTech Meetup #02でLTをさせていただいたので、その時の内容をここにもまとめておきます。 スライドはこちらです。 クラウドとディープラーニングと価格予測の話 from KazushiKitaya www.slideshare.net ディープラーニングで価格…

winstonでのエラーログにエラーメッセージを含める

winstonでエラーをロギングするときに発生する問題 以下のようにwinstonのloggerを用意したとします。 const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winst…

winstonでexpressのリクエストログを扱う

expressにおけるリクエストのロギングはmorganを使うのが鉄板ですが、winstonなどの他の高機能なロガーで、まとめてログを扱いたいことが多いと思います。 この記事では、どのようにしてそれを実現するのかを簡単な例で説明します。 準備 空のディレクトリを…

DynamoDBから特定のテーブルの全項目データを取得する(TypeScript/Node.js)

aws

AWS SDKのDynamoDB.DocumentClientのscanメソッドを用いるのですが、そのままではテーブルのサイズが大きい場合に一部のデータしか取得できません。 バッチ処理などで、テーブル内の全項目を取得したいシーンもあると思います。(頻繁にそういった操作が必要…

express.js + passport.jsで1分でbasic認証を実装する

passport.jsを用いると、expressでbasic認証が簡単にできます。 準備 $ npm i express passport passport-http コード 以下のファイルをindex.jsとして保存します。 const express = require('express'); const passport = require('passport'); const passp…

ウェブ開発でNode.jsを採用するメリット・デメリット

ウェブ開発においてある程度の地位を築いた感のあるNode.jsですが、自分も2年ほど使っています。 この記事では、Node.jsの良い点・悪い点をまとめてみます。 メリット フロントエンドと同じ言語(JavaScript)でバックエンドを書くことができる これは素晴らし…