๐Ÿ’ป์šฉ๋‡ฝ ๊ฐœ๋ฐœ ๋…ธํŠธ๐Ÿ’ป
article thumbnail
[Web] ๋ธŒ๋ผ์šฐ์ €์— URL์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ๊นŒ์š”?

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— url์„ ์ž…๋ ฅํ•˜๋ฉด ์ƒ๊ธฐ๋Š” ๊ณผ์ •๋“ค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. DNS ๋ ˆ์ฝ”๋“œ ํ™•์ธ ์ฒซ ๋ฒˆ์งธ๋กœ, ๋ธŒ๋ผ์šฐ์ €๋Š” DNS(Domain Name Server) ๋ ˆ์ฝ”๋“œ์˜ ์บ์‹œ๋ฅผ ํ™•์ธํ•˜์—ฌ ํ•ด๋‹น URL์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. DNS(Domain Name Server)๋ž€? DNS๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. DNS๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ๋ฅผ ๋งคํ•‘ํ•ด์ฃผ๋Š” ์„œ๋ฒ„๋กœ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธํ„ฐ๋„ท ์ž์›์„ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์ฆ‰, DNS๋Š” ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์ด๋ฆ„์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ฐพ๋“ฏ์ด, ์ปดํ“จํ„ฐ๋Š” DNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ•ด๋‹น IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณผ์ •์—์„œ ์•„๋ž˜์˜ ์ˆœ์„œ๋กœ ํ™•์ธ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ํ™•์ธ: ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด์ „์— ๋ฐฉ๋ฌธํ•œ ์›น์‚ฌ์ดํŠธ..

article thumbnail
[Web] ์ฟ ํ‚ค(Cookie) vs ์„ธ์…˜(Session) vs ์›น ์Šคํ† ๋ฆฌ์ง€(Web Storage)์˜ ์ฐจ์ด๋ฅผ ์‰ฝ๊ฒŒ ์•Œ์•„๋ด…์‹œ๋‹ค.

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ฟ ํ‚ค, ์„ธ์…˜, ์›น ์Šคํ† ๋ฆฌ์ง€์™€ ๊ฐ™์€ ๊ธฐ์ˆ ๋“ค์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ๊ฐ๊ฐ์€ ๊ณ ์œ ํ•œ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ฟ ํ‚ค, ์„ธ์…˜, ์›น ์Šคํ† ๋ฆฌ์ง€์˜ ์ฐจ์ด๋ฅผ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ , ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ๊ณผ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์ƒํ™ฉ, ๊ทธ๋ฆฌ๊ณ  ๋ณด์•ˆ ์ด์Šˆ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฟ ํ‚ค(Cookie) ์ฟ ํ‚ค๋Š” ์›น ์„œ๋ฒ„ ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑ๋˜์–ด ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅ๋˜๋Š” key์™€ value๋กœ ์ด๋ฃจ์–ด์ง„ ์ž‘์€ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ฟ ํ‚ค๋Š” ๋งŒ๋ฃŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋งŒ๋ฃŒ์ผ์ด ์ง€๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ HTTP ํ—ค๋”๋ฅผ ํ†ตํ•ด ์ฟ ํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ..

article thumbnail
[React] ๊ฐ€์ƒ ๋”(Virtual DOM)์ด ๋ฌด์—‡์ด๊ณ  ์™œ ์ค‘์š”ํ• ๊นŒ์š”?

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ๋ฆฌ์•กํŠธ๊ฐ€ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๋น„๊ฒฐ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ๊ฐ€์ƒ ๋”(Virtual DOM)์ž…๋‹ˆ๋‹ค.์ด๋Š” ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋กœ ๊ฐ€์ƒ ๋”์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.DOM(Document Object Model)์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด ๋ณด์ด๋Š” ๊ฐ๊ฐ์˜ ์š”์†Œ(Element)๋“ค์ด ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์„œ(Document)๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ‘œํ˜„ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ DOM์ž…๋‹ˆ๋‹ค.DOM์€ ์š”์†Œ๋“ค์„ ํŠธ๋ฆฌ(Tree) ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ฐ ์š”์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๋…ธ๋“œ(Node)๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.๊ฐœ๋ฐœ์ž๋“ค์€ DOM์ด ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์ด์šฉํ•ด ์ด๋Ÿฌํ•œ DOM ๊ตฌ์กฐ์— ์ ‘๊ทผํ•˜๊ณ , ๋‚ด์šฉ์ด๋‚˜ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿฐ ๊ณผ์ •์„ DOM ์กฐ์ž‘์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ํŽ˜์ด์ง€์˜ ํŠน์ •..

