πŸŽ„ μ„±μž₯일지 4.0

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 (1.0)ν‚€μ›Œλ“œ
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ (2.0)κ²½ν—˜ μœ„μ£Όλ‘œ
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ (3.0)정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„±
(3.1)230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€
(3.2)230313λΆ€ν„° 쒀더 κ²½ν—˜, 감정 μœ„μ£Όμ˜ λ‚΄μš©λ„ λ‹΄κΈ°!
🌾 (4.0)ν•™μŠ΅ ν‚€μ›Œλ“œμ—μ„œ μ΅œλŒ€ν•œ κ°„λ‹¨ν•œ 정보 제곡, κ³ λ―Όμ—μ„œ λ‚΄ κ²½ν—˜μ„ μžμ„Ένžˆ 적자!

πŸ”‘ 였늘의 ν•™μŠ΅ ν‚€μ›Œλ“œ

Node.js, express

  • nodeJS: 크둬의 V8 μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진을 κ°€μ Έμ™€μ„œ μƒˆλ‘­κ²Œ νƒ„μƒμ‹œν‚¨ μžλ°”μŠ€ν¬λ¦½νŠΈ λŸ°νƒ€μž„ ν™˜κ²½. 주둜 μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ„œλ²„ κ°œλ°œμ„ ν•˜κΈ°μœ„ν•΄ μ‚¬μš©λœλ‹€.
    • νŠΉμ • λΈŒλΌμš°μ €μ—μ„œμ˜ js api듀은 μ œμ™Έν•˜κ³  HTTP와 파일 μ‹œμŠ€ν…œ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ ν¬ν•¨ν•œ μ „ν˜•μ μΈ μ—¬λŸ¬ OS apiλ₯Ό μΆ”κ°€ν–ˆλ‹€.
  • express: Node.js λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ κ΅¬λ™λ˜λŠ” μ›Ή ν”„λ ˆμž„μ›Œν¬.
    • μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€κΈ° μœ„ν•œ μ—¬λŸ¬ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ 미듀웨어 등이 λ‚΄μž₯λ˜μ–΄μžˆλ‹€.
    • κ°œλ°œμžλ“€μ—κ²Œ 개발 κ·œμΉ™μ„ κ°•μ œν•˜λŠ” ν”„λ ˆμž„μ›Œν¬λ‘œ 톡일성을 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.
import * as express from 'express';
import * as bodyParser from 'body-parser'; // μš”μ²­μ— λŒ€ν•œ bodyλ₯Ό νŒŒμ‹±ν•˜λŠ” μ—­ν• 
import * as dotenv from 'dotenv'; // .env νŒŒμΌμ„ 톡해 λ³΄μ•ˆμƒ κ°€λ €μ•Όν•  데이터λ₯Ό λ”°λ‘œ λ‘”λ‹€.
import * as cors from 'cors'; // CORS μ—λŸ¬λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•¨
import * as mongoDb from 'mongodb'; // mongodb와 μ—°κ²°!

dotenv.config(); // 이제 μ•„λž˜μ—μ„œ process.env둜 μ–΄λ–€ 값듀을 κ°€μ Έμ˜¬ 수 μžˆλ‹€.(숨길 수 μžˆλ‹€.)

const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());

const MongoClient = mongoDb.MongoClient;
const connection = MongoClient.connect(
  `mongodb+srv://${process.env.MONGO_USER_NAME}:${process.env.MONGO_PASSWORD}@${process.env.MONGO_CLUSTER_NAME}.jy2zpck.mongodb.net/?retryWrites=true&w=majority`,
);

let db;
connection
  .then((client) => {
    db = client.db('database-name');
    app.listen(process.env.PORT, () => {
      console.log('listening on');
    });
    app.get('/search', (req, res) => {
      res.json('ν…ŒμŠ€νŠΈ λ¬Έμžμ—΄');
    });
  })
  .catch((err) => {
    console.log(`μ—λŸ¬ λ°œμƒ: ${err}`);
  });

μœ„μ™€ 같은 λ°©μ‹μœΌλ‘œ local ν¬νŠΈμ— μ„œλ²„λ₯Ό ν•˜λ‚˜ λ„μš°κ³  clientμͺ½ appμ—μ„œ fetch api둜 ν†΅μ‹ ν•˜λ©΄ λœλ‹€.

πŸ€ 였늘의 κ³ λ―Ό ν‚€μ›Œλ“œ

express 그 자체

흐… κ·Έλƒ₯ json-serverλ‚˜ mswλ₯Ό μ‚¬μš©ν• κΉŒ ν•˜λ‹€κ°€, 이번 κΈ°νšŒμ— 이전뢀터 배우고 μ‹Άμ—ˆλ˜ expressλ₯Ό μ‚¬μš©ν•΄λ΄€λ‹€. μ•„μ£Ό 기본적인 μ„œλ²„λΌμ„œ μ†”μ§νžˆ κ·Έλ ‡κ²Œ μ–΄λ €μš΄ 건 μ—†μ§€λ§Œ κ·Έλž˜λ„ db에 μ—°κ²°ν•˜κ³  client와 톡신도 성곡해보고… μ—¬λŸ¬κ°€μ§€λ₯Ό ν•΄λ³΄λ©΄μ„œ μ „λ°˜μ μΈ μ œν’ˆμ˜ 흐름을 이해할 수 있게 된 것 κ°™μ•„μ„œ λ§Œμ‘±μŠ€λŸ½λ‹€.(일단 μƒˆλ‘œ λ°°μš°λŠ” 건 λ‹€ μž¬λ―Έμžˆλ‹€.)

import * as …

이 뢀뢄…!!! μ™œ κ·Έλƒ₯ import ν•˜λ©΄ μ•ˆλ κΉŒ..? 이 뢀뢄에 λŒ€ν•΄μ„  ꡬ체적으둜 μ’€ μ°Ύμ•„λ³Ό μ˜ˆμ •.

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

  • ν•˜λ£¨μ’…μΌ μ„œλ²„ κ΅¬ν˜„ 곡뢀
  • 같은 μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄λ‘œ μ΄λ ‡κ²Œ λ‹€λ₯Έ κ±Έ λ§Œλ“€μ–΄λ‚Ό 수 μžˆλ‹€λ‹ˆ..! μž¬λ―Έμžˆλ‹€γ…‹γ…‹γ…‹γ…‹γ…‹

였늘의 μž˜ν•œ 점

  • μ—΄μ‹¬νžˆ nodejs 및 express κ³΅λΆ€ν•œ 점
  • μ„œλ²„ λ„μš°κ³  λ‚˜μ•„κ°€μ„œ ν†΅μ‹ κΉŒμ§€ μ„±κ³΅ν•œ 점

였늘의 μ•„μ‰¬μš΄ 점

  • 쑰금 더 μˆœκ³΅λΆ€μ‹œκ°„μ„ 확보해야겠닀!

μ°Έκ³