light log

学んだこととか

いろいろなCRUD入門をやってみる(Expressで)

はじめに

ExpressのGetting startedをやったので、今度はもう少し実践的なことをやりたいということで、いくつかの入門的なブログ記事の内容に従って、簡単なサンプルアプリを作ってみた。

ちなみに、CRUDとRESTfulの違いもよくわかっていない。

1つ目

Creating RESTful APIs With NodeJS and MongoDB Tutorial (Part II) - Adrian Mejia’s Blog

図があって分かりやすそうなのと、更新日が新しかった(2014/10/1)ので、一つ目に選んだ。実際分かりやすかった。

Part IIとなっているけど、Part IはAngularについての入門記事なので、サーバサイドの部分はこの記事がメイン。内容自体もPart IIだけで完結しているので、事前にPart Iを読んでおく必要もなかった。Part IとIIの内容をまとめて一つのMEAN Stackのアプリとして完成させる部分がPart IIIとなっている。

基本的にすごくわかりやすくて、1手順ごとにGithubのdiffも付いていて、迷子になる心配はあんまりないけど、以下の一点だけ気になった。

「Understanding the MEAN Stack」の章の「Mongoose CRUD」のところで、なんの事前説明もなくmongooseをCLIで動かし始めるのに少し戸惑った。仮にここが自力で解決できたとしても、以降すべてがこういうノリだと途中でついていけなくなるかも…と心配したけれど、結局説明がないのはここだけだったので杞憂に終わった。ということで、mongooseをまだセットアップしていないとかの理由でここがよくわからなければ、読み飛ばしてしまっても以降の内容になんら影響はない。

上記以外は素晴らしかった。機会があればPart IとIIIも読んでみようと思う。あとPOSTMANっていうChrome拡張を知った。すごく便利。

作ったものは以下にアップした。ブログ記事のまんまだけど。

https://github.com/yamacent/sample-Express-MongoDB-todoApp

ちなみに、こういう練習用アプリでgithub上が散らかるのが嫌だったから、そういうものには決まったプレフィックスを付けようと思ってとりあえずsample-を付けておいたけど、全体的に冗長な名前になった。こういうののベストプラクティスみたいのってあるんだろうか。所詮練習用のリポジトリだからどうでもいいんだろうか。

2つ目

Beer Locker: Building a RESTful API with Node - Scott Smith

Beer Locker: Building a RESTful API with Node - CRUD - Scott Smith

こっちもシリーズもので、上の二つに加えてまだいくつか先がある。今回は二つやったところで時間とMBAのバッテリー切れになったのでここまでにした。

このシリーズはexpress-generatorを使わずに最小構成のexpressアプリから少しずつ機能を付け加えていく流れになっているので、自分が何をやっているのかとても分かりやすい。先にこっちをやった方がよかったかもしれない。

上記二つの記事を終えた時点ではRESTful APIの実装が一通り出来上がったところまで。次の記事で、Passportを使ったログイン機能を実装し、さらに次でOAuth認証を実装する流れになっている。続きは明日以降にやる。

この中でNode Inspectorの存在を知った。まだほとんど使っていないけど、便利そう。必須そう。そしてやはりこっちでもPOSTMANが大活躍した。

あと内容がユーモラスになっていて、ビール好きならより楽しめるかも。残念ながら自分はあんまりビール好きじゃないけど。

こっちの作ったものは以下。

https://github.com/yamacent/sample-Express-MongoDB-beerlocker