안녕하세요. 지식공유자 최상용입니다.
많은 오픈소스에 기여한 경험이 있는 현직 백엔드 개발자입니다.
- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor
Khóa học
Đánh giá khóa học
- Hệ thống sự kiện đến trước được phục vụ trước để học thông qua thực hành
- Hệ thống sự kiện đến trước được phục vụ trước để học thông qua thực hành
- Tìm hiểu về giao dịch phân tán thông qua hệ thống đặt hàng
- Cách giải quyết các vấn đề đồng thời bằng hệ thống kiểm kê
- Cách giải quyết các vấn đề đồng thời bằng hệ thống kiểm kê
Bài viết
Hỏi & Đáp
@Lock(OPTIMISTIC)이 필요한 이유
안_님 안녕하세요.말씀하신것처럼 업데이트시 감지될때만 필요하다면 @Version 만 붙여도 무방할것같습니다.강의에서 Lock 을 사용한것은 별다른 이유는 없고 현재 OPTIMISTIC Lock 실습중인것을 나타내고싶었습니다.OptimisticLockException 이 발생하지 않는것은 self-invocation 문제로 transactional 이 정상적으로 동작하지 않는듯합니다.readWithOptimisticLock 메소드를 외부 클래스로 구현하신 후에 그 클래스를 이용하도록 변경해보시면 될것 같아요.그래도 안되시면 전체소스를 깃헙에 올려주신 후에 주소를 알려주시면 다운받아서 확인해보도록 하겠습니다.감사합니다.
- 0
- 2
- 35
Hỏi & Đáp
get_lock 의 timeout이 3000초 이던데 너무 긴거 아닌가요?
슷파맨님 안녕하세요.날카로운 질문주셔서 감사합니다.소스코드를 작성할때 3초를 의도한것이 맞습니다. 보통 시간을 나타내는 파라미터들의 기준이 ms 라 무의식적으로 3000이라고 작성을 하였네요 ㅠㅠ말씀하신대로 3000초는 너무 길기때문에 보통 비즈니스에서는 3초정도를 많이 사용합니다.다만, 로직이 오래걸리는 경우에는 시간을 넉넉하게 주어야 합니다!좋은 질문 주셔서 감사합니다.
- 0
- 2
- 53
Hỏi & Đáp
안되서 스트레스 받아요
안녕하세요.어떤부분에서 막히시는건지 알 수 있을까요?
- -1
- 2
- 44
Hỏi & Đáp
DataSource Hikari 사용 이유
송선권님 안녕하세요.왜 Hikari Pool을 사용하신건지 궁금합니다.Spring boot 2.0 부터 기본으로 히카리를 사용하도록 변경되었습니다. 이를 맞추기 위해 사용했습니다.Maximum Connection Pool Size를 40개로 설정하신 이유도 궁금합니다.혹시 이 질문을 하신 배경을 조금만 더 설명해주실 수 있으실까요?그러면 궁금하신 점에 대해서 말씀드릴 수 있을것같습니다 감사합니다!
- 0
- 2
- 64
Hỏi & Đáp
saveAndFlush 사용 이유 문의
아라레님 안녕하세요! 인프런 AI 가 남겨준 글로 해결이 되셨을까요!? 만약 해결이 안되었다면 댓글 부탁드려용!
- 0
- 3
- 59
Hỏi & Đáp
비관적 락 VS 네임드 락
springYam 님 안녕하세요.예시와 같이 한개의 Table 만 수정하는경우에는 말씀하신대로 비관적락이 더 효율적일 수 있을듯합니다.다만, 실무에서는 재고수정을 할 때 한개의 Table만 수정하는 일은 드물거라고 생각합니다.여러개의 Table 의 데이터가 수정될때는 여러 Table, 여러 raw 에 대해 락을 잡게 됩니다.이렇게되면 데드락에 취약해질 수 있다는 단점이 있고, 롱트랜잭션으로 이어질 수 있는 가능성이 열리게 됩니다.이러한점으로 인하여 여러 Table 의 데이터를 수정할때에는 네임드락을 통한제어나, redis 를 통한 분산락이 효율적일 수 있습니다.
- 0
- 3
- 108
Hỏi & Đáp
application.yaml 에 redis 정보
힝훙항님 안녕하세요! 답변이 늦어져서 죄송합니다.설정을 하지않으면 기본값으로 세팅이 되기때문에 동작을 하는것입니다!별도의 서버 host를 사용해야 한다면 그때는 세팅을 해야합니다.
- 0
- 2
- 65
Hỏi & Đáp
왜 클래스 이름에 Facade 가 붙나요?
황은경님 안녕하세요.Facade 라는 이름을 붙인것은 Facade 패턴을 사용했기때문에 붙였습니다.Facade 패턴에 대해서 공부해보시면 좋을것같고 현업에서는 Facade 객체가 필요할때 선언하면서 붙여서 사용합니다!
- 0
- 2
- 127
Hỏi & Đáp
@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.
황은경님 안녕하세요.@Transacitonal 은 트랜잭션을 관리하는것이지 동시성제어를 하는것이 아닙니다.또한, 말씀하신대로 AOP 객체가 생성되고 그 객체가 가지고 있는 모니터락으로 제어한다고 하여도 실무에서는 최소 2대이상의 서버를 운용하기때문에 동시성문제가 발생할 수밖에 없습니다. (객체는 서버에서만 유효하기때문입니다)또 질문있으시면 올려주세요! 감사합니다
- 0
- 2
- 147
Hỏi & Đáp
@modifying 이용한 동시성 제어
ililil 님 안녕하세요.@Modifying 가 뭔지 몰라서 찾아보았는데요.해당 어노테이션은 동시성제어라기보다는 데이터의 수정이 있는것을 명시하기위해서 사용하는것 같아요. 어노테이션이랑은 무관하게 락은 여러스레드가 하나의 데이터에 접근하여 문제가 발생될것이라고 예상하는 지점에 진입하기 전에 걸고 데이터의 수정을 완료한 이후에 해제하면 될것같습니다.감사합니다.
- 0
- 2
- 113