โ๏ธ Today I Learned(TIL)/๐ฑ ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ71 [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 10 ์ค๋ ํ ๊ณต๋ถ ๐ง ํ ํ๋ก์ ํธ ์งํ์ฃผ๋ฌธ ์์ฑ API ์์ฑ์ต์ ์ฃผ๋ฌธ ๊ธ์ก์ ๋์ง ๋ชปํ๋ ์์ธ ์ฒ๋ฆฌ์คํ/๋ง๊ฐ ์๊ฐ์ด ์ง๋๋ฉด ์ฃผ๋ฌธ์ด ๋ถ๊ฐ๋ฅํ ์์ธ ์ฒ๋ฆฌ์ฃผ๋ฌธ ์ํ ๋ณ๊ฒฝ API ์์ฑ๋ฐฐ๋ฌ ์๋ฃ, ์ทจ์๋ ์ฃผ๋ฌธ์ ๋ํ ์ํ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ ์์ธ ์ฒ๋ฆฌ์ฃผ๋ฌธ ์ํ๋ฅผ ์ ๋จ๊ณ๋ก ๋๋์๊ฐ๋ ์์ฒญ ๋ถ๊ฐ๋ฅ ์์ธ ์ฒ๋ฆฌHTTP ๋ฉ์๋๋ฅผ PUT์์ PATCH๋ก ์์ ์๋น์ค Layer์์ ์ง์ ์ฒ๋ฆฌํ๋ ์์ธ๋ฅผ GlobalExceptionHandler๋ฅผ ํ์ฉํด์ ์์ธ ์ฒ๋ฆฌERD์ ๊ฐ ํ ์ด๋ธ์ ์๋ ์ปฌ๋ผ๋ช ์ ์ข ๋ ์ง๊ด์ ์ผ๋ก ์ดํดํ ์ ์๊ฒ ์์ ์งํํ๋ ๋ถ๋ถ Pull Request ์คํ๋ชฐ๋๋ ๋ด์ฉEnum ๊ฐ์ ์ฐ์ ์์๋ฅผ ๋น๊ตํ ์ ์๋ค!ordinal( )๋ฅผ ํ์ฉํด์ ์ฐ์ ์์๋ฅผ ๋น๊ตํ ์ ์๋ค.LocalTime ํ์ ์ isBefore, isA.. 2025. 1. 8. [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 9 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ Java 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ5๋ถ ๊ธฐ๋ก ๋ณด๋ ์ธ์ ๋ฃ๊ธฐํ๋ก์ ํธ ์ค๊ฐ์ค๊ฐ ๊ธฐ๋ก์ ํด๋๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค.๋์ค์ ๋ณด๊ณ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค.S.A ์์ฑ์์ด์ด ํ๋ ์ ์์ฑERD Diagram ์์ฑAPI ๋ช ์ธ์ ์์ฑ ์ค๋ ํ๋ฃจ ์ ๋ฆฌ โ๏ธ์ค๋๋ถํฐ ํ ํ๋ก์ ํธ๊ฐ ์์๋์๋ค.๋ฐฐ๋ฌ์ฑ์ ์ฐธ๊ณ ํด์ API๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ฃผ์ ์๋ค.๋จผ์ ERD๋ฅผ ์์ฑํ๊ณ ์์ด์ดํ๋ ์์ ์์ฑํ๋ค. ์์ด์ดํ๋ ์๊ณผ ERD๋ฅผ ์์ฑํ๋ฉด์ ์ด๋ฒ ํ๋ก์ ํธ๊ฐ ์๊ฐ๋ณด๋ค ์ปค์ง ๋๋์ด์๋ค..๊ทธ๋์ ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ํด๋ผ ์ ์์๊น..?๋ผ๊ณ ์๊ฐํ์ง๋ง ๊ทธ๊ฒ๋ ์ ์ ๋์์ ๋ฅ์น ์์ด์ดํ๋ ์์ ์์ฑํ๋ ๊ฒ์ ์ง์คํ๋ค.์คํ์๋ 5๋ถ ๊ธฐ๋ก ๋ณด๋ ์ธ์ ์ ํตํด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋์ ๊ธฐ๋กํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ ๊ฒ์ธ์ง ๊นจ๋ซ๋.. 2025. 1. 7. [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 8 ์ค๋ ํ ๊ณต๋ถ ๐ง ๊ฐ์ธ ๊ณผ์ ๋ ๋ฒจ 5 - 2๊น์ง ๋ง๋ฌด๋ฆฌ ํ ์ ์ถ๊ณผ์ ํด์ค ์ธ์ ๋ฃ๊ธฐ์คํ ๋ค๋๋ฐ ์ธ์ ๋ฃ๊ธฐ์๊ฐ์ ๋ฏธ๋ ์ธ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์คํ ๋ค๋๋ฐ ์ธ์ - AOPAOP: ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.ํน์ ํ ๋๋ฉ์ธ์ ์ข ์๋์ง ์๊ณ ๋ด๊ฐ ์ด๋ค ์์ ์ ์ผ๊ด์ ์ผ๋ก ๋ชจ๋ ์ ์ฉํด์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.๊ณ์ฐ๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ํด์ ์ถ๋ ฅํด ์ฃผ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐ → ๋ชจ๋๊ฐ ํ์๋ก ํ๋ ๊ธฐ๋ฅ → AOP๋ก ๋ง๋ค์ด์ ์ถ๊ฐํ๋ฉด ํธํ๋ค.๋ํ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฉ์๋๊ฐ ์คํ๋์๋์ง ์คํ๋์ง ์์๋์ง ์ถ๋ ฅํด ์ฃผ๋ ๋ก๊ทธ๊ฐ๊ฐ์ ๋ฉ์๋๊ฐ ์ผ๋ง๋ ๊ฑธ๋ ธ๋์ง ์ฑ๋ฅ์ ๊ตฌํ ๋ ์ฌ์ฉํ ์ ์๋ค.๊ถํ ๊ฒ์ฌํ ๋ ์ฌ์ฉํ ์ ์๋ค.๊ทธ๋ ๋ค๋ฉด ์ด๋ค ๊ฒ์? ์ธ์ ? ์ด๋ป๊ฒ? → ์ง์ ํด์ค์ผ ํ๋ค.๋์ ์ง์ → PointCut์.. 2025. 1. 6. [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 4 ์ค๋ ํ ๊ณต๋ถ ๐ง ๊ฐ์ธ ๊ณผ์ ํ์ ๊ธฐ๋ฅ ๊ตฌํ์์ค๋ณ ํ์ต๋ฐ ์คํ ๋ค๋๋ฐ ์ธ์ ๋ฃ๊ธฐํ ์คํธ ์ฝ๋ ์ค์ต ์ธ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ๊ฐ์ธ ๊ณผ์ ํ์ ๊ธฐ๋ฅ ๊ตฌํํํฐ๋ ํผ๋๋ฐฑ ๋ฐ์ํด์ ์ฝ๋ ๋ฆฌํฉํ ๋งSetter๋ก ๋์ด ์๋ ๋ฉ์๋๋ช ๋ฐ๊พธ๊ธฐComment์ Todo Entity์ setMember, serTodo ๋ฉ์๋๋ฅผ updateMember, updateTodo๋ก ๋ฐ๊ฟ์ฃผ์๋ค.Comment ์์ฑ์์์ User์ Todo๋ฅผ ๊ฐ์ด ๋ฐ์ผ๋ฉด Comment๋ฅผ ์์ฑํ ๋ ๋ Entity๋ฅผ ๋ฃ์ง ์๋ ์ค์๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.update ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๋์ ์์ฑ์ ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ผ๋ก์จ ๋นผ๋จน๋ ์ค์๋ฅผ ๋ฐฉ์งํ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ ํ๋ค.์ถ๊ฐ์ ์ผ๋ก Todo์ ์์ฑ์์๋ Member๋ฅผ ๋ฐ์ ์ ์๋๋ก ์.. 2025. 1. 2. [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 3 ์ค๋ ํ ๊ณต๋ถ ๐ง ์ฌํ Spring 3์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ฌํ Spring ๊ฐ์ ๋ฃ๊ธฐ@PostConstruct, @PreDestroy annotation์ ํ์ค annotation์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.→ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ด๊ธฐํ, ์ข ๋ฃ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ @Bean์ initMethod, destroyMethod๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.Bean ScopeSpring ์ปจํ ์ด๋์์ Bean์ด ์ด๋ป๊ฒ ์์ฑ๋๊ณ ๊ด๋ฆฌ๋๋์ง๋ฅผ ์ ์ํ๋ ๊ฐ๋ ์ด๋ค.@ExceptionHandler annotation์ด ์ ์ธ๋์ง ์์ ์ปจํธ๋กค๋ฌ์ ์์ธ ์ฒ๋ฆฌ๋ ๋ถ๊ฐ๋ฅํ๋ค.Annotation์ฉ๋๋ฐํ ํ์์์ ์ฒ๋ฆฌ ๋ฒ์@ExceptionHandlerํน์ ์ปจํธ๋กค๋ฌ ๋ด์์ ๋ฐ์ํ.. 2025. 1. 1. [ TIL ] ์ฃผํน๊ธฐ ์ฌํ_Day 2 ์ค๋ ํ ๊ณต๋ถ ๐ง ์ฌํ Spring 1์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐ → ์ด์ ๋ค์๋ ๋ถ๋ถ๋ถํฐ ์ด์ด์ ์๊ฐ์ฌํ Spring 2์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ธฐํ ์คํธ ์ฝ๋ ์ด๋ก ์ธ์ ๋ฃ๊ธฐ์ฐ๋ง ๊ธฐ๋ ๋ผ๋์ค ๐คฉTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ฌํ Spring ๊ฐ์ ๋ฃ๊ธฐProxy ๊ฐ์ฒด๋ ์์์ฑ ์ปจํ ์คํธ๋ฅผ ํตํด ๋์์ ๋ฐ์์ผ๋ง ์ค์ Entity์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.LazyInitializationException → ์ค์ JPA ๊ฐ๋ฐ์์ ๊ฐ์ฅ ๋ง์ด ๋ง์ฃผ์น๋ Exception์์์ฑ ์ ์ด๋ ์ง์ฐ ๋ก๋ฉ, ์ฆ์ ๋ก๋ฉ๊ณผ๋ ์๋ฌด ๊ด๋ จ์ด ์๋ค.๊ฐ์๋ฅผ ๋ฃ๋ค๊ฐ ๊ถ๊ธํ๋ ์ FetchType.LAZY์ ๊ฐ๋ ์ก๊ธฐFetchType.LAZY: ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ก ์ ๊ทผํ ๋ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ด๋ค. ๊ด๋ จ๋ Entity๋ฅผ ํธ์ถํ๊ธฐ ์ ๊น์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐํ.. 2024. 12. 31. ์ด์ 1 2 3 4 5 6 ยทยทยท 12 ๋ค์