- doc: ``google drive/computer`` - virtual: ``docker-compose`` - backup: ``mega.nz`` - api dev: ``express / nodemon + (mockaroo) + postman`` - db: ``postgres / pgadmin`` - front dev: ``vue / vue-cli+ semantic ui`` ### validator - [How to use Express-Validator 5.x](https://charlietheprogrammer.com/how-to-use-express-validator-5/) - [how to show only one validation error message per field](https://github.com/express-validator/express-validator/issues/235) - [validation confirm password](https://stackoverflow.com/questions/46011563/access-request-body-in-check-function-of-express-validator-v4/46013025#46013025) ### crypto - [Node JS | Password Hashing with Crypto module](https://www.geeksforgeeks.org/node-js-password-hashing-crypto-module/) ### postgres - [duplicate pkey error when inserting a new records to a restored database](https://bit.ly/2GaDXlo) ``SELECT setval('table_id_seq', (SELECT max(id) FROM table));`` ## summary ### express ```js // index.js routes fs.readdirSync(path.join(__dirname, 'routes')).forEach((routeFileName) => { if (/\.js$/.test(routeFileName)) { require(`./routes/${routeFileName}`)(app) } }) ``` #### Package - request: **bodyParser** - validate: **express-validator** - postgres: **pg** - md5 password: **crypto** ```js // crypto var crypto = require('crypto'); var hash = crypto.createHash('md5').update(user.password).digest("hex"); ``` ## Library - [Node.js で Cloud Storage を使用する](https://cloud.google.com/nodejs/getting-started/using-cloud-storage?hl=ja) ## Deployment - [Express Deploy Tutorial ](https://developer.mozilla.org/ja/docs/Learn/Server-side/Express_Nodejs/deployment)