728x90

๐Ÿ“•CS 22

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€, ์ •์  ์ฝ”๋“œ ๋ถ„์„/๋™์  ์ฝ”๋“œ ๋ถ„์„

1. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ž€ ์ž‘์„ฑ๋œ ์ฝ”๋“œ ์ค‘์—์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์ˆ˜ํ–‰๋œ ๋น„์œจ์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๊ณ  ์ž ์žฌ์ ์ธ ๊ฒฐํ•ฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ์˜ ์–ด๋А ๋ถ€๋ถ„์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๊ณ , ์–ด๋А ๋ถ€๋ถ„์ด ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ์ธก์ •๋œ๋‹ค.1. ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€: ์ฝ”๋“œ์˜ ๊ฐ ์ค„์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ „์ฒด ์ฝ”๋“œ ์ค‘ 70%์˜ ๋ผ์ธ์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๋‹ค๋ฉด ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ 70%์ด๋‹ค.2. ํ•จ์ˆ˜ ์ปค๋ฒ„๋ฆฌ์ง€: ์ž‘์„ฑ๋œ ํ•จ์ˆ˜ ์ค‘ ๋ช‡ ๊ฐœ๊ฐ€ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.3. ๋ถ„๊ธฐ ์ปค๋ฒ„๋ฆฌ์ง€: ์กฐ๊ฑด๋ฌธ์˜ ๊ฐ ๋ถ„๊ธฐ๊ฐ€ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.4. ์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€: ์กฐ๊ฑด๋ฌธ์˜ ๊ฐ ๊ฐœ๋ณ„ ์กฐ๊ฑด์ด ์ฐธ๊ณผ ๊ฑฐ์ง“์œผ๋กœ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. *๋ถ„๊ธฐ ์ปค๋ฒ„๋ฆฌ์ง€์™€ ์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€์•„๋ž˜ ์ฝ”๋“œ์—์„œ ๋ถ„๊ธฐ ..

๐Ÿ“•CS 2024.11.11

์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ

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

๐Ÿ“•CS 2024.11.04

๊ธฐ์ˆ ๋ฉด์ ‘ ์งˆ๋ฌธ ๋ชจ์Œ / ๋ฉด์ ‘ CS ์งˆ๋ฌธ ๋ชจ์Œ

๐Ÿ“Œ์›น์˜ ๊ธฐ๋ณธ ๊ฐœ๋…1. ์ธํ„ฐ๋„ท๊ณผ ์›น์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?์ธํ„ฐ๋„ท์ด ๊ณ ์†๋„๋กœ๋ผ๋ฉด ์›น์€ ์ž๋™์ฐจ? ใ…Žใ…Ž... 2. HTTP์™€ HTTPS์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?HTTPS๋Š” HTTP์— ๋ณด์•ˆ์„ฑ์ด ์ถ”๊ฐ€๋œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. HTTP์— SSL/TLS ์•”ํ˜ธํ™”๋ฅผ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํ† ์ฝœ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ์ค‘์— ๋ณด์•ˆ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์ด ์•”ํ˜ธํ™”๋˜๋ฏ€๋กœ ๋„์ฒญ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ณ€์กฐ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. 3. HTTP์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ(GET, POST, PUT, DELETE ๋“ฑ)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์„ธ์š”.GET: ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒPOST: ๋ฐ์ดํ„ฐ๋ฅผ ๋“ฑ๋กPUT: ๋ฐ์ดํ„ฐ ๋Œ€์ฒดPATCH: ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ถ€ ์ˆ˜์ •DELETE: ๋ฐ์ดํ„ฐ ์‚ญ์ œ*๋ฉฑ๋“ฑ์„ฑ๋ฉฑ๋“ฑ์„ฑ์ด๋ž€ ๋™์ผํ•œ ์š”์ฒญ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜๋Š” ์„ฑ์งˆ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.๋ฉฑ๋“ฑ์„ฑO: GET, PUT, DELE..

๐Ÿ“•CS 2024.11.03

