본문 바로가기

분류 전체보기261

[이미지 렌더링 최적화] CloudFront 비용절감 트러블 슈팅 (설계 및 플로우) 개편 이후 기준인 위 설계도로 수정하게 되면, 아래와 같은 목적들을 달성할 수 있다.CloudFront 의 비용 최적화 (이미지 서빙 용량 개선으로 인해)이미지 렌더링 속도 최적화 (낮아진 서빙 용량 및 캐싱으로 인해)작품 커버 이미지 화질 개선 (S3에 저장할 때 리사이징 후 저장하는 방식이 아닌, 원본 그대로를 저장함으로 인해)API 서버 리소스 부하 개선 (S3에 이미지 저장하는 주체를 클라이언트로 변경함으로 인해) 해당 결과물을 이루어내기 위해, 해야하는 작업은 간략하게만 뽑아내면 아래와 같다(기존 이미지 정책 및 하이브리드 앱의 상황을 고려했을 때 해야하는 작업이 많으나, 작업의 큰 줄기만 뽑아내면 아래와 같다)[작업 우선순위]Lambda@edge 코드 작성 (이미지 변환 및 메모리 설정)신규 .. 2025. 1. 7.
[이미지 렌더링 최적화] CloudFront 비용절감 트러블 슈팅 [이슈 상황]- 1번 상황현재 CF에서 발생하는 비용이 꽤 크다> 모든 이미지를 jpg, png로 반환하는 상태인데, 이로 인해 서빙되는 바이트가 너무 높게 책정됨으로써 OutBound관련 비용이 크게 나오고 있다 (1달 기준으로, 꽤 크게 나오고 있다...) - 2번 상황작품 썸네일 이미지 화질이 좀 낮은 상태이다.> 현재 파일 이미지 등록은 API에서 해당 이미지 데이터를 받아서 S3에 올리고 있는데, 해당 과정에서 리사이징 및 압축을 진행하고 있다. 이로 인해 이미지 화질이 낮아질 때가 잦다. [해결을 위한 설계 내용 요약]- 1번 결론> 클라이언트에 데이터를 제공하는 OutBound 시점에, 압축률이 더 큰 WEBP 형식으로 변환하여 응답하도록 조정진행.* WEBP형식은 위 이미지 포맷형식들보다 .. 2024. 12. 17.
헥사고날 아키텍처 구조, 사용이유 및 부가정보 이번에 진행 중인 DDD+헥사고날 프로젝트를 하며 아래 서적을 읽었다.- 만들면서 배우는 헥사고날 아키텍처 설계와 구현 책에 정의된 헥사고날 아키텍처의 구조 및 사용이유에 대해 정리해두면 추후 요긴하게 사용할 것 같아, 해당 문서에 기술해둔다. 헥사고날 아키텍처비즈니스 코드를 기술 코드로부터 분리기술 측면이 비즈니스 측면에 의존하는지도 확인하여, 비즈니스 측면이 비즈니스 목표를 달성하는 데 사용되는 기술에 대한 우려 없이도 발전할 수 있게 함관련된 비즈니스 코드에 피해를 주지않고도 기술 코드를 변경할 수 있게 함⇒ 이를 위해 도메인 헥사곤을 생성 (엔티티 + 값 객체) ⇒ 엔티티 >> 식별자를 할당할 수 있는 것을 의미 ⇒ 값 객체 >> 엔티티들을 합성하기 위해 사용하는 불변 컴포넌트  도메인 헥사곤실 .. 2024. 11. 20.
[DDD] 도메인, 바운디드 컨텍스트, 애그리거트 개념 정의 현재 조직 내에서 특정 도메인을 DDD (도메인 주도 개발)와 헥사고날을 접목하여 Java API로 재구축하는 프로젝트를 맡았다. 해당 프로젝트를 진행하면서 느낀 가장 큰 점은,프로젝트 인원끼리 특정 용어를 사용하여 의사소통할 때, 동일한 의미로 알고 있지 않으면 의사소통에 있어서 큰 어려움을 겪는 다는 것이였다. 그런 의미로 추후 다른 도메인으로 API 재구축을 진행하게 될 인원들을 위해,그리고 현재 내부 인원들이 계속 통일되게 인지하고 있으면 좋을 주요 개념들에 대해 미리 해당 페이지에 정리해둔다. 도메인(Domain)정의사전적 의미 : 영토, 분야, 영역, 범위, 책임범위인터넷 용어 : 인터넷 주DDD 용어 : 소프트웨어로 구현하고자 하는 현실의 문제 또는 상황웹소설 플랫폼을 위한 소프트웨어를 만.. 2024. 11. 5.
[FCM] AOS / IOS 푸시 메시지 미수신 및 액션링크 미작동 이슈 이슈 내용FCM deprecated API 이슈를 위해 FCM Admin SDK로 기능을 변경하였으나, AOS 혹은 IOS에서 푸시 메시지가 미수신되고, 푸시 메지시를 눌렀을 때 연동되도록 의도하는 주소지로 이동이 안되는 이슈가 발생하였다. 이슈 파악개발기간이 짧아, 시간을 지체시킬 수 없어 FCM은 모바일에서 관리하고 있으니, 모바일 팀측에 아래와 같은 사항을 곧바로 문의하였다. * 기본 전제 : 현재 백엔드 팀에서는 FCM Admin SDK를 사용하여 요청을 전달할 예정임1. 보내는 파라미터에 따라, AOS에서는 수신이 되나 IOS에서는 수신이 안되는 발생하고 있음2. AOS 및 IOS에서, 유저가 푸시 메시지를 클릭했을 때 의도하는 페이지로 연동되지 않고 있음 => 어떤 파라미터에 어떤 값을 줘야하.. 2024. 9. 14.
[FCM] Firebase Cloud Messaging deprecated API 이슈 이슈 내용평소와 다름없이 업무를 하던 중, 사업팀 측에서 CS 문의가 왔다. 내용인즉, 현재 관리자 운영툴에서 유저에게 이벤트 푸시 메시지를 보내고 있는데, 18만명에게 메시지를 보내는 일이 있어도 읽은 사람이 0에 수렴하는 결과가 보인다는 것이였다. 10건을 보냈는데 0명이 봤다하면 기능에 이상이 있다고 의심하지는 않겠지만 18만명은 좀... 현재 FCM을 사용하고 있는데, 실제로 푸시 메시지를 발송하고 있는 지 테스트를 해본 결과deprecated api 라는 결과가 떴다.  아! 정상작동할 수 있도록 바꿔야겠다. 이전에는 대규모 푸시 메시지 발송을 하면 유저에게 도착하기까지 시간이 꽤 지연된다는 이슈가 있었는데, 이것도 고려해야 하는 상황이 왔다. 헌데 추석 기념으로 대규모 유저에게 이벤트 푸시 메.. 2024. 9. 13.