글을 작성하게 된 계기 프로젝트에서 Git Rebase 와 Squash Merge 를 사용해 히스토리를 깔끔하게 관리하고 싶었습니다. 이 과정에서 충돌이 발생했는데, 왜 발생했는지, 어떻게 해결했는지에 대해 정리하기 위해 글을 작성하게 되었습니다. Git도 꽤 익숙해졌다고 생각했는데, 생각지도 못한 이슈가 발생해서 꽤 재미있었네요. 😆...
Git History 관리 중 발생한 충돌 해결기
비동기 환경에서 MDC의 문맥 복사 어떤 원리로 동작할까?
1. 글을 작성하게 된 계기 비동기에서 왜 MDC의 문맥 복사가 필요한지, 어떻게 동작하는지 한 번 더 정리하기 위해 글을 작성하게 되었습니다. 이를 이해하기 위해서는 ThreadLocal과 람다에 대해 알고 있어야 합니다. 2. 왜 비동기를 사용할 때, 문맥을 복사해야 할까? 비동기에서 MDC의 문맥을 복사 해서 처리하는 해...
애플리케이션의 타임존은 어떻게 관리하는 것이 좋을까?
1. 글을 작성하게 된 계기 서버/애플리케이션과 데이터베이스의 Timezone 설정 관리 에 대해 고민하면서 생각을 정리하기 위해 글을 작성하게 되었습니다. 2 시간대 관리 정책 먼저 서버/애플리케이션과 데이터베이스에서 Timezone을 관리하는 정책 케이스를 간단히 살펴보겠습니다. Server: UTC / Databas...
서버 리소스 변경으로 인한 롤링 배포 실패 해결기
1. 글을 작성하게 된 계기 프로젝트에서 ECS 컨테이너 스펙을 다운그레이드 한 후, 배포가 실패 했습니다. 원인이 복합적이라 정말 찾기 까다로웠는데요, 어떤 문제가 있었고, 어떻게 해결했는지를 정리하기 위해 글을 작성하게 되었습니다. 프로젝트는 ECS/EC2, 테라폼(Terraform)을 사용했으며, 이를 기준으로 설명하겠습니다. ...
분기문으로 개발 환경을 구분하는 것은 좋은 방법일까?
1. 글을 작성하게 된 계기 분기문으로 개발 환경을 구분하는 것은 좋은 방법인가? 에 대해 생각을 정리하기 위해 글을 작성하게 되었습니다. @Service @RequiredArgsConstructor public class ExampleService { private final String env; public void met...
톰캣 설정과 TPS 처리량이 관계가 있을까?
1. 글을 작성하게 된 계기 톰캣 설정값 변경 에 따른 TPS 처리량 변화 를 테스트하며 알게된 내용을 기록하기 위해 글을 작성하게 되었습니다. server: tomcat: accept-count: ${ACCEPT_COUNT} max-connections: ${MAX_CONNECTIONS} connection-timeo...
인프라를 사용할 때, 민감정보를 어떻게 관리해야 할까?
1. 글을 작성하게 된 계기 프로젝트를 진행하며 민감한 정보를 어떻게 관리했는지에 대해 정리하기 위해 글을 작성하게 되었습니다. 2. 문제 상황 AWS MongoDB를 사용하는 것은 비용이 부담 되었고, 과거 RDB를 설치형으로 운영한 경험 이 있었기 때문에, 데이터베이스를 직접 설치해 운영 하기로 의사결정이 됐습니다. 비용 부...
서버의 포트 범위를 증가시키면 어떤 이점이 있을까?
글을 작성하게 된 계기 Linux 포트 범위 증가에 대한 아티클을 읽으며 이해되지 않던 부분을 정리하기 위해 글을 작성하게 되었습니다. 1. 어떤 점이 궁금했을까? 아티클 중간에 서버의 포트 번호 범위를 증가시키면 이점을 얻을 수 있다 는 내용이 나오는데, 이 부분에서 의문점이 생겼습니다. 사용자 요청을 처리하는 서버 포트는 고정 돼 ...
엔디언(Endian)은 무엇일까?
글을 작성하게 된 계기** 데이터베이스 인터널스를 읽으며 엔디언(Endianess) 에 대해 알게 되었는데, 이를 정리하기 위해 글을 작성하게 되었습니다. 2. 엔디언 엔디언(Endianess)은 멀티 바이트 데이터가 메모리에 저장/전송될 때 바이트의 순서를 정의하는 방식 입니다. 데이터의 바이트가 어떤 순서로 배열될지를 결정하여 시스...
SonarCloud 지표를 커스텀 해보자
1. 글을 작성하게 된 계기 소나 클라우드(SonarCloud)의 지표를 조절하는 방법에 대해 기록하기 위해 글을 작성하게 되었습니다. 2. 지표 조절 소나 클라우드를 사용하면 Quality Profile 에서 Rule을 조절할 수 있습니다. 소나 클라우드가 정한 규칙이 아닌, 우리가 정한 규칙을 적용할 수 있기 때문에, 프로젝트에 맞...