JSON(JavaScript Object Notation)์ด๋? JSON์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด ํํ์๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ๊ฑฐ์ ์ ์ฌํ์ง๋ง ๋ช๊ฐ์ง ์ฐจ์ด์ ์ด ์กด์ฌํฉ๋๋ค. JSON์ ๊ฐ์ฒด๋ฅผ ์ ์ํ์ง๋ ์์ต๋๋ค. ์ฆ, ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๊ฐ ์๋๋ผ ๊ฐ์ฒด ํํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํํํฉ๋๋ค. ๋ฐ๋ผ์ ๋ค๋ฅธ ๋๋ฉ์ธ์์๋ ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค. var test = { "name" : "coco", "age" : 26, "address : "์์ธ์" } ์์ ๊ฐ์ ๊ฐ์ฒด ํ์์ ํํ์์ผ๋ก ์ธ ์ ์์ต๋๋ค. test๋ผ๋ ๊ฐ์ฒด๋ key : value ํ์์ ํํ์์
๋๋ค. key = "name " : value = "coco" ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋๋ค. ์ด๋ฐ JSON ํ์์ผ๋ก ๋ฐ์ดํฐ..
Project๐ธ

IntelliJ ๊ฐ๋ฐํ๊ฒฝ์์ Springboot + MariaDB ์์
์ค, Cannot resolve table ' customer' ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฐ ํ์์ IntelliJ๊ฐ ๋๋ฌด ๊ผผ๊ผผํ๊ฒ ๊ฒ์ฌ๋ฅผ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ์ผ๋ก, ๊ด๋ จ ์ค์ ์ ๋ณ๊ฒฝํด์ฃผ๋ฉด ํด๊ฒฐ ๋๋ค. Setting > Editor > Inspection > .. > Unresolved database references in annotations ์ฒดํฌ ํด์ ์ ์ฉ ํ ํ์ธํ๋ฉด ์๋์ ๊ฐ์ด ๋นจ๊ฐ์ค์ด ์ง์์ง๋ค. ref : https://log-laboratory.tistory.com/285
์ด๋ฒ ์ฑํฐ๋ ์ธ์ ๋ฆฌํฉํฐ๋ง ํด์ผ ํ๋๊ฐ? ์ด๋ค ์ฝ๋๊ฐ ๋ฆฌํฉํฐ๋ง์ด ํ์ํ ์ฝ๋์ธ๊ฐ?์ ๋ํด์ ๋ค๋ฃฌ๋ค. (์ ์ด๋ ๋๋)์ฝ๋๊ฐ ๊ตฌ์กฐ์ ์ผ๋ก ์์์ง ์์์, ๋ณด๊ณ ์์๋ ๋ญ๊ฐ ๋ง์ ํ์ผ ์ด ๋ถํธํด์, ๊ฐ์ '๋๋'์ ๊ฐ์งํ๊ณ ๋ฆฌํฉํฐ๋ง์ ํ๊ฒ ๋๋๋ฐ ์ด๋ฐ ๋ชจํธํ ๊ธฐ์ค์ ๋์ง์ด ๋ด์ ๋ฌธ์ฅ์ผ๋ก ๊ตฌ์ฒดํํ ์ฑํฐ์ด๋ค. ๋ฆฌํฉํฐ๋ง์ด ํ์ํ ์ฝ๋๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณตํต์ , bad smell์ ๋ํด์ ์๊ธฐํ๋ค. ๋ฌด์์ด ๋ฌธ์ ์ธ์ง ์์์ผ, ๊ทธ์ ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ์๋ ๋ ์ฌ๋ฆด ์ ์๋ค. ๋ถ๋กB์ ๋ณด๋ฉด bad smell case์ ํด๋ฒ์ด ์ ์ ๋ฆฌ๋์ด ์์. ์ ๋ฆฌํ๋ฉด์ ํ์ ๊ฐ๋ฐํ๋ฉด์ ์ ๋ฆฝํ๋ ๋์ ๊ฐ์ธ์ ์ธ ์๊ฒฌ๋ ๊ฐ์ด ์ ์ด ๋์์. (์ธ์ฉ๊ตฌ๋ก ๋์ด ์๋ ๋ถ๋ถ) 3.1 ๊ธฐ์ดํ ์ด๋ฆ ํจ์๋ , ๋ณ์๋ , ํด๋์ค๋ ์ด๋ฆ๋ง ๋ณด๊ณ ๋ ๊ฐ๊ฐ์ด ๋ฌด์จ ์ผ์ ํ๊ณ ์ด๋ป..

"ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด๋ฅผ ์์๋์?"" "์... ํ๋ ์์ํฌ๋ ๋ผ๋์ด๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ชจ๋ ๊ฐ์ ๊ฒ์ด๊ณ ....๐ฐ" "๊ทธ๋ผ ์ต๊ทผ์ ์ฌ์ฉํ์ ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ ค์ฃผ์ธ์." "... express๋.. ๊ทธ๋ฆฌ๊ณ ์.. ๋ชจ๋์...." ๊ทธ๋์ ์ค๋นํ์ต๋๋ค !! ๐ ๊ฐ๋จํ ์ ์ ๐ ํ๋ ์์ํฌ ์ํ๋ ๊ธฐ๋ฅ ๊ตฌํ์ ์ง์คํ์ฌ ๊ฐ๋ฐํ ์ ์๋๋ก ์ผ์ ํ ํํ์ ํ์ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์๋ ๊ณจ๊ฒฉ, ๋ผ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ์ ํ์์ ์ธ ์ฝ๋, ์๊ณ ๋ฆฌ์ฆ, DB ์ฐ๋๊ณผ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ํด ์ด๋ ์ ๋ ๋ผ๋(๊ตฌ์กฐ)๋ฅผ ์ ๊ณตํ๋ฉฐ ์ด๋ฌํ ๋ผ๋ ์์์ ์ฌ์ฉ์๋ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํฉ๋๋ค. ์ฑ/์๋ฒ ๋ฑ์ ๊ตฌ๋, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ด๋ฒคํธ ๋ฃจํ ๋ฑ์ ๊ณตํต๋ ๋ถ๋ถ์ ํ๋ ์์ํฌ๊ฐ ๊ด๋ฆฌํ๋ฉฐ, ์ฌ์ฉ์๋ ํ๋ ์์ํฌ๊ฐ ..

Intellij ์์ ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ๊ฐ๋์ ๋ณต๋ถ ์ ๊ณต์ ํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋
ธ๋์ค์ ๋ณผ ์ ์๋ค. Found duplicated code in ... ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ์ถ๋ ฅ๋๋๋ฐ ์ฌ๊ฐ ๋์ ๊ฑฐ์ฌ๋ฆฌ๋๊ฒ ์๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. File –>Settings –> Editor –> Inspections๋ก ๋ค์ด๊ฐ์ General –> Duplicated Code ์ฒดํฌ๋ฅผ ํด์ ํด์ค๋ค. ์ดํ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋
ธ๋์ ์ด ์ฌ๋ผ์ง ๊น๋ํ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋ค !
cd ๋ช
๋ น์ด cd ๋ช
๋ น์ด๋ change directory์ ์ค์๋ง๋ก ํ์ฌ ์์
์ค์ธ ๋๋ ํ ๋ฆฌ์ ์์น๋ฅผ ์ด๋ํ๋ ๋ช
๋ น์ด์ด๋ค. cd ๋ช
๋ น์ด ๋ค์ ๋๋ ํ ๋ฆฌ ์ด๋๊ฒฝ๋ก๋ฅผ ์
๋ ฅํ๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ค. cd [์ด๋ํ ๊ฒฝ๋ก] ex) cd / : root๋ก ์ด๋ ex) cd log : ํ์ฌ ๋๋ ํ ๋ฆฌ ๋ด log ๋๋ ํ ๋ฆฌ๋ก ์ด๋ ex) cd /app/bin : /app/bin ๋๋ ํ ๋ฆฌ๋ก ์ด๋ ์์ ๊ฐ์ด cd ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๋ํ ์ ์๋ค. cd ๋ช
๋ น์ด๋ ์ ๋ ๊ฒฝ๋ก ๋ฟ๋ง ์๋๋ผ ์๋ ๊ฒฝ๋ก๋ฅผ ํตํด ์์ ํด๋๋ ์ด์ ํด๋๋ก ์ด๋ํ ์ ์๋ค. ์ด๋ฌํ cd ๋ช
๋ น์ด๋ ๋ณ๋์ ์ต์
์ด ์กด์ฌํ์ง ์๋๋ค. ์ ๋ ๊ฒฝ๋ก์ ์๋ ๊ฒฝ๋ก ์ ๋ ๊ฒฝ๋ก๋ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ๋ํ๋ธ ๊ฒ์ ๋ปํ๋ค. ์๋ฅผ ๋ค์ด "/home/app/..

