์๋ ํ์ธ์. ์ง์๊ณต์ ์ ์ต์์ฉ์ ๋๋ค.
๋ง์ ์คํ์์ค์ ๊ธฐ์ฌํ ๊ฒฝํ์ด ์๋ ํ์ง ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๋๋ค.
- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor
Courses
Reviews
- How to solve simultaneity issues through inventory system
- First-come, first-served event system that you learn through practice
- First-come, first-served event system that you learn through practice
- Understanding Distributed Transactions through Order Systems
- How to solve simultaneity issues through inventory system
Posts
Q&A
ํ๋ฆ์ ๋ฆฌ ์ ๊ฐ ์ดํดํ๊ฒ ๋ง๋์?
์๋น๊ตฐ๊ฐ๋์ด๋ ์๋ ํ์ธ์. ๋ต๋ณ์ด ๋ฆ์ด์ ์ฃ์กํฉ๋๋ค.์ดํดํ์ ๋ฒ์ ์ด ๋ง์ต๋๋ค!์ถ๊ฐ์ ์ผ๋ก ์๋์ ๊ฐ์๊ฒ๋ค์ด ๊ฐ๋ฅํฉ๋๋ค.๋ ๋์ ์ฒ๋ฆฌ๋์ด ํ์ํ๋ค๋ฉด ์ฑ๋ฅํ ์คํธ๋ฅผ ํด๋ณด๋ฉฐ ์ ์ ํ ์ปจ์๋จธ ๊ฐ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.๋๋ฌด ๋ง์ ์์ฒญ์ด ์จ๋ค๋ฉด ๋๊ธฐ์ด์ ๋ง๋ค์ด ์ง์ ์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
- 0
- 2
- 21
Q&A
@Lock(OPTIMISTIC)์ด ํ์ํ ์ด์
์_๋ ์๋ ํ์ธ์.๋ง์ํ์ ๊ฒ์ฒ๋ผ ์ ๋ฐ์ดํธ์ ๊ฐ์ง๋ ๋๋ง ํ์ํ๋ค๋ฉด @Version ๋ง ๋ถ์ฌ๋ ๋ฌด๋ฐฉํ ๊ฒ๊ฐ์ต๋๋ค.๊ฐ์์์ Lock ์ ์ฌ์ฉํ๊ฒ์ ๋ณ๋ค๋ฅธ ์ด์ ๋ ์๊ณ ํ์ฌ OPTIMISTIC Lock ์ค์ต์ค์ธ๊ฒ์ ๋ํ๋ด๊ณ ์ถ์์ต๋๋ค.OptimisticLockException ์ด ๋ฐ์ํ์ง ์๋๊ฒ์ self-invocation ๋ฌธ์ ๋ก transactional ์ด ์ ์์ ์ผ๋ก ๋์ํ์ง ์๋๋ฏํฉ๋๋ค.readWithOptimisticLock ๋ฉ์๋๋ฅผ ์ธ๋ถ ํด๋์ค๋ก ๊ตฌํํ์ ํ์ ๊ทธ ํด๋์ค๋ฅผ ์ด์ฉํ๋๋ก ๋ณ๊ฒฝํด๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ์์.๊ทธ๋๋ ์๋์๋ฉด ์ ์ฒด์์ค๋ฅผ ๊นํ์ ์ฌ๋ ค์ฃผ์ ํ์ ์ฃผ์๋ฅผ ์๋ ค์ฃผ์๋ฉด ๋ค์ด๋ฐ์์ ํ์ธํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 46
Q&A
get_lock ์ timeout์ด 3000์ด ์ด๋๋ฐ ๋๋ฌด ๊ธด๊ฑฐ ์๋๊ฐ์?
์ทํ๋งจ๋ ์๋ ํ์ธ์.๋ ์นด๋ก์ด ์ง๋ฌธ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.์์ค์ฝ๋๋ฅผ ์์ฑํ ๋ 3์ด๋ฅผ ์๋ํ๊ฒ์ด ๋ง์ต๋๋ค. ๋ณดํต ์๊ฐ์ ๋ํ๋ด๋ ํ๋ผ๋ฏธํฐ๋ค์ ๊ธฐ์ค์ด ms ๋ผ ๋ฌด์์์ ์ผ๋ก 3000์ด๋ผ๊ณ ์์ฑ์ ํ์๋ค์ ใ ใ ๋ง์ํ์ ๋๋ก 3000์ด๋ ๋๋ฌด ๊ธธ๊ธฐ๋๋ฌธ์ ๋ณดํต ๋น์ฆ๋์ค์์๋ 3์ด์ ๋๋ฅผ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.๋ค๋ง, ๋ก์ง์ด ์ค๋๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ์๋ ์๊ฐ์ ๋๋ํ๊ฒ ์ฃผ์ด์ผ ํฉ๋๋ค!์ข์ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 56
Q&A
์๋์ ์คํธ๋ ์ค ๋ฐ์์
์๋ ํ์ธ์.์ด๋ค๋ถ๋ถ์์ ๋งํ์๋๊ฑด์ง ์ ์ ์์๊น์?
- -1
- 2
- 57
Q&A
DataSource Hikari ์ฌ์ฉ ์ด์
์ก์ ๊ถ๋ ์๋ ํ์ธ์.์ Hikari Pool์ ์ฌ์ฉํ์ ๊ฑด์ง ๊ถ๊ธํฉ๋๋ค.Spring boot 2.0 ๋ถํฐ ๊ธฐ๋ณธ์ผ๋ก ํ์นด๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ฅผ ๋ง์ถ๊ธฐ ์ํด ์ฌ์ฉํ์ต๋๋ค.Maximum Connection Pool Size๋ฅผ 40๊ฐ๋ก ์ค์ ํ์ ์ด์ ๋ ๊ถ๊ธํฉ๋๋ค.ํน์ ์ด ์ง๋ฌธ์ ํ์ ๋ฐฐ๊ฒฝ์ ์กฐ๊ธ๋ง ๋ ์ค๋ช ํด์ฃผ์ค ์ ์์ผ์ค๊น์?๊ทธ๋ฌ๋ฉด ๊ถ๊ธํ์ ์ ์ ๋ํด์ ๋ง์๋๋ฆด ์ ์์๊ฒ๊ฐ์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค!
- 0
- 2
- 73
Q&A
saveAndFlush ์ฌ์ฉ ์ด์ ๋ฌธ์
์๋ผ๋ ๋ ์๋ ํ์ธ์! ์ธํ๋ฐ AI ๊ฐ ๋จ๊ฒจ์ค ๊ธ๋ก ํด๊ฒฐ์ด ๋์ จ์๊น์!? ๋ง์ฝ ํด๊ฒฐ์ด ์๋์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ ค์ฉ!
- 0
- 3
- 67
Q&A
๋น๊ด์ ๋ฝ VS ๋ค์๋ ๋ฝ
springYam ๋ ์๋ ํ์ธ์.์์์ ๊ฐ์ด ํ๊ฐ์ Table ๋ง ์์ ํ๋๊ฒฝ์ฐ์๋ ๋ง์ํ์ ๋๋ก ๋น๊ด์ ๋ฝ์ด ๋ ํจ์จ์ ์ผ ์ ์์๋ฏํฉ๋๋ค.๋ค๋ง, ์ค๋ฌด์์๋ ์ฌ๊ณ ์์ ์ ํ ๋ ํ๊ฐ์ Table๋ง ์์ ํ๋ ์ผ์ ๋๋ฌผ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.์ฌ๋ฌ๊ฐ์ Table ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๋๋ ์ฌ๋ฌ Table, ์ฌ๋ฌ raw ์ ๋ํด ๋ฝ์ ์ก๊ฒ ๋ฉ๋๋ค.์ด๋ ๊ฒ๋๋ฉด ๋ฐ๋๋ฝ์ ์ทจ์ฝํด์ง ์ ์๋ค๋ ๋จ์ ์ด ์๊ณ , ๋กฑํธ๋์ญ์ ์ผ๋ก ์ด์ด์ง ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ์ด๋ฆฌ๊ฒ ๋ฉ๋๋ค.์ด๋ฌํ์ ์ผ๋ก ์ธํ์ฌ ์ฌ๋ฌ Table ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋์๋ ๋ค์๋๋ฝ์ ํตํ์ ์ด๋, redis ๋ฅผ ํตํ ๋ถ์ฐ๋ฝ์ด ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
- 0
- 3
- 113
Q&A
application.yaml ์ redis ์ ๋ณด
ํํํญ๋ ์๋ ํ์ธ์! ๋ต๋ณ์ด ๋ฆ์ด์ ธ์ ์ฃ์กํฉ๋๋ค.์ค์ ์ ํ์ง์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ธํ ์ด ๋๊ธฐ๋๋ฌธ์ ๋์์ ํ๋๊ฒ์ ๋๋ค!๋ณ๋์ ์๋ฒ host๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ฉด ๊ทธ๋๋ ์ธํ ์ ํด์ผํฉ๋๋ค.
- 0
- 2
- 68
Q&A
์ ํด๋์ค ์ด๋ฆ์ Facade ๊ฐ ๋ถ๋์?
ํฉ์๊ฒฝ๋ ์๋ ํ์ธ์.Facade ๋ผ๋ ์ด๋ฆ์ ๋ถ์ธ๊ฒ์ Facade ํจํด์ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์ ๋ถ์์ต๋๋ค.Facade ํจํด์ ๋ํด์ ๊ณต๋ถํด๋ณด์๋ฉด ์ข์๊ฒ๊ฐ๊ณ ํ์ ์์๋ Facade ๊ฐ์ฒด๊ฐ ํ์ํ ๋ ์ ์ธํ๋ฉด์ ๋ถ์ฌ์ ์ฌ์ฉํฉ๋๋ค!
- 0
- 2
- 132
Q&A
@Transactional ์ผ๋ก ์ธํ ๋์์ฑ ๋ฌธ์ ๋ฐ์ ์์ธ์ด ๊ถ๊ธํฉ๋๋ค.
ํฉ์๊ฒฝ๋ ์๋ ํ์ธ์.@Transacitonal ์ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ๋๊ฒ์ด์ง ๋์์ฑ์ ์ด๋ฅผ ํ๋๊ฒ์ด ์๋๋๋ค.๋ํ, ๋ง์ํ์ ๋๋ก AOP ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ๊ทธ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ํฐ๋ฝ์ผ๋ก ์ ์ดํ๋ค๊ณ ํ์ฌ๋ ์ค๋ฌด์์๋ ์ต์ 2๋์ด์์ ์๋ฒ๋ฅผ ์ด์ฉํ๊ธฐ๋๋ฌธ์ ๋์์ฑ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ฐ์ ์์ต๋๋ค. (๊ฐ์ฒด๋ ์๋ฒ์์๋ง ์ ํจํ๊ธฐ๋๋ฌธ์ ๋๋ค)๋ ์ง๋ฌธ์์ผ์๋ฉด ์ฌ๋ ค์ฃผ์ธ์! ๊ฐ์ฌํฉ๋๋ค
- 0
- 2
- 153