๋ฐ์ํ Front-End11 ์๋งจํฑ ์น(Semantic Web)์ด๋? ๐ ์๋งจํฑ ์น(Semantic Web)์ด๋? '์๋ฏธ๋ก ์ ์ธ ์น'์ด๋ผ๋ ๋ป์ผ๋ก, ์ปดํจํฐ๊ฐ ์ฌ๋์ ๋์ ํ์ฌ ์ ๋ณด๋ฅผ ์ฝ๊ณ ์ดํดํ๊ณ ๊ฐ๊ณตํ์ฌ ์๋ก์ด ์ ๋ณด๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๋๋ก ์ดํดํ๊ธฐ ์ฌ์ด ์๋ฏธ๋ฅผ ๊ฐ์ง ์ฐจ์ธ๋ ์ง๋ฅํ ์น์ด๋ค. ์ฆ, ์ปดํจํฐ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์์ฒด์ ์ผ๋ก ์น์์ ์ ๋ณด๋ฅผ ํ์ ๋ฐ ์์งํ์ฌ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ถ๋ก ํ๋ ์ ๋ณด์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ํ๊ณ ์๋ค. ์ธํฐ๋ท ์ ๋ณด๋ฅผ ์๋ฏธ๋ง์ผ๋ก ํตํฉํ ์จํจ๋ก์ง(ontology) ํํ๋ก ์ด๋ฃจ์ด์ง๋ค. ์น์ ์ฐฝ์์์ธ ํ ๋ฒ๋์ค๋ฆฌ๊ฐ 1998๋ ์ ์ํ๊ณ ํ์ฌ W3C์ ์ํด ํ์คํ ์์ ์ด ์งํ ์ค์ด๋ค. (WWW์ ํ์ฅํ) HTML5์์๋ ํ๊ทธ ์์ฒด๊ฐ ์๋ฏธ๋ฅผ ๋ด๊ณ ์๋ ์๋งจํฑ ํ๊ทธ(Semantic Tags)๋ค์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ ํจ์จ์ ์ธ ๋ฌธ์ ํ์์ ๋ง๋ค๋๋ก ๊ถ์ฅํ๊ณ ์๋ค. ๐ฅ ์๋งจํฑ(Seman.. 2021. 11. 24. Refactoring(๋ฆฌํฉํ ๋ง) ๐ป Refactoring(๋ฆฌํฉํ ๋ง)์ด๋? ์ํํธ์จ์ด ๊ณตํ์์ '๊ฒฐ๊ณผ์ ๋ณ๊ฒฝ ์์ด ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ์ฌ์กฐ์ ํจ'์ ๋ปํ๋ค. ๋ค์ ๋งํด ์ฝ๊ธฐ ์ข๊ณ ๊ด๋ฆฌํ๊ธฐ ํธํ๊ฒ ์์ค์ฝ๋๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ด๋ค. (์ฑ๋ฅ ์ต์ ํ๋์ ๋ค๋ฅด๋ค!) ๐ป ๋ฆฌํฉํ ๋ง์ ์๋ฆฌ ๋ฐ ๋ชฉ์ ์ํํธ์จ์ด๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ดํดํ ์ ์๊ณ , ๊ฒ์ผ๋ก ๋ณด์ด๋ ๋์์ ๋ณํ ์์ด ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ค. ๋ฆฌํฉํ ๋ง์ ๋ชฉ์ ์ ์ํํธ์จ์ด๋ฅผ ๋ณด๋ค ์ดํดํ๊ธฐ ์ฝ๊ณ ์์ ํ๊ธฐ ์ฝ๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ๐ป ๋ฆฌํฉํ ๋ง์ ์ฅ์ ์ฝ๋ ์ค๋ณต์ ์์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ ์ ์ง๋ณด์๋ฅผ ํธํ๊ฒ ํ๋ค. ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ ์ค๋ค. ๋์์ธ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ ์ค๋ค. ์์ฐ์ฑ์ ์ฆ๊ฐ์ํจ๋ค. ๋ณธ์ธ์ ๊ทธ๋์ ๋ค์ฌ์ฐ๊ธฐ ์ต๊ด์ ๋ค์ด๊ธฐ ์ํด ๋ฆฌํฉํ ๋ง์ ์์์ ํ๋๋ฐ... ์ต๊ทผ์ VSC์ prettier ๊ธฐ๋ฅ์ผ๋ก ๋ฆฌํฉํ ๋ง.. 2021. 11. 21. Frontend Framework(Library) ๐ Angular 2010๋ ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ SPA(Single Page Application) ๋ฐฉ์์ Javascript Framework. TypeScript ๊ธฐ๋ฐ์ผ๋ก ๋งค์ฐ ์์ ์ ์ด๊ณ ํํํ ํ๋ก ํธ์๋ ์ฑ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ฉฐ ๋ชจ๋ฐ์ผ ์น, ๋ค์ดํฐ๋ธ ๋ชจ๋ฐ์ผ, ๋ฐ์คํฌํ ์ ํ๋ฆฌ์ผ์ด์ ๊น์ง ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ์ํ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์๋ค. Spring MVC์ ๊ต์ฅํ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ์งํ๋๋ค. ๐ง ์ฅ์ Component ๊ธฐ๋ฐ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๊ณ , ์ฌ์ฌ์ฉ ํ๋ ๊ฒ์ด ๊ต์ฅํ ์ฝ๋ค. ์๋ฐฉํฅ ๋ฐ์ธ๋ฉ ์ง์ ์นํ์ด์ง ์๋ Angular๋ก ๋ง๋ SPA๋ ๋ค๋ฅธ ํ์ด์ง๋ก์ ์ ํ ์๋๊ฐ ๊ต์ฅํ ๋น ๋ฅด๋ค. TypeScript TypeScript๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ์๊ฒฉํ์ง๋ง ๊ทธ๋งํผ ์ง๊ด์ ์ด๊ณ ์ค๋ฅ๋ฅผ ์ค์ผ .. 2021. 11. 21. ์ธ์ฆ(Authentication) ๐ ์ธ์ฆ(Authentication) ์ ์ (User)์ identification์ ํ์ธํ๋ ์ ์ฐจ. ์ฆ, ์ ์ ์ ์์ด๋์ ๋น๋ฒ์ ํ์ธํ๋ ์ ์ฐจ์ด๋ค. ๐ ๋ก๊ทธ์ธ ์ ์ฐจ User ์์ด๋์ ๋น๋ฒ ์์ฑ. User์ ๋น๋ฒ์ ์ํธํ ํด์ DB์ ์ ์ฅ. User๊ฐ ๋ก๊ทธ์ธ -> ์์ด๋์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ User๊ฐ ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํ ํ ํ ์ํธํ๋์ DB์ ์ ์ ๋ ์ ์ ๋น๋ฐ๋ฒํธ์ ๋น๊ตํจ. ์ผ์นํ๋ฉด ๋ก๊ทธ์ธ ์ฑ๊ณต! ๋ก๊ทธ์ธ ์ฑ๊ณตํ๋ฉด access token์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ก. User๋ ๋ก๊ทธ์ธ ์ฑ๊ณตํ ๋ค์๋ถํฐ๋ access token์ ์ฒจ๋ถํด์ request๋ฅผ ์๋ฒ์ ์ ์กํจ์ผ๋ก์ ๋งค๋ฒ ๋ก๊ทธ์ธ ํ์ง ์์๋ ๋๊ฒ ํ๋ค. ๐ ์ ์ ๋น๋ฐ๋ฒํธ ์ํธํ โ๏ธ ์ ์ ์ ๋น๋ฐ๋ฒํธ๋ ์ ๋ ๋น๋ฐ๋ฒํธ ๊ทธ๋๋ก DB์ ์ ์ฅํ์ง ์๋๋ค! DB๊ฐ ํด.. 2021. 11. 18. ์ธ๊ฐ(Authorization) ๐ ์ธ๊ฐ ์ธ๊ฐ(Authorization)๋ ์ ์ ๊ฐ ์์ฒญํ๋ request๋ฅผ ์คํํ ์ ์๋ ๊ถํ์ด ์๋ ์ ์ ์ธ๊ฐ๋ฅผ ํ์ธํ๋ ์ ์ฐจ์ด๋ค. ๐ Authorization ์ ์ฐจ Authentication ์ ์ฐจ๋ฅผ ํตํด access token์ ์์ฑํ๋ค. access token์๋ ์ ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ ์ ๋ณด๊ฐ ๋ค์ด๊ฐ ์์ด์ผ ํ๋ค. (์๋ฅผ ๋ค์ด user id) ์ ์ ๊ฐ request๋ฅผ ๋ณด๋ผ๋ access token์ ์ฒจ๋ถํด์ ๋ณด๋ธ๋ค. ์๋ฒ์์๋ ์ ์ ๊ฐ ๋ณด๋ธ access token์ ๋ณตํธํํ๋ค. ๋ณตํธํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํด user id๋ฅผ ์ป๋๋ค. user id๋ฅผ ์ฌ์ฉํด์ DB์์ ํด๋น ์ ์ ์ ๊ถํ(permission)์ ํ์ธํ๋ค. ์ ์ ๊ฐ ์ถฉ๋ถํ ๊ถํ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด ํด๋น ์์ฒญ์ ์ฒ๋ฆฌํ๋ค. ์ ์ ๊ฐ ๊ถํ์ ๊ฐ์ง๊ณ ์์ง ์.. 2021. 11. 18. Self Refactoring Tip ๐งท console.log ์ง์ฐ๊ธฐ ํ ์คํธํ ๋ ์ฌ์ฉํ console.log๋ ๋ฐ๋ก๋ฐ๋ก ์ง์ฐ์. ์ ์ง์ฐ๋ฉด ๋์ค์ ์ด๋ค ํ ์คํธ์ ์ฐ๋ ๊ฒ์ธ์ง ํท๊ฐ๋ฆฐ๋ค. ๊ฐ๋ ์ฑ์ ํด์น ์๋ ์๋ค. ๋ค๋ฅธ ํ์๋ค์ ์ํ ๊ธฐ๋ณธ์ ์ธ ๋ฐฐ๋ ค ์ฐจ์์์๋ ๊ผญ ์ง์ฐ๋๋ก ํ ๊ฒ! ๐งท id๋ช , class๋ช , ํจ์์ ์ด๋ฆ์์ ์๋ฏธ๊ฐ ์ง๊ด์ ์ผ๋ก ๋๋ฌ๋๊ฒ ์์ฑํ ๊ฒ ์ฝ๋๋ ์ฐ๋ ๊ฒฝ์ฐ๋ณด๋ค ์ฝํ๋ ๊ฒฝ์ฐ๊ฐ ํจ์ฌ ๋ ๋ง๋ค! ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฅ ํ๋ค์ดํ๋ ์ผ ์ค ๋ํ์ ์ธ ๊ฒ์ด ์ด๋ฆ ์ง๊ธฐ์ด๋ค. ๋ณ์๋ช ์ ํด๋น ๋ณ์๊ฐ ์ด๋ค ์๋ฏธ๋ฅผ ๋ํ๋ด๊ณ ์๋์ง ๋ช ํํ๊ณ ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ๋๋๋ก ์ง์ด์ผ ํ๋ค. ๊ฐ๋ฐ์๊ฐ ๋ณด๋ด๋ ์๊ฐ ์ค ์ฝ๋๋ฅผ ์ง๋ ์๊ฐ์ 10%, ์ฝ๋๋ฅผ ์ฝ๊ณ ํด์ํ๋ ์๊ฐ์ด 90%๋ผ ํ๋ค. ๋ด๊ฐ ์ง ์ฝ๋๋ฅผ ๋ฏธ๋์ ๋ด๊ฐ, ํ์ ํ๋ ๋ค๋ฅธ ํ์๋ค์ด ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ์ผ์ โก๊ฐ.. 2021. 11. 17. ์ด์ 1 2 ๋ค์ ๋ฐ์ํ