출처 주문 기록에 대해서 수십만건의 많은 데이터가 발행 돼 기존 기록 때문에 조회하는데 시간이 너무 많이 소요 돼 성능을 최적화 하는 방법을 찾는 중 아래와 같이 유용한 글을 읽고 퍼왔다. https://jaimemin.tistory.com/1913 [PostgreSQL] 월별로 DB 파티셔닝 예제 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을 진행했고 진행 jaimemin.tistory.com 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을..
분류 전체보기
이번에 물류 검수 앱을 개발하면서 전체적인 인프라를 AWS에 구축함에 따라 서비스에 필요한 모든 부분을 구성하게 되었던 경험에 대한 회고를 작성한다. 범위 스택 버전 디펜던시 프론트 Vue 3.1.x Vite 백엔드 SpringBoot 3.0.3 Gradle CICD Github Actions 로그 FastAPI, ELK Pydatic, Alembic 디비 RDS(postgresql) 15 AMQP Kafka Kafka Connector 처음 기획했던 인프라 구조도는 위와 같다. 전체적인 서비스를 기획하면서 개발 플로우를 어떻게 진행할지에 대한 고민이 많았다. 기존에 진행했던 방식은 3가지 브랜치를 운영하는 방식이었다. dev 브랜치: 개발을 진행하는 브랜치로써 머지 리퀘스트를 진행한 후 개발 서버에서 ..
Github Actions를 이용해 S3에 배포된 코드 압축 파일은 용량만 차지할 뿐 정말 쓸모가 없다. 백업 용도로 사용하기에도 적합하지 않다. 게다가 배포가 자주 이뤄질 수록 차지하는 용량은 매우 커지기 때문에 매일 S3 객체를 비워서 비용을 아낄 필요가 있어 람다 함수를 만들게 되었다. IAM 역할 만들기 일단 AWS 람다에서 사용할 IAM 역할을 만들어준다. IAM에서 역할을 선택한 후 역할 만들기를 클릭한다. 람다를 클릭해주고 다음으로 넘어간다. AmazonS3FullAccess를 추가해준다. AWSLambdaBasicExecutionRole 도 추가해주고 다음으로 넘어간다. 역할 이름과 설명을 적고, 정책이 제대로 추가되었는지 확인한 후 역할 생성을 클릭한다. LAMBDA 함수 만들기 AWS ..
출처: https://dev.classmethod.jp/articles/ec2tordsconnet-postglesql/ 목표 EC2로 PrivateSubnet에 있는 RDS에 접속하기 작업 포인트 SecurityGroup EC2인스턴스 내부에 DB서버 인스톨 준비 목록 VPC Public/Private Subnet(각1개) EC2 Intance RDS SecurityGroup VPC 구축 VPC생성부터 라우팅테이블 설정까지 따라하시면 됩니다. Security Groups ec2-sg 인바운드 유형 프로토콜 포트 소스 ssh TCP 22 myIP 아웃바운드 유형 프로토콜 포트 소스 모든 트래픽 .. .. 0.0.0.0/0 rds-sg 인바운드 유형 프로토콜 포트 소스 PostgreSQLl TCP 5432 ..
배포 개인 테스트 서버에서 dist-dev-n 브랜치 생성 및 개발 진행 및 커밋 git checkout dev # dev 브랜치로 이동 git pull # dev 브랜치 최신화 git pull origin dist-dev-n # 작업한 브랜치 병합, 충돌 해결 개인 테스트 서버에서 병합한 결과 테스트 git push # 리모트 dev 브랜치에 푸시 개발 서버에서 병합한 결과 테스트 git checkout qa # qa 브랜치로 이동 git pull # qa 브랜치 최신화 git pull origin dev # qa브랜치에 dev 브랜치 병합 개인 테스트 서버에서 병합한 결과 테스트 git push # 리모트 qa 브랜치에 푸시 qa 서버에서 병합한 결과 테스트 git checkout master # m..
인용 블로그 글: https://armadillo-dev.github.io/html/css/webfont-optimize/ 들어가며 웹폰트는 사용자 로컬에 폰트가 저장되어있지 않더라도 특정 폰트를 렌더링 할 수 있도록 도와준다. 이는 사용자 경험을 향상시키기 위한 다양한 방법 중 하나로 사용되고 있다. 이번 글에서는 현재 진행 중인 프로젝트에 웹폰트를 적용하며 발생한 문제점과 그 해결 방법을 공유하고자 한다. 문제점 진행 중인 프로젝트에서 발생한 문제점은 2가지였다. 웹폰트 깜빡임 현상 프로젝트에서는 아이콘을 표시하기 위해 Material Icons 웹폰트를 사용하고 있었다. 그런데 웹폰트가 로드되기 전, 아이콘에 대응되는 영단어가 표시되었다가 로딩이 완료되면 아이콘으로 바뀌는 현상이 발생했다. 서비스에..