node tools module and packages
Name | Use case | install | |
#1 | nodemon | make live server in command | https://www.npmjs.com/package/nodemon |
#2 | inquirer | A collection of common interactive command line user interfaces. | https://www.npmjs.com/package/inquirer |
#3 | commander | The complete solution for node.js command-line interfaces. | https://www.npmjs.com/package/commander |
#4 | thread pool | used to run all file system operations | https://docs.libuv.org/en/v1.x/threadpool.html |
#5 | exposrt and Import | can use any function from file to defrent file | |
#6 | fs module | work on files system and write, remove and viwe on documents | |
#7 | express-validator | handle vlidation for all data | https://express-validator.github.io/docs/ |
#8 | dotenv | Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. | https://www.npmjs.com/package/dotenv |
#9 | cors error | CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options. | https://www.npmjs.com/package/cors |
#10 | cors error | CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options. | https://www.npmjs.com/package/cors |
#11 | axios-mock-adapter | Axios adapter that allows to easily mock requests | https://www.npmjs.com/package/axios-mock-adapter |
#12 | bcryptjs | make password hashing in mongoDB Express | https://www.npmjs.com/package/bcryptjs |
node frame works
Name | install | |
#1 | express | https://expressjs.com |
#2 | Koa | https://koajs.com |
#3 | nest | https://nestjs.com |
#4 | Hapi | https://hapi.dev |
#5 | Meteor | https://www.meteor.com |
#5 | https://sailsjs.com |
"About http request"
-
epoll on Linux
-
kqueue on OSX and other BSDs
-
event ports on SunOS
-
IOCP on Windows
kernel
vedio | link | |
#1 | operating system kernel | https://youtu.be/Ujd3zy2M2M4?si=0S5tyr8CdABL4Z9_ |
status code
more information the status code in "mdn"
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#browser_compatibility
code | information | more | |
#1 | 100 - 199 | Informational responses | https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#information_responses |
#2 | 200 - 299 | Successful responses | https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#successful_responses |
#3 | 200 | status "ok" all requists and responses is done | |
#4 | 300 - 399 | Redirection messages | https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#redirection_messages |
#5 | 400 - 499 | Client error responses | https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses |
#6 | 404 | error not fount page, link, route, assets, any thing | |
#7 | 401 | often denoted as UNAUTHORIZED | |
#8 | 422 | validation error in data | |
#9 | 500 - 599 | Server error responses | https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#server_error_responses |
middleware https://expressjs.com/en/guide/writing-middleware.html
morgan medelware node.js npm => https://www.npmjs.com/package/morgan | github => https://github.com/expressjs/morgan
make without routes and controller
const express = require("express");
const dotenv = require("dotenv");
const mongoose = require("mongoose");
dotenv.config();
const app = express();
const port = process.env.port;
const url = process.env.mongoURL;
mongoose.connect(url).then(() => {
console.log("Connect success for DB");
}).catch(err => console.log(err));
app.listen(port, () => {
console.log(`start server work in ${port}`);
});
// config/db.config.js
const mysql = require('mysql');
const connection = mysql.createPool({
host: process.env.DB_HOST, // DB_HOST=localhost
user: process.env.DB_USER, // DB_USER=root
password: process.env.DB_PASS, // DB_PASS=""
database: process.env.DB_NAME // DB_NAME=example
});
connection.getConnection(() => {
console.log('success db');
})
module.exports = connection;