Front End/Web

๋ธŒ๋ผ์šฐ์ €

๐ŸŒ

๋ธŒ๋ผ์šฐ์ €

์›น ๋ธŒ๋ผ์šฐ์ €, ์›น ํƒ์ƒ‰๊ธฐ๋กœ๋„ ๋ถˆ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ์„œ๋ฒ„์—์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํ†ต์‹ ์„ ํ•˜๋ฉฐ HTMl ๋ฌธ์„œ ๋ฐ ๊ทธ๋ฆผ, ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋“ฑ์˜ ์ปจํ…์ธ ๋ฅผ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” GUI ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๊ธฐ ํœ˜ํ•ด ์‘์šฉ ๊ณ„์ธต์˜ ๋Œ€ํ‘œ์  ํ”„๋กœํ† ์ฝœ์ธ HTTP๋ฅผ ํ†ตํ•ด ์†ก์ˆ˜์‹ ํ•œ๋‹ค.

์›น(Web)

๋ธŒ๋ผ์šฐ์ € ์ƒ์—์„œ ์ œ๊ณต๋˜๋Š” ์›น์€ ์›”๋“œ ์™€์ด๋“œ ์›น(World Wide Web)์ด ํ’€ ๋„ค์ž„์ด๋ฉฐ, ์ธํ„ฐ๋„ท ์ƒ์—์„œ ํ…์ŠคํŠธ๋‚˜ ๊ทธ๋ฆผ, ์†Œ๋ฆฌ, ์˜์ƒ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ •๋ณด๋ฅผ ํ•˜์ดํผํ…์ŠคํŠธ(hypertext) ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•ด ์ œ๊ณตํ•œ๋‹ค. HTML ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘์„ฑ๋œ ๋ฌธ์„œ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋ฉฐ, ์ด๋Ÿฐ ๋ฌธ์„œ๋ฅผ ์›น ํŽ˜์ด์ง€(Web Page)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์›น ํŽ˜์ด์ง€ ์ค‘ ์„œ๋กœ ๊ด€๋ จ๋œ ๋‚ด์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ์›น ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ์„ ์›น ์‚ฌ์ดํŠธ(Web Site)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์˜ ํŠน์ง•๊ณผ ์›น์˜ ๋™์ž‘ ์›๋ฆฌ

๋ธŒ๋ผ์šฐ์ €๋Š” ํ˜„์กดํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋ผ๋ฆฌ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ํŠน์ง•์ด ์žˆ์ง€๋งŒ ๋™์ž‘ ๋ฐฉ์‹์€ ๋™์ผํ•˜๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์ž์›(Resource)์„ ์„œ๋ฒ„์— ์š”์ฒญ(Request)ํ•˜๊ณ , ์„œ๋ฒ„์˜ ์‘๋‹ต(Response)์„ ๋ธŒ๋ผ์šฐ์ €์— ๋„์šฐ๋Š”(Rendering) ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ž์›์€ ๋Œ€๊ฐœ HTML ๋ฌธ์„œ์ด๋‚˜ ๊ฐ€๋” PDF, ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋“ฑ ๋‹ค๋ฅธ ํ˜•ํƒœ์ผ ์ˆ˜ ์žˆ๊ณ , ์ž์›์˜ ์ฃผ์†Œ๋Š” URI๋กœ ๋˜์–ด ์žˆ๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์‚ฌ์šฉ์ž๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ฐพ๊ณ  ์‹ถ์€ ์›น ํŽ˜์ด์ง€์˜ URL ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
  1. DNS ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ URL ์ฃผ์†Œ ์ค‘ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๊ฒ€์ƒ‰ํ•ด ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ์•„ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ URL ์ •๋ณด์™€ ํ•จ๊ป˜ ์ „๋‹ฌํ•œ๋‹ค.
  1. ์›นํŽ˜์ด์ง€ URL ์ •๋ณด์™€ ํ•จ๊ป˜ ์ „๋‹ฌ๋ฐ›์€ IP ์ฃผ์†Œ๋ฅผ ํ† ๋Œ€๋กœ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์š”์ฒญ ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ํ•ด๋‹น IP ์ปดํ“จํ„ฐ(์„œ๋ฒ„)๋กœ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  1. ์š”์ฒญ ๋ฉ”์„ธ์ง€๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด URL๋กœ ๋ณ€ํ™˜๋˜์–ด ์›น ์„œ๋ฒ„์— ์ „๋‹ฌ๋˜๊ณ , ์š”์ฒญ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•ด ์ฐพ์•„๋‚ธ ๋’ค HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์‘๋‹ต ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋‹ค์‹œ TCP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ๋กœ ์ „์†กํ•œ๋‹ค.
  1. ์‘๋‹ต ๋ฉ”์„ธ์ง€๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜๋˜์–ด ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒ์— ์ถœ๋ ฅ๋œ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์˜ ๊ตฌ์กฐ

