1. 좌석 선점 티켓팅 시스템에서는 좌석이라는 고유 자원을 여러 사용자가 동시에 접근할 때 중복 예약을 방지해야 합니다. 이를 해결하기 위해 다음과 같은 요구 사항을 고려해야 합니다: 긴 락 유지 필요: 좌석을 선점한 사용자가 결제를 완료할 때까지 해당 좌석을 다
AWS Lambda 도입 배경 행사 등록 화면에서는 하나의 포스터 이미지와 하나의 배너 이미지를 등록하지만, 다양한 화면 요소에 맞춰 적절한 크기의 이미지가 필요합니다. 아래 설계도에서 볼 수 있듯이 각 이미지의 사용 목적에 따라 다양한 사이즈로 제공되어야 합니다.
Ficket 프로젝트에서 얼굴 인식 기반 티켓팅 중, 티켓 구매를 구현하는 과정에서 PortOne(KakaoPay)을 사용하였습니다. 본 문서는 포트원 API V2, 웹훅 V2 버전(2024-04-25 기준), 테스트 기반으로 작성되었습니다. 1. 포트원 연동 (Ka
Ficket 프로젝트를 진행하며 조회수를 기준으로 실시간 랭킹 구현을 맡았습니다. 프로젝트에서는 기존에 Spring의 @Cacheable을 사용해 Redis 캐시를 통해 성능 최적화를 구현한 이벤트 상세 조회 API가 있었는데, 이를 활용하여 랭킹 시스템을 구현하려 했습니다. 하지만 캐시에 데이터가 있는 경우 조회수 증가 로직이 실행되지 않는 문제를 발견하...
저번에 조회수 기준 랭킹을 구현한 데 이어, 이번에는 예매율 기준 랭킹을 구현했습니다. 구현할 내용은 다음과 같습니다. Redis Sorted Set 사용: 예매 수를 기반으로 상위 50개의 순위를 기록합니다. 키 설정: 일간, 주간, 월간 데이터와 장르별로 구분할 수 있도록 Redis 키를 설정합니다. 주문 성공 시 업데이트: 주문이 성공하면 R...
반영된 최종본 오픈 티켓 화면의 반응형 구현을 위해 Figma에서 화면 설계를 진행했습니다. 아래는 PC와 모바일 화면 설계 이미지입니다. 오픈 티켓 PC 화면 오픈 티켓 PC 화면 오픈 티켓 모바일 화면 오픈 티켓 모바일 화면 설계 차이점 PC와 모바일 화면
tinyMCE 에디터를 사용해서 저장하면 아래와 같이 <html> 태그 형식으로 데이터가 저장됨예시:이러한 방식으로 저장된 데이터는 XSS(크로스 사이트 스크립팅) 공격에 취약할 수 있습니다. 따라서 서버와 클라이언트 모두에서 XSS 방어를 적용해야 합니다.XSS
문제 발생 이벤트 상세 조회 API에 @Cacheable을 적용하여 조회 시마다 DB 접근을 줄이고 응답 속도를 높이려 했습니다. 그러나 실제 서비스에서 적용 후, 조회수 랭킹이 갱신되지 않는 문제가 발생했습니다. 원인 분석 캐시된 응답이 반환되면서, 실제 조회수 증가 처리를 담당하는 로직이 실행되지 않았습니다. 특히 조회수 랭킹은 Redis의 ZS...