REST API

REST APIREST ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์˜ ์„ค๊ณ„ ์›์น™์„ ๋‹ค๋ฅด๋Š” API์ด๋‹ค. REST๋ž€ Representational Sate Transfer๋กœ HTTP URI๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ  HTTP Method(POST, GET, PUT, DELETE)๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ CRUD ์ž‘์—…(Create, Read, Update, Delete)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. 1) ์ž์›-URI: ๋ชจ๋“  ์ž์›์€ ๊ณ ์œ ํ•œ URI๋ฅผ ๊ฐ€์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, /users๋Š” ์‚ฌ์šฉ์ž ๋ชฉ๋ก์— ๋Œ€ํ•œ ์ž์›์„ ์˜๋ฏธํ•˜๋ฉฐ, /users/{id}๋Š” ํŠน์ • ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.2) ํ–‰์œ„-HTTP ๋ฉ”์„œ๋“œ- GET: ์ž์› ์กฐํšŒ- POST: ์ž์› ์ƒ์„ฑ- PUT: ์ž์› ์ €์ฒด ์—…๋ฐ์ดํŠธ- PATCH: ์ž์›์˜ ๋ถ€๋ถ„ ์—…๋ฐ์ดํŠธ- DELETE: ์ž์› ์‚ญ์ œ3) ํ‘œํ˜„: Cli..

๐Ÿ“•CS 2024.10.30

์˜คํ”ˆ ๋ฑ…ํ‚น, ์˜คํ”ˆ ํŒŒ์ด๋‚ธ์Šค, ๋งˆ์ด๋ฐ์ดํ„ฐ 2.0

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

๐Ÿ“•CS 2024.10.30

์ƒ์„ฑํ˜• AI: ๊ฐœ๋…, ํ™œ์šฉ, ์˜ˆ์ƒ๋˜๋Š” ๋ฌธ์ œ์ 

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

๐Ÿ“•CS 2024.10.29

Access Token๊ณผ Refresh Token์˜ ์ €์žฅ ์œ„์น˜

1๋…„ ์ „์— ํ•œ์ฐธ ์กธ์—… ํ”„๋กœ์ ํŠธ, ์ฐฝ์—…๋™์•„๋ฆฌ ํ™œ๋™์„ ํ•˜๋ฉด์„œ ์„ธ์…˜ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ, JWT ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ, Access Token๊ณผ Refresh Token์˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ–ˆ์—ˆ๋‹ค. ์˜ค๋Š˜ ์ž์œจ ํ”„๋กœ์ ํŠธ์—์„œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๋งก์•„ ์˜ค๋žœ๋งŒ์— ๋‹ค์‹œ ์ƒ๊ฐ๋‚˜์„œ ์ •๋ฆฌํ•ด๋ณธ๋‹คใ…Žใ…Ž ์šฐ์„ , ์›น์€ ๋ณธ์งˆ์ ์œผ๋กœ ๋ฌด์ƒํƒœ(stateless)๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ๋กœ๊ทธ์ธ ๊ณผ์ •์ด ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ ์ž์ฒด๊ฐ€ ๋ฌด์ƒํƒœ(stateless)ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ๊ฐ ์š”์ฒญ์„ ๋…๋ฆฝ๋œ ์š”์ฒญ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์„ธ์…˜ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ, JWT ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ์ธ ๊ฒƒ์ด๋‹ค. ์„ธ์…˜ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ์—๋Š” ์„ธ์…˜ ID๋งŒ ์ €์žฅํ•˜๊ณ  ์„œ๋ฒ„์— ์ค‘์š”ํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. ์„ธ์…˜ ID ์ž์ฒด์—๋Š” ์ค‘..

๐Ÿ“•CS 2024.10.28

์šด์˜์ฒด์ œ