๋ธŒ๋ผ์šฐ์ €๋Š” ๊ฐ๊ธฐ ๊ทธ ๋ชจ์–‘์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์ง€๋งŒ ๋ชจ๋‘ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User Interface)

UI๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋ฉฐ ์œ ์ €์™€ ๊ฐ€์žฅ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๋งž๋‹ฟ์•„์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ค. ์ฃผ์†Œ ํ‘œ์‹œ์ค„, ์ด์ „/๋‹ค์Œ ๋ฒ„ํŠผ, ๋ถ๋งˆํฌ ๋ฉ”๋‰ด ๋“ฑ GUI ๋ถ€๋ถ„์„ ํ†ต์นญํ•œ๋‹ค.


๋ธŒ๋ผ์šฐ์ € ์—”์ง„(Browser Engine)

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ์‚ฌ์ด์˜ ๋™์ž‘์„ ์ œ์–ดํ•œ๋‹ค. ์ฃผ๋œ ์—ญํ• ์€ HTML ๋ฌธ์„œ์™€ ๊ธฐํƒ€ ์ž์›์˜ ์›นํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉ์ž์˜ ์žฅ์น˜์— ์‹œ๊ฐ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋ฉฐ, ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM) ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. ๋ ˆ์ด์•„์›ƒ ์—”์ง„(Layout Engine)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋ฉฐ, ๋ Œ๋”๋ง ์—”์ง„(Rendering Engine)๊ณผ ๋ฐ€์ ‘ํ•œ ์—ฐ๊ด€์ด ์žˆ์–ด ๋ณดํ†ต ๋ธŒ๋ผ์šฐ์ € ์—”์ง„๊ณผ ๋ Œ๋”๋ง ์—”์ง„์„ ๋ฌถ์–ด์„œ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์œผ๋กœ ๋ถ€๋ฅธ๋‹ค. ์ด๋Ÿฐ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์€ ์›น ๋ธŒ๋ผ์šฐ์ € ๋งˆ๋‹ค ์ „์šฉ ์—”์ง„์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋ฆ„์„ค๋ช…
๊ฒŒ์ฝ”(Gecko)๋ชจ์งˆ๋ผ ์žฌ๋‹จ์—์„œ ๋งŒ๋“  ๋ธŒ๋ผ์šฐ์ € ์—”์ง„. ํƒ‘์žฌํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” ํŒŒ์ด์–ดํญ์Šค๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค.
์›นํ‚ท(Webkit)KHTML์—์„œ ํŒŒ์ƒ๋œ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„. ํƒ‘์žฌํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” ์‚ฌํŒŒ๋ฆฌ๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค.
๋ธ”๋งํฌ(Blink)์›นํ‚ท(Webkit)์—์„œ ํŒŒ์ƒ๋œ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„. ํƒ‘์žฌํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” ํฌ๋กฌ, ์˜คํŽ˜๋ผ๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค.
ํŠธ๋ผ์ด๋˜ํŠธ(Trident)๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„.ย  ํƒ‘์žฌํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” IE, Outlook์ด ๋Œ€ํ‘œ์ ์ด๋‹ค.
์—ฃ์ง€HTML(EdgeHTML)ํŠธ๋ผ์ด๋˜ํŠธ(Trident)์—์„œ ํŒŒ์ƒ๋œ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์—ฃ์ง€ ์ŠคํŒŒ๋ฅดํƒ„ ๋ฒ„์ „(~2019)๊นŒ์ง€ ํƒ‘์žฌ๋˜์—ˆ์œผ๋‚˜ ํ˜„์žฌ๋Š” ๋ธ”๋งํฌ๋กœ ๊ต์ฒด๋˜์—ˆ๋‹ค.

