Skip to content

Latest commit

Β 

History

History
64 lines (57 loc) Β· 2.64 KB

22_04_07_Thu.md

File metadata and controls

64 lines (57 loc) Β· 2.64 KB

[22.04.07.Thu] - Day 32

Node.js

  • 데이터 μˆ˜μ •/μ‚­μ œ μ‹€μŠ΅
  • 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
  • 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
    • 이메일 λ³΄λ‚΄λŠ” κΈ°λŠ₯을 ν•΄μ£ΌλŠ” λͺ¨λ“ˆ

[Note]

  • sequelize μ£Όλ‹ˆμ–΄ κ°œλ°œμžμ—κ²Œ ꢌμž₯ x
    • ORM (Object Relational Mapping)
    • ν•¨μˆ˜ ν˜ΈμΆœν•˜λ“―μ΄ 쿼리 μ‹€ν–‰ κ°€λŠ₯ (JS Object - Relation/table)
    • λ§Žμ€ μ½”λ“œ μž‘μ„±ν•΄μ•Ό 함
  • 개발 λ‹¨κ³„μ—μ„œλ§Œ μ‚¬μš©ν•˜λŠ” λͺ¨λ“ˆμ€ --save-dev둜 μ„€μΉ˜
  • μ‹œμŠ€ν…œ 운영 및 관리 μœ„ν•΄μ„œ 둜그 기둝은 ν•„μˆ˜!!!