๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ Computer Science61

[Algorithm] LRU(Least Recently Used) Cache ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? (feat. ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ํšจ๊ณผ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ LRU Cache ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„ ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Least Recently Used Cache Algorithm์ด๋ž€? LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ FIFO, LFU, MFU ๋“ฑ๊ณผ ๊ฐ™์€ ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ๋ฐ์š”. (ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ•์— ๋Œ€ํ•œ ๊ฒƒ์€ ์—ฌ๊ธฐ ์—์„œ ํ™•์ธํ•ด ์ฃผ์„ธ์š” ใ…œ) ๊ทธ ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. LRU Design LRU Cache ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์‚ญ์ œํ•ด ์ฃผ๊ณ  ์ƒˆ๋กญ๊ฒŒ ์‚ฌ์šฉ๋œ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ญ์ œ์™€ ์ถ”๊ฐ€๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ธ๋ฐ์š”. ์ฆ‰, O(1) ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ด์•ผ .. 2022. 9. 22.
[Algorithm] Floyd's Cycle Detection์ด๋ž€? (feat. Linked List) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์š”์ƒˆ LeetCode์—์„œ Linked List์˜ ์‚ฌ์ดํด์— ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ slow, fast ํฌ์ธํ„ฐ๋ฅผ ๋งŽ์ด ์ด์šฉํ•˜๋”๋ผ๊ตฌ์š”. ํ•ด๋‹น ํ’€์ด๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ์ฐพ์•„ ๋ณด๋‹ˆ ๊ด€๋ จ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์—ˆ๊ณ , ๊ทธ๊ฒƒ์ด Floyd's Cycle Detection ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์—์„œ ์‚ฌ์ดํด์ด ์žˆ๋Š”์ง€ ์—†๋Š”์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ํ•ด๋‹น ์‚ฌ์ดํด์˜ ์‹œ์ž‘์ ์ด ์–ด๋””์ธ์ง€ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” Floyd's Cycle Detection ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Floyd's Cycle Detection ์ด๋ž€? ๐Ÿ” Robert W. Floyd๊ฐ€ ๊ณ ์•ˆํ•œ ๋ฆฌ์ŠคํŠธ์˜ ์‚ฌ์ดํด์„ ๋น ๋ฅด๊ณ  ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. (Robert W. Floyd๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค.. 2022. 9. 18.
[Data Structure] Trie๋ž€? (feat. ์ด๋ก ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์—ฐ๊ฒฐ๋œ ๋ฌธ์ž์—ด์„ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•ด ๊ฒ€์ƒ‰์„ ํšจ์œจ์ ์œผ๋กœ ๋„์™€์ฃผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ธ ํŠธ๋ผ์ด(Trie)์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Trie๋ž€? ํŠธ๋ผ์ด(trie)๋Š” ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์ผ์ข…์ด๋‹ค. ๋™์  ์ง‘ํ•ฉ์ด๋‚˜ ์—ฐ๊ด€ ๋ฐฐ์—ด์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํŠธ๋ฆฌ ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์ฃผ๋กœ ๋ฌธ์ž์—ด์ด ํ‚ค์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ํŠธ๋ฆฌ์˜ ์–ด๋–ค ๋…ธ๋“œ๋„ ๊ทธ ๋…ธ๋“œ ์ž์ฒด์™€ ์—ฐ๊ด€๋œ ํ‚ค๋Š” ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  ๋…ธ๋“œ๊ฐ€ ํŠธ๋ฆฌ์—์„œ ์ฐจ์ง€ํ•˜๋Š” ์œ„์น˜๊ฐ€ ์—ฐ๊ด€๋œ ํ‚ค๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ฆ‰, ํ‚ค์˜ ๊ฐ’์€ ์ž๋ฃŒ ๊ตฌ์กฐ ์ „์ฒด์— ๋ถ„์‚ฐ๋œ๋‹ค. ๋…ธ๋“œ์˜ ๋ชจ๋“  ์ž์†์€ ๋…ธ๋“œ์— ์—ฐ๊ด€๋œ ๋ฌธ์ž์—ด์˜ ๊ณตํ†ต ์ ‘๋‘์‚ฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ๋ฃจํŠธ๋Š” ๋นˆ ๋ฌธ์ž์—ด์— ์—ฐ๊ด€๋œ๋‹ค. - ์œ„ํ‚ค ๋ฐฑ๊ณผ - ์ฆ‰, ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ์—ฐ๊ฒฐ๋œ ๋ฌธ์ž์—ด์„ ์ฐจ๋ก€๋กœ ์ €์žฅํ•˜๋Š”.. 2022. 7. 29.
[Network] Port๋ž€? (feat. Protocol) (What is a Port?) Port๋ž€? Port๋Š” ์‚ฌ์ „์ ์ธ ์˜๋ฏธ๋กœ "ํ•ญ๊ตฌ"๋ผ๋Š” ๋œป์ด๋‹ค. ํ•ญ๊ตฌ๋Š” ๋ฐฐ๊ฐ€ ์ •์ฐฉํ•˜๊ณ  ์ถœ๋ฐœํ•˜๋Š” ๊ณต๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ๋„ Port๋Š” ๋น„์Šทํ•œ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋˜๋Š”๋ฐ ํŠน์ • ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ์ข…๋‹จ์  ์—ญํ• ์„ ํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด์ ์ธ ์˜๋ฏธ๋กœ๋Š” ํ†ต์‹  ์žฅ๋น„๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ๊ฒฐ๋‹จ์ด๊ณ , ์†Œํ”„ํŠธ์›จ์–ด์ ์ธ ์˜๋ฏธ๋กœ๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์‹ค์ œ๋กœ ๋ฐฐ๊ฐ€ ๋ฌผ๊ฑด์„ ์‹ค์–ด๋‚˜๋ฅด๋Š” ์žฅ์†Œ๋ฅผ ํ•ญ๊ตฌ๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๋ฌผ๊ฑด ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณต๊ฐ„๊ณผ๋„ ๊ฐ™๋‹ค. Port๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ๋“ "IP์™€ URL ์ฃผ์†Œ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํžˆ ์–ด๋–ค ๊ณณ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„์ง€ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? ๊ตณ์ด Port๋ฒˆํ˜ธ๊นŒ์ง€ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ฐ€์ ธ์•ผํ•  ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?".. 2022. 4. 29.
[Network] CORS๋ž€? (feat. ๋ณด์•ˆ,HTTP) (What is a CORS?) CORS๋ž€? CORS๋Š” Cross-Origin Resource Sharing์˜ ์•ฝ์ž๋กœ ์ง์—ญํ•˜๋ฉด "๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ " ์ด๋‹ค. ์ข€ ๋” ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋™์ผํ•œ ์ถœ์ฒ˜๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ถœ์ฒ˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š” ์ •์ฑ…์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ์ •์ฑ…์ด ์™œ ํ•„์š”ํ•œ ๊ฒƒ์ผ๊นŒ? ๊ทธ๊ฑด ๋จผ์ € "๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…"์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค. Same Origin Policy(๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…) ๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…์€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋™์ผํ•œ ์ถœ์ฒ˜์—์„œ๋งŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋„๋ก ํ•˜๋Š” ์ •์ฑ…์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด "์ถœ์ฒ˜"๋Š” ๋„๋Œ€์ฒด ๋ฌด์—‡์ผ๊นŒ? ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด URL ์ฃผ์†Œ์ด๋‹ค. (๋จผ์ € URL์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ชจ๋ฅด๋Š” ๋ถ„๋“ค์„ ์—ฌ๊ธฐ ์—์„œ ๋จผ์ € ์ฝ๊ณ  ์˜ค๊ธธ ๋ฐ”๋ž€๋‹ค.) ํ•˜์ง€๋งŒ "๋™์ผํ•œ ์ถœ์ฒ˜"๋Š” ์ •ํ™•ํžˆ ๋˜‘๊ฐ™์€ URL์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์„ ์•„๋‹ˆ๋‹ค. ๋™์ผํ•œ.. 2022. 4. 27.
[Network] URL ๊ตฌ์„ฑ ์š”์†Œ (The components of a URL) URL URL์€ Uniform Resource Locator์˜ ์•ฝ์ž๋กœ ์›น ์ฃผ์†Œ๋ฅผ ๋œปํ•˜๋ฉฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋””์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ๊ทœ์น™์ด๋‹ค. URL์˜ ๊ตฌ์„ฑ ์š”์†Œ ์•„๋ž˜๋Š” ๋„ค์ด๋ฒ„ ์›นํˆฐ์—์„œ ์‹ ์˜ ํƒ‘ ํŽ˜์ด์ง€ URL์ด๋‹ค. https://comic.naver.com/webtoon/list?titleId=183559&weekday=mon ์‹ ์˜ ํƒ‘ ์ž์‹ ์˜ ๋ชจ๋“  ๊ฒƒ์ด์—ˆ๋˜ ์†Œ๋…€๋ฅผ ์ซ“์•„ ํƒ‘์— ๋“ค์–ด์˜จ ์†Œ๋…„๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Ÿฐ ์†Œ๋…„์„ ์‹œํ—˜ํ•˜๋Š” ํƒ‘ comic.naver.com ํ•ด๋‹น URL์€ https + comic.naver.com + (:443) + /webtoon/list + ?titleId=183559&weekday=mon ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 1. Protocol(ํ”„๋กœํ† ์ฝœ) ์œ„ URL์—์„œ "https"๋ฅผ ๋œปํ•˜๋ฉฐ ์–ด๋–ค ํ”„๋กœํ† .. 2022. 4. 27.
[Network] ์„ธ์…˜(Session)์ด๋ž€? (What is a Session?) Session์ด๋ž€? Session์€ ์˜๊ตฌ์ ์ด๊ณ  ์ƒํ˜ธ์ž‘์šฉ์ ์ธ ์ •๋ณด ๊ตํ™˜์„ ์ „์ œํ•˜๋Š” ๋‘˜ ์ด์ƒ์˜ ํ†ต์‹  ์žฅ์น˜๋‚˜ ์ปดํ“จํ„ฐ์™€ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ๋Œ€ํ™”๋‚˜ ์†ก์ˆ˜์‹  ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋ณด์•ˆ์ ์ธ ๋‹ค์ด์–ผ๋กœ๊ทธ(dialogue) ๋ฐ ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. - ์œ„ํ‚ค ๋ฐฑ๊ณผ - ์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์ ‘์†ํ•˜์—ฌ ์„œ๋ฒ„์™€ ์ ‘์†์ด ์ข…๋ฃŒํ•˜๊ธฐ ์ „์˜ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด ํ•ด๋‹น ์ฐฝ์„ ๋‹ซ๊ธฐ ์ „๊นŒ์ง€์˜ ์ƒํƒœ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์„ธ์…˜ ๊ณผ์ • 1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด ์„œ๋ฒ„์— ์š”์ฒญํ•œ๋‹ค. 2. ์„œ๋ฒ„๋Š” ์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„ธ์…˜ ID๋ฅผ ๋ถ€์—ฌํ•ด์„œ ์‘๋‹ตํ•œ๋‹ค. 3. ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ์„ธ์…˜ ID๋ฅผ ํ—ค๋” ์ฟ ํ‚ค์— ๋„ฃ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•œ๋‹ค. 4. ์„œ๋ฒ„๋Š” ์„ธ์…˜ .. 2022. 4. 26.
[Network] ์ฟ ํ‚ค(Cookie)๋ž€? (What is a Cookie?) ์ฟ ํ‚ค(Cookie)๋ž€? ์ฟ ํ‚ค๋Š” ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ €๊ฐ€ ์–ด๋–ค ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ์„ ๋•Œ ๊ทธ ์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ์— ์ €์žฅ๋˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ฟ ํ‚ค๋Š” ํ‚ค์™€ ๋ฐธ๋ฅ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„, ๋„๋ฉ”์ธ, ๊ฒฝ๋กœ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์ฟ ํ‚ค๋ž€ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ฒŒ ๋œ ๊ฒƒ์ผ๊นŒ? ๋„ท์Šค์ผ€์ดํ”„ ๊ฐœ๋ฐœ์ž์ธ ๋ฃจ ๋ชฌํ‹€๋ฆฌ๊ฐ€ ์ด๋ฆ„์„ ์ง“๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋ฐ์ดํ„ฐ์˜ ํŒจํ‚ท์„ ์˜๋ฏธํ•˜๋Š” "๋งค์ง ์ฟ ํ‚ค" ์—์„œ ๋น„๋กฏ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ตœ๋Œ€ 300๊นŒ์ง€ ์ฟ ํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ๋‹น ์ตœ๋Œ€ 20๊ฐœ, ํ•˜๋‚˜์˜ ์ฟ ํ‚ค ๋‹น ์ตœ๋Œ€ 4KB๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ด์ „ HTTP์˜ ํŠน์ง•์„ ์ •๋ฆฌํ•œ ๊ธ€์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์•„๋ผ๊ธฐ ์œ„ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๋Š” ํŠน์ง•(๋น„์—ฐ๊ฒฐ์„ฑ)์ด ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๋˜ํ•œ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด.. 2022. 4. 22.
[Network] OAuth๋ž€? (feat. ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ) (What is an OAuth?) OAuth๋ž€? OAuth๋Š” Open standard for Authorization์˜ ์•ฝ์ž๋กœ ์ง์—ญํ•˜๋ฉด "๊ถŒํ•œ์„ ์œ„ํ•œ ๊ฐœ๋ฐฉ๋œ ํ‘œ์ค€"์ด๋‹ค. 2006๋…„์— ํŠธ์œ„ํ„ฐ ๊ฐœ๋ฐœ์ž๋“ค์ด Open ID๋ฅผ ํ™œ์šฉํ•ด ์ธ์ฆํ•  ๋ฐฉ๋ฒ•์„ ๋ชจ์ƒ‰ํ•˜๋‹ค๊ฐ€ ๊ตฌ๊ธ€์˜ ๋“œ์œ„ํŠธ ํด๋ฆฐํ„ด์ด ํ”„๋กœ์ ํŠธ์— ํ•ฉ๋ฅ˜ ํ•˜์˜€๊ณ , ๊ทธ๋ ‡๊ฒŒ OAuth์˜ ์ตœ์ข… ์ดˆ์•ˆ์ด ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋„๋Œ€์ฒด "๊ถŒํ•œ์„ ์œ„ํ•œ ๊ฐœ๋ฐฉ๋œ ํ‘œ์ค€"์ด ๋ฌด์Šจ ๋œป์ผ๊นŒ? ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋ด์™”๋˜ SNS ๋กœ๊ทธ์ธ๊ณผ ๊ฐ™๋‹ค. ์–ด๋Š ํŠน์ • ์›น์‚ฌ์ดํŠธ๋‚˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ง์ ‘ ํšŒ์›๊ฐ€์ž…์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ฏฟ์Œ์ง์Šค๋Ÿฌ์šด ๊ธฐ์—…์˜ ์•„์ด๋””๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. OAuth์˜ ์ ˆ์ฐจ SNS ๋กœ๊ทธ์ธ์„ ํ†ตํ•ด์„œ ๊ฐ€์ž…ํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ๋ฐŸ๊ฒŒ ๋œ๋‹ค. 1. SNS ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ„ ํ•ด๋‹น SNS ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜.. 2022. 4. 21.
[Network] REST API๋ž€? (feat. ์›์น™๊ณผ ๋„ค์ด๋ฐ ๊ทœ์น™) (What is a REST API?) REST๋ž€? REST๋Š” Representational State Transfer์˜ ์•ฝ์ž๋กœ ์ง์—ญํ•˜๋ฉด "๋Œ€ํ‘œ๋กœ ์ƒํƒœ๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ"์ด๋‹ค. ์ œ๋Œ€๋กœ ๋œ ์˜๋ฏธ๋Š” "๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์œผ๋กœ ์ƒํƒœ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹" ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„ "์ด๊ฑฐ ์œ ์ €์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์•ผ" -> user (user๋ผ๊ณ  ์ด๋ฆ„์„ ์ง€์–ด ์œ ์ € ๋ฐ์ดํ„ฐ๋ผ๊ณ  ์•Œ๋ ค์คŒ) ์ƒํƒœ "๋‚˜ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ• ๊ฑฐ์•ผ" -> Create (๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ์•Œ๋ ค์คŒ) ์ „์†ก "์œ ์ € ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•ด์ค˜" -> Create user (์œ ์ € ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•จ) ์ด์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์œผ๋กœ ์ƒํƒœ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๊ทธ๋ ‡๋‹ค๋ฉด REST API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌด์—‡์ผ๊นŒ? ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ด์œ ๋Š” "HTTP ํ”„ํ† ํ† ์ฝœ" ์ด๋ผ๊ณ  .. 2022. 4. 20.
[Network] HTTP์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ(feat. ๋น„์—ฐ๊ฒฐ์„ฑ, ๋ฌด์ƒํƒœ) HTTP์˜ ํŠน์ง• HTTP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ง€๋‚œ ๊ธ€์— HTTP๋Š” HTML ๋“ฑ์˜ ์›นํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…์ŠคํŠธ๋กœ ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค๊ณ  ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค. (ํ˜น์‹œ ์•ˆ๋ณธ ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ๋ณด๊ณ  ์™€์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.) ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•œ HTTP์˜ ํŠน์ง•์ด ๋ช‡ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. Connectionless ๊ทธ ์ค‘ ํ•œ๊ฐ€์ง€๋Š” ๋ฐ”๋กœ Connectionless(๋น„์—ฐ๊ฒฐ์„ฑ)์ด๋‹ค. ์ฆ‰, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ? ๋ฐ”๋กœ "๋ฆฌ์†Œ์Šค" ๋•Œ๋ฌธ์ด๋‹ค. ๊ณ„์†ํ•ด์„œ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ๋‹ค๋Š” ๋ง์€ ๋‹ค๋ฅธ ๋ง๋กœ ๊ณ„์†ํ•ด์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์•„๋‚„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ.. 2022. 4. 15.
[Network] HTTPS์˜ ๋ณด์•ˆ ์›๋ฆฌ(feat. SSL,๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹) HTTP์˜ ๋ณด์•ˆ HTTP๋Š” HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ†ต์‹  ๊ทœ์•ฝ์„ ์˜๋ฏธํ•œ๋‹ค. (์ž์„ธํ•œ ์„ค๋ช…์€ ์ด์ „ ๊ธ€์ธ Hyper Text๋Š” ๋ฌด์—‡์ผ๊นŒ? ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.) HTTP๋Š” ๋‹จ์ˆœํžˆ HTML์„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด ๋„คํŠธ์›Œํฌ ์ค‘๊ฐ„์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€๋กœ์ฑ„ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ์—†์• ๋ฒ„๋ฆฌ๋Š” ๋“ฑ์˜ ๊ณต๊ฒฉ์„ ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. (๋งŒ์•ฝ ๋ฐ์ดํ„ฐ ์ƒ์— ์‹ ์šฉ์นด๋“œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ๊ฐœ์ธ ์ •๋ณด ๋“ฑ์ด ์žˆ๋‹ค๋ฉด ์น˜๋ช…์ ์ผ ๊ฒƒ์ด๋‹ค.) HTTPS๋ž€? HTTPS๋Š” HTTP + S๋กœ, HTTP์— ์ถ”๊ฐ€์ ์œผ๋กœ S๊ฐ€ ๋”ํ•ด์ง„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด S๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ? ๋ฐ”๋กœ Secure Socket Layer, SSL.. 2022. 4. 14.
728x90
๋ฐ˜์‘ํ˜•