์ ๋ฒ ๊ธ์์ JWT ํ ํฐ์ ๋ฐ๊ธ ๋ฐ๋ ๊ณผ์ ๊น์ง ์งํํ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ JWT ์ธ์ฆ ์ ๋ณด๋ฅผ ์ปจํธ๋กค๋ฌ์์ ์ด๋ป๊ฒ ํ์ฉํด์ผ ํ ์ง, ํํฐ์์ ์ฒ๋ฆฌ๋ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ @AuthenticationPrincipal๋ก ๊ฐ์ ธ์ฌ ์ ์๋์ง์ ๋ํด ์๋ ๋ฐฉ์๊ณผ ์ฌ์ฉ ์์๋ฅผ ์์
์นด์นด์ค api๋ฅผ ์ด์ฉํ ํ์๊ฐ์ , ๋ก๊ทธ์ธ + jwt ํ ํฐ ๋ฐ๊ธ ๊ณผ์
ํ๋ก์ ํธ์์ ์๋ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฒฝ๋ณ์๋ฅผ ๊ด๋ฆฌํ๊ณ ์์๋ค.yml ํ์ผ์์ ${} ์ด ๋ถ๋ถ์ ๊ฐ์ ๊ฐ์ ๋ฃ์ด์ ๋ก์ปฌ DB์ ์ ๊ทผํ๋ ๋ฐฉ์์ด๋ค. DB ์ ๊ทผ์ ์๋์ง๋ง, ๋ชจ๋ฅด๊ณ git์ ํธ์ํด๋ฒ๋ฆด ์ ์๋ ์ํ์ฑ์ด ์์ผ๋ฏ๋ก envํ์ผ์ ํตํด ๊ด๋ฆฌํด๋ณด๊ธฐ๋ก ํ๋ค.Spr
์์ ์ ์๋ฃํด์ Push, pull request๊น์ง ๋ง๋ ํ์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ปค๋ฐ์ ์ถ๊ฐํด์ผํ ๋! PR์ ๋ ๋ณด๋ด๋ ๊ฒ ๋์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด 2๊ฐ์ง๊ฐ ์๋ค1\. ammend๋ฅผ ํตํด PR ๋ณด๋ธ ์ปค๋ฐ์ ์์ ํ๊ณ ๊ฐ์ ๋ก ๋ฎ์ด์ฐ๊ธฐammend ๋ช ๋ น์ ์ด์ ์ปค๋ฐ์ ์์ ํ
์์ ๊ฐ์ ๋ก๊ทธ๋ฅผ ํ์ ํ๋ฉด์ ์์ฃผ ์ ํ๊ฒ ๋์๋ค!!๋๋ ๋ณดํต ์ ์์๋๋ก ์๊ฒฉ์ ์ฅ์์์ ์ต์ ๋ฐ์์ฌํญ์ ๊ฐ์ ธ์ค๋๋ฐ ์ด ์ค 4๋ฒ rebase ์์ conflict๊ฐ ๋ฐ์ํ ์ํฉ์ด๋ค.rebase๋ ๋ธ๋์น์ ์ปค๋ฐ์ ๋ค๋ฅธ ๋ธ๋์น ์๋ก ๋ค์ ์ ๋ ฌํ์ฌ ๊น๋ํ ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๋ง
https://www.acmicpc.net/problem/3055 ์ฒซ์งธ ์ค์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์ R๊ณผ C๊ฐ ์ฃผ์ด์ง๋ค. R๊ฐ ์ค์๋ ํฐ๋ฑ์ฒ์ ์ง๋๊ฐ ์ฃผ์ด์ง๋ฉฐ, ๋ฌธ์ ์์ ์ค๋ช ํ ๋ฌธ์๋ง ์ฃผ์ด์ง๋ค. 'D'์ 'S'๋ ํ๋์ฉ๋ง ์ฃผ์ด์ง๋ค. ์ฒซ์งธ ์ค์ ๊ณ ์ด๋์น๊ฐ ๋น๋ฒ
ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์ ๋ฌ๋ ์์ฒญ์ ๊ฐ์ฒด๋ก ๋ฐ์ธ๋ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋๋ ์ฃผ๋ก ๋ค์ 3๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. > GET - ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ /...?username=hello&a
์ฝํ ์ดํ ๊ฐ๋ธ์ฐ ์คํฐ๋ ๋๋ถ์ ์๋ก์ด ์ฃผ์ ๋ก ๊ธ์ ์จ๋ณด๊ฒ ๋์๋ค. ๊ฐ์ธ์ ์ธ ๊ธ์ ์ฒ์์ด๋ผ ๋ถ๋๋ฝ๋ค...๐ฅน ๐ ์ฐ์ ๊ณตํ๊ณผ์์ ์ปดํจํฐํ๋ถ๋ก ์ฌ์ค ๋๋ 21๋ ๋์ ์ญ์ค๋ํ๊ต ์ฐ์ ์ ๋ณด์์คํ ๊ณตํ๊ณผ(์ดํ ์ฐ๊ณต)์ ์ ํํ์๋ค. ๊ณ ๋ฑํ์ ๋๋ ํ๊ณ ์ถ์ ๊ฒ์ ์ ๋ชฐ๋์ด์ ์ด๊ฒ์
5๊ฐ์ ์ง๊ณํจ์ ์ง์. ๊ฐ ํจ์๋ ํ ์ด๋ธ์ ์์ฑ์ ์ง์๊ฐ๋ฅํ๋ฉฐ, ํ๋์ value๋ฅผ ๋ฆฌํดavgminmaxsumcountstudent ํ ์ด๋ธ์์ ํํ์ ๊ฐ์๋ฅผ ๋ฆฌํดnull๊ฐ์ด ์์ผ๋ฉด ์ธ์ง ์๋๋ค: ์ปดํจํฐํ๊ณผ์ ๊ต์๋ค์ ํ๊ท , ์ต๋, ์ต์ ์ฐ๋ด์ ์ถ๋ ฅteaches ํ ์ด๋ธ2
๋จผ์ SQLD ๋ ธ๋ญ์ด ์ฑ ์ ์ ์ฒด์ ์ผ๋ก ํ๋ฒ + ํ๋ฆฐ๊ฒ๋ง ๋ค์ -> ์ด 2ํ๋ ์งํํ์ต๋๋ค.๋ชจ๋ฅด๋ ๋ฌธ์ ๋ค์ ๋ฐ์ดํฐ ์ ๋ฌธ๊ฐ ํฌ๋ผ ์นดํ์์ ์ ๋ง ๋ง์ด ๋์์ ์ป์์ต๋๋ค ๐๐๋ฐ์ดํฐ ์ ๋ฌธ๊ฐ ํฌ๋ผ ์นดํํ๋ฉด์ ์์ํ ๊ฐ๋ ๋ค์ด ๊ฝค๋ง๊ธธ๋ ์ ์ ๋ฐฐ SQL ๊ฐ๋ฐ์ ์ฑ ๋ ๋ค๋ฆ๊ฒ ์ฐธ๊ณ ํ์ต๋
3.1 Database LanguagesDBMS๋ ์ ์ ์์ ์์ฌ์ํต์ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ฅผ ์ ๊ณตํด์ผํ๊ณ , ์ฌ์ฉ์๋ ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ์๊ตฌ์ฌํญ์ ํํ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด ๋ถ๋ฅ - ๊ธฐ๋ฅ์ ๊ด์ DDL : Data Definition LanguageDML : Data Manip
m1๋งฅ ์ฌ์ฉ, gradle ๊ธฐ์ค์ค๋นํ ๊ฒ : ์คํ๋ง ํ๋ก์ ํธ, ec2 ์์ฑํ๊ณ ํ๋ก์ ํธ์ ์ฐ๊ฒฐ -> ์ถํ์ ๊ธ์ฐ๋๋ก ํ๊ฒ ์๋์ค์ ๋ค์ ๋ณผ ์ ์๋๋ก ์ต๋ํ ์์ธํ ์จ๋ณด๊ฒ ์1\. Dockerfile ์์ฑ๊ฒฝ๋ก ์ฐธ๊ณ ์์ ๋ด์ฉ์ Dockerfile์ ๋ฃ์ด์ฃผ๋๋ก ํ์jarํ์ผ
์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ ์คํ๋ง๋น์ด ์คํ๋ง ์ปจํ ์ด๋์ ์์๊ณผ ํจ๊ป ์์ฑ๋์ด์ ์คํ๋ง์ด ์ข ๋ฃ๋ ๋๊น์ง ์ ์ง๋๋ค๊ณ ํ์ตํ๋ค โ ์ด๊ฒ์ ์คํ๋ง ๋น์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๊ธํค ์ค์ฝํ๋ก ์์ฑ๋๊ธฐ ๋๋ฌธโ ์ค์ฝํ : ๋น์ด ์กด์ฌํ ์ ์๋ ๋ฒ์์คํ๋ง์ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ค์ฝํ ์ง์์ฑ๊ธํค : ๊ธฐ๋ณธ ์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ํ์ด๋, ๋คํธ์ํฌ ์์ผ์ฒ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ ์ ํ์ํ ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ํด๋๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ์์ ์ ์ฐ๊ฒฐ์ ๋ชจ๋ ์ข ๋ฃํ๋ ์์ ์ ์งํํ๋ ค๋ฉด, ๊ฐ์ฒด์ ์ด๊ธฐํ์ ์ข ๋ฃ ์์ ์ด ํ์ํ๋ค.ApplicationContext ac ๋์ Configurable
์์กด๊ด๊ณ ์ฃผ์ ์ ํฌ๊ฒ 4๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์์์ฑ์ ์ฃผ์ ์์ ์ ์ฃผ์ (setter ์ฃผ์ )ํ๋ ์ฃผ์ ์ผ๋ฐ ๋ฉ์๋ ์ฃผ์ ์์ฑ์ ์ฃผ์ ์ด๋ฆ ๊ทธ๋๋ก ์์ฑ์๋ฅผ ํตํด์ ์์กด๊ด๊ณ๋ฅผ ์ฃผ์ ๋ฐ๋ ๋ฐฉ๋ฒ์ง๊ธ๊น์ง ์งํํ๋ ๋ฐฉ๋ฒ์ปดํฌ๋ํธ ์ค์บ์ โ ์คํ๋ง ๋น ๋ฑ๋กํ ๋ ์์ฑ์ ํธ์ถ โ ์ด๋ @Autowired
์ง๊ธ๊น์ง๋ ์คํ๋ง ๋น ๋ฑ๋กํ ๋ @Bean์ด๋ <bean'> ๋ฑ์ ํตํด์ ๋ฑ๋กํ์โ ๋ฑ๋กํ ๊ฒ ์์ญ, ์๋ฐฑ๊ฐ๊ฐ๋๋ฉด ๋ฑ๋กํ๊ธฐ ๊ท์ฐฎ๊ณ ์ค์ ์ ๋ณด๋ ์ปค์ง๊ณ ๋๋ฝ ๋ฐ์โ ์ค์ ์ ๋ณด๊ฐ ์์ด๋ ์๋์ผ๋ก ์คํ๋ง ๋น์ ๋ฑ๋กํ๋ ์ปดํฌ๋ํธ ์ค์บ์ด๋ผ๋ ๊ธฐ๋ฅ ์ ๊ณต๋ ์์กด๊ด๊ณ๋ ์๋์ผ๋ก ์ฃผ
์คํ๋ง์ ํ์์ด ๊ธฐ์ ์ฉ ์จ๋ผ์ธ ์๋น์ค ๊ธฐ์ ์ ์ง์ํ๊ธฐ ์ํด ํ์๋๋ถ๋ถ์ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํต ์ฌ๋ฌ ๊ณ ๊ฐ์ด ๋์์ ์์ฒญ์ ํจ๊ณ ๊ฐ๋ค์ด ์์ฒญํ ๋๋ง๋ค ๊ฐ์ฒด๊ฐ ๊ณ์ ์๋ก ์์ฑ๋จํ ์คํธ ์คํ์ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์์คํ๋ง ์๋
ApplicationContext๋ฅผ ์คํ๋ง ์ปจํ ์ด๋๋ผ๊ณ ํจApplicationContext๋ ์ธํฐํ์ด์ค์ โ ๋คํ์ฑ Onew AnnotationConfigApplicationContext(AppConfig.class); ์ด๋ถ๋ถ์ด ๊ตฌํ์ฒด์คํ๋ง ์ปจํ ์ด๋ ์์ฑnew Annot
์ ๋ ๊ธฐํ์ : ์๋น์ค ์คํ ์ง์ ์ ํ ์ธ ์ ์ฑ ์ ์ง๊ธ์ฒ๋ผ ๊ณ ์ ๊ธ์ก ํ ์ธ์ด ์๋๋ผ ์ข ๋ ํฉ๋ฆฌ์ ์ธ ์ฃผ๋ฌธ ๊ธ์ก๋น ํ ์ธํ๋ ์ ๋ฅ % ํ ์ธ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ถ์ด์. ์๋ฅผ ๋ค์ด์ ๊ธฐ์กด ์ ์ฑ ์ VIP๊ฐ 10000์์ ์ฃผ๋ฌธํ๋ 20000์์ ์ฃผ๋ฌธํ๋ ํญ์ 1000์์ ํ ์ธํ๋๋ฐ, ์ด๋ฒ
https://start.spring.io ์ฌ์ดํธ์์ ์คํ๋ง ํ๋ก์ ํธ ์์ฑproject : Gradle-GroovySpring Boot : ๊ฐ์ฅ ์ต์ ์์ ํ ๋ฒ์ (3.x) โ java 17 ์ด์, javax ํจํค์ง ์ด๋ฆ์ jakarta๋ก ๋ณ๊ฒฝ Langua