๋ Œ๋”๋ง ์—”์ง„(Rendering Engine)

์š”์ฒญํ•œ ์ปจํ…์ธ ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. HTML, CSS ๋“ฑ์„ ํŒŒ์‹ฑํ•ด ์ตœ์ข…์ ์œผ๋กœ ํ™”๋ฉด์— ๊ทธ๋ ค์ฃผ๋ฉฐ, HTML ๋ฐ XML ๋ฌธ์„œ์™€ ์ด๋ฏธ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‚˜ ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด PDF์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์œ ํ˜•๋„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์˜ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ์–ด ๋ณดํ†ต ํ•˜๋‚˜์˜ ์—”์ง„์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์ด ๋งŽ๋‹ค. ๋ Œ๋”๋ง ์—”์ง„ ์—ญ์‹œ ์›น ๋ธŒ๋ผ์šฐ์ € ๋งˆ๋‹ค ์ „์šฉ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋‚˜ ์—”์ง„์˜ ๋™์ž‘ ์›๋ฆฌ๋Š” ๊ณตํ†ต๋œ ๋ถ€๋ถ„์ด ๋งŽ๋‹ค.


ํ†ต์‹ (Networking)

HTTP ์š”์ฒญ๊ณผ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ์— ์‚ฌ์šฉ๋œ๋‹ค. ๋ณดํ†ต ํ”Œ๋žซํผ์˜ ๋…๋ฆฝ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค์ด๊ณ  ๊ฐ ํ”Œ๋žซํผ์˜ ํ•˜๋ถ€์—์„œ ์‹คํ–‰๋œ๋‹ค.


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ด์„๊ธฐ(JavaScript Interpreter)

JavaScript ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. JavaScript๋Š” ์ฝ”๋“œ๋ฅผ ์œ„์—์„œ ์•„๋ž˜๋กœ ํ•œ ์ค„์”ฉ ์ฝ์–ด๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํŒŒ์‹ฑ(parsing)ํ•˜๋Š” ์–ธ์–ด(Interpreted Language)์ด๊ณ , ํ˜„๋Œ€์˜ ์›น ํŽ˜์ด์ง€๋Š” ์›น ์ธํ„ฐ๋ž™์…˜(Interaction)์— JavaScript๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์ˆ˜์ ์ด๊ฒŒ ๋˜์—ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„(JavaScript Engine)์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ด์„๊ธฐ๋Š” ์—ฌ๋Ÿฌ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๋˜์ง€๋งŒ ๋Œ€์ฒด์ ์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด์šฉ๋˜๋ฉฐ, ์ด ์—ญ์‹œ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ „์šฉ ์—”์ง„์ด ํƒ‘์žฌ๋˜์–ด ์žˆ๋‹ค.

