[๋„คํŠธ์›Œํฌ] ์ฟ ํ‚ค(Cookie), ์„ธ์…˜(Session)์ด๋ž€?

Web๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ์›น ํ†ต์‹ ์„ ์œ„ํ•œ ์ €์žฅ์†Œ์ธ ์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ๋งˆ์ฃผ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์šฐ์„  ์ด๋Ÿฌํ•œ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์•Œ๊ธฐ์œ„ํ•ด HTTP์˜ ํŠน์ง•์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. **HTTP์™€ HTTPS์˜ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. https://j-su2.tistory.com/16?category=1016208 [๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS HTTP๋ž€? Hyper Text Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํ…Œ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฌธ์„œ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. - HTTP๋Š” Request์™€ R j-su2.tistory.com HTTP์˜ ํŠน์ง• HTTP ํ†ต์‹ ๊ทœ์•ฝ์€ Connectionlessํ•˜๊ณ  Stat..

CS/Network 2022. 7. 11. 23:11
[Design Pattern] TDD(ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ)

TDD๋ž€? TDD๋ž€ Test Driven Development์˜ ์•ฝ์ž๋กœ 'ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ์ด์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ์ž‘์€ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์งง์€ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ์˜ ๋ฐ˜๋ณต์— ์˜์กดํ•˜๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜์ธ eXtream Programming(XP)์˜ 'Test-First'๊ฐœ๋…์— ๊ธฐ๋ฐ˜์„ ๋‘” ๋‹จ์ˆœํ•œ ์„ค๊ณ„๋ฅผ ์ค‘์š”์‹œํ•ฉ๋‹ˆ๋‹ค. **eXtream Programming(XP) : ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์ตœ๋Œ€ํ•œ ํ•˜์ง€ ์•Š๊ณ  ์ง€์†์ ์œผ๋กœ ํ”„๋กœํ† ํƒ€์ž…์„ ์™„์„ฑํ•˜๋Š” ์• ์ž์ผ ๊ธฐ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜๋กœ, ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋”๋ผ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Œ TDD์˜ ์ ˆ์ฐจ TDD์—์„œ๋Š” ์ œํ’ˆ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•œ ์ฝ”๋“œ์™€ ๋ณ„๊ฐœ..

CS/Design Pattern 2022. 7. 4. 20:19
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„] OOP์™€ FP

OOP๋ž€? OOP๋Š” Object Oriented Programming์˜ ์•ฝ์ž๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. class์™€ object์— ๊ธฐ๋ฐ˜ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„(๋””์ž์ธ ํŒจํ„ด)์œผ๋กœ, ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ ๋ฌถ์–ด์„œ class๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ object instance๋ฅผ ๋งŒ๋“ค์–ด ํ”„๋กœ๊ทธ๋žจ์„ ๋””์ž์ธ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์ž๋ฐ”๊ฐ€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ‘œํ˜„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ๊ฐ์ฒด ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹ OOP์˜ ์žฅ์  ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ๋ฅ ์„ ๋†’์ด๊ณ  ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›€ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด์กด์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ(์บก์Šํ™”) OOP์˜ ํŠน์ง• 4๊ฐ€์ง€ ์บก์Šํ™”(Encapsulation) ์บก์Šํ™”๋Š” ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ๋กœ์ง์€ ๊ฐ์ถ”๊ณ  ์™ธ๋ถ€์—๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์•ˆ์ •..

CS/Design Pattern 2022. 7. 3. 21:55
[Design Pattern] GoF(Gang of Four) ๋””์ž์ธ ํŒจํ„ด ์ข…๋ฅ˜

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

CS/Design Pattern 2022. 6. 28. 21:11
[์ž๋ฃŒ๊ตฌ์กฐ] Hash(ํ•ด์‹œ)

ํ•ด์‹œ๋ž€? - Hash ํ˜น์€ HashTable์€ ํ‚ค๋ฅผ ๊ฐ’์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ธ, ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. - ์ž„์˜์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ(Key)๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ(Value)๋กœ ๋ณ€ํ™˜์‹œ์ผœ ์ €์žฅ - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” associate array - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ hashing(ํ•ด์‹ฑ)์ด๋ผ ํ•˜๊ณ , ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•ด์‹œํ•จ์ˆ˜ - ํ•ด์‹œ๊ฐ’ ์ž์ฒด๋ฅผ index๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‰๊ท  ๋ณต์žก๋„๊ฐ€ O(1)๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค - ๋ณด์•ˆ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€? - ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ์ž„์˜์˜ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ณ ์ •๋œ ๊ธธ์ด์˜ ํ…Œ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํ•ด์‹œ ํ•จ์ˆ˜์— ..

CS/Data Structure 2022. 6. 13. 20:27
[๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS

HTTP๋ž€? Hyper Text Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํ…Œ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ฌธ์„œ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. - HTTP๋Š” Request์™€ Response๋ฅผ ์œ„ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ - ๊ธฐ๋ณธ์ ์œผ๋กœ 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉ - TCP/IP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ HTTP์˜ ํŠน์ง• 1. ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ - ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์œผ๋กœ ์„œ๋ฒ„์™€ ์ ‘์†ํ•˜์—ฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒ - ์žฅ์  : ๊ฐ„๋‹จํ•˜๊ณ  ์ž์›์ด ์ ๊ฒŒ๋“ฆ - ๋‹จ์  : ์—ฐ๊ฒฐ์ด ์ง€์†์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐ ์ข…๋ฃŒํ›„ ์ถ”๊ฐ€์ ์ธ ์š”์ฒญ์‹œ ์–ด๋–ค ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ธ์ง€ ์ธ์‹ ๋ถˆ๊ฐ€ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค, ์„ธ์…˜, ํžˆ๋“  ํผ ํ•„๋“œ ๋“ฑ์„ ์ด์šฉํ•ฉ๋‹ˆ..

CS/Network 2022. 6. 12. 19:36
[๋„คํŠธ์›Œํฌ] TCP์™€ UDP

TCP์™€ UDP๋Š” ์ „์†ก ๊ณ„์ธต์—์„œ ํ†ต์‹  ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. TCP : ์‹ ๋ขฐ์„ฑ, ์—ฐ๊ฒฐ ์ง€ํ–ฅ์  UDP : ๋น„์‹ ๋ขฐ์„ฑ, ๋น„์—ฐ๊ฒฐ์„ฑ, ์‹ค์‹œ๊ฐ„ ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ, ๋˜๋Š” ์ปดํ“จํ„ฐ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ตํ™˜ ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ๊ทœ์น™ ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. TCP๋ž€? Transmission Control Protocal์˜ ์•ฝ์ž๋กœ ์ง์—ญํ•ด๋ณด๋ฉด ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ๋กœ, ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์‹œ์ง€์˜ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ TCP์™€ IP๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉ - IP: ๋ฐ์ดํ„ฐ์˜ ๋ฐฐ๋‹ฌ์„ ์ฒ˜๋ฆฌ - TCP: ํŒจํ‚ท์„ ์ถ”์  ๋ฐ ๊ด€๋ฆฌ ** ํŒจํ‚ท์ด๋ž€? ์ธํ„ฐ๋„ท ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ๋ฐฐ์ •(๋ผ์šฐํŒ…)์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฐ์ธ ํŒจํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†กํ•ฉ๋‹ˆ๋‹ค..

CS/Network 2022. 6. 6. 17:33