NestJSでGraphQL APIを実装したのでメリットデメリットについて話そう

GWも始まって朝早起きして開発してみた。 所要時間がだいたい3時間程度。TypeORMまわりで時間食った。 今、開発にNestJSは使用していたこともあってそっちはRESTで組んでいるので個人プロジェクトの方ではGraphQLを入れてみた。 nestjs-graphql 個人的にNestJSについて思うことをいくつか書いてみようと思う。 NestJSを使うメリット 1つ目は開発スピードが爆速ということ。 速攻でアプリ開発ができるというメリットがある。 nestで用意されているコマンドが便利。 ベースになるソースコードを生成してくれるあたり使い勝手がよい。…

NodeMailerによるSMTPメール送信を実装する

Node.jsでSMTPメールを送信するやり方、エックスサーバーで実装したのでメモとして残しておきます。 環境変数ファイル # メールのホスト MAIL_HOST="sv.XXX.xserver.jp" # SSL(TLS)で送信する場合は465、使用しない場合は587 MAIL_PORT=465 # メールアドレス…

ts-node-devでNode.jsをホットリロードさせる

TypeScript開発において、ソースをいちいちtsをjsにトランスパイルして実行をするというのは手間です。 そこでNode.jsをホットリロードできる環境を作り、これらの手間を省きます。 Node.jsのホットリロード環境を作るのに以下のパッケージが有名どころです。普段自分はnodemonを使用していますが、今回は検証も兼ねてts-node-devを導入しました。 ts-node-dev nodemon なお、似たようなパッケージでts-nodeが存在しているのですが、ts-nodeはファイルをjsにコンパイルすることなく起動することが可能にするパッケージです。 ts-node-devはこのts-nodeに監視モードを加えて高速に再起動ができるようになったものです。 Tweaked version of…

Meteorのチュートリアル

GWということもあって、以前からやろうやろうと思っていたMeteorのチュートリアルを時間を取って消化しようと思う。 https://www.meteor.com/ Meteorとは オープンソースのNode.jsフレームワークです。というよりも基本的にすべてが含まれていてNode.jsのフレームワークなの?という疑問が生じますが。 Meteor専用の拡張子.blazeが使用されており、それによってHTMLを使用しないデータのレンダリングをしています。 コンセプトとしては - one language -…

npm install, update, ciの挙動

npm周りについてのメモ書き installとupdateでの挙動について、似ているので扱いを間違えやすい。 npm install 未インストールのパッケージをインストール 指定より上バージョンのパッケージが存在してもインストールしない npm update 未インストールのパッケージはインストールしない 指定より上バージョンのパッケージが存在する場合インストールする…