์ด๋ฆ„์„ค๋ช…
Rhino๋ชจ์งˆ๋ผ ์žฌ๋‹จ์ด ์šด์˜ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์—”์ง„์œผ๋กœ, ์ž๋ฐ”(Java)๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.
SpiderMonkey์ตœ์ดˆ์˜ Javascript ์—”์ง„์œผ๋กœ ๋„ท์Šค์ผ€์ดํ”„ ๋‚ด๋น„๊ฒŒ์ดํ„ฐ๋ฅผ ์ง€์›ํ•˜์˜€์œผ๋ฉฐ, ํ˜„์žฌ๋Š” ํŒŒ์ด์–ดํญ์Šค๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.
V8๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ์—”์ง„์œผ๋กœ ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ Javascript ์—”์ง„์ด๋‹ค.
JavascriptCore์• ํ”Œ์—์„œ ๊ฐœ๋ฐœํ•˜์˜€์œผ๋ฉฐ ์ฒ˜์Œ์— WebKit ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ์‚ฌํŒŒ๋ฆฌ์™€ React Native App๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.
Chakra๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์—”์ง„์ด๋ฉฐ,ย Edge ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ๊ตฌ์กฐ (V8 ์—”์ง„์„ ํ† ๋Œ€๋กœ)

V8 ์—”์ง„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ Heap Memory์™€ Call Stack์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

  • ํž™ ๋ฉ”๋ชจ๋ฆฌ(Heap Memory)

    ํž™(heap)์€ ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋ฉฐ, V8์€ ์ด ํž™์„ ์ด์šฉํ•ด ๊ฐ์ฒด ๋˜๋Š” ๋™์  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์—ฌ๊ธฐ์— ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” V8 ์—”์ง„ ๋‚ด๋ถ€์—์„œ ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๋˜ํ•œ ๋ฐœ์ƒํ•˜๋Š” ๊ณณ์ด๋‹ค.

  • ์ฝœ ์Šคํƒ(Call Stack)

    JavaScript๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์˜ ์–ธ์–ด์ด๋ฉฐ, ์ด๋Š” ์ฝœ ์Šคํƒ์ด ํ•˜๋‚˜๋ผ๋Š” ์˜๋ฏธ์ด์ž ํ•œ ๋ฒˆ์— ํ•œ ์ž‘์—…๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝœ ์Šคํƒ์€ ํ”„๋กœ๊ทธ๋žจ ์ƒ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ๊ธฐ๋กํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์Šคํƒ์˜ ๊ตฌ์กฐ ํŠน์„ฑ ์ƒ ํ›„์ž…์„ ์ถœ(LIFO) ํ˜•ํƒœ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.

    ์Šคํƒ์ด ์Œ“์ด๋Š”(push) ๊ณผ์ •

    ๊ฐ€์žฅ ๋จผ์ € ํ˜ธ์ถœ๋˜๋Š” printSquare(4)๊ฐ€ ์ฝœ ์Šคํƒ์— ์Œ“์ด๊ณ , printSquare๋‚ด๋ถ€์—์„œ square(n)์ด ๋‹ค์Œ์œผ๋กœ ์ฝœ ์Šคํƒ์—, square๋‚ด๋ถ€์—์„œ multiply(n, n)์ด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฝœ ์Šคํƒ์— ์Œ“์ด๊ฒŒ ๋œ๋‹ค.

    ์Šคํƒ์ด ์ œ๊ฑฐ๋˜๋Š”(pop) ๊ณผ์ •. ํ›„์ž…์„ ์ถœ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ๋‚˜์ค‘์— ์Œ“์ธ multiply(n, n)๋ถ€ํ„ฐ ๋น ์ง„๋‹ค.

    ์ฝœ ์Šคํƒ์˜ ํ›„์ž…์„ ์ถœ(LIFO) ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ๋‚˜์ค‘์— ํ˜ธ์ถœ๋˜์–ด ์ฝœ ์Šคํƒ์— ์Œ“์ธ multiply(n, n)๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฝœ ์Šคํƒ์—์„œ ๋น ์ง€๋ฉด์„œ ํ•จ์ˆ˜ ๋‚ด์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์‹คํ–‰์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๋ฉด ์Šคํƒ์—์„œ ๋ชจ๋‘ ์ œ๊ฑฐ๋˜์–ด ์™„์ „ํžˆ ๋น„๊ฒŒ ๋œ๋‹ค.

    ์ฝœ ์Šคํƒ์— ์Œ“์ด๋Š” ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ์Šคํƒ ํ”„๋ ˆ์ž„(Stack Frame)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ ์Šคํƒ์— ์Œ“์ด๋Š” ํ•˜๋‚˜๊ฐ€ ํ”„๋ ˆ์ž„ ํ•˜๋‚˜์ด๋ฉฐ, ์ด๋Ÿฐ ์Šคํƒ ํ”„๋ ˆ์ž„๋“ค์€ ๋™์ž‘ ๋ฐฉ์‹์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ ์Œ“์ด๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝœ ์Šคํƒ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ์•ˆ๋‹ค๋ฉด ์Šคํƒ์˜ ์ถ”์ (Stack trace) ๋˜ํ•œ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

    • ์Šคํƒ ์ถ”์ (Stack trace)

      ์ด๋Ÿฌํ•œ ์Šคํƒ ์ถ”์ ์€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ฝ˜์†”์— ์ถœ๋ ฅ๋˜๋Š” ์—๋Ÿฌ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋Š”๋ฐ ํฐ ๋„์›€์ด ๋œ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ์—์„œ ํ•จ์ˆ˜ baz()๋Š” ํ•จ์ˆ˜ bar()๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  bar()๋Š” foo() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  foo()๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ฝœ ์Šคํƒ์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ํ•จ์ˆ˜์™€ ๊ทธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ–ˆ๋˜ ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด ์—๋Ÿฌ์˜ ๋ฐœ์ƒ๊ณผ ๊ทธ ์ด์œ ๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ(Stack Overflow)

      ์ฝœ ์Šคํƒ์€ ํž™๊ณผ ๋‹ฌ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ํฌ๊ธฐ์— ์ œํ•œ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋„˜์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋Š”๋ฐ ์ด๋ฅผ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ(Stack Overflow)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์ข…๋ฃŒ ์กฐ๊ฑด์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์€ ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ ๋Œ€ํ‘œ์  ์˜ˆ์‹œ์ด๋ฉฐ, ์ด ๊ฒฝ์šฐ ์–ด๋Š ์ˆœ๊ฐ„ ์Šคํƒ์˜ ํฌ๊ธฐ(์šฉ๋Ÿ‰)์„ ๋„˜๊ฒŒ ๋˜์–ด ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฉˆ์ถฐ๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค.