VSCode์์ Open in browser ํฌ๋กฌ์ด default ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์ธํ
๋ฐฉ๋ฒ์ ์ค๋ช
ํด๋ณด๊ฒ ์ต๋๋ค. ๋งฅ osํ๊ฒฝ์ด ์๋ ์๋์ฐ ํ๊ฒฝ์์๋ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ๋ฉด๋ฉ๋๋ค. 1. ๋จผ์ VSCode์์ Open in browser๋ฅผ ์ค์น ํ์ง ์์๋ค๋ฉด, 'open in browser' ์ ์ค์นํด์ค๋ค. 2. ํฑ๋๋ฐํด์์ Extension Settings ํด๋ฆญ 3. Open-in-browser : Default ์์ ์๋ ํ
์คํธ ๋ฐ์ค์๋ค๊ฐ 'chrome'์ด๋ผ๊ณ ์
๋ ฅํฉ๋๋ค. 4. ์คํํ๊ณ ์ถ์ html ํ์ผ์ ์ฐํด๋ฆญ ํ 'Open In Default Browser'๋ฅผ ํด๋ฆญํ๋ค. 5. ์ด๊ณ ์ถ์ ํฌ๋กฌ์ด Default๊ฐ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. โป ์์ค์ฝ๋ ์ฐธ๊ณ ์๋
? ์๋
! ์ ์ก ref : https:/..