OS ์šด์˜์ฒด์ œ์šด์˜์ฒด์ œ๋ž€ HW์™€ SW์ž์›์„ ๊ด€๋ฆฌํ•˜๋Š” ์ž์›๊ด€๋ฆฌ์ž์ด๋‹ค. ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.CPU ์Šค์ผ€์ค„๋ง๊ณผ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: CPU๋ฅผ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ์‚ญ์ œ, ์ž์› ํ• ๋‹น๊ณผ ๋ฐ˜ํ™˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— ์–ผ๋งˆ๋‚˜ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.๋””์Šคํฌ ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐ I/O ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ ๋“ฑ ์ปดํ“จํ„ฐ์˜ ์š”์†ŒCPU(์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜)CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํฌ๊ฒŒ ์ œ์–ด์žฅ์น˜, ์‚ฐ์ˆ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.๋ฉ”๋ชจ๋ฆฌ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘์—ˆ๋‹ค๊ฐ€ ํ•„์š”ํ•  ๋•Œ CPU๋กœ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์–ด๋–ค ์‹ ํ˜ธ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ CPU๋ฅผ ์ž ๊น ์ •์ง€์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. I/O ๋””๋ฐ”์ด์Šค๋กœ ์ธํ•œ ์ธํ„ฐ๋ŸฝํŠธ, 0์œผ๋กœ ์ˆซ์ž๋ฅผ..

๐Ÿ“•CS 2024.07.10

React์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ“–props-drilling ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ณผ์ •์—์„œ ์ค‘๊ฐ„ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๊ฑฐ์น˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋กœ, ์ค‘๊ฐ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค. props-drilling ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. โœ๏ธReact Context API react์—์„œ๋„ React Context API๋ผ๋Š” ์ž์ฒด์ ์ธ ์ „์—ญ ์ƒํƒœ๊ด€๋ฆฌ API๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค. ๋‹จ, React Context API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์•กํŠธ ์•ฑ ์ตœ์ƒ๋‹จ์— Provider๊ฐ€ ๋ฐฐ์น˜๋œ๋‹ค. Provider๋Š” context๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์—๊ฒŒ context์˜ ๋ณ€ํ™”๋ฅผ ์•Œ๋ฆฌ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. context๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์„ Provider์˜ value prop์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ๋ Œ๋”๋ง๋œ..

๐Ÿ“•CS 2024.04.19

React ์ปดํฌ๋„ŒํŠธ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด

๐Ÿ“–๋ผ์ดํ”„์‚ฌ์ดํดReact ์ปดํฌ๋„ŒํŠธ๋Š” ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๊ฐ€์ง„๋‹ค. ๋ผ์ดํ”„์‚ฌ์ดํด์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์†Œ๋ฉธ๋˜๊ธฐ๊นŒ์ง€์˜ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋งํ•œ๋‹ค. ๋ผ์ดํ”„์‚ฌ์ดํด ์•ˆ์—์„œ๋Š” ๊ฐ ์‹œ์ ์— ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ๋ผ์ดํ”„์‚ฌ์ดํด ๋ฉ”์„œ๋“œ๋ผ๊ณ  ํ•œ๋‹ค. ๐Ÿ”ŽMount >  Update, Re-render > Unmountโœ๏ธMountDOM์ด ์ƒ์„ฑ๋˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒ(ํ™”๋ฉด)์— ๋‚˜ํƒ€๋‚จ. Mount ์‹œ์—๋Š” ๋‹ค์Œ์˜ ๋ฉ”์„œ๋“œ๋“ค์ด ์ฐจ๋ก€๋Œ€๋กœ ํ˜ธ์ถœ๋œ๋‹ค.constructor: ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋˜๋Š” ํด๋ž˜์Šค ์ƒ์„ฑ์ž ๋ฉ”์„œ๋“œgetDerivedStateFromProps: props์— ์žˆ๋Š” ๊ฐ’์„ state์— ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œrender: UI๋ฅผ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฉ”์„œ๋“œcomponentDidMount: ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒ์— ๋‚˜ํƒ€๋‚œ ํ›„..

๐Ÿ“•CS 2024.04.19
728x90