Today I Learned(TIL)/์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ55 ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 7 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ๊ฐ์ธ ๊ณผ์ Lv0 - API ๋ช ์ธ์ ์์ฑ๊ฐ์ธ ๊ณผ์ Lv0 - ERD ์์ ์์ฒญ & ์์ฑ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ ๋ฏธ๋ ์ธ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ค๋ ์งํํ ๊ฐ์ธ ๊ณผ์ ์ํฉ์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค!์ผ์ ๊ด๋ฆฌ ์ฑ API ๋ช ์ธ์์ผ์ ์์ฑDescription : ์๋ก์ด ์ผ์ ์ ์์ฑํฉ๋๋ค.์์ฒญ ์ ์ผ์ ์ ์ ๋ชฉ, ๋ด์ฉ, ์์ฑ์๋ช , ๋น๋ฐ๋ฒํธ, ์์ฑ์ผ, ์์ ์ผ์ ํฌํจํ๋ฉฐ, ์๋ฒ์์ ๊ฐ ์ผ์ ์ ๊ณ ์ ID๋ฅผ ์์ฑํฉ๋๋ค.HTTP Method : POSTEndpoint : /todosRequest Body{ "title" : "์ ๋ชฉ", "content" : "๋ด์ฉ", "writer" : "์์ฑ์๋ช ", "passwor.. 2024. 12. 5. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 6 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ์์ค๋ณ ํ์ต๋ฐ - ์คํ ๋ค๋๋ฐ ๋ฃ๊ธฐ์คํ๋ง 6์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ๊ฐ๋ ์ ๋ํด์๋ ๋ฐ๋ก ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด ๋ฌ์ ํํฐ๋๊ป ์ฐพ์๊ฐ์ ์ป์ ๊ฟํ์ ์ ์ด์ผ๊ฒ ๋ค!๋ฌธ๋ฒ์ ์ธ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ฝ๋๋ฅผ ๊ณ ์ณ์ ํด๊ฒฐํ ์ ์๋ค.ํ์ง๋ง ๋ฌธ๋ฒ์ ์ธ ์๋ฌ๊ฐ ์๋ ๋ค๋ฅธ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ด๋ ๊ฒ ํด๊ฒฐํ ์ ์๋ค..gradle, .idea, build ํ์ผ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ์ ์์ผ๋ฏ๋ก ํด๋๋ฅผ ์ญ์ ํ ๋ค์ ์คํํด ๋ณธ๋ค.๊ทธ๋๋ ๋์ง ์๋๋ค๋ฉด ์บ์๋ฅผ ์ญ์ ํ ํ ๋ค์ ์คํํด ๋ณธ๋ค.IDE ์์ฒด์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ์ข ์ข ์์ด์ IntelliJ ์ฌ๋ถํ , ์ปดํจํฐ ์ฌ๋ถํ ๋ฑ๋ฑ ์ข ๋ฃ ํ ๋ค์ ์ ์ํ๊ณ ์คํํ๋ฉด ๋๋ ๊ฒฝ์ฐ๋ ๋ง๋ค.์ค์ต ๊ฐ์๋ฅผ.. 2024. 12. 4. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ธฐ์ ์ ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ธฐ์ ์ ์ฉํด ๋ณด๊ธฐ 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. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 10 ๋ค์