NodeJS Step 12 news site
- express, DBμμ΄ node.jsλ§μΌλ‘ todo listλ§λ€κΈ° ν μ΄μ λ expressμ MongoDB/mongooseλ₯Ό μ΄μ©ν΄ λ΄μ€νμ΄μ§λ₯Ό λ§λ€μ΄λ³΄μ.
- μ΄λ² νλ‘μ νΈμμλ JWTμ Oauthλ₯Ό μ¨λ³΄μ.
- κ·Έλ¦¬κ³ μ΄λ²μλ test frameworkλ₯Ό μ¬μ©ν΄ 보μ.
- λ°©λ¬Έμλ νμλ€μ΄ νμ΄μ§λ‘ λ°©λ¬Ένλ©΄ κΈ°μκ° μμ±ν λ΄μ€λ€μ λ³Ό μ μλ νμ΄μ§λ₯Ό λ§λ€μ΄λ³΄μ
- μ€μ§ κΈ°μκ° μ¬λ¦° κΈ°μ¬λ€μ μ‘°νν μλ§ μλ€. λ€λ₯Έ κΆνμ μΌμ²΄ μλ€.
- κΈ°μ¬λ₯Ό μ‘°νν μ μλ€.
- κΈ°μ¬μ λκΈμ λ¬ μ μλ€. λκΈμ λκΈλ κ°λ₯νλ€.
- κΈ°μ¬μ μ’μμ, μ«μ΄μ λ± κ°μ ννμ ν μ μλ€.
- λκΈμλ good, badλ₯Ό ν μ μλ€.
- μ’μνλ κΈ°μλ₯Ό ꡬλ
ν μ μλ€.
β λ΄μ€ν μ€λ₯Έμͺ½ μλμ ꡬλ ν κΈ°μλ€μ μ΅μ κΈ°μ¬λ€μ νμλλ κΈ°λ₯μ μΆν μκ°μ΄ λ¨μΌλ©΄ μΆκ°ν μμ - κΈ°μκ° λκ³ μΆμ νμμ κΈ°μμμ²μ ν μ μλ€. (κ΄λ¦¬μκ° μλ½νλ©΄ κΈ°μλ‘ λ³κ²½)
- νμνν΄λ₯Ό ν μ μλ€.
- μΌλ°νμμ΄ κ°μ§κ³ μλ κΆνμ λ€ κ°μ§κ³ μλ€.
- κΈ°μ¬λ₯Ό μΈ μ μλ€.
β ꡬλ μ μμ μ‘°ν μ, μ’μμ μ λ±μ μ’ ν©νμ¬ κΈ°μμμλ₯Ό 맀겨μ νμνλ κΈ°λ₯μ μΆν μκ°μ΄ λ¨μΌλ©΄ μΆκ°ν μμ
- κΈ°μκ° κ°μ§κ³ μλ κΆνμ λ€ κ°μ§κ³ μλ€.
- κΈ°μμμ²μ μλ½ λλ κ±°μ ν μ μλ€.
- νμλ€μ κ΄λ¦¬νλ€. = κ°ν΄κ°λ₯, κΈ°μ¬μμ κ°λ₯
β μΆν μκ°μ΄ λ¨μΌλ©΄ κ°ν΄λΉν IDλ‘λ λ€μ κ°μ νμ§ λͺ»νλ κΈ°λ₯ μΆκ°ν μμ - κ°μ’ ν΅κ³λ₯Ό λ³Ό μ μλ€.
- νλ©΄ μλ¨μ λ°λ₯Ό λ§λ€μ΄ νμ΄μ§μ΄λ¦κ³Ό μμ΄μ½μ νμνλ€. (μ€ν¬λ‘€μ μλλ‘ λ΄λ¦¬λλΌλ μλ¨λ°μ ν λ§λ μ¬λΌμ§μ§ μλλ€.)
- μλ¨ λ°μ μ€λ₯Έμͺ½μλ λΉλ‘κ·ΈμΈ μμλ λ‘κ·ΈμΈ λ²νΌμ΄, λ‘κ·ΈμΈ μμλ μ μ λλ€μμ νμνλ€.
- μλ¨λ° λ°λ‘ μλμλ λ΄μ€ ν λ§λ³ λ²νΌμ νμνλ€.
- μνλ ν λ§λ₯Ό ν΄λ¦νλ©΄ νλ©΄ μ νμμ΄ ν λ§λ³ λ΄μ€λ€μ΄ μλνλ©΄μ νμλλ€.
- λ΄μ€λ€μ μΌμͺ½ μ€λ₯Έμͺ½μΌλ‘ λλ νμνλ€.
- μΌμͺ½μλ μ£Όμλ΄μ€λ€λ‘ 맨μμ κ°μ₯ μ€μν λ΄μ€λ₯Ό λ©μΈ μ΄λ―Έμ§μ ν¨κ» νμνκ³ , μλμ λλ¨Έμ§ λ΄μ€λ€μ νμνλ€.
- μ€λ₯Έμͺ½μλ μ, μλλ‘ λλ μμλ μ‘°νμκ° λ§μ λ΄μ€λ€μ νμνκ³ , μλμλ ꡬλ ν κΈ°μκ° μ¬λ¦° λ΄μ€λ€μ νμνλ€.
- κ·Έλ¦Όκ³Όλ λ¬λ¦¬ ννμ΄μ§μμ λ‘κ·ΈμΈ λ²νΌ ν΄λ¦μ λ‘κ·ΈμΈ μ°½λ§ μ€μμ μΆλ ₯ν μμ .
- κ·Έλ¦¬κ³ SIGN UP λ²νΌμ λλ₯΄λ©΄ νλ©΄μ ν μμ΄ λ‘κ·ΈμΈμ°½μ΄ μ¬λΌμ§κ³ νμκ°μ μ°½μ΄ λμ€λλ‘ κ΅¬νν μμ .
- λ‘κ·ΈμΈ : URL = '/login', method = POST
- νμκ°μ : URL = '/createaccount', method = POST
- κ·Έλ¦Όμλ λ£μ§ λͺ»νμ§λ§, νλ©΄ μ΅μλ¨μ ννμ΄μ§μ μλ μλ¨λ°μ ν λ§λ₯Ό νμν μμ (μ€ν¬λ‘€μ λ΄λ¦¬λλΌλ μ¬λΌμ§μ§ μμ)
- μλ¨μ κΈ°μ¬ μ λͺ©νμ, κ·Έ μλ λ³Έλ¬Έ νμ
- νλ©΄ μΌμͺ½μ ν΄λΉ κΈ°μ¬λ₯Ό μ΄ κΈ°μμ λ€λ₯Έ κΈ°μ¬λ€ νμ(μ€ν¬λ‘€μ λ΄λ¦¬λλΌλ μ¬λΌμ§μ§ μμ)
- κΈ°μ¬κ° λλλ μμ μ μ’μμ, μ«μ΄μ, νλμ, κ·Έ λ€λμ? λ±μ ν μ μλλ‘ κ΅¬ν (κ·Έλ¦Όμ μμ§λ§ ꡬλ λ μΆκ°ν μμ )
- κ·Έ μλ λκΈμ λ ₯λ ꡬν.(λ‘κ·ΈμΈμ νμ§ μμ μνλΌλ©΄ λ±λ‘λ²νΌμ λ‘κ·ΈμΈ νμ΄μ§λ‘ μ΄λνλ€.)
- λκΈμ λ ₯λ μλ λκΈλ€μ νμ, λκΈμ λκΈμ λ¬ μ μλλ‘ κ΅¬ν(1κ°κΉμ§λ§...)
- μλ¨λ° νΉμ ν λ§ ν΄λ¦ : URL = '/', method = GET
- μ’μμ λ± κ°μ ν΄λ¦ : μμ² URL = '/feeling' method = POST (νλ©΄μ ν μμ)
- ꡬλ : μμ² URL = '/subscribe', method = POST (νλ©΄μ ν μμ)
- λκΈ λ±λ‘ : μμ² URL = '/comment', method = POST (νλ©΄μ ν μμ)
- νμμ 보 νμ
- κΈ°μμμ² : μμ² URL = '/please', method = GET (νλ©΄μ ν μμ)
- κΈ°μ¬μ°κΈ° : URL = '/writingPage', method = GET
- νμνν΄ : URL = '/withdraw', method = GET (ννμ΄μ§λ‘ μ΄λ)
- κΈ°μ¬λ₯Ό μμ±ν μ μλ νμ΄μ§ ννμ΄μ§μ λ ΈμΆλ μ λͺ©κ³Ό λ³Έλ¬Έμ μ μ μ μλ€.
- μ΄λ―Έμ§μ½μ μ 곡λΆν΄λ΄μΌ μ΄λ»κ² λ μ§ μκ² κ°λ€.
- ν°νΈμ€νμΌλ 곡λΆν΄λ΄μΌ μκ² κ°λ€. λ€λ₯Έ κΈ°λ₯ ꡬν ν μκ°μ΄ λ¨μΌλ©΄ μ μ©ν μμ
- μ λ‘λ : URL = '/upload', method = POST
- μ°μ ννμ΄μ§μ λ‘κ·ΈμΈ/νμκ°μ νμ΄μ§, κ·Έλ¦¬κ³ νμκ°μ κ³Ό λ‘κ·ΈμΈ κΈ°λ₯κΉμ§ ꡬνν ν 1μ°¨ PRμ λ 리μ.
- μ΄λ²μ£Ό μ£Όλ§κΉμ§ 1μ°¨PRμ λ λ €λ³΄μ.