๐Ÿƒ๐Ÿƒ‍โ™‚๏ธ๐Ÿƒ๐Ÿป‍โ™€๏ธ

๐Ÿƒ๐Ÿƒ‍โ™‚๏ธ๐Ÿƒ๐Ÿป‍โ™€๏ธ

  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (64)
    • Network (4)
      • Network ์Šคํ„ฐ๋”” (4)
    • Database (6)
      • DB ์Šคํ„ฐ๋”” (15)
    • CS (12)
      • CS ์Šคํ„ฐ๋”” (12)
    • Backend (16)
      • NestJS (7)
      • Spring (6)
    • ๋ฉด์ ‘ ์ค€๋น„ (6)
      • ๋ฉด์ ‘ ์Šคํ„ฐ๋”” (5)
    • CI, CD (1)
      • Etc (1)
    • ์–ธ์–ด (4)
      • Javascript(Node, TS...) (4)
    • ๊ธฐ์ˆ ์  ๊ณ ๋ฏผ (0)
  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก
  • Github
RSS ํ”ผ๋“œ
๋กœ๊ทธ์ธ
๋กœ๊ทธ์•„์›ƒ ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ

๐Ÿƒ๐Ÿƒ‍โ™‚๏ธ๐Ÿƒ๐Ÿป‍โ™€๏ธ

์ปจํ…์ธ  ๊ฒ€์ƒ‰

ํƒœ๊ทธ

JPA Spring NestJS SQL ํ”„๋กœ์„ธ์Šค ๋ฉด์ ‘ OS Database ์šด์˜์ฒด์ œ Nest.js MySQL node.js ๋ฐฑ์—”๋“œ TypeScript CS db K6 PostgreSQL ๋„คํŠธ์›Œํฌ ์ธ๋ฑ์Šค

์ตœ๊ทผ๊ธ€

๋Œ“๊ธ€

๊ณต์ง€์‚ฌํ•ญ

