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

์ „์ฒด ๊ธ€118

[CS] : DI ์™€ IoC DI ์™€ IoC ? ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, 1. ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ , 2. ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ , 3. ํ™•์žฅ์„ฑ ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ์›์น™์ด๋‹ค. IoC (Inversion of Control) ? ์ง์—ญํ•˜๋ฉด "์ œ์–ด์˜ ์—ญ์ „" ๊ณผ ๊ฐ™๋‹ค. IoC๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ปดํฌ๋„ŒํŠธ(ํด๋ž˜์Šค, ๋ชจ๋“ˆ)์˜ ์ œ์–ด๊ถŒ์„ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ์ปจํ…Œ์ด๋„ˆ์— ๋„˜๊ธฐ๋Š” ๊ฐœ๋…์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ์ œ์–ด ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์™ธ๋ถ€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ์–ดํ๋ฆ„์„ ์ œ์–ดํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ œ์–ด์˜ ์—ญ์ „์€ ๊ฐ์ฒด์˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ์™€ ์˜์กด์„ฑ ํ•ด๊ฒฐ์„ ์ž๋™ํ™”ํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”์–ด ๋” ๋ชจ๋“ˆํ™”๋œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์œ„ ๊ฐœ๋…๋“ค์„ ์˜ˆ๋กœ ๋“ค์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ˆ์‹œ๊ฐ€ ์žˆ๋‹ค. IoC ์˜ˆ์‹œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ฅผ ์ƒ.. 2023. 8. 29.
[CS] : ์ฟ ํ‚ค์™€ ์„ธ์…˜ ์ฟ ํ‚ค ๋˜๋Š” ์„ธ์…˜์˜ ์‚ฌ์šฉ ์ด์œ  HTTP ํ”„๋กœํ† ์ฝœ ํ™˜๊ฒฝ์˜ ํŠน์„ฑ ๋ฐ ์•ฝ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ HTTP ํ”„๋กœํ† ์ฝœ์˜ ํŠน์„ฑ ๋ฐ ์•ฝ์  connectionless stateless ์„œ๋ฒ„๋Š” ์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ๋งค๋ฒˆ ํ™•์ธ์„ ํ•ด์•ผํ•œ๋‹ค. Connectionless ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๊ฒƒ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ›๊ฒŒ๋˜๋ฉด, ๊ทธ ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฌ๋Š” ํŠน์„ฑ HTTP์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— req๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” ์•Œ๋งž์€ res๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๋ฉด res๋ฅผ ๋ณด๋‚ด๊ณ  ์ ‘์†์„ ๋Š๋Š” ํŠน์„ฑ์ด ์กด์žฌํ•œ๋‹ค. Stateless ํ†ต์‹ ์ด ๋Š๋‚˜๊ฒŒ๋˜๋ฉด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํŠน์„ฑ connectionless์˜ ํŠน์„ฑ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ฒŒ ๋˜๋ฉด ๊ทธ ์ˆœ๊ฐ„ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ํ†ต์‹ ์€ ๋Š๋‚˜๊ฒŒ ๋˜๋ฉฐ, ๊ทธ ๋‹น์‹œ ์ƒํƒœ์ •๋ณด๋Š” ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํŠน์„ฑ์ด ๋ฐ”๋กœ stateless ์ด๋‹ค. ์œ„ ๋‘๊ฐ€์ง€์˜ ํŠน.. 2023. 8. 28.
[CS] : ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ์ด๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ๋น„ํŠธ (bit) ์‹ ํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ตœ์†Œ ๋‹จ์œ„ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์ •๋ณด์˜ ์ตœ์†Œ ๋‹จ์œ„ ๋น„ํŠธ 1๊ฐœ๋กœ๋Š” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์–ด๋ ต๊ธฐ๋•Œ๋ฌธ์— ๋น„ํŠธ 8๊ฐœ๋ฅผ ๋ฌถ์€ ๋ฐ”์ดํŠธ๋ฅผ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋ฐ”์ดํŠธ (byte) ์ •๋ณด์˜ ๊ธฐ๋ณธ ๋‹จ์œ„ 1๋ฐ”์ดํŠธ = 256๊ฐœ ์ข…๋ฅ˜์˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Œ (2์˜ 8์Šน) ์˜์–ด = ํ•œ ๋ฌธ์ž๋‹น 1๋ฐ”์ดํŠธ ํ•œ๊ธ€/๋™์–‘๊ถŒ ๋ฌธ์ž = ํ•œ ๋ฌธ์ž๋‹น 2๋ฐ”์ดํŠธ ๋ฐ”์ดํŠธ์˜ ๋‹จ์œ„๋Š” 1024๋ฐฐ์”ฉ ํ™•์žฅ๋˜์–ด์„œ ์ƒˆ๋กœ์šด ๋‹จ์œ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ €์žฅ์žฅ์น˜์˜ ํ‘œ๊ธฐ์šฉ๋Ÿ‰๊ณผ ์‹ค์ œ์šฉ๋Ÿ‰์ด ๋‹ค๋ฅธ ์ด์œ  ? ์ด์œ ๋Š” ์‹ญ์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ ์ œ์กฐ์—…์ฒด ๊ธฐ์ค€ 1TB ์ €์žฅ์žฅ์น˜๋Š” 1,000,000,000,000(1์กฐ) ๋ฐ”์ดํŠธ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ‘œ๊ธฐ๋˜์–ด ์žˆ์ง€๋งŒ ์‹ค์ œ ์ปดํ“จํ„ฐ ๊ทœ์น™์ธ ์ด์ง„๋ฒ•์œผ๋กœ ๋‚˜๋ˆ„๊ฒŒ ๋˜๋ฉด 1TB = 931GB ๊ฐ€ ๋œ๋‹ค... 2023. 8. 28.
[CS] : TCP / UDP TCP ? ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  ํ”„๋กœํ† ์ฝœ ์žฅ์น˜๋“ค ์‚ฌ์ด ๋…ผ๋ฆฌ์ ์ธ ์ ‘์†์„ ์„ฑ๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด "์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค" TCP๋Š” ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ฐ„์— "์ผ๋ จ์˜ ์˜ฅํ…Ÿ (๋ฐ์ดํ„ฐ, ๋ฉ”์‹œ์ง€, ์„ธ๊ทธ๋ŸฐํŠธ๋ผ๋Š” ๋ธ”๋ก ๋‹จ์œ„)์„" "์•ˆ์ •์ ์œผ๋กœ, ์ˆœ์„œ๋Œ€๋กœ, ์—๋Ÿฌ์—†์ด" ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  ํ”„๋กœํ† ์ฝœ ? ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธ TCP์˜ ํŠน์ง• 1. ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ ๊ฐ€์ƒ ํšŒ์„  ๋ฐฉ์‹์„ ์ œ๊ณต 3-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  4-way handshaking ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ๋‹ค. 2. ํ๋ฆ„ ์ œ์–ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์†๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ 3. ํ˜ผ์žก ์ œ์–ด ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ํŒจํ‚ท ์ˆ˜๊ฐ€.. 2023. 8. 28.
[CS] : HTTP ์™€ HTTPS HTTP ? ํ•˜์ดํผ ํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ ์ธํ„ฐ๋„ท์„ ์ž‘๋™์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•˜๊ณ , ์›น ์„œ๋ฒ„ ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒํ˜ธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ์‘์šฉ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ด๋‹ค. HTTPS ? ํ•˜์ดํผ ํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ ๋ณด์•ˆ ํ‘œ์ค€ HTTP์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ, ์„œ๋ฒ„์™€ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์›น์‚ฌ์ดํŠธ์— ์ถ”๊ฐ€์ ์ธ ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ฆ‰, ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ›”์น˜๊ฑฐ๋‚˜ ํ•ดํ‚นํ•˜๊ฑฐ๋‚˜ ๋ณผ ์ˆ˜ ์—†๋„๋ก ์ž‘๋™์„ ํ•œ๋‹ค. HTTP vs HTTPS HTTPS ๋Š” SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” HTTP ์ด๋‹ค. SSL ์ธ์ฆ์„œ๋Š” ์ผ๋ฐ˜์ ์ธ HTTP ์š”์ฒญ/์‘๋‹ต ์„ ์•”ํ˜ธํ™” ์‹œํ‚จ๋‹ค. HTTPS ํ™•์ธ ๋ฐฉ๋ฒ• ๋ธŒ๋ผ์šฐ์ €์—์„œ URL์„ ํ™•์ธํ•ด HTTPS ๋ณดํ˜ธ๊ธฐ๋Šฅ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณธ์ธ ์ฃผ์†Œ์ฐฝ ์ž…๋ ฅ๋ž€์˜ ์ œ์ผ ์™ผ์ชฝ์— ์ž๋ฌผ์‡  ์•„์ด์ฝ˜์ด ์žˆ๋‹ค๋ฉด .. 2023. 8. 28.
[JS] : URL์—์„œ ์ž์›์„ ๋ชป๊ฐ€์ ธ ์˜ค๋Š”๊ฒฝ์šฐ ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ URL ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ตฌํ˜„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ URL์—์„œ ๋‚ด๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ž์›์„ ๋ชป๊ฐ€์ ธ ์˜ค๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ฒด๋ฅผ ํ•  ๊ฒƒ์ธ์ง€. URL์— ์ž์›์„ ๋‹ด์ง€ ์•Š๋Š” ์ด์œ  ์šฐ๋ฆฌ๋Š” ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•จ์— ์žˆ์–ด์„œ ์ตœ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ–ˆ๊ณ , ๋ณด์•ˆ์ด์Šˆ๋“ฑ์œผ๋กœ URL์—์„œ ์œ ์ €์˜ ๊ฐœ์ธ ID ๋˜๋Š” ๋ฌด์–ธ๊ฐ€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ์„๋งŒํ•œ URI๋Š” ๋นผ๊ณ ์ž ํ–ˆ๊ธฐ์—, ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ตฌ์ƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์‹œ๋„ํ•œ ๊ฒƒ HTML ํƒœ๊ทธ ์†์„ฑ์ค‘ data๋ผ๋Š” ์†์„ฑ์„ ํ†ตํ•ด์„œ id ๋Œ€์‹  ๊ฐ ํƒœ๊ทธ์— ์œ ์ผ๊ฐ’์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์—ˆ๊ณ , inner HTML๋กœ ์œ ์ €์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ ค์คŒ๊ณผ ๋™์‹œ์— data๋ผ๋Š” ์†์„ฑ๊ฐ’์— ํ•ด๋‹น ์œ ์ €์˜ ์ด๋ ฅ์„œ id ๋˜๋Š” ํ•ด๋‹น ์œ ์ €์˜ userId ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์—ˆ๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ(์ž์›)์„ ๊ฐ€์ง€๊ณ .. 2023. 8. 28.