반응형

전체 글 467

2025-07 회고록

6월은 건너띄고 7월 회고록을 작성해본다.일회원통합 프로젝트를 어느정도 마무리 했다. 내가 백로그로 남겨놓았던 업무들을 처리하려고 했고, 미처 파악하지 못한 이슈들을 처리하느라 곤욕이었다.7월동안 내가 주로 했던 업무적인 고민들을 기억이 가물가물하지만 기억나는 것만 적어보자면 다음과 같고 고민했던 것들을 해결하기 위해 여러가지 해보았다.TBD(Trunk Based Development)기반으로 브랜치를 운영 중인데 어떤 프로세스를 만들어야 실제 배포 나가면 안될 것을 개발자가 놓치지 않고 미리 한 번 고민해보고 Feature Flag 를 달던가의 행동을 할 수 있도록 할 수 있을까데이터 불일치한 상황에서 어떤 기준으로 마이그레이션을 진행해야할까sentry 에 올라오는 이슈들을 어떻게 흘려보내지지 않고 관..

etc/회고록 2025.07.29

2025-05 회고록 (레벨 프로모션, 회원통합 프로젝트)

한동안 글이나 회고를 쓰지 못했는데 오랜만에 작성해본다..프로모션회사에는 GL3부터 GL8까지 레벨이 있다. (이 레벨이 실제로 어떻게 작용하는지는 아직 잘 모르겠지만ㅋㅋ..) 최근 GL~에서 GL~로 프로모션되었다.돌이켜보면 내 일, 남의 일을 크게 가리지 않고 적극적으로 일하려 했고, 문제 해결을 위해 깊이 고민해보고 적용하려고 했던 점들이 운 좋게 좋은 결과로 이어진 것 같다. 프로모션 후 크게 달라진 것은 없다. 평소처럼 열심히.. 잘... 일하려고 노력 할 뿐이다.회원 통합 프로젝트야놀자, 인터파크, 트리플 세 서비스의 회원을 통합하는 프로젝트였다. 2024년 11월 설계를 시작해 2025년 1월부터 개발했고, 2025년 4월 21일에 배포하며 잘 마무리했다.운 좋게 아키텍처 설계부터 개발까지 ..

etc/회고록 2025.05.24

AWS Elastic Beanstalk 생성 시 The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist

EB 생성 시 예전과 동작이 달라져서 시간을 버린김에 공유 차 글을 작성해본다. EB 를 사용할 일이 있어서 AWS 계정 하나 생성해서 EB 생성을 해보려고 하니 아래 오류가 계속 발생하면서 생성이 되지 않았다. > The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. 좀 찾아보니 아래와 같이 예전엔 자동으로 aws-elasticbeanstalk-ec2-role 에 관련 권한을 자동으로 포함시켜주었으나 언제부터인지는 모르겠으나 앞으론 EC2 role 을 생성해서 등록시켜줘야 한다. 링크 아래 사진이 EB 생성 시의 메뉴인데 [EC2 인스턴스 프로파일] 부분이 optional 로 선..

개발/Infra 2024.03.23

테크스펙 문서를 작성해보면서 느낀점

어쩌다보니 테크스펙 문서들을 작성해보게 되었다. 테크스펙 문서가 어떤 문서인지에 대해서는 다른 곳에서 너무 잘 이야기해주고 있어서 패스하겠다. https://blog.banksalad.com/tech/we-work-by-tech-spec/ https://infraeng.dev/tech-spec/ 처음엔 누군가 시켜서 작성을 하게 되었다가 장점을 맛본 뒤에는 누가 시키지 않더라도 테크 스펙 문서를 작성하게 되었다. 아래에 상황들에 놓여져 있다보니 자연스럽게 테크 스펙 문서를 작성하게 되었던 것 같다. 특정 서비스의 히스토리와 관련 도메인을 아는 사람들이 퇴사하면서 나 밖에 남지 않았고 서비스를 개선하려거나 기능 추가를 하려고 할 때, 관련 배경이나 도메인을 모르는 팀원들이 대부분이라 리뷰를 받기 어렵다. ..

[Kafka] retention.ms 가 지난 message 가 읽히는 이유

