โ๏ธ Today I Learned(TIL)/๐ฑ ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ71 ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ธฐ์ ์ ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ธฐ์ ์ ์ฉํด ๋ณด๊ธฐ 1. ํ๋ก์ ํธ ์ธํ ๋๋ณด๊ธฐbuild.gradle ์์กด์ฑ ์ถ๊ฐJDBC Template, MySQL ์์กด์ฑ ์ถ๊ฐ// MySQLimplementation 'mysql:mysql-connector-java:8.0.28'// JDBC Templateimplementation 'org.springframework.boot:spring-boot-starter-data-jdbc'ํ๋ก์ ํธ ์ค์ IntelliJ Database ์ฐ๋ํ๊ธฐCREATE TABLE memo( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '๋ฉ๋ชจ ์๋ณ์', title VARCHAR(100) NOT NULL COMMENT '์ ๋ชฉ', conte.. 2024. 12. 4. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_3 Layer Architecture Layered Architecture ์ค์ต0. ํ๋ก์ ํธ ์์ฑ๋๋ณด๊ธฐํ๋ก์ ํธ ์์ฑ๋ฉ๋ชจ์ฅ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋์ ๋์ผํ๊ฒ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.๊ผญ ํ์ธํด์ผ ํ ์ฌํญName: layeredLanguage: JavaBuild system: Gradle - GroovyJDK: 17ํ๋ก์ ํธ ๊ฒฝ๋ก(Location)๋ ์ด์ ์ ๋ง๋ค์๋ workspace ํด๋๋ก ์ง์ ์ด๊ธฐ ํด๋์ค ์์ฑMemo@Getter@AllArgsConstructorpublic class Memo { private Long id; private String title; private String contents; public void update(MemoRequestDto dto) { this.title = dto.getT.. 2024. 12. 4. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 5 ์ค๋ ํ ๊ณต๋ถ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ์คํ๋ง 5์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌCRUD ์ค์ต๋ฉ๋ชจ๋ฅผ CRUD ํ ์ ์๋ Web Application1. ๋ฉ๋ชจ ์์ฑ ๊ธฐ๋ฅ C2. ๋ฉ๋ชจ ๋จ๊ฑด ์กฐํ ๊ธฐ๋ฅ R3. ๋ฉ๋ชจ ์ ์ฒด ์์ ๊ธฐ๋ฅ U4. ๋ฉ๋ชจ ๋จ๊ฑด ์ญ์ ๊ธฐ๋ฅ D1. ์๊ตฌ ์ฌํญ ๋ถ์ ๋ฐ ์ค๊ณ๋๋ณด๊ธฐ๋ฉ๋ชจ์ฅ API ์๊ตฌ ์ฌํญํต์ ๋ฐ์ดํฐ ํํ๋ JSON์ด๋ค.๊ฐ๊ฐ ๋ฉ๋ชจ๋ ์๋ณ์(id), ์ ๋ชฉ(title), ๋ด์ฉ(contents)์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.๋ฉ๋ชจ CRUD ๊ธฐ๋ฅ์ด ํ์ํ๋ค.HTTP API ์ค๊ณ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ํน๋ณํ ๊ธฐ๋ฅ์ ์ ์ธํ ๋๋ถ๋ถ์ API๋ CRUD ์์ ์ ์ํํ๋ค.์ค๊ณ ์์HTTP MethodPOST : CREATEGET : READPUT, PATCH : UPDA.. 2024. 12. 3. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 4 ์ค๋ ํ ๊ณต๋ถ ๐ง์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌํ๋ก๊ทธ๋๋จธ์ค_์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด๋ฏธ๋ ๊ณผ์ (์ธํฐํ์ด์ค) ๋ธ๋ก๊ทธ ์ ๋ฆฌํํฐ๋์ด ๋ด์ฃผ์ จ๋ ์ถ๊ฐ ๊ณผ์ ์งํ ๊ณผ์ ๋ธ๋ก๊ทธ ์ ๋ฆฌ์คํ๋ง 3, 4์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐJava ๊ธฐ๋ณธํธ ๊ฐ์_๋คํ์ฑ 1 ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java)๋ฌธ์์ด ๋ด์์ ์ํ๋ ๋ฌธ์์ด๋ก ๋ณํํ๊ธฐ ์ํด์๋ Map์ ๊ฐ๋ ๊ณผ replaceAll( ) ๋ฉ์๋์ ๊ฐ๋ ์ ์๊ณ ์์ด์ผ ํ๋ค!Map์ ๋ณํํ๊ณ ์ถ์ ๋ฌธ์์ด๊ณผ ๋ณํํ ๋ฌธ์์ด์ key-value๋ก ๋ฌถ์ด์ฃผ๊ณ , ๋ฐ๋ณต๋ฌธ์ ํตํด Map์ ์ํํ๋ฉด์ replaceAll( ) ๋ฉ์๋๋ฅผ ํ์ฉํด์ ๋ฌธ์์ด์ ๋ชจ๋ ๋ณํํ๋ค.๋๋ ์ด๊ฒ์ ๊ฒ ์๊ฐํด ๋ณด๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ์๋๋ฐ ์ ์ ์ฐ์ผ๋ก ๊ฐ๋ ๊ฒ ๊ฐ์์ GPT์๊ฒ ํํธ.. 2024. 12. 2. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 2 ์ค๋ ํ ๊ณต๋ถ ๐ง์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ๊ธฐ์ด Spring ๊ฐ์_2์ฃผ์ฐจ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธPostman๊ฐ๋ฐ์๋ค์ด HTTP ์์ฒญ์ ๋ง๋ค๊ณ , ์๋ฒ๋ก๋ถํฐ์ ์๋ต์ ํ์ธํ๋ฉฐ, API์ ๊ธฐ๋ฅ์ ํ ์คํธํ๊ณ ๋๋ฒ๊น ํ ์ ์๊ฒ ํด ์ค๋ค.ํ๋ ์์ํฌ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ฐํธํ๊ฒ ๋ง๋ค๊ธฐ ์ํ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ด๋ค.์ผํ๊ธฐ ์ํ ํ์ ์ ๊ณตํ๋ค. ๊ฐ๋ฐ์๋ ํด๋น ํ์์ ์ผ์ ํด์ผ ํ๋ค.๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํ์ํ ํด๋์ค, ํจ์ ๋ฑ์ ๋ชจ์ ๋์ ์ฝ๋์ ๋ชจ์์ ์๋ฏธํ๋ค.๋์๊ด์ ์๋ ์ฑ ์ฒ๋ผ ๊ฐ๋ฐ์๊ฐ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ๋ ํ์์ ๋ฐ๋ผ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ๊ฐ์ ธ๋ค ์ธ ์ ์๋ ์ผ์ข ์ ๋๊ตฌ ์ญํ ์ ์ํํ๋ค.Annotation์ฝ๋์ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์ฃผ๋ก ์ฝ๋์ ํน.. 2024. 11. 30. ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด_Day 17 ์ค๋ ํ ๊ณต๋ถ ๐ง ์ค์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌJava ๊ธฐ๋ณธํธ ๊ฐ์_์ ๊ทผ ์ ์ด์์คํํค์ค์คํฌ ๊ณผ์ ๋ณด์ & ๋์ ๊ธฐ๋ฅ Lv1 ์๋TIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ ๊ทผ ์ ์ด์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋น ํด๋์ค ์ธ๋ถ์์ ํน์ ํ๋๋ ๋ฉ์๋์ ์ ๊ทผํ๋ ๊ฒ์ ํ์ฉํ๊ฑฐ๋ ์ ํํ ์ ์๋ค.ํ๋์ ์ง์ ์ ๊ทผํด์ ์ํ๋ ๊ฐ์ ์ค์ ํ๋ ๋ฌธ์ ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ๋์ ์ธ๋ถ ์ ๊ทผ์ ๋ง์ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.์ ๊ทผ ์ ์ด์ ์ข ๋ฅprivate : ๋ชจ๋ ์ธ๋ถ ํธ์ถ์ ๋ง๋๋ค.default(package-private) : ๊ฐ์ ํจํค์ง ์์์ ํธ์ถ์ ํ์ฉํ๋ค.protected : ๊ฐ์ ํจํค์ง ์์์ ํธ์ถ์ ํ์ฉํ๋ค. ํจํค์ง๊ฐ ๋ฌ๋ผ๋ ์์ ๊ด๊ณ์ ํธ์ถ์ ํ์ฉํ๋ค.public :.. 2024. 11. 28. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 12 ๋ค์