본문 바로가기

분류 전체보기160

도커 이미지 디스크 초과 에러 아침부터 예상치 못한 에러를 만나 시간을 허비했다. 할 일 많은데! failed to register layer: Error processing tar file(exit status 1): write /usr/local/opt/sam-cli/lib/python3.7/site-packages/samcli/local/docker/__pycache__/exceptions.cpython-37.pyc: no space left on device CDK로 빌드 중에 에러가 떠서 뭐지 이게 했는데 도커 이미지 디스크 용량이 초과해서 발생한 에러였다. 해결방법 애초부터 그냥 무지막지한 용량을 할당해준다. 안쓰는 친구들을 지워준다. docker system prune​ 2022. 2. 17.
레거시 코드를 대하는 자세 원래 서비스와 완전히 분리가 일단 불가능한 상태에서 한 feature가 MSA로 나가는 상황. feature에서 데이터가 create되면 그 함수에서 event를 만들어 카프카로 보내게 만들었다. 그리고 그 카프카 이벤트를 MSA의 feature가 컨슘하게 되고 데이터는 MSA의 DB로 저장되게 된다. create 발생, event 생성 -> Kafka -> MSA -> DB 일단 이 방식으로 잘 동작하는 건 확인했고, 이제 모든 CRUD 에서 이 로직이 동작하게끔 해야하는데 여기서 문제가 생겼다. 레거시 코드가 너무 거대했다. update 함수가 수십개에 달하고 그 update 로직들이들이 어디있는지 모두 찾기가 어려웠다. 업데이트 로직이 컨트롤러에도 있고, 뭔가 알 수 없는 서비스에서도 업데이트가 일.. 2022. 1. 27.
Docker로 Postgresql 설치 환경 : m1 맥북 로컬에 Postgresql을 설치하는 과정에서 password를 오타라도 냈는지 아무리 해도 실행이 안됐다. 고쳐보려고 하다가 그냥 도커로 쓰기로 결정했다. 처음부터 도커로 할 걸. 1. 원하는 디렉토리에 docker-compose.yml 작성 version: "3" services: db: image: postgres:latest container_name: postgres restart: always ports: - 5432:5432 environment: POSTGRES_USER: "${User}" POSTGRES_PASSWORD: "${Password}" volumes: - ./pg_data:/var/lib/postgresql/data - ./init-user-db.sh:/do.. 2022. 1. 21.
실무 프로젝트는 도대체 왜 이렇게 디렉토리 뎁스가 깊을까? 결론부터 말하자면 잘 모르겠다. 모르겠다. 이번에 MSA를 시니어 분들의 참여 없이 맡게 되고 진행하면서 기존 프로젝트를 심도 있게 분석하는데, 도저히 알다가도 모르겠다. 어느 정도 이해를 하면서 넘어가다가도 어느 순간 알수가 없다. controller가 있는데 base controller라는건 도대체 왜 있을까? controller면 컨트롤러인거지 왜 new controller -> create controller가 있고 base controller가 또 있을까? 굳이 나눠야 했을까? 꼭 나눠야했다면 이유가 무엇일까? route가 있으면 있는건데 왜 register라는 녀석을 거칠까? 이런 식이다. 회사에서 백엔드는 대부분 Go 언어로 되어있는데, 그 중에 Gin이라는 프레임워크를 쓴다. 그래서 Gin.. 2021. 12. 24.
DB에 쿼리 날리지 마라 입사한지 이제 정확히 50일 되었다. 처음으로 새로운 feature를 담당하여 맡게 되었고, 컨플루언스에 로드맵을 정리하여 올렸다. 아침 스크럼 이후, 슬랙에 피드백을 위해 로드맵을 올렸는데 CTO님이 내 글을 보시고 바로 댓글을 다셨다. "이거 일을 좀 더 크게 벌리는게 좋을거 같네요" 이유는 group by와 order by 쿼리를 DB로 바로 날리는 식으로 짰는데, 이렇게 하면 DB 서버의 부담이 크기 때문이었다. 물론 데이터가 작다면 상관없겠지만... 그럼 도대체 어떻게 해결해야하는가? 그래서 내가 'Redis에 일별로 데이터를 저장하고 데이터 정리는 백엔드에서 하는게 어떨까요?'라고 제안했다. 그랬더니 그게 엘라스틱 서치에서의 aggeregation 방식이라고 하셨다(뭔지 몰랐다). 그것도 좋긴.. 2021. 12. 20.