UI ๋ฐฑ์—”๋“œ

๋ Œ๋”๋ง ์—”์ง„์ด ๋ถ„์„ํ•œ Render Tree๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๊ทธ๋ฆฌ๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. Select, Input ์ฐฝ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ์œ„์ ฏ์„ ๊ทธ๋ ค์ฃผ๋ฉฐ, ํ”Œ๋žซํผ์—์„œ ๋ช…์‹œํ•˜์ง€ ์•Š์€ ์ผ๋ฐ˜์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ OS ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿค”
OS ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ž€ OS(์šด์˜์ฒด์ œ)์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ, OS์—์„œ ์ œ๊ณตํ•˜๋Š” ํŠน์ •ํ•œ ๋ช…๋ น ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ช…๋ น ์ฒด๊ณ„ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • ๋ช…๋ น์–ด ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค(Command Line Interface, CLI)

    Mac์˜ ํ„ฐ๋ฏธ๋„, Window์˜ cmd, Powershell ๋“ฑ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

  • ์ผ๊ด„ ์ฒ˜๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค(Batch Interface)

    ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์— ์•ž์„œ ๋ฐฐ์น˜ ์ž‘์—…์˜ ๋ชจ๋“  ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ง€์ •ํ•˜๊ณ , ๋ชจ๋“  ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ถœ๋ ฅ์„ ์ˆ˜์‹ ํ•˜๋Š” ๋น„๋Œ€ํ™”ํ˜• ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค. ๋Œ€๊ทœ๋ชจ์˜ ์‹œ์Šคํ…œ์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

  • ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค (Graphic User Interface, GUI)

    ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ, ๋ชจ๋‹ˆํ„ฐ ๋“ฑ์„ ์ด์šฉํ•ด ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์ง๊ด€์ ์ธ ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค. ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ€์žฅ ์นœ์ˆ™ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.