article thumbnail
[๋„คํŠธ์›Œํฌ] HTTP๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

์ •์˜ HTTP๋ž€ Hyper Text Transfer Protocol์˜ ์•ฝ์ž๋กœ ์›น์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ž‘๋™์›๋ฆฌ HTTP๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ(request)๋ฅผ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” ์ด์— ๋Œ€ํ•œ ์‘๋‹ต(response)์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. HTTP ๋ฉ”์†Œ๋“œ HTTP ๋ฉ”์†Œ๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์ž‘์„ ์„œ๋ฒ„์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ฆ‰, ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ(request)์˜ ๋ชฉ์ ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ HTTP ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. HTTP ๋ฉ”์†Œ๋“œ ์„ค๋ช… ์‚ฌ์šฉ ์˜ˆ์‹œ GET ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ฅผ ์š”์ฒญ ํŠน์ • ํŽ˜์ด์ง€ ์ ‘์†, ์ •๋ณด ๊ฒ€์ƒ‰ POST ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ์š”์ฒญ ํšŒ์›๊ฐ€์ž…, ๊ธ€์“ฐ๊ธฐ PUT ๋ฐ์ดํ„ฐ ์ˆ˜์ • ์š”์ฒญ ํšŒ์› ์ •๋ณด ์ˆ˜์ •, ๊ธ€ ์ˆ˜์ • DELETE ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์š”์ฒญ ํšŒ์› ์ •๋ณด ์‚ญ์ œ, ๊ธ€ ์‚ญ..

article thumbnail
[React] ํ•จ์ˆ˜(Function) ์ปดํฌ๋„ŒํŠธ vs ํด๋ž˜์Šค(Class) ์ปดํฌ๋„ŒํŠธ ์ฐจ์ด๊ฐ€ ๋ญ˜๊นŒ์š”?

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ ๋„์ž… ๋ฆฌ์•กํŠธ์—์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฆฌ์•กํŠธ๊ฐ€ ์ฒ˜์Œ ์ƒ๊ฒผ์„ ๋•Œ๋ถ€ํ„ฐ ์žˆ์—ˆ์ง€๋งŒ, ์ฒ˜์Œ์—๋Š” ์ƒํƒœ๊ด€๋ฆฌ๋‚˜ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ์ฃผ๋กœ ๋‹จ์ˆœํ•œ ํ‘œํ˜„์„ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฆฌ์•กํŠธ 16.8 ๋ฒ„์ „์—์„œ Hooks๊ฐ€ ๋„์ž…๋˜๋ฉด์„œ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ์ƒํƒœ๊ด€๋ฆฌ์™€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์†Œ๋“œ์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Hooks์˜ ๋„์ž…์€ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์˜ ํ™œ์šฉ ๋ฒ”์œ„๋ฅผ ํฌ๊ฒŒ ํ™•์žฅ์‹œํ‚ค๊ณ , ํ˜„์žฌ๋Š” ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋งŒ์œผ๋กœ๋„ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ์˜ ์‚ฌ์šฉ์ด ํฌ๊ฒŒ ๋Š˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฆฌ์•กํŠธ ๊ณต์‹๋ฌธ์„œ์—์„œ๋„ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋ณด๋‹ค ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜•(Functional)์ด ์•„๋‹ˆ๋ผ ํ•จ์ˆ˜(Function) ์ปดํฌ๋„ŒํŠธ๋ผ๊ณ  ๋ถ€๋ฅด..

article thumbnail
[JavaScript] ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง๊ณผ ์บก์ณ๋ง์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค.

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง๊ณผ ์บก์ณ๋ง์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฒ„๋ธ”๋ง(Bubbling) ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? ํ•œ ์š”์†Œ์— ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•ด๋‹น ์š”์†Œ์— ํ• ๋‹น๋œ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋™์ž‘ํ•˜๊ณ , ์ด์–ด์„œ ๋ถ€๋ชจ ์š”์†Œ์˜ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ตœ์ƒ๋‹จ์˜ ์กฐ์ƒ ์š”์†Œ๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ๊ณผ์ •์ด ๋ฐ˜๋ณต์ด ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์•„๋ž˜ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์•ˆ์ชฝ์— ์žˆ๋Š” pํƒœ๊ทธ๋ฅผ ํด๋ฆญํ–ˆ๋Š”๋ฐ 3๊ฐœ์˜ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒŒ ๋ณด์ด์‹œ๋‚˜์š”? p์— ํ• ๋‹น๋œ onclick ํ•ธ๋“ค๋Ÿฌ ์‹คํ–‰ ๋ฐ”๊นฅ์˜ div์— ํ• ๋‹น๋œ ํ•ธ๋“ค๋Ÿฌ ์‹คํ–‰ ๊ทธ ๋ฐ”๊นฅ์˜ form์— ํ• ๋‹น๋œ ํ•ธ๋“ค๋Ÿฌ ์‹คํ–‰ documnet ๊ฐ์ฒด๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€, ๊ฐ ์š”์†Œ์— ํ• ๋‹น๋œ onclick ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ div๋ฅผ ํด๋ฆญํ•˜๋ฉด div -..