์•„์นด์ด๋ธŒ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ(64)

  • DB ์Šคํ„ฐ๋””(4์ฃผ์ฐจ)

    1. ํ•™์Šต ์ •๋ฆฌ MySql ์กฐ๊ฑด๋ฌธ (IF, CASE) ์ด๋ฒˆ ์ฃผ์ฐจ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ์‚ฌ์šฉ๋œ ํ•จ์ˆ˜๋“ค ์ค‘ '์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋˜๊ฒ ์ง€..?' ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์จ๋ดค๋Š”๋ฐ ์‹ค์ œ๋กœ ์ž‘๋™์„ ์ž˜ํ•ด์„œ ์‹ ๊ธฐํ–ˆ๋˜ ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋กœ IF() ํ•จ์ˆ˜์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด์— ๋Œ€ํ•ด ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ธฐ ์œ„ํ•ด ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ คํ•œ๋‹ค. IF() IF ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋œ๋‹ค. SELECT IF(์กฐ๊ฑด, ์ฐธ์ผ ๋•Œ, ๊ฑฐ์ง“์ผ ๋•Œ) FROM TABLE ๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‚ผํ•ญ์—ฐ์‚ฐ์ž์™€ ๋น„์Šทํ•˜๋‹ค. ๋˜ํ•œ IF ํ•จ์ˆ˜๋ฅผ ์ค‘์ฒฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ถ„๊ธฐ์˜ ์ฒ˜๋ฆฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค๋งŒ ๊ทธ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์‹œ ๊ฐ€๋…์„ฑ์ด ์‹ฌ๊ฐํ•˜๊ฒŒ ์•ˆ์ข‹์•„์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋Š” ์•„๋ž˜์˜ CASE ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. CASE CASE ๋ฌธ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋œ๋‹ค. SELECT CASE WHEN ..

    2022.12.24
  • NestJS Request Lifecycle (2) - Guard

    ์ด์ „ ๊ธ€ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐœ์š” 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (1) - Middleware ๊ฐ€๋“œ NestJS ๋‚ด์—์„œ ๊ฐ€๋“œ๋ž€ ์š”์ฒญ ์ƒ๋ช…์ฃผ๊ธฐ์—์„œ ๋ฏธ๋“ค์›จ์–ด์˜ ๋’ค์ชฝ, ์ธํ„ฐ์…‰ํ„ฐ์˜ ์•ž์ชฝ์— ์œ„์น˜ํ•˜์—ฌ ํŠน์ • ๊ฒฝ๋กœ๋กœ์˜ ์š”์ฒญ์„ ์Šน์ธํ• ์ง€ ๋ง์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ์„ ๋‚ด๋ฆฌ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Express๋กœ ๋กœ์ง์„ ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์— ๋”ฐ๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ๋ฏธ๋“ค์›จ์–ด์—์„œ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žฆ์€๋ฐ, NestJS์—์„œ๋Š” ์ด๋ฅผ ๊ฐ€๋“œ๋ผ๋Š” ์ƒ๋ช…์ฃผ๊ธฐ์—์„œ ๋”ฐ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฏธ๋“ค์›จ์–ด ๋Œ€์‹  ๊ฐ€๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? ๊ทธ๋ ‡๋‹ค๋ฉด NestJS์—์„œ๋Š” ์™œ ๊ตณ์ด ๊ฐ€๋“œ๋ฅผ ๋”ฐ๋กœ ๋‘๋Š” ๊ฒƒ์ผ๊นŒ? NestJS ๊ณต..

    2022.12.23
  • NestJS Request Lifecycle (1) - Middleware

    ์ด์ „ ๊ธ€ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐœ์š” ๋ฏธ๋“ค์›จ์–ด ( in NestJS ) ๋ฏธ๋“ค์›จ์–ด๋ž€ NestJS ์š”์ฒญ ์ƒ๋ช…์ฃผ๊ธฐ์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” request๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋Š” ํ•ธ๋“ค๋Ÿฌ์ด๋‹ค. Node.js์˜ Express๋ฅผ ๋‹ค๋ค„๋ณด์•˜๋‹ค๋ฉด ์ด๋ฏธ ์ต์ˆ™ํ•œ ๊ฐœ๋…์ธ๋ฐ, Express ๋ฏธ๋“ค์›จ์–ด์—์„œ๋Š” request, response ๊ฐ์ฒด์™€ ๋”๋ถˆ์–ด ๋‹ค์Œ ๋ฏธ๋“ค์›จ์–ด๋‚˜ ๋ผ์šฐํ„ฐ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” next() ํ•จ์ˆ˜๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. app.use((req,res,next)=>{ console.log('Request is received...') next() // ์Šคํƒ ์ƒ์˜ ๋‹ค์Œ ๋ฏธ๋“ค์›จ์–ด๋กœ req,res ์ „๋‹ฌ }) ๋ฏธ๋“ค์›จ์–ด ์ž‘์„ฑ NestJS๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ ..

    2022.12.22
  • NestJS Request Lifecycle (0) - ๊ฐœ์š”

    NestJS๋Š” Node.js ๋ฐฑ์—”๋“œ ์ง„ํ˜•์˜ Express๊ฐ€ ํ•ด๊ฒฐํ•ด์ฃผ์ง€ ๋ชปํ–ˆ๋˜ ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด VueJS๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Express๋ฅผ ๋ž˜ํ•‘ํ•œ ๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— NestJS์—๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ผ๋ จ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์•„๋ž˜๋Š” NestJS ๊ณต์‹๋ฌธ์„œ์—์„œ ์„ค๋ช…ํ•˜๋Š” NestJS์˜ ์š”์ฒญ ์ƒ๋ช…์ฃผ๊ธฐ์ด๋‹ค. (์ถœ์ฒ˜: https://docs.nestjs.com/faq/request-lifecycle) Incoming request Globally bound middleware Module bound middleware Global guards Controller guards Route guards Global interceptors (pre-c..

    2022.12.22
์ด์ „
1 ยทยทยท 8 9 10 11
๋‹ค์Œ
ํ‹ฐ์Šคํ† ๋ฆฌ
ยฉ 2018 TISTORY. All rights reserved.

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”