์ž๋ฃŒ ์ €์žฅ์†Œ

๋ง ๊ทธ๋Œ€๋กœ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์ฟ ํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๋ชจ๋“  ์ž์›์„ ํ•˜๋“œ ๋””์Šคํฌ์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์กด์žฌํ•œ๋‹ค. HTML5 ๋ช…์„ธ์—๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ์›น ์Šคํ† ๋ฆฌ์ง€(Web Storage) ์ŠคํŽ™์ด ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉฐ, ์˜๊ตฌ์  ์ €์žฅ์†Œ์ธ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€(localStorage)์™€ ์ž„์‹œ ์ €์žฅ์†Œ์ธ ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€(sessionStorage)๋ฅผ ๋”ฐ๋กœ ๋‘์–ด ์ง€์†์„ฑ์„ ๊ตฌ๋ถ„ํ•ด ์‘์šฉ ํ™˜๊ฒฝ์— ๋งž๋Š” ์„ ํƒ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›น ์Šคํ† ๋ฆฌ์ง€(Web Storage) ํŠน์ง•

HTML5 ์ด์ „์—๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ์ฟ ํ‚ค(Cookie)๋ผ๋Š” ๊ณณ์— ๊ทธ ์ •๋ณด๋ฅผ ์ €์žฅํ–ˆ์ง€๋งŒ, ์ฟ ํ‚ค ์ž์ฒด์˜ ๋ณด์•ˆ ์ทจ์•ฝ๊ณผ ์ €์žฅ์†Œ์˜ ์ ˆ๋Œ€์ ์ธ ์šฉ๋Ÿ‰์ด ์ ์€ ๋ฌธ์ œ๋กœ ์ธํ•ด ์›น ์Šคํ† ๋ฆฌ์ง€(Web Storage)๊ฐ€ ๋Œ€์•ˆ์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.

์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์‚ฌ์šฉ์ž ์ธก์—์„œ ์ข€ ๋” ๋งŽ์€ ์–‘์˜ ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๋˜ํ•œ ์›น ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์ ˆ๋Œ€ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๋งŒ ์กด์žฌํ•ด ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋น„์šฉ ๋˜ํ•œ ์ค„์—ฌ์ค€๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

