TIL(106)
-
20240304 (월) 최종 프로젝트 티켓레이더 2주차 - Test-code
1. EventServiceImpl 구현완료 package com.codersgate.ticketraider.domain.event.service import com.codersgate.ticketraider.domain.category.repository.CategoryRepository import com.codersgate.ticketraider.domain.event.dto.EventRequest import com.codersgate.ticketraider.domain.event.dto.EventResponse import com.codersgate.ticketraider.domain.event.repository.EventRepository import com.codersgate.ticketr..
2024.03.04 -
20240229 (목) 최종 프로젝트 티켓레이더 1주차 - CRUD 마무리단계
오늘 한 일 1. Event(price,seat) 리팩토링 이렇게 되어 있던 것을 Create와 Update Request를 합치고 아래에 해당 코드를 짜주었다 그리고 1번사진을 이렇게 바꾸었다. 2. Seat 테이블 이름 변경 Seat 테이블의 이름을 AvailableSeat로 변경하였다. 이유는 Seat 테이블이 그냥 좌석이 주체가 되는게 아닌 유저가 티켓을 구매할때 이 Seat 테이블을 기준으로 예약이 가능한지, 아닌지를 구분하는 용도로 쓰이기 때문에 그냥 “좌석”이라는 단어인 Seat는 직관적이지 않다. 3. 락 키 구현 관련 정책설정 우리는 동시성 제어를 해볼것인데 락을 구현할때 이 락이 걸리는 시점과 락키를 구분지을 방법을 의논하였다. 우선 유저입장에서 티켓을 예매하고 결제하는 과정을 써보자면..
2024.02.29 -
20240228 (수) 최종 프로젝트 티켓레이더 1주차 - 본격적인 코딩
오늘 한 내용 1. Price, Seat 구현 2. OneToOne 관계 설정 오류 3. 로그인시 토큰 문제 해결 1. Price, Seat 구현 Price와 Seat는 따로 패키지를 만들지 않고 Controller와 ServiceImpl은 Event와 공유하며 Response, Repository, Model 만 구분해서 만들었다. 이유는 저 두개는 Event 가 만들어질 때 자동으로 만들어져야 하는 구조로 우리가 계획을 하였고 따라서 ServiceImpl에서 CreateEvent시 Price, Seat의 생성 코드를 작성하였다. override fun createEvent( categoryId: Long, eventRequest: CreateEventRequest, ) { val category = ..
2024.02.28 -
20240227 (화) 최종 프로젝트 티켓레이더 1주차 - 회의 진행 중..
오늘은 Category 패키지 부분을 작성하고 3시쯤 튜터님께 피드백을 받았다. 우리가 진행하기로 한 티케팅 어플리케이션에서 우리조만의 특별한 강점? 같은거를 생각해보는게 좋다고하셨다. 일단 처음으로 락구현쪽으로 말씀을 주셨는데 단순한 락구현 말고도 어떤 프로그램을 사용할거고, 대기열은 어떻게 처리할건지를 (특히 유저입장에서는 어떨지) 생각해보라고 하셨다. 이부분은 아직 구현해보려면 멀었기에 잠시 뒷전으로 미뤘고 그 다음으로 들은 내용이 단순히 이벤트 테이블에 모든걸 처리하는것보단 세세하게 ERD를 짜보는것이 좋다고 하셨고 우리조가 생각해낸것이 좌석 정보(Seat) 장소(Place) 가격(Price) 테이블이다. 우선 장소는 컨트롤러와 서비스가 있는 패키지로 만들 예정이고 이름, 총 좌석수, R,S,A ..
2024.02.27 -
20240226 (월) 최종 프로젝트 티켓레이더 1주차
최종 프로젝트에 맞춰서 팀배정과 S.A 제출 및 ERD, 와이어프레임, API 명세등을 작성하였다. https://standing-salsa-ab3.notion.site/44f1197d79e04f1e8ac5437f86db634d?pvs=4 티켓 레이더 | Notion 🍭 팀 이름 : 코더스게이트 standing-salsa-ab3.notion.site 위는 우리 팀원 코더스게이트의 S.A 하루종일 의논을 하다가 저녁 8시쯤 이현구 튜터님이 찾아오셔서 질문을 드렸다. 우리가 준비한 질문은 3개 질문 사항 좌석 관리 ( 좌석의 등급별 가격 , 테이블 or 리스트 ? ) 가격변동가능성이 높기 때문에 별도의 가격 테이블을 구성하는 것이 유리 이 안에서 티켓의 예매 여부 확인 어떤 이벤트의 어떤 석이면 얼마 좌석번..
2024.02.26 -
20240223 (금) 대용량 트래픽 프로젝트 - 동시성 제어 프로젝트 8일차
오늘은 발표자료 제작과 발표 및 KPT, 다면평가 위주로 진행되었다. KEEP 프로젝트 진행 중 생긴 문제를 원인 - 해결책 - 결과 순으로 잘 정리하였다 깃헙 프로젝트 같이 협업 툴 이용 적극적으로 하였다 문제를 해결할 때 팀원 모두가 참여하여 노력하였다 PROBLEM 스핀락의 경우엔 락점유를 위해 계속 시도를 하는데 이 과정에서 만료시간의 정책이 필요하다 글로벌 락을 많이 쓰게 될텐데 Rpop Lpush 라는 것을 이용해보자 테스트 코드에서 벽을 느꼈다 TRY 서버에 부하가 덜 가해지도록 시간정책을 구성하자! push(lpush, rpush)와 pop(lpop, rpop)을 적용해보자! 테스트 코드를 좀 더 연습해보자! 이후엔 개인공부시간을 가지다가 7시에 튜터님께 궁금한점을 하나 물어보았다. 우리는..
2024.02.23