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

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

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

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

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

ํƒœ๊ทธ

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

์ตœ๊ทผ๊ธ€

๋Œ“๊ธ€

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

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

CS/CS ์Šคํ„ฐ๋””(12)

  • ํŽ˜์ด์ง€ ๊ต์ฒด ์ •์ฑ…

    ์šด์˜์ฒด์ œ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋งŒํผ๋งŒ ์‹ค์ œ ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํŽ˜์ด์ง€๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํ•˜๋“œ๋””์Šคํฌ์— ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋งŒ์•ฝ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ํ•˜๋“œ๋””์Šคํฌ์— ์œ„์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ํŽ˜์ด์ง€ ํดํŠธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์˜ฎ๊ฒจ ์˜ค๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ ์ด๋ฏธ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ํŽ˜์ด์ง€๋ฅผ ์˜ฎ๊ฒจ์˜ฌ ๋งˆ๋•…ํ•œ ๊ณต๊ฐ„์ด ์—†๋‹ค๋ฉด? ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด ๊ธฐ์กด์— ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋˜ ํŽ˜์ด์ง€๋ฅผ ํ•˜๋“œ๋””์Šคํฌ์— ๋ณด๋‚ด๋Š” ๊ณผ์ •์ด ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•ด์ง„๋‹ค. ์ด๋ฅผ ํŽ˜์ด์ง€ ๊ต์ฒด๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋•Œ ์–ด๋–ค ํŽ˜์ด์ง€๋ฅผ ..

    2023.04.04
  • ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ & ํŽ˜์ด์ง• ๊ธฐ๋ฒ•

    ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณต์žกํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋˜ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ผ๋Š” ๊ฐœ๋…์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค๋Š” ์Šค์Šค๋กœ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์œ„์น˜์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ์šด์˜์ฒด์ œ๊ฐ€ ํ•ด์•ผํ•˜๋Š” ์ผ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งคํ•‘ํ•˜๋Š” ์ผ์ธ๋ฐ, ์—ฌ๊ธฐ์„œ ์ด๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋งŽ์€ ๋ฌธ์ œ๋“ค์ด ์กด์žฌํ•œ๋‹ค. ๋งŒ์•ฝ ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋ฐฐ์น˜ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฎ๊ธด๋‹ค๋ฉด ๋‹จํŽธํ™”๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ํž™๊ณผ ์Šคํƒ์€ ์„œ๋กœ๋ฅผ ํ–ฅํ•ด ํ™•์žฅ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋ฐ, ์ด๋Š” ํž™๊ณผ ์Šคํƒ ์‚ฌ์ด์˜ ๋นˆ๊ณต๊ฐ„์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ฆฌ ๋ฉ”..

    2023.04.04
  • Dead Lock(๊ต์ฐฉ ์ƒํƒœ)

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

    2023.03.31
  • Race Condition

    Race Condition(๊ฒฝ์Ÿ ์ƒํƒœ)๋ž€, ๋‘˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ๋œ ์ž์›์— ์ ‘๊ทผํ•  ๋•Œ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋™์‹œ๋‹ค๋ฐœ์ ์œผ๋กœ ์ ‘๊ทผ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋™์‹œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๊ฒฝ์Ÿ ์ƒํƒœ๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํƒœ์—์„œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํŠน์ • ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ ‘๊ทผ ์ˆœ์„œ๊ฐ€ ๋งค๋ฒˆ ์กฐ๊ธˆ์”ฉ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ์— ๋”ฐ๋ฅธ ์ž๋ฃŒ ์ฒ˜๋ฆฌ์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค. ํ•ด๊ฒฐ์ฑ… ๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ์œ„ํ•ด ์ƒํ˜ธ ๋ฐฐ์ œ(Mutual Exclusion) ๋กœ์ง์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ์ด Mutex, Semaphore ๊ฐ™์€ ๋ฐฉ๋ฒ•๋“ค์ธ๋ฐ, ์ด๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋‹ค์Œ ๋งํฌ์—์„œ ๋Œ€์ฒดํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. 2023.03.26 - [CS/CS ์Šคํ„ฐ๋””] - Mutex & Semaphore Mute..

    2023.03.30
  • Mutex & Semaphore

    ๊ณต์œ ์ž์› ์ ‘๊ทผ์— ๋Œ€ํ•ด ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ์ž…์žฅ์—์„œ ์ค‘์š”ํ•œ ํ™”๋‘์ด๋‹ค. ๊ฐ€๋ น, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์Šคํƒ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์ƒํ™ฉ์ด๋‚˜ ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ IPC๋ฅผ ์œ„ํ•ด ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ ๋“ฑ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ‚ฌ์ด ๋ฐ”๋กœ Mutex์™€ Semaphore์ด๋‹ค. Mutex ๋ฎคํ…์Šค๋Š” Mutual Exclusion์˜ ์ค„์ž„๋ง๋กœ ์ƒํ˜ธ ๋ฐฐ์ œ๋ผ๋Š” ๋œป์„ ๊ฐ–๋Š”๋‹ค. ๋ฎคํ…์Šค๋Š” ํŠน์ • ๊ณต์œ  ์ž์›์— ๋Œ€ํ•ด ๋‹จ ํ•˜๋‚˜์˜ ์ฃผ์ฒด๋งŒ์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฝ์˜ ๊ฐœ๋…์ด๋‹ค. ๋ฎคํ…์Šค์˜ ๊ตฌํ˜„์€ ํฌ๊ฒŒ lock()๊ณผ unlock()์œผ๋กœ ์ด๋ฃจ์–ด ์ง€๋Š”๋ฐ, (wait()์™€ release()๋กœ๋„ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” lock()๊ณผ unlock()์ด ๋” ์ง๊ด€์ ์ธ ์›Œ๋”ฉ์ด๋ผ๊ณ  ํŒ๋‹จ) lock()์€ ํŠน์ •..

    2023.03.26
  • CPU ์Šค์ผ€์ค„๋ง

    ํ˜„๋Œ€์— ๋“ค์–ด์„œ PC์˜ ์ปดํ“จํŒ… ์„ฑ๋Šฅ์ด ์ฆ๊ฐ€ํ•˜๊ณ , ์ด์— ๋”ฐ๋ผ ๋™์‹œ์— ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋„์›Œ ์‚ฌ์šฉํ•˜๋Š” ์ผ์ด ์žฆ๋‹ค. ์šด์˜์ฒด์ œ ์ž…์žฅ์—์„œ๋Š” ๋™์‹œ๋‹ค๋ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์— ๋Œ€ํ•ด, ๋น„๋ก CPU ์ฝ”์–ด๊ฐ€ ํ•˜๋‚˜๋ผ์„œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋งŒ์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ผ์ง€๋ผ๋„, ์‚ฌ์šฉ์ž๋กœ ํ•˜์—ฌ๊ธˆ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ณ‘๋ ฌ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋Š” ์ฐฉ๊ฐ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ PC๋ฅผ ํ†ตํ•ด ์Œ์•…์„ ๋“ค์œผ๋ฉด์„œ ์›น์„œํ•‘์„ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ, ์Œ์•… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๊ฒ€์ƒ‰์ฐฝ์— ํƒ€์ดํ•‘์ด ์•ˆ๋œ๋‹ค๋ฉด ์ด๋Š” ์šด์˜์ฒด์ œ์˜ ์—ญํ• ์„ ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, ์šด์˜์ฒด์ œ๋Š” CPU๋ฅผ ํ• ๋‹นํ•  ์ž‘์—…๋“ค์— ๋Œ€ํ•œ ์Šค์ผ€์ค„๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ์Šค์ผ€์ค„๋ง์„ ์ˆ˜ํ–‰์‹œํ‚ค๋Š” ๋‹จ๊ณ„๋ฅผ ๋„˜์–ด, ์ด๋ฅผ ์ž˜ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์Šค์ผ€์ค„๋ง์˜ ํ‰๊ฐ€ ํ•ญ..

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

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