일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Test
- 필드 주입
- Spring
- jpa
- stream
- equals
- SQL
- StringBuilder
- 생성자 주입
- DDL
- redis
- lambda
- VUE
- 열 속성
- jwt
- 바이너리 카운팅
- docker
- MSA
- hashcode
- 테스트 코드
- java
- DI
- 조합
- cache
- AOP
- select_type
- static
- KEVISS
- 인덱스
- 재정의
- Today
- Total
목록테크 블로그 리뷰 (19)
백엔드 개발자 블로그
토스 기술블로그 글을 참고하여 정래한 글입니다. 1. Redis 과부하 문제1-1 Universal Data 문제Universal Data = 모든 유저가 동일하게 보이는 데이터Local Cache를 사용해서 서버 캐싱 부담 줄여주기Redis Pub/Sub기능을 사용해서 비동기식으로 Local Cahe 빠른 캐시 초기화가 가능 1-2 User-spcific Data 문제User-speific Data = 유저별로 다르게 보이는 데이터 데이터를 저장할 때 압축해서 저장하기 2. 동시성 제어RedLock 분산락으로 동시성 문제 방지 3. DB 과부하 방지3-1 Kafak 비동기처리3-2 Redis Increment 커맨드3-3 Redis 캐싱 활용4. 중복 API 요청4-1 연속 중복 API 제거4-2 자..
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) 사용 중입니다. 여러 개의 데이터베이스 업데이트 명령을 한 번에 ..