๐ Java & Kotlin & Spring53 [Springboot] IntelliJ๋ฅผ ์ด์ฉํ์ฌ Springboot + Mysql + Jpa + Lombok ํ๋ก์ ํธ Setup ํ Rest API ์๋ฒ CRUD ํ ์คํธ (MacOS) ๋ณธ ๊ธ์ Springboot์ Mysql + Jpa + Lombok ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ ๊ธ์ ๋๋ค. ํด๋น ๋ธ๋ก๊ทธ์ ์กด์ฌํ๋ ๋ชจ๋ Springboot + Jpa ๊ด๋ จ ๊ธ์ ์ด ๊ธ์ ์กด์ฌํ๋ ๋ด์ฉ์ ์ ์ ๋ก ํฉ๋๋ค. ์์ Springboot Project ์์ฑ Gradle ์์กด์ฑ ์ถ๊ฐ application.properties ์ค์ db table ์์ฑ Lombok ์ค์ ์ฝ๋ ๊ตฌํ (model, controller, repository ๋ ํฌ์งํ ๋ฆฌ ์์ฑ) CRUD ํ ์คํธ ์์๋ IntelliJ IDE๊ฐ ๊น๋ ค์๋ค๋ ์ ์ ํ์ ์งํ๋๋ค. Springboot Project ์์ฑ ์ฐ๋ฆฌ๋ Springboot ํ๋ก์ ํธ๋ฅผ ์ด์ฉํด์ JPA๋ฅผ ํ ์คํธํ ๊ฒ์ด๋ฏ๋ก Springboot ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค. ์ง์ S.. 2020. 8. 27. [Spring & Springboot] Generic์ ์ด์ฉํ์ฌ ๋ชจ๋ Request, Response์ Header์ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ์๋ฆฌ์ฆ๋ Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์.์ ์ด์ด์ง๋ ๊ธ ์ ๋๋ค. Generic(์ ๋๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ๊ธ์ ์ค์ ์ ๊ดํ ๊ธ์ด๊ณ ์ ๋๋ฆญ์ ๋ํ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ 1๋ฒ ๋งํฌ๋ฅผ ํตํด ์ถฉ๋ถํ ์์งํ๊ณ ์ค์๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ ๋ค๋ฆญ์ ์ค์ ์์ ์ฌ์ฉํด๋ณด์. ์ง๋ ์๊ฐ์ ๋ฐฐ์ด ์ ๋ค๋ฆญ์ ์ด์ด์ ์ด์ ์ค์ ์์ ์ฌ์ฉํด๋ณด๊ธฐ ์ํด ํ๊ฒฝ ๊ตฌ์ฑ์ ํด๋ณด์. Jpa + Springboot + Mysql ์ฐ๋์ ๋ํด์๋ ์ฐ๋ฆฌ๋ ๋ชจ๋ Http ํต์ ์ Header๋ผ๋ ๊ณตํต ๋ถ๋ถ์ด ๋ค์ด๊ฐ์ผ ํ๋ ๊ฒ์ ์๊ณ ์๋ค. ์๋๋ผ๋ฉด request, response ์ setHeader๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด ํค๋๋ฅผ ๊ด.. 2020. 8. 27. [Java ์ฌํ] Generic(์ ๋ค๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. ์ด ์๋ฆฌ์ฆ๋ Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์.์ ์ด์ด์ง๋ ๊ธ ์ ๋๋ค. Generic(์ ๋๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ๊ธ์ ์ด๋ก ์ ๊ด๋ จํ ๊ธ์ด๊ณ ์ค์ ์์ ์ด๋ป๊ฒ ์ฐ์ด๋์ง ๊ถ๊ธํ์๋ค๋ฉด 2๋ฒ ๋งํฌ๋ฅผ ํด๋ฆญํด์ ํ์ธํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ค๋ ์์๋ณผ ๊ฒ์ ๋ฐ๋ก Generic(์ ๋๋ฆญ)์ผ๋ก ๋ถ๋ฆฌ๋ ๊ฒ์ด๋ค. ์ ๋๋ฆญ์ ์ฌ์ฉํ๋ ์ด์ ์ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์๊ฒ ๋๋ฐ ์ค์ ์์ ๋ค ํด๋์ค๋ฅผ ์ ๋๋ฆญ์ผ๋ก ์ง์ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋ ๊ถ๊ธํ๋ค๋ฉด ์ด๋ฒ ์๋ฆฌ์ฆ๊ฐ ํฐ ๋์์ด ๋์ง ์์๊น ์๊ฐํ๋ค. ์์ํด๋ณด์. Generic ์ ๋๋ฆญ์ Java 1.5 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ๋์์ผ๋ฉฐ ๋ญ ์ด๋ฐ ์ด์ผ๊ธฐ๋ ์ ์ ์ ์ด ๋๊ณ ์ ๋๋ฆญ์ด ๋ฌด์์ด๋ฉฐ ์ ์ ๋๋ฆญ์.. 2020. 8. 27. [Spring-Core] ์คํ๋ง์ ์ปค๋งจ๋ ๊ฐ์ฒด(Command Object)๋ฅผ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ์์๋ณด์. ์ค๋ ์์๋ณผ ๊ฒ์ Spring-Command Object์ด๋ค. ์ปค๋งจ๋ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด์๋ Spring์ ์ฌ์ฉํ๊ธฐ ์ ์ด๋ผ๋ ๊ฐ์ ์ ํ๊ณ ๋ถํธํจ์ ๋จผ์ ์๊ฐํด๋ณด๊ณ Spring์ด ์ด ๋ถํธํจ์ ์ด๋ป๊ฒ ํด๊ฒฐํด๋๊ฐ๋ ค๊ณ ํ๋์ง์ ๋ํด์ ์์๋ณด๋๋กํ์. ๋ถํธํจ : ๊ธฐ์กด์ Http ์์ฒญ ์ฐ๋ฆฌ๊ฐ ๋ง์ฝ request๋ก 100๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์. public String joinMember(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); String address = request.getParameter("addre.. 2020. 7. 30. [Java ์ฌํ] List ์ปฌ๋ ์ ์์ ์ฐธ์กฐ๋ณ์์ ํ์ ์ ์ด๋ค ๊ฒ์ผ๋ก ํด์ผํ ๊น? ์ค๋ ์์๋ณผ ๊ฒ์ ArrayList๋ LinkedList๋ฅผ ์ฌ์ฉํ ๋ ์ฐธ์กฐ ๋ณ์ ํ์ ์ ์ด๋ค ๊ฒ์ผ๋ก ํด์ผํ ๊น? ์ด๋ค. ์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด ํ์๋ ์๋ฐ๋ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ค์ํ ์ฝ๋๋ฅผ ๋ด์์๋๋ฐ, ๊ฐ์ ์ผ์ ์ํํ๋ ์ฝ๋ ์ด๋๋ผ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ง ๊ฒฝ์ฐ๋ฅผ ๋ณด์๋ค. ๊ทธ ์ค ๋ํ์ ์ธ๋ฐ ๋ฐ๋ก List ์ปฌ๋ ์ ์์์ ์ฐธ์กฐ๋ณ์ ํ์ ์ด๋ค. ์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ์ด ๋์ ์ฐจ์ด๋ฅผ ๋ช ํํ ๋ต๋ณ์ ํ ์ ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋ด ๊ธ์ ๋ณด์ง ์์๋ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ค๋ ์์๋ณผ ๋ด์ฉ์ด๋ค. ์ด ๋์ ์ฐจ์ด๋ฅผ ์์๋ณด๊ธฐ ์ ์ ๋คํ์ฑ์ด๋ผ๋ ๊ฐ๋ ๊ณผ ์ธํฐํ์ด์ค์ ๋ํ ์ด๋์ ๋ ์ดํด๊ฐ ์์ด์ผ ํ๋ค. ์ค๋์ ๋คํ์ฑ๊ณผ ์ปฌ๋ ์ ์ ๋ํ ๋ด์ฉ์ ์์๋ณด๋ ํฌ์คํ ์ด ์๋๋ฏ๋ก ์ํ์ฝ๋ฉ์ ๋คํ์ฑ ๊ฐ์๊ณผ ์ํ์ฝ๋ฉ์ ์ธํฐํ์ด์ค ๊ฐ์๋ฅผ ๋ด๋ณธ๋ค๋ฉด ์ดํด๊ฐ ๋น ๋ฅด๊ฒ ๋ ๊ฒ์ด๋ค.. 2020. 7. 29. [Java ์ฌํ] Java ์์ Comparable๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ. Java์์ comparator๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ ์๋ฐ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํ๋ค ๋ณด๋ฉด ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ์ ์ํํ ๋๊ฐ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์์๋ ์ ๋ ฌ์ ์ํด์ Arrays.sort() ์ static ๋ฉ์๋๋ ,Collections.sort()์ static ๋ฉ์๋๋ฅผ ์ ๊ณตํ์ง๋ง, ์ด๋ ๊ธฐ๋ณธ ์ ๋ ฌ์ธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ(๋ค์ฐจ์ ๋ฐฐ์ด์ ์ ๋ ฌ, ๊ฐ์ฒด ์ ๋ ฌ, ์กฐ๊ฑด ์ ๋ ฌ)์ ์ํํ๊ธฐ๋ ๋ถ๊ฐ๋ฅํ๋ค. ์ด ๋ถํธํจ์ ํด์ํด๊ธฐ ์ํด ๋ ๊ฐ์ง์ ์กฐ๊ฑด ์ ๋ ฌ ๋ฐฉ์์ด ์กด์ฌํ๋๋ฐ ๋ฐ๋ก Comparator, Comparable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ์ ๋ ฌ ๋ฉ์๋ ์ฌ์ ์์ด๋ค. ํ์ง๋ง ๋ ์ธํฐํ์ด์ค ๊ฐ์ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ฅธ ์ฐจ์ด๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ฐจ์ด๋ถํฐ ๋ช ํํ๊ฒ ์ง๊ณ ๋์ด๊ฐ์. Compara.. 2020. 2. 24. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ๋ค์