일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 조합
- java
- 필드 주입
- equals
- hashcode
- docker
- Test
- select_type
- 인덱스
- 바이너리 카운팅
- 테스트 코드
- AOP
- Spring
- redis
- 재정의
- static
- 생성자 주입
- cache
- VUE
- SQL
- lambda
- DI
- DDL
- KEVISS
- MSA
- jpa
- 열 속성
- StringBuilder
- stream
- jwt
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
Master-Replica 전환 후 Client의 인식오류 시나리오 Client 는 Master에는 Write, Replica에는 Read request를 날림 어떤 이유로 Master-Replica(Slave) 전환 Client 는 새로 바뀐 정보가 아닌 예전 Master/Replica 정보를 계속 참조하며 Write 가 불가하다는 메세지가 발생됨 실제 MSG : READONLY You can't write against a read only replica 해결책 도메인의 Routing 정책 헬스 정보를 토대로 Switch 하자 Cluster 환경에서는 꼭 Refresh Option 설정해주자클라이언트 빠르게 재부팅 Lettuce : ClusterTopologyRefreshOptions로 refresh..
null 리턴 나쁜점 코드를 읽는 사람 입장에서 복잡성을 만듭니다. null 값 하나로 문맥 정보를 추론해야하므로 개발자의 생산성이 떨어질 수 있습니다. 해결안 로그에 맥락 남기기 주석은 실제 코드가 아니므로, 로그에 맥락을 남겨 맥락을 쉽게 이해할 수 있도록 하는 것이 좋습니다. 예외 처리나 로깅을 통해 맥락을 코드에 명시적으로 드러내봅시다. class UserRepository { fun findByName(name: String): User { val result: User? = db.getUserBy(name) if (result == null) { throw IllegalStateException("""| |인사관리 시스템과 동기화 되지 않은 유저의 이름을 입력한 경우 이 메시지를 볼 수 있습니..
메서드를 사용하기 위해서는 인자에 사용된 도메인에 대한 지식을 가지고 있어야 합니다. 함수의 인자가 많을수록 팀원들이 도메인에 대한 지식을 습득하는 시간이 길어지게 되어 팀원들에게 민폐가 될 수 있습니다.해당 불상사를 예방하기 위해서 해당 글을 읽고 정리해볼려고 합니다. https://toss.tech/article/engineering-note-4 인자가 많은 메서드는 왜 나쁠까? 인자가 많은 메서드를 함께 리팩토링 하면서 코드 사용자 입장에서 코드 복잡성을 관리하는 방법을 알아봅니다. toss.tech 재전송, 메일 수신자 필터링, SMS 전송(fallback) 등 다양한 기능을 제공하는 메일 발송 기능을 예시로 들고 있습니다. 리펙토링 함께 사용하는 인자는 하나로 묶는다 관련 없는 것은 분리한다 가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tRIKM/btsFIjsL8vt/4rQnmKtpikRM5kLhkXBE30/img.png)
많은 양의 정산 데이터를 처리하기 위해 Spring Batch와 Spring JDBC(Oracle) 사용하는데, insert 과정에서 속도가 지연된다. 이를 해결하기 위해서 로그, TCP 패킷 확인, 디버깅 과정을 거쳐 원인을 찾아내고 해결하는 글을 보며 정리해본다. https://toss.tech/article/engineering-note-7 Spring JDBC 성능 문제, 네트워크 분석으로 파악하기 토스페이먼츠 정산 플랫폼에서 많은 양의 정산 데이터 처리 과정에서 생긴 지연 이슈를 처리한 방법을 소개해요. toss.tech 1. 상황 많은 양의 정산 데이터를 처리하기 위해 Spring Batch와 Spring JDBC(Oracle) 사용 중입니다. 여러 개의 데이터베이스 업데이트 명령을 한 번에 ..