๋ค์นด์ฟ ๋ผ๋ฐฐ, ์ ๋ช
IT๊ธฐ์
์์ ์์ ์ฌ๋ฆฐ ๊ฐ๋ฐ์ ๋ชจ์
๊ฐ๊ธฐ!!
Tech Recruiter ์ง๋ฌด์ ํ์ฑํ, ๊ฐ๋ฐ์์ ์ ๋๋ฅผ ๊ฐํํ๋ ํ์ ์ ์ค ๋ฑ.. ๊ฐ๋ฐ์๋ค์ ๋ชธ๊ฐ์ด 2000๋
๋์ ๋ค๋ฅด๊ฒ ์ค๋ฅด๊ณ ์๋ค.
SW์ ๊ฐ๋ฐ์ ๊ฑด์ถ๊ณผ HW์ ๋ฌ๋ฆฌ ์ฌ๋์ ์ญ๋์ ์์กด๋๊ฐ ๋๋ค. ์ฌ๋์ ์ญ๋์ด๋ ๊ทธ๋ ๊ทธ๋ ์ปจ๋์
์ ๋ฐ๋ผ ์
๋ฌด ์ฒ๋ฆฌ๋์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ๋์ ์์น๋ก ๋ฐ์ดํฐํํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ ์ผ์ ์ด ์ ํด์ง๊ณ ๊ทธ ์ผ์ ๋ด์ ๋ง์ถ๊ธฐ ์ํด ๋ฐค๋ฎ์ ๊ฐ๋ฆฌ์ง ์๊ณ ์ผ์ ํด์ ํ๋ก์ ํธ๋ฅผ ์์ํด์๋ค.
์ด๊ฒ์ด ์ง๊ธ ์์ ํฌ๊ฒ ๋ฌ๋ผ์ง์ง๋ ์์์ง๋ง ๊ธฐ์กด HW์
์ฒด๋ณด๋ค ๋์ ์์ต๋ฅ ์ ๋ณด์ด๋ฉฐ ๊ฐ๋ฐ์ ํ๋ ๋
ธ๋์๋ค์ ๋์ฐ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ์์ํ ๊ฒ์ด๋ค. ๊ทผ๋ฌด ์ฌ๊ฑด์ ๊ฐ์ ํ๊ณ ๊ฐ๋ฐ์ ์๋ฅผ ๋๋ ค์ ํฌ์
๋ฆฌ์์ค๋ฅผ ์ค์ด๊ณ ํ์ง์ ๋ ์ ๊ฒฝ์ ์ฐ๊ฒ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ณ ๋ฑํ๊ต๋ ๋ํ๊ต์์ SW ๊ฐ๋ฐ์ ์ ๊ณตํ์ง ์๊ณ ๋ ์ฌ์ค ๊ต์ก๊ธฐ๊ด์ ํตํด ๋ง์ ๊ฐ๋ฐ์๋ค์ ๊ณ ์ก ์ฐ๋ด์ ๊ฐ๋ฐ์๋ฅผ ํฅํด ๋งค์งํ๊ณ ์๋ค.
๊ฐ์ฅ ๋์ค์ ์ผ๋ก ์ ํ๋ ๋ถ์ผ๊ฐ ํ๋ก ํธ์๋์ ๋ฐฑ์๋, ๋ฐ์ดํฐ์ฌ์ด์ธํฐ์คํธ์ผ ๊ฒ์ด๋ค.
Front-end. ์น ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ถ์ผ. ๋ฐ๋๋ง์ ๋ฐฑ์๋.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ํ๋ก ํธ์๋, ๋ฐฑ์๋์ ์์ ํ ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์งํฅํ๋ ์ ๋ฌด ์คํ์ผ์ ๊ฐ๋ฐ ๋ฐฉ์์ผ๋ก ํ๋ก ํธ๋จ์ ๋น์ง๋์ค ๋ก์ง๊ณผ ์ฌ์ฉ์ ์์ญ์ ๊ฐ๋ฐ์ ๋ด๋นํ๋ ์ฌ๋์ด๋ค. ์ด์ ๋ค๋ฅธ ๋ฐฉ์์ ์ ๋ฌด ์คํ์ผ ์ง๊ตฐ์ผ๋ก๋ ์นํผ๋ธ๋ฆฌ์ (UI ๊ฐ๋ฐ)์ ๊ฐ๋ฐ์(์๋ฒ ๊ฐ๋ฐ์)์ ์ ๋ฌด ๋ถ๋ฆฌ ๋ฐฉ์์ด ์๋ค. ์ด ๊ฒฝ์ฐ๋ ์ฃผ๋ก ์๋ฒ์ฌ์ด๋๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ๊ฐ์ธ๋ ๋ฐฉ์์ด๋ค. MVC๋ก ์น๋ฉด View ๋ถ๋ถ์ ํด๋นํ๋ ์์ญ์ ๋งก๋๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ๋ฐฑ์๋ API์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ์ ์ถ๋ ฅ, ์
๋ ฅ์ ํตํ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌ์ฑ๊ณผ ์ฌ์ฉ์์ ๋ํํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ถ๋ถ์ ์์
ํ๋ ๊ฐ๋ฐ์๋ฅผ ๋งํ๋ค.
๋ถ๋ณํ๊ธฐ ํท๊ฐ๋ฆฌ๋ ์ง์ข
์ผ๋ก ์น ํผ๋ธ๋ฆฌ์
๊ฐ ์๋๋ฐ, ์น ํผ๋ธ๋ฆฌ์
(ํด์ธ์์๋ UI ๊ฐ๋ฐ์๋ก ๋ถ๋ฆฐ๋ค)๋ HTML ์ค์ฌ์ด๊ฑฐ๋, ์๋ฒ ์ฌ์ด๋๊ฐ ๊ฐ์ธ๋ ๊ตฌ์กฐ ํํ์ ์น์ ์งํฅํ๋ ์น ํผ๋ธ๋ฆฌ์
์ ๊ฐ๋ฐ์์ ์
๋ฌด ์คํ์ผ์ ์ง๊ตฐ์ผ๋ก์ ์นํ์ค ๋ฐ์ํ ์น๊ณผ UI๋ฅผ ๋ง๋๋ ๋์์ธ ์ชฝ์ ๊ฐ๊น๊ธฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๋น์ฆ๋์ค ๋ก์ง์ ๊ฐ๋ฐํ์ง ์๋๋ค. ์์ฆ์ ๋งํฌ์
๊ฐ๋ฐ์๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์์ญ์ด๊ธฐ๋ ํ์ง๋ง, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ํ๋ก ํธ์๋, ๋ฐฑ์๋์ ์์ ํ ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์งํฅํ๋ ์
๋ฌด ์คํ์ผ์ ์ง๊ตฐ์ผ๋ก์ ์น ํผ๋ธ๋ฆฌ์
์ ๊ฐ์ด ์ธํฐํ์ด์ค์ ๋์์ธ ๊ด์ ๋ ์์ง๋ง, ์น ํผ๋ธ๋ฆฌ์
์ ๋ฌ๋ฆฌ DOM ์กฐ์์ด ์๋ ์ปดํฌ๋ํธ ์ํคํ
์ฒ์ ๋ฐ์ดํฐ ์ํ์ ๋ณํ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ์ด๋ฒคํธ๋ ์๋ฒ์ API ํต์ ํด์ ๋น์ฆ๋์ค ๋ก์ง์ ํธ๋ ๊ด์ ์ ๊ฐ์ฅ ์ค์ํ๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ํ๋ก ํธ ์์ญ ์ ๋ฐ๊ณผ ์๋ฒ์ ๋ํ ์ดํด๋ ฅ์ ํ์๋ก ํ๋ค. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋ด๋นํ๊ธฐ๋ ํ์ง๋ง, ์ข
์ข
์
๋ฌด ํจ์จ์ ์ํด ๋์์ธ ์์ญ(HTML, CSS)๋ง ์์
ํด์ฃผ๋ ๋งํฌ์
๊ฐ๋ฐ์๊ฐ ๋ฐ๋ก ์๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฉฐ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ํด๋น ์์
ํ์ผ์ ๋ฐ์ ํฌํ
์์
์ ํ๊ณ , ํ๋ก ํธ์๋ ์์ญ์ ๊ฐ๋ฐํ๊ฒ ๋๋ค. ์ฆ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ๋ฐ๋๋ผ JS์ HTTP ํ๋กํ ์ฝ, ์นํฉ ๋ฑ์ด ์ค์ํ๋ค๊ณ ๋ณผ ์ ์๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ๊ธฐ์กด ๊ฐ๋ฐ์์ ์คํ์ด ์กฐ๊ธ ๋ค๋ฅด๊ณ , ๋ฐฑ์๋์ ๋ทฐ๋ ํ๋ฉด ๊ฐ๋ฐ์ด ์๋ API ๊ฐ๋ฐ์ด๊ณ , ๋ฐฑ์๋ ์ธ์ฆ ์ฒ๋ฆฌ๋ ๋ฐ๋ก ์์์ผ ํ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถ์๊ณผ API์๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ค. ์น ํผ๋ธ๋ฆฌ์
์ ๊ฐ๋ฐ์๋ก ๋๋ ๋ฐฉ์์ ๋ชจ๋ ํธ์ถ์ ์๋ฒ์์ ๊ฐ์ ธ์์ผ ํ๊ณ , ์ปดํฌ๋ํธํ๊ฐ ์ ๋์์ง๋ง, ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ก ๋๋ ๊ฐ๋ฐ ๋ฐฉ์์ ์๋ฒ์ ์ปดํจํฐ์ ์ฌ์ฉ์ ์ปดํจํฐ๊ฐ httpํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ง ๊ตํํ๊ณ ์์ ํ ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์งํฅํ๋ค. ์ ์ ๋ฐ์ดํฐ์ ๋ณต์ก์ฑ์ด ์ปค์ง๊ณ , spa ๋ฐ ์ฌ์ฌ์ฉ์ฑ์ด ์ค์ํจ์ ๋ฐ๋ผ ๊ฐ๊ด๋ฐ๋ ์ง์ข
์ด๋ค.
Back-end. ๋ฐ๋๋ง์ ํ๋ก ํธ์๋.
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ํ๋ก ํธ์๋, ๋ฐฑ์๋์ ์์ ํ ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์งํฅํ๋ ์ ๋ฌด ์คํ์ผ์ ๊ฐ๋ฐ ๋ฐฉ์์ผ๋ก ๋ฐฑ์๋์ DB์ API ์๋ฒ ๊ฐ๋ฐ์ ๋งก๋๋ค. ์ด์ ๋ค๋ฅธ ๋ฐฉ์์ ์ ๋ฌด ์คํ์ผ ์ง๊ตฐ์ผ๋ก๋ ์นํผ๋ธ๋ฆฌ์ (UI ๊ฐ๋ฐ)์ ๊ฐ๋ฐ์(์๋ฒ ๊ฐ๋ฐ์)์ ์ ๋ฌด ๋ถ๋ฆฌ ๋ฐฉ์์ด ์๋ค. ์ด ๊ฒฝ์ฐ๋ ์ฃผ๋ก ์๋ฒ์ฌ์ด๋๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ๊ฐ์ธ๋ ๋ฐฉ์์ด๊ณ , ์ ๋ฐ์ ์ธ ๋น์ง๋์ค ๋ก์ง์ ๊ฐ๋ฐ์๊ฐ ๋งก๋๋ค. MVC์์ Model, Controller๊ฐ ๋ฐฑ์๋์ ์๊ด์ด๋ค.
ํ๋ก๊ทธ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์น ์๋ฒ, ๋คํธ์ํฌ, ์ธํ๋ผ ๋ฑ์ ๋ํ ๊ธฐ์ ์ด ํ์ํ๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ๊ธฐ์กด ๊ฐ๋ฐ์๋ผ ๋ถ๋ฆฌ๋ ์คํ๊ณผ ๋ฐฉ์์ด ์ฝ๊ฐ ๋ค๋ฅด๋ค. ๋ทฐ๋จ์ ํ๋ฉด๋จ์ด ์๋ API ๊ฐ๋ฐ์ด ์ฃผ๊ฐ ๋๋ค. ํ๋ก ํธ์์ ์ ๋ฌ๋ ๋ฐ์ดํฐ์ ํฌ๋งท์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์
์ถ๋ ฅ ๋ฐ ๋ค์ํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ฝ๋๋ก ๊ตฌํํ๋ ์ญํ ์ ํ๋ค. ๋ฐฑ์๋์ ํ๋ก ํธ์๋๋ฅผ ๋ชจ๋ ๋ค๋ฃฐ ์ค ์๋ ๊ฐ๋ฐ์๋ฅผ ์ผ์ปฌ์ด ํ ์คํ ๊ฐ๋ฐ์๋ผ๊ณ ํ๋ค.
์ ์์ ์ ์น๊ฐ๋ฐ ์์ฃผ๋ก๋ง ์ค๋ช
๋์ด ์์ง๋ง ์์คํ
ํ๋ก๊ทธ๋๋ฐ์์๋ ํฌ๊ฒ ๋ค๋ฅด์ง๋ ์๋ค.
๋๊ธ