๊ฐ๋ ์ ๋ฆฌ ์์ ์ค(70)
-
[Data Base] Transaction
๐ Transaction ์ด๋? Data Base์ ์ํ๋ฅผ ๋ณํ ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ๋ชจ๋ ์ํ ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ์ธ ๊ฒ์ด์์. ๐ ํน์ง ํธ๋์ญ์ ์ Data Base ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์ ์ฌ์ฉ์๊ฐ ์์คํ ์ ๋ํ ์๋น์ค ์๊ตฌ ์ ์์คํ ์ด ์๋ตํ๊ธฐ ์ํ ์ํ ๋ณํ ๊ณผ์ ์ ์์ ๋จ์ ํ๋์ ํธ๋์ญ์ ์ commit ๋๊ฑฐ๋, Rollback ๋์ด์ผ ํ๋ค. ๐ ์ฑ์ง ๐ Atomicity(์์์ฑ) ํธ๋์ญ์ ์ ์ฐ์ฐ์ Data Base์ ๋ชจ๋ ๋ฐ์๋๋ ์ง ์๋๋ฉด ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค. ํธ๋์ญ์ ๋ด์ ๋ชจ๋ ๋ช ๋ น์ ๋ฐ๋์ ์๋ฒฝํ ์ํ๋์ด์ผ ํ๋ฉฐ, ๋ชจ๋๊ฐ ์๋ฒฝํ ์ํ๋์ง ์๊ณ , ์ด๋ ํ๋๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํธ๋์ญ์ ์ ๋ถ ์ทจ..
2021.10.05 -
[์ฐ๋ฆฌ์ง ์น ์๋น์ค ์ ์ ํ๋ก์ ํธ] Cannot Resolve Method '{Method Name}' in ~~~
๐ฅ ๋ฌธ์ ๋ฐ์ ๋ฌธ์ ๋ Jpa๋ก ์์ฑํ Repository์์ CRUD ์์ ์ ํด์ผ ํ๋๋ฐ, ๊ฐ๊ฐ์ Method๋ฅผ ์ฐพ์ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ด์์. ๐ก ํด๊ฒฐ ๋ฐฉ๋ฒ Spring Data JPA์ ๋ํ ์์กด์ฑ์ ์ ๋๋ก ์ถ๊ฐ ํด ์ฃผ์ง ์์ ๋ฐ์ํ๋ ๋ฌธ์ ์๋ต๋๋ค. ์์ ๊ฐ์ด Gradle.build์ ๋ด์ฉ์ ์ถ๊ฐํ๋ ์ ์ ํด๊ฒฐ ํ ๊ฒ์ด์์. ์ฃผ๋ํ๋์ ๊ธ์ด ๋ง์์ ๋์ จ๋์? ๊ตฌ๋ ๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋๊ธ ๊ทธ๋ฆฌ๊ณ ๋ฐฉ๋ช ๋ก์ ์ฃผ๋ํ๋์๊ฒ ๋ง์ ํ์ด ๋ฉ๋๋ค.
2021.09.30 -
[์ฐ๋ฆฌ์ง ์น ์๋น์ค ์ ์ ํ๋ก์ ํธ] Repository Test Could not autowire. No Beans of 'SystemManualRepository' type found.
๐ฅ ๋ฌธ์ ๋ฐ์ ์์ ๊ฐ์ด Jpa๋ก ๋ง๋ Repository ๊ฐ์ฒด๋ฅผ DIํ ์ ์๋ค๋ Error๊ฐ ๋ฐ์ํ ๊ฒ์ด์์. ๐ก ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฒ์์๋ ์ด๋ ๊ฒ Repository๋ฅผ ๊ตฌ์ฑํ์์๋๋ฐ, ํน์๋ ํ๋ ๋ง์์ ์๋์ ๊ฐ์ด ํด ๋ณด์๋ต๋๋ค! ์ด๋ ๊ฒ @Repository๋ฅผ ์ค์ ํ ๊ฒ์ด์์. ๊ทธ๋ฌ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ต๋๋ค! ์ฃผ๋ํ๋์ ๊ธ์ด ๋ง์์ ๋์ จ๋์? ๊ตฌ๋ ๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋๊ธ ๊ทธ๋ฆฌ๊ณ ๋ฐฉ๋ช ๋ก์ ์ฃผ๋ํ๋์๊ฒ ๋ง์ ํ์ด ๋ฉ๋๋ค.
2021.09.30 -
[Java] ๋คํ์ฑ(polymorphism)
๐ ๋คํ์ฑ์ด๋? ์์๊ณผ ํจ๊ป ๊ฐ์ฒด์งํฅ ๊ฐ๋ ์ ์ค์ํ ํน์ง ์ค ํ๋์ธ ๋คํ์ฑ์ ์์๊ณผ ๊น์ ๊ด๊ณ๊ฐ ์๋ ๊ฒ์ด์์. ๊ฐ์ฒด์งํฅ ๊ฐ๋ ์์ ๋คํ์ฑ์ด๋ '์ฌ๋ฌ ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฅ๋ ฅ'์ ์๋ฏธํ๊ณ , ์๋ฐ์์๋ ํ ์๋ฃํ ํ์ ์ ์ฐธ์กฐ ๋ณ์๋ก ์ฌ๋ฌ ํ์ ์ ๊ฐ์ฒด๋ฅผ ์ฐธ๊ณ ํ ์ ์๋๋ก ํจ์ผ๋ก ๋คํ์ฑ์ ํฌ๋ก๊ทธ๋จ์ ์ผ๋ก ๊ตฌํํ ๊ฒ์ด์์. ์ฆ, ์กฐ์ Class ์๋ฃํ ํ์ ์ ์ฐธ์กฐ ๋ณ์๋ก ์์ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ํ์๋ค์ธ ๊ฒ์ด์์. Tv Class์ CaptionTv Class๊ฐ ์ด์ ๊ฐ์ด ์ ์๋์ด ์๋ค๊ณ ํ ๋, ๋ Class ๊ฐ์ ๊ด๊ณ ๊ทธ๋ฆผ์ ์๋์ ๊ฐ์ ๊ฒ์ด์์. Tv Class์ CaptionTv Class๋ ์๋ก ์์ ๊ด๊ณ์ ์๊ณ , ์ด ๋ Class์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋์ ..
2021.09.18 -
[JAVA] Class Method(static Method)์ ์ธ์คํด์ค Method
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฐ์ ๊ธฐ์ด ์ค ํ๋์ธ Static์ ๋ํด์ ์ ๋ฆฌ ํด ๋ณผ ๊ฒ์ด์์. ์ด ๋ด์ฉ์ ์๋ฐ์ ์ ์์ ์ฐธ๊ณ ํ์๋ต๋๋ค! ๐ ํด๋์ค ๋ฉ์๋(static ๋ฉ์๋)์ ์ธ์คํด์ค ๋ฉ์๋ ๋ฉ์๋ ์์ static์ด ๋ถ์ ๊ฒ์ด ์๋ค๋ฉด Class ๋ฉ์๋์ด๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ์คํด์ค(๊ฐ์ฒด) ๋ฉ์๋์ธ ๊ฒ์ด์์. ํด๋์ค ๋ฉ์๋๋ ํด๋์ค ๋ณ์์ฒ๋ผ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ ๋ 'ClassName.MethodName(๋งค๊ฐ ๋ณ์)' ํ์์ผ๋ก ํธ์ถ์ด ๊ฐ๋ฅํ ๊ฒ์ด์์. ํ์ง๋ง ์ธ์คํด์ค ๋ฉ์๋๋ ๋ฐ๋์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ๋ง ํธ์ถํ ์ ์๋ ๊ฒ์ด์์. ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ๊ฒฝ์ฐ์ static์ ์ฌ์ฉํ์ฌ ํด๋์ค ๋ฉ์๋๋ก ์ ์ํ๋ ๊ฒ์ผ๊น์? ํด๋์ค๋ 'Data(๋ณ์)์ Data์ ๊ด๋ จ๋ ๋ฉ์๋์ ์งํฉ'์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ํด๋์ค ๋ด..
2021.09.13 -
[JAVA] Optional<T>
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค! ์ค๋์ Optional์ด๋ผ๋ ๊ธฐ๋ฅ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๋ฒ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ผ ๋ฐ๋ก ์์ํ๊ฒ ์ต๋๋ค! ๐ Optional์ด๋? ๐ T Type ๊ฐ์ฒด์ ๋ํผํด๋์ค - Optional ๋ํผ ํด๋์ค์ ๋ํด ์ ๋ชจ๋ฅด์ ๋ค๋ฉด ๋ํผ ํด๋์ค ํผ๋์ ๊ด์ฌ์ ์ฃผ์ธ์! Public final class Optional{ private final T value;// T ์๋ฃํ ํ์ ์ ์ฐธ์กฐ ๋ณ์ Value ์ ์ธ .... } ์ฌ๊ธฐ์ T ํ์ ์ ๋ชจ๋ ํ์ ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์๊ณ , Null ๋ํ ์ ์ฅํ ์ ์๋ ๊ฒ์ด์์. ๐ Optional์ ์ฌ์ฉํ๋ ์ด์ ๐ Null์ ์ง์ ๋ค๋ฃจ๋ ๊ฒ์ ์ํํ๊ธฐ ๋๋ฌธ ๐ฌ Null์ ์ ๋ชป ๋ค๋ฃจ๊ฒ ๋๋ฉด Null Point Exception์ด ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ์ด์์! ๊ทธ..
2021.06.23