๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (453)

Dev Blog

์ฟ ํ‚ค๐Ÿช_Cookie

'์ฟ ํ‚ค ์ˆ˜์ง‘์— ๋™์˜ํ•˜์‹ญ์‹œ์˜ค.'       ์ฟ ํ‚ค๋Š” ์›น์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋กœ,์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์›น ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.     ์ฟ ํ‚ค ์–ด์›์ดˆ์ฝ”์นฉ ์ฟ ํ‚ค๋ฅผ ์˜๋ฏธํ•˜๋Š”๊ฐ€ ์‹ถ์„ ํ…๋ฐ, ์ •ํ™•ํ•˜๊ฒŒ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด์šฉํ•˜๋Š” ์ •๋ณด ํŒŒ์ผ์„ ์ผ์ปซ์Šต๋‹ˆ๋‹ค.์ฟ ํ‚ค์˜ ์–ด์›์€ 1994๋…„, ๋„ท์Šค์ผ€์ดํ”„ ๊ฐœ๋ฐœ์ž ๋ฃจ์ด J. ๋ชฌํˆด๋ฆฌ(Louis J. Montulli)๊ฐ€ ๊ณ ์•ˆํ–ˆ๋Š”๋ฐ,์œ ๋‹‰์Šค ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์ด ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์‹  ํ›„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํŒจํ‚ท์„'๋งค์ง ์ฟ ํ‚ค' ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋ฐ์„œ ์ฐฉ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.์ตœ์ดˆ์˜ ์ฟ ํ‚ค๋Š” ๋„ท์Šค์ผ€์ดํ”„(Netscape Navigator) ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋– ๋‚˜๋„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค...

Github API ๋กœ ๋ฒ„์ „ ๋ฆฌ๋กœ๋“œ ํ•˜๊ธฐ

Hello & Intro์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ๋ฐฐํฌ๋  ๋•Œgithub API ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ ์‚ฌ์ดํŠธ๋ฅผ์ƒˆ ๋ฒ„์ „์œผ๋กœ ๋ฆฌ๋กœ๋“œ ํ•ด์ฃผ๋Š” Check Version & Reload ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.Problem์‚ฌ์šฉ์ž๊ฐ€ ์›น ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๋•Œ ๋ฒ„๊ทธ๋ฅผ ๋งˆ์ฃผํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ์š”.์ €ํฌ๋Š” SPA(Single Page Application) ๋ฐฉ์‹์˜ ์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—๋งค์ฃผ ์ƒˆ ๋ฒ„์ „์„ ๋ฐฐํฌํ•  ๋•Œ๋งˆ๋‹ค ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐœ์ƒํ–ˆ๋˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.(SPA ๋ฅผ ๊ฐ„๋‹จํžˆ ์„ค๋ช…๋“œ๋ฆฌ์ž๋ฉด, ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ทธ๋ ค๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋“ค์„ ๋‹ค์šด ๋ฐ›์•„ ํ™”๋ฉด์— ๊ทธ๋ ค์ฃผ๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์„ ์—ด๊ณ  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  ๋•Œ๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•  ๋•Œ ์ด ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.) ์œ ์ €๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ™”๋ฉด๊ณผ ๊ด€๋ จ๋œ ์ฝ”๋“œ..

Web Development/CI&CD 2024. 12. 21. 19:03
์œ ์—ฐํ•œ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ ์„ค๊ณ„ํ•˜๊ธฐ

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

Web Development/Design System 2024. 12. 21. 18:52
๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™(Liskov substitution principle)

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