[TIL]2025-04-28
·
TIL
📋오늘 푼 코딩테스트더보기 📖 오늘 작성한 글더보기https://computerreport.tistory.com/126 [Spring]Builder 패턴 vs 생성자, 무엇이 더 나을까?배달 어플 프로젝트를 진행 중 데이터를 객체 타입으로 전달하기 위해 DTO(Data Transfer Object)의 생성 방식에 대해 고민이 생겼다. Java에서 DTO를 생성하는 방법엔 대표적으로 2가지 방법이 존재한다.computerreport.tistory.com✒️ 회고- 금융 IT 를 기준으로 잡아 코드를 작성하는 습관을 길러야겠다.
[TIL]2025-04-23
·
TIL
📋오늘 푼 코딩테스트더보기 📖 오늘 작성한 글더보기https://computerreport.tistory.com/124 [Spring]무한 스크롤 + Enum 정렬 트러블슈팅intro프로젝트를 진행하며 발생한 문제 상황과 해결 과정들을 상세히 기록하고 추후에 같은 문제가 발생 했을때 빠르게 문제 해결하기 위해 트러블 슈팅을 정리할려고 한다.기록하는 습관을 기computerreport.tistory.comhttps://computerreport.tistory.com/123 ✒️ 회고- 프로젝트중이라 코딩테스트를 못했지만 소홀히 하지말기 !
[팀 프로젝트-배달어플] 기능 구현
·
프로젝트/프로젝트 회고
이번 프로젝트에서는 메뉴 기능을 담당하였다.📋 API 명세 📌 주요 기능메뉴 생성 메뉴 수정메뉴 삭제 카테고리 순 조회 및 커서 기반 조회 📁 패키지 구조 Rest API 구조에 맞춰 controller,repository,service,dto 로 분리하였고 그안에서 Admin API 와 User API 를 따로 분리 하였다.✅ DTO MenuSaveRequestDto : 저장 요청MenuUpdateRequestDto: 수정 요청 🧱 Entity 설계 Menu.java @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Enumerated(EnumType.ORDINAL) @Column(nu..
[Spring]Builder 패턴 vs 생성자, 무엇이 더 나을까?
·
Spring
배달 어플 프로젝트를 진행 중 데이터를 객체 타입으로 전달하기 위해 DTO(Data Transfer Object)의 생성 방식에 대해 고민이 생겼다. Java에서 DTO를 생성하는 방법엔 대표적으로 2가지 방법이 존재한다.Builder 패턴 (예: CartResponseDto.builder())직접 생성자 호출 (예: new MenuAdminResponseDto(menu))이 글에서는 두 접근법을 금융 IT와 보안 관점에 더 중점을 두고 어떤 게 더 적합한지 글을 작성해보려고 한다.✅ DTO 생성 방식 @Getter@AllArgsConstructor@Builderpublic class MenuAdminResponseDto { private final Long menuId; private fin..
[Spring]오프셋 페이징보다 커서 페이징을 써야하는 이유
·
Spring
💡 커서 기반 페이징이 가장 효율적인 방법이며, 가능한 항상 사용되어야 한다-페이스북 개발자 이번 글에서는 커서 페이징이 무엇이고, 왜 요즘처럼 실시간 데이터가 중요한 시대에 커서 페이징이 각광받는지 살펴본다. 또한 오프셋 페이징과의 차이점, 커서 페이징의 장단점, 그리고 언제 어떤 방식을 선택해야 하는지에 대해서도 함께 이야기해보자.✅ 페이징이란?페이징은 책 페이지처럼 데이터를 묶음으로 분리하는 과정이다. 페이징은 총 2개의 종류로 나뉘는데 제목처럼 오프셋 페이징과 커서 페이징 두개로 나뉜다. ♐ 오프셋 페이징OFFSET 값을 포함한 SQL 쿼리문이 동반되며 데스크탑 웹에서 주로 사용하는 페이징 기법이다.명확한 페이지 버튼이 있어 클릭 시에 해당 페이지로 넘어갈 수 있다.♐ 커서 페이징사용자가 대량..
[Spring]무한 스크롤 + Enum 정렬 트러블슈팅
·
프로젝트/트러블슈팅
intro프로젝트를 진행하며 발생한 문제 상황과 해결 과정들을 상세히 기록하고 추후에 같은 문제가 발생 했을때 빠르게 문제 해결하기 위해 트러블 슈팅을 정리할려고 한다.기록하는 습관을 기르기 위해 프로젝트 기간동안 꾸준히 작성할 것 이다.배달 앱에서 메뉴 리스트를 무한 스크롤 방식으로 보여주기 위해 커서 기반 페이징을 도입했다. 하지만 카테고리 정렬, enum 사용, JPQL 커서 조건 등 다양한 문제에 부딪혔다. ⚠️ 1.문제 상황 발생JPQL 을 이용하여 커서 기반 페이지네이션을 작성했다. JPQL에서 enum 메서드 사용 불가하여 오류가 발생했다. Category.Enumpublic enum Category { MAIN_MENU(1), SIDE_MENU(2), DRINK(3); ..