๊ธฐ๊ฐ : 2022.01~2022.02 (์ฝ 2๊ฐ์)
์ธ์ : 4๋ช (ํ๋ก ํธ์๋ 2๋ช , ๋ฐฑ์๋ 2๋ช )
์ฃผ์ : ํ๊ต๋ ํ๋ ฅํ๋ ํ์ฌ์ ์งํํ๋ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ ๊ตฌ์ถ
๋์ ๊ธฐ์ฌ : ์ฌ์ดํธ ๋์์ธ, ์น ํผ๋ธ๋ฆฌ์ฑ, ์ผ๋ถ ๊ธฐ๋ฅ(ํ์ ๊ด๋ฆฌ, ํ์ฌ ๊ด๋ฆฌ) ํ๋ก ํธ์๋ ๊ตฌํ
์ฌ์ฉ ์คํ : HTML, CSS, JavaScript, jQuery, thymeleaf, bootstrap
์ฒ์์ผ๋ก ํ๋ก ํธ์๋๋ก์ ์ฐธ์ฌํ๊ฒ ๋ ํ๋ก์ ํธ์ด๋ค. ๋ชจ์๋ ๋ถ๋ถ์ด ๋ง์์ง๋ง ๊ต์๋๊ณผ ๋๋ฃ๋ค์ ๋น๊ทผ๊ณผ ์ฑ์ฐ์ผ๋ก ์ ํค์ณ๋๊ฐ ์ ์์๋ค!
ํ์ ๋์๋ฅผ ๋์ ์ด๋ ๊ฒ์ ์ข์ํ๋ ๋๋, ๋์์ธ ํด์ด ์์์ง๋ง ์ง์ ์์ผ๋ก ๊ทธ๋ ค์ UI๋ฅผ ์ค๊ณํ์๋ค. ๋๋ 'Samsung Galaxy Book Flex Alpha' ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋
ธํธ๋ถ์ ํ๋ธ๋ฆฟ์ฒ๋ผ ์ฌ์ฉํ ์ ์์๋ค. ๋ฐ์ ์ฌ์ง ๋ ์ฅ์ ๊ทธ ๋ ๋น์ ๋์ ์ค๊ณ์ด๋ค.
์ด์ ๊ฐ์ด ์๊ทธ๋ฆผ์ผ๋ก UI ์ค๊ณ๋ฅผ ์งํํ์๋๋ฐ ํ์ฌ Figma๋ฅผ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ ์ง๊ธ์์์ผ ๋ณด๋ ๋๋ฌด ๊ฐ๋
์ฑ์ด ์ข์ง ์๊ฒ ์ค๊ณํ ๊ฒ ๊ฐ๋ค. ๋น์ ์ด ์ค๊ณ๋ฅผ ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ ๊ต์๋ํํ
๋ณด์ฌ๋๋ ธ๋๋ฐ, ํ ํ ๋ฒ ์ ๋ด์๊ณ ์ํ๋ค๊ณ ์นญ์ฐฌํด์ฃผ์
์ ๊ธฐ ์ฃฝ์ง ์๊ณ ์ง๊ธ๊น์ง ํ๋ก ํธ์๋๋ฅผ ํ๊ณ ์๋ ๊ฒ ๊ฐ์์ ๊ต์๋๊ป ๊ฐ์ฌํ๋ค. ๊ต์๋์ ๋์์ธ์ด ๋ง์์ ๋์
จ๋์ง ๋ฐ๋ คํ์ง ์๊ณ ์ค๊ณ ๋ฌธ์์ ์ ๊ทธ๋ฆผ๋ค์ ์ฝ์
ํ์
จ๊ณ , ๋ด ์ง๋๊ต์๋๊ป๋ ์นญ์ฐฌ์ ํ์
์ ๋ ๋ฐฐ๋ก ์นญ์ฐฌ์ ๋ฐ์๋ค. ์นญ์ฐฌ์ ๊ณ ๋๋ ์ถค์ถ๊ฒ ํ๋ค๊ณ ํ๋๊ฐ. ๊ต์๋๊ณผ ์ฌ๋ฌ ๋ฒ ๋ฏธํ
์ ๊ฐ์ ธ๊ฐ๋ฉด์ ์์์ ์ผ๋ก UI๋ฅผ ์ค๊ณํ์๊ณ , ํผ๋๋ฐฑ์ ๋ฐ์ผ๋ฉฐ ๊ฐ์ ๋๋ ๋์์ธ์ ๋ณด๋ ๋ฟ๋ฏํ๊ณ ์ฆ๊ฑฐ์ ๋ค.
jQuery๋ $๋ก ์๋ฆฌ๋จผํธ๋ฅผ ์ฐพ์์ ์กฐ์ํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด ๋๊น์ง๋ง ํด๋ ๋๋ ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ง ์ด์ฉํ์๊ธฐ ๋๋ฌธ์ jQuery๊ฐ ๋งค์ฐ ์ ์ ํ๋ค. ์ฒ์ ๋ค๋ค๋ณด๋ ๊ธฐ์ ์ด๋ผ ๋์๊ด์์ ์ฑ ์ ๋น๋ ค์ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ ์์๋ฅผ ๋์์์ผ๋ณด๋ฉด์ ๊ณต๋ถํ๋ค. ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ณด๋ค jQuery๋ฅผ ์ด์ฉํ์ ๋ ์ฝ๋ ๊ฐ๋ ์ฑ์ด ์ข์์ ๋ง์์ ๋ค์๋ค.
thymeleaf๋ ํ๋ถ 3ํ๋ ๋ ๋ค๋ค์๋ jsp์์์ jstl๊ณผ ์ ์ฌํ๋ค๊ณ ๋๊ผ๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ๋ฌธ๋ฒ์ด ์ฒ์์ด๋ค๋ณด๋ ๊ตฌ๊ธ๋ง์ ํด๊ฐ๋ฉด์ ๋ค๋ค๋ณด์๋ค. thymeleaf์์ fragment๋ก ๋๋์ด์ ๊ตฌํํ๊ณ ์กฐ๊ฐ์ ํฉ์น๋ ๊ฒ์ด ์ธ์ ๊น์๋ค. ์ด ๋๋ถํฐ ์ปดํฌ๋ํธ ๋ถ๋ฆฌ์ ๋งค๋ ฅ์ ๋๋ผ๊ฒ ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจํธ๋กค๋ฌ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๋ฐ์์ ์ ์ฉ์ ํ๋ค๋ ๊ฒ๋ ๋งค๋ ฅ์ ์ธ ๊ฒ ๊ฐ๋ค.
์ด ํ๋ก์ ํธ๋ ๊ด์ฌ์ฌ๋ฅผ ๋ ๊ฐ๋ก ๋ถ๋ฆฌํ์ฌ ๊ฐ๊ฐ ๋ฐฑ์๋์ ํ๋ก ํธ์๋๋ฅผ 1๋ช ์ฉ ๋ฐฐ์ ํ์ฌ ์งํํด์๋ค. ๋์ ๋ฐฑ์๋ 1๋ช ์ด ํ์ ๊ด๋ฆฌ ๋ฐ ๊ฐ์กฑํ์ฌ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ์๊ณ , ๋ค๋ฅธ ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ ์ฐํ ํ๋ ฅ ๊ด๋ฆฌ ๋ฐ ๋ฉ์ธ ํ๋ฉด์ ๋ด๋นํ์๋ค.
์ด ์์ ๋๋ผ๋ ์ฌ๋์ ์น์ ๊ด๋ จํด์ ์ ๋ง ๋ฌด์งํ๊ณ , ํ์ ์ด ์ฐธ ํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๋ค. API ๋ฌธ์๋ฅผ ๋ณด๊ณ ๊ฐ๋ฐ์ ์งํํด๋ ์คํ๊ฐ ๋์ ์ฐ๊ฒฐ์ด ์๋๋ ๊ฒ์ ๋ฌผ๋ก , ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์๋ฆฌ๋ ๋ชฐ๋๊ณ ๊ฐ๋ฐ ์๋๋ ๋๋ ธ๊ธฐ์ ๋๋ ํ์ด์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ถ์ด ๋ง์ด ๋ต๋ตํดํ์ จ๋ค.
๊ฑฐ์ ์ด๋ฉด์ด๊ณ ์ ๋ชจ๋ฅด๋ ์ฌ๋ํํ ์ถฉ๊ณ ๋ ์กฐ์ธ์ ํ๋ ๊ฒ์ด ํ๋ค ์๋ ์๋๋ฐ, ๋ํํ ๊ธฐ๊บผ์ด ๋ฌธ์ ์ ์ ๋ง์์ ํด์ฃผ์ ์ ๋ฌธ์ ์ ์ ์๊ณ ๊ฐ์ ํ ์ ์์๋ค. ์ฒ์์๋ ์ด๋ฐ ๋ง์ ๋ค์ผ๋ฉด ๋์ ๋ถ์กฑํจ์ด ๋๋ฌด ์ ๋๊ปด์ ธ์ ํํํ๊ณ ์์ํ์ง๋ง ์ด ๋ถ์ด ๋์๊ฒ ์์ธ ๋ถ๋ง์ ํ์ถํ์ง ์๊ณ ์์ผ๋ก ์ญํ์ จ๋ค๋ฉด ๊ฐ์ ์ด ์์์ ๊ฒ ๊ฐ๋ค. ๋๋ฌด ์๋์๊ฒ ๋ฏผํ๋ฅผ ๋ผ์น ๊ฒ ๊ฐ์์ ๋ฏธํ ๋ ๊ทธ ๋ถ์๊ฒ ์ฃ์กํ๋ค๊ณ ํ์ง๋ง ๋ฏธ์ํดํ์ง ์์๋ ๋๋ค๊ณ ๋งํด์ฃผ์ ์ ์คํ๋ ค ๋๋ ๊ฐ์ฌํ๋ค. ์๋๋ ๋ถ์ ์ ์ธ ํผ๋๋ฐฑ์ ๋ฐ์ผ๋ฉด ๋์ ๋ชจ์๋์ด๋ผ๊ณ ์๊ฐํ๊ณ ์์ถ์ด ๋๋ ํธ์ด์์ง๋ง, ์ด ๊ฒฝํ ์ดํ๋ก๋ ๋๋ฅผ ๋ณํ์ํฌ ์ ํธ์ ๊ธฐํ๋ผ๊ณ ์๊ฐํ์ฌ ์ ์ด ๋ฌ๋ค.
์ด๋๊น์ง๋ง ํด๋ ์น ํผ๋ธ๋ฆฌ์ฑ์๋ ์์ ์ด ์์์ง๋ง ํ๋ก ํธ์๋ ์ญํ ์๋ ์์ ์ด ์์๋ค. ๊ต์๋๊ป์ ๋์๊ฒ ์ด ํ๋ก์ ํธ์์ ํ๋ก ํธ์๋๋ฅผ ์ ์ํ์ จ๋ ๊ฒ๋ ์น ํผ๋ธ๋ฆฌ์ฑ์ด ์ธ์ ๊น์ด์์๊ณ , ๋์์ธ์ด ์ฆ๊ฑฐ์ ๊ณ ๊ทธ ๋ ๋น์ ํ๋ก ํธ์๋๋ก์์ ํ๊ณ์ ์ด ์๋ ์ธ๋ ฅ์ด์๊ธฐ์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ํ ์ ์์์ง ์ค์ค๋ก ์๋ฌธ์ด ๋ค์๋ค. ๊ทธ๋๋ ํ๊ณ์ ์ ์๊ฒ ๋ ์ด์, ๊ทธ๊ฒ์ ๊ทน๋ณตํ๊ณ ์ถ์ด์ ธ์ ๋ ์ ์ฐฉ๊ฐ์ด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์๋ค. ๋ฉ์ง ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด ๊ณ์ํด์ ๋ ธ๋ ฅํ ๊ฒ์ด๋ค!
๋ฐฐ์ฐ๋ฉด์ ๋์๊ฐ๋ ค๋ ์์ธ๊ฐ ์ ๋ง ๋ฉ์๋ค์! ์์ํฉ๋๋ค:)
๊ทธ ๋๋ฅผ ๋๋์๋ณด๋ฉด ์ ๋ ์ฐธ ํ์
ํ๊ธฐ ์ด๋ ค์ด ๊ฐ๋ฐ์(์ง๋ง์)์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ง๊ธ ์๊ฐํ๋ฉด ๊ฐ๊ฐ์ธ์ ์ญ๋ ๋ฌธ์ ๊ฐ ์๋๋ผ ํ์
์ ํ๋ ๋ฐฉ๋ฒ์ ๋ชฐ๋๋ ์ฐ๋ฆฌ๋ค์ด์๊ธฐ์ ํ๋ค์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ ๋์ ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ '๋ท์ด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ํ ํ๋ก์ ํธ'์์ง๋ง ์ค์์ '๊ฐ์ธ ํ๋ก์ ํธ๋ค์ ํฉ'๊ณผ ๊ฐ์ ํํ๊ฐ ์๋์๋ ์ถ๋ค์.
์ ๋ ๊ทธ ๋์ 'ํ์ ๋ค์ด ํ์ ์ ํ๊ณ ์ ํ๋ ๋ ธ๋ ฅ์ ๊ฒ์๋ ๋', '์ปค๋ฎค๋์ผ์ด์ ๋ฅ๋ ฅ์ด ๋ถ์กฑํ๋' ์ ์์ ์ ๋ํด์ ๋ง์ด ๋ฐ์ฑํ๊ณ ์์ต๋๋ค.
์ฐ์ฐํ ๋ณด๊ณ ๋๊ธ ๋จ๊ธฐ๊ณ ๊ฐ๋๋ค!
์ผ๊ธฐํ์์ผ๋ก ๊ธ ๋จ๊ธฐ์๋ ๋ชจ์ต์ด ๋ฉ์ง๋ค์ ์์ํ๊ณ ์์ต๋๋ค!
๋ฌธ์ ์ ์ ๋งํด์ฃผ์ ๋๋ฃ๋๋ ๋ฉ์ง์์ง๋ง ๊ทธ ๋ฌธ์ ์ ์ ์ข์ ์ ํ์ง์๊ณ ์ด๊ฒจ๋ด์ ๊ฒ ์ฐธ ๋๋จํ๋ค์!
๋ฉ์ง์ญ๋๋ค!