배경 kafka 에 특정 토픽에서 메세지를 찾는 중 retention 기간이 지난 메세지가 존재하는 것을 확인했다. 토픽 리텐션 기간을 확인 시 retention.ms=604800000 를 확인할 수 있었는데 해당 ms -> day 로 변환 시 7일이다. 그러나 09-11 에 조회 시 08-29 메세지가 조회되어서 관련해서 검색하게 되었다. 수행 명령어 ./kafka-topics --bootstrap-server ... --describe --topic .... 수행 결과 - segment.ms = 604800000 (7일) - delete.retention.ms = 86400000 (1일) - segment.bytes = 1073741824 (1GB) - retention.ms = 604800000 (..

개발 2023.09.13

maxLifeTime 무제한으로 발생한 이슈

요즘 대부분의 회사에서는 MSA 로 서비스가 구성되어 있다. 그렇다면 자신이 담당하고 있는 서비스에서 다른 서비스에 API 를 호출하게 되는 경우가 필연적으로 생기게 되는데 이 때 파악하지 못한 곳에서 문제가 생겨 훗날 기억하기 위해 글을 작성하게 되었다. WebClient 기반으로 A 서비스의 API 를 호출하고 있다고 가정해보자. 이 때 A 서비스는 AWS EB 기반의 blue-green 으로 구성되어 있으며, beanstalk 의 environment url (active.beanstalk.com) 은 route 53 에 test.com 에 연결되어 있다고 해보겠다. A 서비스가 배포할 시에 각 blue - green 환경의 url 을 스왑하는 형식으로 구성되어 있다. 좀 더 쉽게 표현하면 다음과 ..

개발/Spring 2023.05.16

kiensis, spark, ....

chatGPT 라는 놈을 요즘 아주 유용하게 사용하고 있다. 예전엔 질문들을 할 곳이 마땅치도 않아서 블라인드 it 엔지니어 게시판에 질문글 올리거나 했는데.. 나는 로그를 수집하고 프로세싱 과정을 거쳐 어딘가에 저장을 할텐데 어떤 식으로 처리를 하는지 일련의 과정들이 궁금해졌다. kinesis 와 spark 를 사용한다는 전제 하에 얘기를 해보겠다. kinesis 와 spark 는 어쨌든 실시간 데이터를 분석하고 처리하는 시스템인데.. 큰 차이점이 있다고 한다. kinesis 는 aws 에서 제공하는 서비스로 실시간 데이터를 수집하고 처리 및 분석을 하고 spark 는 오픈소스이며 대량의 데이터를 병렬로 처리할 수 있다고 한다. 그리고 데이터를 처리하기 위해 여러 라이브러리들을 제공하는 것으로 보인다...

private method 까지 테스트 코드를 짜야할까

먼저, 테스트 코드를 짜기 쉬운 코드가 있고 테스트 코드를 짜기 어려운 코드가 있을 것 같다. 내가 생각하는 테스트 코드를 짜기 쉬운 코드는 다음과 같다. 막상 생각하려니 잘 생각이 나질 않는다. SOLID 원칙을 적절히 지킨 코드 하나의 메소드가 여러 행위를 구현하지 않은 코드 (1의 연장선이겠지만) 길이가 짧은 메소드 (2의 연장선이겠지만) if, else 가 적은 메소드 만약 이런 코드가 존재한다면 어떻게 테스트 코드를 짜야할까? fun register(request: Request) { checkValidPhone(request.phone) checkValidEmail(request.email) checkAgreeMarketing(request.isAgreeMarketing) val user = ..

'적정 소프트웨어 아키텍처' 리뷰

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. http://www.yes24.com/Product/Goods/109748333 적정 소프트웨어 아키텍처 - YES24 소프트웨어 개발자를 위한 실용 가이드이 책은 소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해 www.yes24.com 다 읽진 못했다. 우선 이 책을 고른 이유는 아키텍처를 설계를 할 때 어떤 부분을 조심해서 해야하는지와 어떻게 설계를 하는지 구체적으로 알고 싶어서 이 책을 골랐다. 아키텍처 설계할 때 그동안 이런 식으로 설계하면 이럴 때는 편하고 이럴 때는 불편할텐데 그래도 편한게 더 크고 먼 미래를 봤을 때도 괜찮으니 이렇게 설계를 해야..

etc/책 리뷰 2022.07.01
반응형