• CodeStates BootCamp/Section 2
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! ERD ์ค๊ณํ๊ธฐ โ๏ธ ERD (Entity Relationship Diagram) ํ
์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค๋ช
ํด์ฃผ๋ ๋ค์ด์ด๊ทธ๋จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ํ๋์ ๋ณด๊ธฐ ์ํด ์ฌ์ฉ ( ์ ๋ฒ ์๊ฐ์ ํ ์คํค๋ง ๋์์ธ๊ณผ ๊ฐ์ ๊ฒ ) ๐ก ERD ์ ์คํค๋ง โ ์ฌ์ค ๊ตฌ์กฐ์ ์ผ๋ก ๊ฐ์ง๋ง ERD๋ ์ฌ๋ฌ ๊ด๊ณ ๋ชจ๋ธ์ ์ค๊ณ๋๋ผ๊ณ ๋ณด๋ฉด ๋๊ณ , ์คํค๋ง๋ ERD๋ ๋ค๋ฅธ ๋ค์ด์ด๊ทธ๋จ์์ ์ ์ํ ๊ฒ์ ๋ฐํ์ผ๋ก ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์งํฉ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ ๐ SQL์ ์ฌ์ฉํด ERD ์ค๊ณํ๊ธฐ ์ค๋ ๊ณผ์ ๋ ์๋์ ํ
์ด๋ธ ๊ตฌ์กฐ๋ค์ SQL ์ฟผ๋ฆฌ๋ฌธ์ ์ง์ ์์ฑํ์ฌ ๋ง๋ค์ด๋ณด๋ ๊ฒ์ด์๋ค! โฌ๏ธ ์ฌ์ค ์ค๋์ ๊ณผ์ ๋ ๋ณด๊ณ ๊ทธ๋ฅ ๋ฐ๋ผ ๋ง๋ค๋ฉด ๋๊ธฐ ๋๋ฌธ์, ์ด์ ์ด๋ ค์ ๋ ์ธ์คํ๊ทธ๋จ ์คํค๋ง ๋์์ธ์ ํด์ ๊ทธ๋ฐ์ง ์ข ๋ ์ดํด๊ฐ ์ฌ์ ๋ค. ํ
์ด๋ธ ..
• CodeStates BootCamp/Section 2
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์คํค๋ง ๋์์ธ ์ค์ต โ๏ธ ๊ด๋ จ ํค์๋ โ ์คํค๋ง(Schema) โ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๊ฐ ๊ตฌ์ฑ๋๋ ๋ฐฉ์๊ณผ ์๋ก ๋ค๋ฅธ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ์ ๋ํ ์ค๋ช
( ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ ํ
์ด๋ธ์ ๊ตฌ์กฐ์ ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ ) Ex. ์๊ฐ์ ์ฒญ ์์คํ
๋ง๋ค ๋, ์ผ๋จ ์ ์ฒด์ ์ธ ํ๋ฉด ๊ตฌ์ฑ(์ด๋ค ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ํํ๋๋๋)์ ์๊ฐํ์ฌ Teachers, Students, Classes ๋ฑ์ ํ
์ด๋ธ์ ๋ง๋ค์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ด ์คํค๋ง โ ์ํฐํฐ(Entity) ๊ณ ์ ํ ์ ๋ณด์ ๋จ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ ํ
์ด๋ธ์ ์ํฐํฐ๋ผ๊ณ ํ ์ ์์ โ ํ๋(fields) ํด๋น ํ
์ด๋ธ ๋ด์ ์์(์ด)๋ค ์ํฐํฐ์ ํน์ฑ์ ์ค๋ช
ํ ํ
์ด๋ธ(์ํฐํฐ) ์์๋ ID ํ๋๊ฐ ํฌํจ๋จ โ ๊ฐ ํ..
• CodeStates BootCamp/Section 2
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! SQL ์ค์ต ๐ SQL ์ค์ต SQL ํด์ฆ๋ ํ๊ณ โฌ๏ธ SQL ์ฟผ๋ฆฌ๋ฌธ์ ๋น์นธ์ ์ฑ์๋ฃ๋ ์ฐ์ต๋ ํด๋ณด๊ณ โฌ๏ธ MY SQL์ ์ค์นํ์ฌ ๊ทธ ์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ
์ด๋ธ ๋ฑ์ ๋ง๋ค์ด ์ง์ ๋์ผ๋ก ํ์ธ๋ ํด๋ณด์๋ค! โฌ๏ธ CREATE DATABASE Practice CHARACTER SET UTF8; ๋ก Practice๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ SHOW DATABASE; ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ์ด ๋์๋์ง ํ์ธํ์๋ค. ํ์ธ ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฌ๋ฌ๊ฐ ์์ด์ ๋ด๊ฐ ์์ฑํ Practice ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฌธ์ ์คํํ๋ ค๋ฉด ๊ทธ๊ฒ์ ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ use Practice; ๋ก ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ๊ทผํ์๋ค. ๊ทธ๋ฆฌ๊ณ SHOW TABLES; ์ ํ๋ฉด ์์ง ํ
์ด๋ธ์ ์์ฑํ์ง ์์๊ธฐ ๋๋ฌธ์ Empty..
• CodeStates BootCamp/Section 2
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! REST API Postman ์ค์ต โ๏ธ REST API Representational State Transfer API HTTP์ ์ฅ์ ์ ๊ทน๋ํ ํ ์ ์๋ ๋คํธ์ํฌ ์ํคํ
์ณ ์น์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ ์์(Resource)์ HTTP URI๋ก ํํํ๊ณ , HTTP ํ๋กํ ์ฝ์ ํตํด ์์ฒญ๊ณผ ์๋ต์ ์ ์ํ๋ ๋ฐฉ์ (URI๋ฅผ ์ด๋ป๊ฒ ์ ์ํ ๊ฑด์ง์ ๋ํ ๊ท์น) โ ์ ์ผ ํต์ฌ์ ๋ฆฌ์์ค(URI) ์๋ณ โ๏ธ ๋ฆฌ์์ค (Resource) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ, ๋ฌธ์, ์ด๋ฏธ์ง, ๋์์ ๋ฑ HTTP ํต์ ์ ํตํด ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๋ชจ๋ ๊ฒ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์์ ๋ฐ์ดํฐ์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๊ณ ์๋ตํ ๋ ๋ฐ๋ฅด๋ ๊ท์น ( ์ด ๊ท์น๋๋ก ์์ฒญ๊ณผ ์๋ต์ ์งํํด์ผํจ ) [์ฐธ๊ณ ] https://docs.spri..
• CodeStates BootCamp/Section 2
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! JSON JSON ์ค์ต โ๏ธ JSON (JavaScript Object Notation) ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๋ง๋ค์ด์ง ๊ฐ์ฒด ํํ์ ํฌ๋งท ๋ง์ ์ธ์ด์์ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ์ฒด์ ํค์ ๊ฐ์ ""๋ก ๊ฐ์ธ์ค์ผํจ ํค์ ๊ฐ ์ฌ์ด, ํค-๊ฐ ์ ์ฌ์ด์ ๊ณต๋ฐฑ x ๋ณดํต ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ค๋ฉด ์์ ์์ ๋ฐ์ ์๊ฐ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฌ์ํ๊ฑฐ๋, ๋ฌธ์์ด์ฒ๋ผ ๋ฒ์ฉ์ ์ผ๋ก ์ฝ์ ์ ์์ด์ผํจ But, Java๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ๋ก๊ทธ๋จ์์๋ ์ด๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ํ์
๋ถ๊ฐ โ ๊ฐ์ฒด๋ฅผ JSON ํํ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ JSON ํํ๋ฅผ ๊ฐ์ฒด๋ก ๋ณ๊ฒฝํด์ผํจ โ ์ง๋ ฌํ(serialize) ๊ฐ์ฒด โ JSON ํํ ObjectMapperํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ writeValueAsStringํ๋ ๊ณผ์ โ ์ญ์ง๋ ฌํ(deserialize) ์ง๋ ฌํ๋ ..
• CodeStates BootCamp/Section 1
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ! 1์ฐจ์ ๋ฐฐ์ด 2์ฐจ์ ๋ฐฐ์ด ๊ฐ๋ณ ๋ฐฐ์ด ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ โ๏ธ ๋ฐฐ์ด์ด๋? ๋์ผํ ํ์
์ ๊ฐ๋ค์ ํ๋์ ๋ฌถ์์ผ๋ก ๋ฌถ์ ์๋ฃ ๊ตฌ์กฐ Ex. 7์ ํ๋ฌ๊ฐ ์ผ๋ณ ์ต๊ณ ๊ธฐ์จ์ ์ค์ ํ ๋ double temp1 = 27.4; double temp2 = 30.1; double temp3 = 31.1; ... ์ด๋ ๊ฒ ์ด 31๊ฐ์ ๋ณ์๋ฅผ ์์ฑํด์ผํจ ๐ ํ์
์ด ๊ฒน์น๊ธฐ ๋๋ฌธ์ double[] temp = {27.4, 30.1, 31.1, ... } ์ด๋ ๊ฒ ํ๋์ ๋ฌถ์์ผ๋ก ๋ฌถ๋ ๊ฒ โ ๋ฐฐ์ด ์ ์ธ์ ์ํ์ ๋ ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ ์ค์ ๋์ด ๊ฐ๊ฐ์ ์ฃผ์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ ์
์ ํฉ์ด์ ธ ๋๋ค์ผ๋ก ์ ์ฅ๋จ โ ๋ฐฐ์ด ์ ์ธ ํ์ ๋ ๋ณ์ ํ๊ฐ๊ฐ ์ค์ ๋๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์
์ ๊ฐ๋ค์ด ๋ชจ์ฌ์ ์ญ๋ฅด๋ฅต ์ ์ฅ โ๏ธ 1์ฐจ์ ๋ฐฐ์ด ๋ฐฐ์ด์ด ์ค์ฒฉ์ด ์์ด..