๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ/Web5

RESTful API ์„ค๊ณ„ ์›์น™ / ๋„ค์ด๋ฐ ๊ทœ์น™ RESTful API ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ RESTful API Naming ๋ฆฌ์†Œ์Šค ํ‘œํ˜„์— ๋ช…์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ. ๊ณ„์ธต๊ด€๊ณ„๋ฅผ ๊ตฌ๋ถ„์ง“๊ธฐ ์œ„ํ•ด ์Šฌ๋ž˜์‹œ(/)๋ฅผ ์‚ฌ์šฉํ•˜๋ผ. URI ๋งˆ์ง€๋ง‰์— ์Šฌ๋ž˜์‹œ๋ฅผ ๋ถ™์ด์ง€ ๋งˆ๋ผ. ํ•˜์ดํ”ˆ(-) ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ๋ผ. ์–ธ๋”์Šค์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ๋ผ. ์†Œ๋ฌธ์ž๋งŒ์„ ์‚ฌ์šฉํ•˜๋ผ. ๋ฆฌ์†Œ์Šค ํ‘œํ˜„์— ๋ช…์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ. RESTful URI ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฆฌ์†Œ์Šค๋Š” ์ˆ˜ํ–‰๋˜๋Š” ํ–‰์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์ด๋‹ค. ์ด ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋Š ๋ฒ”์ฃผ์— ํ•ด๋‹นํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ทธ ๋ฒ”์ฃผ์— ๋งž๋Š” ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜์„ ์ผ๊ด€๋˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. โ˜‘๏ธ ๋ฌธ์„œ(Document) ๋‹จ์ผ ๊ฐœ๋…(ํŒŒ์ผ ํ•˜๋‚˜, ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค row) ๋‹จ์ˆ˜ ์‚ฌ์šฉ(/device-management, /user-managemen.. 2023. 5. 8.
HTTP RESTful API / ์•ˆ์ „์„ฑ๊ณผ ๋ฉฑ๋“ฑ์„ฑ REST(Representational State Transfer) ์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. HTTP ์—์„œ์˜ REST ๋ž€? 1. HTTP URI(Uniform Resource Identifier)๋กœ ์ž์›(Resource)์„ ๋ช…์‹œ 2. HTTP Method(POST, GET, PUT, DELETE, PATCH ๋“ฑ)๋กœ 3. ํ•ด๋‹น ์ž์›(URI)์— ๋Œ€ํ•œ CRUD Operation์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ HTTP REST ๊ตฌ์„ฑ์š”์†Œ ์ž์›(Resource): HTTP URI ์ž์›์— ๋Œ€ํ•œ ํ–‰์œ„(Verb): HTTP Method ํ‘œํ˜„(Representations) HTTP REST ํŠน์ง• ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๊ตฌ์กฐ(Server-Client) ๋ฌด์ƒํƒœ์„ฑ(Stateless) ์บ์‹œ ์ฒ˜๋ฆฌ.. 2023. 2. 22.
in-memory / cache / redis / memcached in-memory ์ปดํ“จํ„ฐ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์ธ RAM์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ ค์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. in-memory DB ๋ฉ”๋ชจ๋ฆฌ์™€ ๋””์Šคํฌ ๊ฐ„ ๋ณ‘๋ชฉ์ด ์—†์–ด SSD, HDD ๊ฐ™์€ ์ €์žฅ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ์†๋„๊ฐ€ ๋น ๋ฅธ ๋Œ€์‹  ๋น„์šฉ์ด ๋น„์‹ธ ํฐ ์šฉ๋Ÿ‰์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜์†์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์•„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” DB๋ฉด in-memory DB๋ผ๊ณ  ํ•œ๋‹ค. RDBMS์ธ MySQL์—์„œ๋„ in-memory ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๊ณ , NoSQL์ธ Redis๋„ in-memory DB์ด๋‹ค. โœ” disk-based DB ์™ธ๋ถ€ ์ €์žฅ ์žฅ์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๊ณ , ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. in-memor.. 2022. 7. 10.
HTTP๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๋ชฉ์ฐจ HTTP๋ž€? HTTP ํŠน์ง• HTTP ๋ฉ”์‹œ์ง€ ๊ตฌ์กฐ HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ HTTP ์‘๋‹ต ์ƒํƒœ์ฝ”๋“œ HTTP๋ž€? Hyper Text Transfer Protocol์˜ ๋‘๋ฌธ์ž์–ด๋กœ ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ดˆ๊ธฐ์—๋Š” HTML๊ณผ ๊ฐ™์€ ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ์ฃผ๋กœ ์ „์†กํ–ˆ์ง€๋งŒ, ์ตœ๊ทผ์—๋Š” Plain text, JSON, XML ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ •๋ณด๋„ ์ „์†กํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด ํ”„๋กœํ† ์ฝœ์ด๋‹ค. * ํ•˜์ดํผ ํ…์ŠคํŠธ: ์ฐธ์กฐ(ํ•˜์ดํผ๋งํฌ)๋ฅผ ํ†ตํ•ด ํ•œ ๋ฌธ์„œ์—์„œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋กœ ์ฆ‰์‹œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ์ด๋‹ค. ๊ธฐ์กด์˜ ๋ฌธ์„œ๊ฐ€ ์ˆœ์ฐจ์ ์ด๋ฉด์„œ ์„œ์—ดํ˜• ๊ตฌ์กฐ๋ผ๋ฉด, ํ•˜์ดํผํ…์ŠคํŠธ๋Š” ๋งํฌ์— ๋”ฐ๋ผ ๊ทธ ์ฐจ๋ก€๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ž„์˜์ ์ด๋ฉด์„œ ๋‚˜์—ดํ˜•์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. * ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด ํ”„๋กœํ† ์ฝœ: ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์—์„œ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์ปดํ“จํ„ฐ ๋„คํŠธ.. 2021. 10. 16.
์ธํ„ฐ๋„ท์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™๋ ๊นŒ์š”? ๋ชฉ์ฐจ ์ธํ„ฐ๋„ท์˜ ์ดํ•ด ๋ผ์šฐํ„ฐ ๋ชจ๋Ž€ ๋ผ์šฐํ„ฐ์™€ ๋ชจ๋Ž€์˜ ์ฐจ์ด IP ์ธํ„ฐ๋„ท์˜ ์ดํ•ด ์ธํ„ฐ๋„ท์€ ์ปดํ“จํ„ฐ๋“ค์ด ํ†ต์‹  ๊ฐ€๋Šฅํ•œ ๊ฑฐ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ๋กœ, TCP/IP ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๋ง์ด๋‹ค. ์›”๋“œ ์™€์ด๋“œ ์›น(์ค„์—ฌ์„œ ์›น), ์ „์ž ๋ฉ”์ผ, ํŒŒ์ผ ๊ณต์œ , ๋™์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ, ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ๋“ฑ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋“ค์„ ํฌํ•จํ•œ๋‹ค. * ํ”„๋กœํ† ์ฝœ: ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๋‚ด ๊ธฐ๊ธฐ๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์ „ ํ˜‘์˜๋œ ํ†ต์‹  ํ˜‘์•ฝ/๊ทœ์•ฝ * ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ(Internet Protocol Suite): ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ๋“ค์ด ์„œ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋ฐ ์“ฐ์ด๋Š” ํ†ต์‹ ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ)์˜ ๋ชจ์Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ ์„ (์ด๋”๋„ท ์ผ€์ด๋ธ” ๋“ฑ) ๋˜๋Š” ๋ฌด์„ (์™€์ดํŒŒ์ด, ๋ธ”๋ฃจํˆฌ์Šค ๋“ฑ)์œผ๋กœ .. 2021. 10. 7.