article thumbnail
[JavaScript] ํ˜ธ์ด์ŠคํŒ…(hoisting)์ด ๋„๋Œ€์ฒด ๋ญ˜๊นŒ? ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ฝ”๋“œ์˜ ์‹คํ–‰ ์ˆœ์„œ์™€ ์Šค์ฝ”ํ”„๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ํ˜ธ์ด์ŠคํŒ…(hoisting)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ด์ŠคํŒ…(hoisting)์ด๋ž€ โ“ ํ˜ธ์ด์ŠคํŒ…์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ, ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜, ํด๋ž˜์Šค ์„ ์–ธ์„ ์ฝ”๋“œ์˜ ๋งจ ์œ„๋กœ '๋Œ์–ด์˜ฌ๋ฆฌ๋Š”' ๊ฒƒ๊ณผ ๊ฐ™์€ ํ˜„์ƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ํ˜ธ์ด์ŠคํŒ…์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ณด๋ฉด '๋Œ์–ด์˜ฌ๋ ค์ง„๋‹ค'๋ผ๊ณ  ๋Œ€๋ถ€๋ถ„ ์„ค๋ช…์ด ๋˜์–ด ์žˆ๋Š”๋ฐ ํ˜ธ์ด์ŠคํŒ…์ด ์‹ค์ œ๋กœ ์ฝ”๋“œ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ตœ์ƒ๋‹จ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์˜ ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋Š” ๊ฐœ๋…์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ํ˜ธ์ด์ŠคํŒ…์€ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์˜ ์ƒ์„ฑ ๋‹จ๊ณ„์—์„œ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋‹จ๊ณ„์—์„œ๋Š” ๋ณ€์ˆ˜..

article thumbnail
JavaScript๋กœ ์•Œ์•„๋ณด๋Š” ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort)๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ

์†Œ๊ฐœ ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort)์€ ๋Œ€ํ‘œ์ ์ธ ๋ถ„ํ•  ์ •๋ณต(Divede and Conquer) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ ๋’ค ๊ฐ๊ฐ์„ ์žฌ๊ท€์ ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ์ •๋ ฌ๋œ ๋‘ ๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ์ณ์„œ ์ •๋ ฌ๋œ ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ž‘๋™ ๊ฐœ๋…๐Ÿ’ก ๋ณ‘ํ•ฉ ์ •๋ ฌ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ถ„ํ• (Divide): ์ž…๋ ฅ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ™์€ ํฌ๊ธฐ์˜ ๋‘ ๊ฐœ์˜ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋ถ„ํ• ์€ ๋ฆฌ์ŠคํŠธ์˜ ์ค‘๊ฐ„ ์ง€์ ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ •๋ณต(Conquer): ๊ฐ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๋ณ‘ํ•ฉ์ •๋ ฌ์„ ์ด์šฉํ•ด ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ์ž…๋ ฅ ๋ฆฌ์ŠคํŠธ์˜ ํฌ๊ธฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž‘์•„์งˆ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ(Merge): ์ •๋ ฌ๋œ ๋‘ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜์˜ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 0๊ฐœ ์š”์†Œ, 1๊ฐœ ์š”์†Œ ๋ฐฐ์—ด์ด ..

article thumbnail
JavaScript๋กœ ์•Œ์•„๋ณด๋Š” ์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort)๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ

์†Œ๊ฐœ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํƒ์ƒ‰ํ•˜๋ฉฐ, ๊ฐ ์›์†Œ๋ฅผ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐฐ์—ด ๋ถ€๋ถ„๊ณผ ๋น„๊ตํ•˜์—ฌ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ณ ๊ธ‰ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ํฐ ๋ฐฐ์—ด์ด๋‚˜ ์‹œ๊ฐ„์ œํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค๋ฅธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ์ฝ”๋“œ // ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• function insertionSort(array) { for (let i = 1; i = 0 && array[j] > current) { array[j + 1] = array[j]; j--; } array[j ..