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

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

  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (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 ํ”ผ๋“œ
๋กœ๊ทธ์ธ
๋กœ๊ทธ์•„์›ƒ ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ

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

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

ํƒœ๊ทธ

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

์ตœ๊ทผ๊ธ€

๋Œ“๊ธ€

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

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

SQL(3)

  • Exists ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด์„œ (SQL)

    ๊ฐœ์ธ์ ์œผ๋กœ SQL์˜ Exists ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์ดํ•ด๋„๊ฐ€ ๋‚ฎ์•˜๊ณ  ์ด๋กœ ์ธํ•ด ์‹ค์ œ๋กœ ํ™œ์šฉ์„ ๊ฑฐ์˜ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, DB ์Šคํ„ฐ๋””๋ฅผ ์œ„ํ•ด ์ฑ…์„ ์ฝ๋Š” ๋„์ค‘ ํ•ด๋‹น ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋“ฑ์žฅํ•ด์„œ ์ด ๊ธฐํšŒ์— ์ด๋ฅผ ํ™•์‹คํžˆ ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค. Exists ์—ฐ์‚ฐ์ž๋ž€? Exists ์—ฐ์‚ฐ์ž๋Š” ์—ฐ์‚ฐ์ž ์ดํ›„์— ๋“ฑ์žฅํ•˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ True, ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ False๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋ง๋กœ๋งŒ ์„ค๋ช…ํ•˜๋ฉด ์ดํ•ด๊ฐ€ ์–ด๋ ค์šฐ๋‹ˆ ์‹ค์ œ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. SELECT post.id, post.name FROM post WHERE post.user_id = 10 AND EXISTS ( SELECT 1 FROM comment WHERE comment.post_id = post.id AND..

    2024.02.12
  • SQL Injection ๊ณต๊ฒฉ๊ณผ ๋Œ€์‘

    ์ด์ „์— NodeJS Express์™€ MySql2๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ ์ ์ด ์žˆ๋‹ค. ๊ทธ๋•Œ ์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ์„ ๊ฐ€์ง€๊ณ  ํ•ด๋‹น ์ด๋ฉ”์ผ์„ ๊ฐ–๋Š” ๊ณ„์ •์ด ์กด์žฌํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•œ ์ผ์ด ์žˆ๋Š”๋ฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ–ˆ๋‹ค. ๋‹น์‹œ ์„œ๋กœ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์ฃผ๋˜ ๊ทธ๋ฃน์ด ์žˆ์—ˆ๋Š”๋ฐ, ํ•œ๋ถ„๊ป˜์„œ ์œ„ ์ฝ”๋“œ๋ฅผ ๋ณด์‹œ๊ณ ๋Š” "SQL Injection ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•ด ๋ณด์ธ๋‹ค"๋ผ๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ํ•ด์ฃผ์‹  ๊ธฐ์–ต์ด ์žˆ๋‹ค. ์ง€๊ธˆ์ด์•ผ ์ €๋Ÿฐ ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์œ„ํ—˜ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ ์žˆ์ง€๋งŒ ๋‹น์‹œ์—๋Š” ์•„๋Š” ๊ฒƒ์ด ๋ณ„๋กœ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— SQL Injection์„ ๋”ฐ๋กœ ๊ณต๋ถ€ํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค. SQL Injection ์ด๋ž€? SQL Injection์€ ํ•ด์ปค๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์˜๋„์— ๋ฒ—์–ด๋‚œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด SQL๋ฌธ์„ ์žฌ๊ตฌ์„ฑ, DB์— ์งˆ์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜..

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

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

    2022.12.24
์ด์ „
1
๋‹ค์Œ
ํ‹ฐ์Šคํ† ๋ฆฌ
ยฉ 2018 TISTORY. All rights reserved.

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