- λ°μ΄ν° μμ /μμ μ€μ΅
- dotenv λͺ¨λ μ΄μ©νμ¬ MySQL DB μ 보 κ°μΆκΈ°
- .env νμΌ alias
- process.env.λ³μλͺ
- λ Έλ νλ‘μΈμ€ νκ²½ μΆκ° κ°λ₯
- NODE_ENV λ
Έλ νκ²½ λ³μ κ°, app.get('env') μ΄μ©νμ¬
κ°λ°/μ΄μ μλ² λΆλ¦¬ν΄μ κ΄λ¦¬ν¨
- route μ§μ λ°©λ²
- μ κ·μ μ΄μ©ν΄μλ κ°λ₯
- route module
- route alias
- post νλλ‘ get/post/put/delete λ€ μ²λ¦¬ κ°λ₯
- μμμ node μλ² μ¬μμ ν΄μ£Όλ λͺ¨λ
- nodemon
- κ°μνκ³ μΆμ ν΄λλͺ , νμΌ
nodemon --watch mysql routes 13_route_module.js
- nodemon
- static
- μλ²μ μλ μμμ λΈλΌμ°μ μ μ€νν μ μλλ‘ μ΄μ΄μ€
- FEμμ μ΄λ―Έμ§ λ³Ό μ μμ
- multer
- λ―Έλ€μ¨μ΄ λͺ¨λ
- ν΄λΌμ΄μΈνΈμμ νμΌ μ λ‘λ νμ λ μλ²μμ λ°λ λ°©λ²
- ν΄λΌμ΄μΈνΈ -> λ Έλ
- request bodyμ form-data μ΄μ©
- form-dataλ form νκ·Έ submit μ²λ¦¬ κ°μ κ²
- νμ©) μ΄λ―Έμ§ μ
λ‘λ, μμ
νμΌ μ
λ‘λ, ...
- μ ν, μ¬κ³ λ± νμΌλ€μ΄ νλ²μ μ¬λ¬ κ°κ° λμ΄μ΄
- μμ λ‘ κ΄λ¦¬λκ³ μλ λ°μ΄ν°λ₯Ό λͺ¨λ DBμ λ£κ³ μΆμ
- μμ νμΌμ node λ¨μμ json νμΌλ‘ λ³ννκ³ μΆμ λ μ¬μ© κ°λ₯
- fs λͺ¨λλ‘ νκΈ°μλ μ½μ§ μμ
- xlsx λͺ¨λ μ΄μ© κ°λ₯
- morgan
- λ―Έλ€μ¨μ΄ λͺ¨λ μ€ νλ (μ΅μ€νλ μ€)
- μμ€ν μμ λ°μνλ λ€μν λ‘κ·Έ (κ°μ’ μ 보) κ΄λ¦¬ μν λͺ¨λ
- info level, error level, warning level λ±μ νμΌλ‘ κ΄λ¦¬ν¨
- μ¬μ©μ μλ¬κ° μλ κ²½μ°λ§ λ‘κ·Έλ₯Ό λ¨κΈ°κ³ μΆμΌλ©΄,
app.use( morgan('combined', { stream: accessLogStream, skip: function (req, res) { return res.statusCode < 400; }, }) );
- rotating-file-stream
- μ΅κ·Ό 30μΌμ μΌμλ³λ‘ λ‘κ·Έ κΈ°λ‘ν΄μ κ΄λ¦¬ν μλ μμ
- 30λΆ λ¨μλ‘ λ‘κ·Έ νμΌμ λ§λ€ μλ μμ
- μ΄ λͺ¨λμ μ΄μ©νμ¬ λμ€μ μλμΌλ‘ μ§μ ν λ μ§, λ‘κ·Έ νμΌ μ¬μ΄μ¦ λ±μ λν μλ‘μ΄ λ‘κ·Έ νμΌ λ§λ€μ΄ μ£Όλ κ²μ νμ© κ°λ₯
- winston
- λ‘κ·Έ κ΄λ¦¬ λͺ¨λ
- nodemailer
- μ΄λ©μΌ 보λ΄λ κΈ°λ₯μ ν΄μ£Όλ λͺ¨λ
- sequelize μ£Όλμ΄ κ°λ°μμκ² κΆμ₯ x
- ORM (Object Relational Mapping)
- ν¨μ νΈμΆνλ―μ΄ μΏΌλ¦¬ μ€ν κ°λ₯ (JS Object - Relation/table)
- λ§μ μ½λ μμ±ν΄μΌ ν¨
- κ°λ° λ¨κ³μμλ§ μ¬μ©νλ λͺ¨λμ --save-devλ‘ μ€μΉ
- μμ€ν μ΄μ λ° κ΄λ¦¬ μν΄μ λ‘κ·Έ κΈ°λ‘μ νμ!!!