π λ€μ΄κ°λ©°
μ λ² ν¬μ€ν μμλ node.jsμ Expressλ₯Ό μ΄μ©ν κ°λ¨ν μλ² κ΅¬μΆμ ν΄λ³΄μμ΅λλ€.
μ΄λ² κΈμμλ Express ν΄λ, νμΌμ λν΄ μ’ λ μμΈνκ² λ€λ€λ³΄λ €κ³ ν©λλ€.
β¬οΈ μ λ² ν¬μ€ν 보λ¬κ°κΈ°!
https://ju-hyeon.tistory.com/28
π Express ꡬ쑰
βκ°μ₯ μλ¨μ practice (express λͺ λ Ήμ΄λ‘ λ§λ νλ‘μ νΈμ μ΄λ¦) λ₯Ό λλ¬λ³΄λ©΄
5κ°μ ν΄λμ app.js, package.jsonμ λ³Ό μ μμ΅λλ€.
μμμ λΆν° νλμ© λ―μ΄λ³΄λλ‘ νκ² μ΅λλ€.
1. bin ν΄λ
binν΄λμλ μ€λ₯Έ μͺ½ μ΄λ―Έμ§μ κ°μ wwwνμΌμ΄ μμ΅λλ€.
μ΄ νμΌμ μλ²λ₯Ό μ€ννλ μ€ν¬λ¦½νΈμ΄λ©° νλ‘μ νΈμ ν λΉλλ ν¬νΈ λ²νΈλ₯Ό λ³κ²½ν μ μμ΅λλ€.
π΄ ν¬νΈλ²νΈ μ£Όμ (κ²ΉμΉμ§ μλλ‘ μ£Όμν΄μΌ ν©λλ€.)
1 ~ 1023: well-known port
1024 ~ 49151: registered port
49152 ~ 65535: dynamic port
well-known portλ?
κ΅μ μΈν°λ·μ£Όμκ΄λ¦¬κΈ°κ΅¬μΈ ICANNμμ TCP, UDPμ ν λΉν ν¬νΈ λ²νΈμ λλ€.
ν΄λΉ ν¬νΈ λ²νΈλ€μ νΉμ μ ν리μΌμ΄μ μ μ¬μ©νκΈ° μν΄ ν λΉλ ν¬νΈ λ²νΈμ λλ€.
μλ₯Ό λ€μ΄, 20λ²κ³Ό 21λ² ν¬νΈλ TCP, 22λ²μ SSH λ±μ΄ μμ΅λλ€.
κ° ν¬νΈλ κ°μ κ° μλλΌ κΆκ³ μ¬νμ΄λΌ ν λΉλ ν¬νΈ λ²νΈλ₯Ό κ·Έλλ‘ μ¬μ©νμ§ μκ³ λ€λ₯Έ ν¬νΈ λ²νΈλ₯Ό μ¬μ©νκΈ°λ ν©λλ€.
registered portλ?
νΉμ μ©λλ‘ μ¬μ©νκΈ° μν ν¬νΈ λ²νΈμ λλ€.
λ±λ‘λ ν¬νΈλΌλ κ²μ λ§ κ·Έλλ‘ κΈ°μ μμ λ±λ‘ν΄μ μ¬μ©μ΄ κ°λ₯ν ν¬νΈμ λλ€.
μλ₯Ό λ€λ©΄, 8080λ² ν¬νΈλ HTTP ν¬νΈλ₯Ό λ체ν μ μλ ν¬νΈ λλ MSμμ μ 곡νλ SQLμ μ¬μ©νκΈ° μν 1433 ν¬νΈ λ±μ΄ μμ΅λλ€.
registered portλ κ°μ κ° μλ κΆκ³ μ¬νμ΄λΌ ν λΉλ ν¬νΈ λ²νΈλ₯Ό κ·Έλλ‘ μ¬μ©νμ§ μκ³ λ€λ₯Έ ν¬νΈ λ²νΈλ₯Ό μ¬μ©νκΈ°λ ν©λλ€.
dynamic portλ?
νΉλ³ν μ©λκ° μ§μ λμ§ μμμΌλ©°, μ΄λ νλ‘κ·Έλ¨μμλ μ¬μ©μ΄ κ°λ₯ν ν¬νΈ λ²νΈμ λλ€.
ν¬νΈ μ€λͺ μΆμ²: https://m.blog.naver.com/kyeong477/221558180792
2. public ν΄λ
public ν΄λμλ κ°μ’ 리μμ€λ€μ΄ ν¬ν¨λμ΄ μμ΅λλ€.
μ΄λ―Έμ§, JSνμΌ, stylesheets νμΌμ λ³Ό μ μλ€μ!
μ΄ ν΄λλ μλ²μμ 건λ릴 μΌμ΄ μμ΅λλ€!
3. routes ν΄λ
route ν΄λμλ νμ΄μ§ λΌμ°ν κ³Ό κ΄λ ¨λ νμΌλ€μ΄ λ€μ΄μμ΅λλ€.
μ£Όμ λ³λ‘ λΌμ°ν°λ€μ λͺ¨μλ κ²μ΄λ©° URL λ³λ‘ μ€νλλ μ€μ μλ² λ‘μ§μ λλ€.
index.jsλ₯Ό μμμΌλ‘ κ΄λ¦¬ν΄μ£Όλ©΄ λ©λλ€.
μ΄ λΌμ°ν°μ λν΄μλ μ κ° μ£Όλ‘ μ¬μ©νλ ν΄λλ§ κ΅¬μ‘°μμ νμΈνμλ©΄ μ΄ν΄νκΈ° μ¬μΈ κ²λλ€!
4. views ν΄λ
views ν΄λμλ jade, ejs λ± ν νλ¦Ώ νμΌλ€μ λͺ¨μ λ‘λλ€.
μΉ μλ² μ¬μ© μ ν΄λΉ ν΄λμ νμΌλ€μ μ¬μ©ν΄μ λ λλ§ νλ κ²μ λλ€.
μ΄ ν΄λλ public ν΄λμ κ°μ΄ μλ²μμ 건λ릴 μΌμ΄ μμ΅λλ€!
5. app.js
app.js νμΌμ νλ‘μ νΈμ μ€μ¬μ΄μ ν΅μ¬μ μΈ μλ² μν μ ν©λλ€.
μ΄ νμΌμμλ λ―Έλ€μ¨μ΄ κ΄λ¦¬κ° μ΄λ£¨μ΄μ§λ©° λΌμ°ν μ μμμ μ΄ λ©λλ€.
6. package.json
package.json νμΌμ μ λ² ν¬μ€ν μμ μ€λͺ ν κ²κ³Ό κ°μ΄ νλ‘μ νΈμ μ¬μ©λ λͺ¨λλ€μ΄ λμμμ΅λλ€.
npm install λͺ λ Ήμ΄λ₯Ό μ΄μ©ν΄ ν΄λΉ νμΌμ μλ λͺ¨λλ€μ λͺ¨λ μ€μΉν μ μμ΅λλ€.
λν npm <λͺ¨λλͺ >μ νκ² λλ€λ©΄ package.json νμΌμ μΆκ°λ©λλ€.
π λ§μΉλ©°
Expressμ²λΌ μλμΌλ‘ μμ±λκ±°λ νμΈμ νλ‘μ νΈ λ΄μ©μ μ΄ν΄νκΈ° μν΄μλ ν΄λ, νμΌμ λ―μ΄λ³΄λ κ²μ΄ μ λ§ μ€μν©λλ€!
μ λ λμ리μμ μ²μ μλ²λ₯Ό 곡λΆν λλ ννΈμ₯λμ΄ λ§λ€μ΄μ£Όμ 보μΌλ¬ νλ μ΄νΈλ₯Ό μ¬μ©νμ¬ api μ½λλ₯Ό μ§λ κ²μ μ§μ€μ νμμ΅λλ€.
μ΅κ·Όμ μ§νν μλ² νλ‘μ νΈμμλ μ λ§ λͺ¨λ νμΌμ λ―μ΄λ³Έ κ² κ°μ΅λλ€.
μκ°μ΄ μ’ κ±Έλ €λ μ΄λ κ² κ³΅λΆνλ κ²μ΄ μλ² λ‘μ§ μ΄ν΄ λΏλ§ μλλΌ μ½λ μ§λ κ²μλ λμμ΄ λκ³ , μ€λ₯κ° λλ μ΄λμ μ€λ₯κ° λ¬κ³ μ΄λ€ κ²μ μμ ν΄μΌ νλμ§ μκΈ° μ¬μ λ κ² κ°μ΅λλ€.
apiλ₯Ό μ§λ κ²λ μ€μνμ§λ§ νμΌμ μ²μλΆν° νλνλ λ―μ΄λ³΄λ κ²μ μΆμ²λ립λλ€!!!! νμ΄ν π
λ€μ ν¬μ€ν μμλ firebase functionsλ₯Ό μ΄μ©ν μλ² μ΄κΈ° μ ν λ°©λ², μμ£Ό μ¬μ©ν ν΄λλ§ κ΅¬μ‘°λ₯Ό 곡μ νλλ‘ νκ² μ΅λλ€.
μ°Έκ³ : SOPT 29th μλ² ννΈ 2μ°¨ μΈλ―Έλ μλ£
'Programming > Node.js' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Nodejs] firebaseλ‘ μ΄λ©μΌ μΈμ¦ ꡬννκΈ° (0) | 2022.06.01 |
---|---|
[Nodejs] expressλ₯Ό μ΄μ©ν μλ² κ΅¬μΆ (0) | 2022.03.31 |
[Nodejs] firebase FCMμ μ΄μ©ν pushAlarm μλ² κ΅¬ν - μ리 μ€μ (5) | 2022.02.04 |
[Nodejs] firebase FCMμ μ΄μ©ν pushAlarm μλ² κ΅¬ν (0) | 2022.01.21 |