๋ชฉํ Visual Studio Code(VSCode)์์ ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ)๋ฅผ ์ถ๊ฐํ๊ณ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด
๋๋ค. ๋ชฉ์ฐจ 1. ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ) ์ถ๊ฐ ๋ฐฉ๋ฒ 2. ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ) ์ ๊ฑฐ ๋ฐฉ๋ฒ 1. ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ) ์ถ๊ฐ ๋ฐฉ๋ฒ - ์๋จ ๋ฉ์ฅฌ๋ฐ์์ [File]์ ํด๋ฆญ [Open Folder]๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฆผ 1 - ์ถ๊ฐํ๊ณ ์ ํ๋ ํด๋๋ฅผ ์ ํํ์ฌ [ํด๋ ์ ํ]์ ๋๋ฅด๊ฑฐ๋, ์ถ๊ฐํ๊ณ ์ ํ๋ ํด๋์ ๋ค์ด๊ฐ ํ [ํด๋ ์ ํ]์ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฆผ 2 ๊ทธ๋ฆผ 3 - ์ฌ์ด๋ ๋ฐ๋ฅผ ๋ณด์๋ฉด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๊ทธ๋ฆผ 4 2. ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ) ์ ๊ฑฐ ๋ฐฉ๋ฒ - ์ฌ์ด๋ ๋ฐ์ ์ ๊ฑฐํ๊ณ ์ ํ๋ ํ๋ก์ ํธ ํด๋(ํญ๋ชฉ) ์์ญ์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ํ ์ค๋ฅธ์ชฝ ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํฉ๋๋ค.(ํ์ผ์ด ์๋ ๋น ๊ณต๊ฐ์ ๊ฐ..

Axios๋? Axios๋ ๋ธ๋ผ์ฐ์ , Node.js๋ฅผ ์ํ Promise API๋ฅผ ํ์ฉํ๋ HTTP ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ฝ๊ฒ ๋งํด์ ๋ฐฑ์๋๋ ํ๋ก ํธ์๋๋ ํต์ ์ ์ฝ๊ฒํ๊ธฐ ์ํด Ajax์ ๋๋ถ์ด ์ฌ์ฉํฉ๋๋ค. - ์ ๋ AJAX๋ณด๋ค AXIOS๋ฅผ ํจ์ฌ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ํธํ์ฑ Latest โ Latest โ Latest โ Latest โ Latest โ 11 โ axios ํน์ง ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์ XMLHttpRequest ๊ฐ์ฒด ๋๋ Node.js์ http api ์ฌ์ฉ Promise(ES6) API ์ฌ์ฉ ์์ฒญ๊ณผ ์๋ต ๋ฐ์ดํฐ์ ๋ณํ HTTP ์์ฒญ ์ทจ์ HTTP ์์ฒญ๊ณผ ์๋ต์ JSON ํํ๋ก ์๋ ๋ณ๊ฒฝ HTTP๋? ์ฌ๋ฝ๊ฒ ์๊ฐํ์ง ๋ง์ธ์. ์ ๋ง ์ฌ์ฉํ๊ธฐ ์ฝ์ต๋๋ค. Axios ์ฌ์ฉ๋ฒ ..

์ฐพ์๋ณธ ๊ฒฐ๊ณผ Controller๊ฐ ๋ฌด์์ธ์ง ์๊ธฐ ์ ์ MVC ํจํด์ ๋ํ์ฌ ๋จผ์ ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค! โ๏ธMVC ํจํด์ด๋? MVCํจํด์ Model-View-Controller์ ์ฝ์๋ก์ ๊ฐ๋ฐ์ ํ ๋ 3๊ฐ์ง ํํ๋ก ์ญํ์ ๋๋์ด ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ก ์
๋๋ค. Model ์ดํ๋ฆฌ์ผ์ด์
์ด ๋ฌด์์ ํ ๊ฒ์ธ์ง ์ ์ํ๋ ๋ถ๋ถ์
๋๋ค. ์ฆ DB์ ์ฐ๋ํ์ฌ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฐ์ดํฐ๋ ์ฌ์ฉ์์๊ฒ ์ถ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃน๋๋ค. View ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ๋ถ๋ถ์
๋๋ค. (UI) Controller Model์ด ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์๋ ค์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ฌ์ฉ์์ ์ํด ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ๋ชจ๋ธ์ ํธ์ถํ๊ธฐ์ ์ ์ ์ ํ ๊ฐ๊ณต์ ํ๊ณ ๋ชจ๋ธ์ ํธ์ถํฉ๋๋ค. ๊ทธ๋ฐ๋ค์ ๋ชจ๋ธ์ด ์
๋ฌด ์ํ์ ์๋ฃํ๋ฉด ๊ทธ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ View..