์ด๋Ÿฌํ•œ ์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ์˜ค๋ฆฌ์ง„(Origin, ๋„๋ฉ”์ธ๊ณผ ํ”„๋กœํ† ์ฝœ์ด ํ•œ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹๋ณ„์ž)๋งˆ๋‹ค ๋‹จ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•˜๋ฏ€๋กœ, ํ•˜๋‚˜์˜ ์˜ค๋ฆฌ์ง„์— ์†ํ•˜๋Š” ๋ชจ๋“  ์›น ํŽ˜์ด์ง€๋Š” ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€(localStorage)
    • window.localStorage : ๋งŒ๋ฃŒ ๋‚ ์งœ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์“ฐ์ธ๋‹ค.

    ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” ๋ณด๊ด€ ๊ธฐํ•œ์ด ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ € ํƒญ์ด ๋‹ซํžˆ๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ด๋„ ์ด ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค. Windows ์ „์—ญ ๊ฐ์ฒด์˜ localStorage๋ผ๋Š” ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์ €์žฅ๊ณผ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋„๋ฉ”์ธ๋งˆ๋‹ค ๋ณ„๋„๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋„๋ฉ”์ธ๋งŒ ๊ฐ™๋‹ค๋ฉด ์ „์—ญ์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

  • ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€(sessionStorage)
    • window.sessionStorage : ์„ธ์…˜์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์“ฐ์ด๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ๋‹ซ์œผ๋ฉด ์†์‹ค๋˜๋Š” ๊ฒƒ์„ ์˜๋„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์“ฐ์ธ๋‹ค.

    ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด๋Š” ํ•˜๋‚˜์˜ ์„ธ์…˜๋งŒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ณด๊ด€ํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ง•(ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด์„œ ์ธํ„ฐ๋„ท์— ๋“ค์–ด๊ฐ€ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ํ–‰์œ„) ๋˜๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ํƒญ์ด๋‚˜ ์ฐฝ์„ ๋‹ซ์œผ๋ฉด ์ด ๊ฐ์ฒด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋ผ์ง„๋‹ค.

    Windows ์ „์—ญ ๊ฐ์ฒด์˜ sessionStorage๋ผ๋Š” ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์ €์žฅ๊ณผ ์กฐํšŒ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ๋„๋ฉ”์ธ๋งˆ๋‹ค ๋ณ„๋„ ์ƒ์„ฑ๋จ์€ ๋ฌผ๋ก  ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅด๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์˜์—ญ์ด ๋˜๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ์ฆ‰, ๋ธŒ๋ผ์šฐ์ € ๋‘ ๊ฐœ๋ฅผ ์‹คํ–‰ํ•ด ๊ฐ™์€ ํŽ˜์ด์ง€๋ฅผ ์—ฐ๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ ์ปจํ…์ŠคํŠธ๊ฐ€ ์„œ๋กœ ๋‹ฌ๋ผ ์ด ๋‘ ํŽ˜์ด์ง€์˜ ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€๋Š” ๊ฐ ๋ณ„๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ์ธ์ง€๋˜๊ณ  ์„œ๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ณต์œ ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

    ๐Ÿค”
    ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ๋ž€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฌธ์„œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ ๋ธŒ๋ผ์šฐ์ง• ์ปจํ…์ŠคํŠธ๋Š” ํŠน์ • ์ถœ์ฒ˜ ๋ฐ ํ™œ์„ฑํ™”๋˜๊ณ  ์žˆ๋Š” ๋ฌธ์„œ์˜ ์ถœ์ฒ˜, ํ‘œ์‹œํ–ˆ๋˜ ๋ชจ๋“  ๋ฌธ์„œ์˜ ๋ฐฉ๋ฌธ๊ธฐ๋ก์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋‹จ, ์›น ์Šคํ† ๋ฆฌ์ง€๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์ „ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์ด ์ด๋ฅผ ์ง€์›ํ•˜๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ ๋ธŒ๋ผ์šฐ์ € ๋ณ„ ์›น ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฒ„์ „

์›น ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํ™œ์šฉํ•œ ๋Œ€ํ‘œ์ ์ธ ๊ธฐ๋Šฅ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐฝ์„ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ ๊ด€๋ จ ์ž‘์„ฑ ๋‚ด์šฉ์„ ๋ณต๊ตฌํ•˜๊ฑฐ๋‚˜ ๋ฐฑ์—…ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ form์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋‹ค ํŽ˜์ด์ง€์—์„œ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ ๋ณต๊ตฌ ๋ฐ ๋ฐฑ์—…ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ํ˜„์žฌ ์ฝ์€ ๊ธ€์˜ ํžˆ์Šคํ† ๋ฆฌ ์ €์žฅ(์นด์šดํŒ…, ํ˜น์€ ์ฝ์€ ๊ธ€ ํ‘œ์‹œ ๋“ฑ์œผ๋กœ ํ™œ์šฉ)


Uploaded by N2T