https://dev-emmababy.tistory.com/139
์ค๋ ๋ ๋ผ์ดํ์ฌ์ดํด์ ์ ์ดํ ์ ์๋ ๋ฉ์๋Object์ ์ ์๋์ด ์์๋๊ธฐํ ๋ธ๋ญ๋ด์์๋ง ์ฌ์ฉํ ์ ์์๋ณด๋ค ํจ์จ์ ์ธ ๋๊ธฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํจ์ ๋ณ์ ์ธ ํต์ง๋ ๋ถ๊ฐ๋ฅ๋๊ธฐํ๋ ์๊ณ ์์ญ์ ์ฝ๋๋ฅผ ์ํํ๋ค๊ฐ ์์ ์ ๋ ์ด์ ์งํํ ์ํฉ์ด ์๋๋ฉด, wait()์ ํธ์ถํ์ฌ ์ฐ๋ ๋๊ฐ
Runnable์ ๋ค์ค ์ค๋ ๋ ์์ ์ ๋ํ๋ด๊ธฐ ์ํด ์ ๊ณต๋๋ ํต์ฌ ์ธํฐํ์ด์ค์ด๋ฉฐ Callable์ Java 1.5์์ ์ถ๊ฐ๋ ํฅ์๋ Runnable ๋ฒ์ ์ ๋๋ค.๋ ์ธํฐํ์ด์ค ๋ชจ๋ ๋ฉํฐ์ค๋ ๋๋ก ์คํ๋๋ ํ์คํฌ๋ฅผ ๋ํ๋ด๋๋ก ์ค๊ณ๋จRunnable๋ Threadํด๋์ค ๋๋ E
์ฌ์ด๋ํ๋ก์ ํธ๋ฅผ react๋ก ํ ๋ฒ ํด๋ณผ๊นํด์ ํ๊ฒฝ์ธํ ์ ํ๋๋ฐ node-sass๊ฐ ์ค์น๊ฐ ์๋๊ณ npm i ๋ฅผ ํ ๋๋ง๋ค ์ด๋ค ๊ตฌ๊ฐ์์ ๋ฌดํ๋ก๋ฉ์ด ๋๊ธธ๋ ๊ตฌ๊ธ๋ง ํด๋ณด๋ nodejs ๋๋ฌธ์ด์๋ค. ํ์ธํด๋ณด๋๊น ๋ด ์ปดํจํฐ์ ์ค์น๋์ด ์๋ ๋ฒ์ ์ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ด์๋ค.LTS๋ฒ์
์ต์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ node.js์ ๋ฒ์ ์ ๊ด๊ณ์์ด ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌnpm i --save-dev @babel/core @babel/clipackage.json์์ scripts์์ Ex)"scripts": { "build": "babel sr
Node.js์ TypeScript์ ORM์ด๋ค. > https://www.prisma.io/
์ฃผ์, ์ฃผํด, ๋ฉ๋ชจํ๋ก๊ทธ๋จ์ ์์ค์ฝ๋ ์์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํ ์ ๋ณด๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์๋ ํ์์ผ๋ก ํฌํจ์ํจ ๊ฒํ๋ก๊ทธ๋๋ฐ ์ธ์ ์ํฅ์ ๋ฏธ์น์ง ์์ผ๋ฉด์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์annotation์ ์ข ๋ฅํ์ค annotation๋ฉํ annotation๋ฉ์๋
์๋ก ๊ด๋ จ๋ ์์๋ฅผ ํธ๋ฆฌํ๊ฒ ์ ์ธํ๊ธฐ ์ํ ๊ฒ์ฌ๋ฌ ์์๋ฅผ ์ ์ํ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉ์๋ฐ์ ์ด๊ฑฐํ์ ํ์ ์ ์์ ํ ์ด๊ฑฐํ์์์๋ ๊ฐ์ด ๋ฐ๋๋ฉด ํด๋น ์์๋ฅผ ์ฐธ์กฐํ๋ ๋ชจ๋ ์์ค๋ฅผ ๋ค์ ์ปดํ์ผํด์ผ ํ์ง๋ง ์ด๊ฑฐํ ์์ ๋ฅด ์ฌ์ฉํ๋ฉด ๋ค์ ์ปดํ์ผํ์ง ์์๋ ๋จ์ ์enum ์ด๊ฑฐํ์ด๋ฆ {
๋ฉ์๋์ ์ ์ธ๋ถ์ ์ง๋ค๋ฆญ ํ์ ์ด ์ ์ธ๋ ๋ฉ์๋์ง๋ค๋ฆญ ํ์ ์ ์ ์ธ ์์น๋ ๋ฐํ ํ์ ๋ฐ๋ก ์์ง๋ค๋ฆญ ํด๋์ค์ ์ ์๋ ํ์ ๋งค๊ฐ๋ณ์์ ์ง๋ค๋ฆญ ๋ฉ์๋์ ์ ์๋ ํ์ ๋งค๊ฐ๋ณ์๋ ์ ํ ๋ณ๊ฐ์ ๊ฒstatic๋ฉค๋ฒ์๋ ํ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ๋ฉ์๋์ ์ง๋ค๋ฆญ ํ์ ์ ์ ์ธํ๊ณ
Box< T >์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ฐธ์กฐ๋ณ์์ ์์ฑ์์ ๋์ ๋ ํ์ (๋งค๊ฐ๋ณ์ํ๋ ํ์ )์ด ์ผ์นํด์ผ ํจ (์์๊ด๊ณ์ ์์ด๋ ๋ถ๊ฐ๋ฅ)๋จ, ๋ ์ง๋ค๋ฆญ ํด๋์ค์ ํ์ ์ด ์์๊ด๊ณ์ ์๊ณ , ๋์ ๋ ํ์ ์ด ๊ฐ์ ๊ฒ์ ๊ด์ฐฎ์Ex)์ง๋ค๋ฆญ ํ์ ์ 'extends'๋ฅผ ์ฌ์ฉํ๋ฉด, ํน์
๋ค์ํ ํ์ ์ ๊ฐ์ฒด๋ค์ ๋ค๋ฃจ๋ ๋ฉ์๋๋ ์ปฌ๋ ์ ํด๋์ค์ ์ปดํ์ผ ์์ ํ์ ์ฒดํฌ๋ฅผ ํด์ฃผ๋ ๊ธฐ๋ฅ๊ฐ์ฒด์ ํ์ ์ ์ปดํ์ผ ์์ ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์ ํ์ ์์ ์ฑ์ ๋์ด๊ณ ํ๋ณํ์ ๋ฒ๊ฑฐ๋ก์์ด ์ค์ด๋ฌ. ์ฆ, ๋ค๋ฃฐ ๊ฐ์ฒด์ ํ์ ์ ๋ฏธ๋ฆฌ ๋ช ์ํด์ค์ผ๋ก์จ ๋ฒ๊ฑฐ๋ก์ด ํ๋ณํ์ ์ค์ฌ์คํด๋์ค ์
์์ธ์ ๋ฐ์์ฌ๋ถ์ ์๊ด์์ด ์คํ๋์ด์ผ ํ ์ฝ๋๋ฅผ ํฌํจ์ํฌ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉtry๋ธ๋ญ์์ return๋ฌธ์ด ์คํ๋๋ ๊ฒฝ์ฐ์๋ finally๋ธ๋ญ์ ๋ฌธ์ฅ๋ค์ด ๋จผ์ ์คํ๋ ํ, ํ์ฌ ์คํ ์ค์ธ ๋ฉ์๋ ์ข ๋ฃEx)์ฌ์ฉํ๋ ์์์ ๋ฐํํด์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉtry-with-resources
printStackTrace()์์ธ๋ฐ์ ๋น์์ ํธ์ถ์คํ์ ์์๋ ๋ฉ์๋์ ์ ๋ณด์ ์์ธ ๋ฉ์์ง๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํจgetMessage()๋ฐ์ํ ์์ธํด๋์ค์ ์ธ์คํด์ค์ ์ ์ฅ๋ ๋ฉ์์ง๋ฅผ ์ป์ ์ ์์Ex)๋ฉํฐ catch๋ธ๋ญcatch๋ธ๋ญ์ '|'๊ธฐํธ๋ฅผ ์ด์ฉํด์ ํ๋์ catch๋ธ๋ญ
Set์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฅ ๋ํ์ ์ธ ์ปฌ๋ ์ ์ ์ฅ์์๋ฅผ ์ ์งํ์ง ์์ผ๋ฏ๋ก ์ ์ฅ์์๋ฅผ ์ ์งํ๊ณ ์ ํ๋ค๋ฉด LinkedHashSet์ ์ฌ์ฉํด์ผ ํจHashSet์ ๋ด๋ถ์ ์ผ๋ก HashMap์ ์ด์ฉํด์ ๋ง๋ค์ด์ก์ผ๋ฉฐ, HashSet์ด๋ ์ด๋ฆ์ ํด์ฑ์ ์ด์ฉํด์ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ ๋ถ์ฌ
์คํ๋ง์ง๋ง์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ LIFO๊ตฌ์กฐArrayList์ ๊ฐ์ ๋ฐฐ์ด๊ธฐ๋ฐ์ ์ปฌ๋ ์ ํด๋์ค๊ฐ ์ ํฉ์๋ฐ์์ Stackํด๋์ค๋ก ๊ตฌํํ์ฌ ์ ๊ณตํ์ฒ์์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ FIFO๊ตฌ์กฐ๋ฐ์ดํฐ์ ์ถ๊ฐ/์ญ์ ๊ฐ ์ฌ์ด LinkedList๋ก ๊ตฌํ
์ปฌ๋ ์ ํ๋ ์์: ๋ฐ์ดํฐ ๊ตฐ์ ์ ์ฅํ๋ ํด๋์ค๋ค์ ํ์คํํ ์ค๊ณList์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ, ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉ๊ตฌํํด๋์ค: ArrayList, LinkedList. Stack, Vector ๋ฑSet์์๋ฅผ ์ ์งํ์ง ์๋ ๋ฐ์ดํฐ์ ์งํฉ, ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์
์๋ฌ์ ์ข ๋ฅ์ปดํ์ผ ์๋ฌ: ์ปดํ์ผ ํ ๋ ๋ฐ์ํ๋ ์๋ฌ\*์ปดํ์ผ๋ฌ์์ค์ฝ๋์ ๋ํด ์คํ๋ ์๋ชป๋ ๊ตฌ๋ฌธ, ์๋ฃํ ์ฒดํฌ ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ฌ๋ฅผ ์ํํ์ฌ ์ค๋ฅ๊ฐ ์๋์ง ์๋ ค์ค์คํ๋์ค์ ๋ฐ์ํ ์ ์๋ ์ ์ฌ์ ์ธ ์ค๋ฅ๊น์ง ๊ฒ์ฌํ ์ ์์๋ฐํ์ ์๋ฌ: ํ๋ก๊ทธ๋จ์ ์คํ๋์ค์ ๋ฐ์ํ๋ ์
ํด๋์ค ๋ด์ ์ ์ธ๋ ํด๋์ค์ ์ธํ๋ ์ด์ ๋ ํด๋์ค๊ฐ ์๋ก ๊ธด๋ฐํ ๊ด๊ณ์ ์๊ธฐ ๋๋ฌธ์ฅ์ ๋ด๋ถ ํด๋์ค์์ ์ธ๋ถ ํด๋์ค์ ๋ฉค๋ฒ๋ค์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์(์บก์ํ)Ex)์ธ์คํด์ค ํด๋์ค์คํํฑ ํด๋์ค์ง์ญํด๋์ค์ต๋ช ํด๋์คEx)๋ด๋ถ ํด๋์ค๋ abstract๋
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์ธํฐํ์ด์ค ํ์ ์ ์ฐธ์กฐ๋ณ์๋ก ์ฐธ์กฐํ ์ ์์Ex)์ธํฐํ์ด์ค๋ฅผ ๋งค๊ฐ๋ณ์์ ํ์ ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋งค๊ฐ๋ณ์๋ก ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋๊ฒจ์ค์ผ ํจ๋ฆฌํดํ์ ์ ์ธํฐํ์ด์ค ํ์ ์ผ๋ก ์ ์ธํ๊ณ ๊ตฌํํ ํด๋์ค๋ฅผ ๋ฐํํด๋ ๋จEx)๊ฐ๋ฐ