HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🌟
Programmers 최종 플젝 6조
/
💫
[백엔드] 트러블 슈팅
💫

[백엔드] 트러블 슈팅

✨ 트러블 슈팅 리스트
git branch protected rule 적용
git
branch
Dec 31, 2022 07:05 AM
속성 1
작성 완료
스프링 외부 설정 우선순위
Spring
설정 우선순위
Jan 3, 2022 02:10 PM
속성 1
작성 완료
CORS 이슈 해결 1 : 동일 출처
CORS
HTTPS
Jan 4, 2022 08:09 AM
속성 1
작성 완료
https와 ssl 설정
HTTPS
Jan 5, 2022 05:44 AM
속성 1
작성 완료
ec2 서버 과부화- ebs 볼륨 확장, swap 적용
AWS ec2
Jan 11, 2022 04:17 PM
속성 1
작성 완료
@AuthUser 적용 배경(feat. SpEL 문법 수정 배경, EmptyUser)
Spring Security
Jan 16, 2022 02:30 PM
속성 1
작성 완료
secret 파일 관리하기(feat.서브모듈)
git
submodule
Jan 16, 2022 02:30 PM
속성 1
작성 완료
ResponseEntity 를 사용한 REST API 응답 데이터 생성기(Feat.builder 패턴)
RESTful API
HTTP
Jan 16, 2022 02:30 PM
속성 1
작성 완료
Github Actions, AWS Code Deploy를 이용한 CD 구축
CI/CD
Jan 17, 2022 06:59 AM
@Formula 적용 배경 (feat. ++ 연산자 (원시성, 가시성) 관련 멀티스레딩 환경 고려)
Spring
java
db
Jan 24, 2022 01:00 AM
작성 전
github action으로 CI 적용 방법
git
CI/CD
Jan 18, 2022 04:53 AM
작성 전
S3 저장 적용
AWS S3
Jan 18, 2022 04:54 AM
작성 전
페이지별 접근 권한 설정 우선순위
Spring Security
Jan 22, 2022 11:32 AM
속성 1
작성 완료
security 권한 설정 시 enum 사용 시 인식 못하는 문제
Spring Security
Jan 22, 2022 07:47 AM
속성 1
작성 완료
ubuntu 서버에서 1024번 이하의 포트 실행 불가
AWS ec2
Jan 21, 2022 05:48 PM
작성 전
 
  1. 테스트
  1. sql → QueryDSL
  1. security → 리팩토링 코드 보완
 
 

TWL List ( v.20220110)


💡
자신이 작성한 코드가 있는 TWL 토픽 작성하기 ❗
기타
  • 페이징 처리를 어떻게 했나?
  • 스프링 외부 설정 우선순위
Security
  • 요청 API 마다 권한 설정 방법 (WebSecurityConfigurerAdapter → configure method)
    • 페이지별 접근 권한 설정 우선순위
    • enum 사용 시 인식 못하는 문제
  • 토큰에 어떤 데이터가 들어가 있으면 좋을까?
  • CORS 이슈 해결 1 : 동일 출처
Infra
  • secret 파일 관리하기(feat.서브모듈)
  • 환경 변수 설정 파일 데이터로 주입 받기 (feat.JwtProperty )
  • github action으로 CI 적용 방법
  • cd 어떻게 적용했나?
  • ubuntu 서버에서 1024번 이하의 포트 실행 불가
  • ec2 서버 과부화 문제
  • git branch protected rule 적용
Java
  • stream 사용을 왜 지향했나?
  • ++ 연산자 (원시성, 가시성) 관련 멀티스레딩 환경 고려
  • new 생성자 지양한 Collection 정적 메서드 활용
    • EventConverter.class의 convertToEvent 에선 왜 new ArrayList<>()를 사용했나?
  • ≠ 말고 equals 를 사용해보자
Domain 설계
  • @Formula 적용 배경
    • SQL 소/대문자로 인한 에러 해결 방법
  • @AuthUser 적용 배경(feat. SpEL 문법 수정 배경, EmptyUser)
  • Market 테이블의 User 컬럼 unique 설정
  • id 타입 Long vs uuid
  • json response명으로 is000 사용하기(feat. jackson → getOOO → key 값)
  • 현재 패키지 구조에 대한 설계 배경(service, controller, domain, exception + 더 나은 방법으론?)
    • DTO명 규칙 설계 이유?
    • Converter 패키지는 왜 분리했는가
      • DTO - Entity 변환은 왜 Service 레이어에서 수행하는가
HTTP API
  • http 상태코드 put vs patch
  • ResponseEntity 를 사용한 REST API 응답 데이터 생성기(Feat.builder 패턴)
  • 즐겨찾기 등록, 취소 api 설계
Database + JPA
  • N+1 문제(feat.그냥 JOIN 으로 ?)
    • @EntityGraph 사용하기
    • dto를 생성해서 한번에 받아오기
  • repository 쿼리 파라미터에 @Param을 붙이지 않을 경우 오류 발생
  • S3 저장 적용
추후 작성될 TWL
  • Spring Cache 적용 → 5-6시간
    • Redis 적용 (feat.JWT)
  • ec2 swap 파일 적용기
  • QueryDSL 적용해보기 → 10- 15 시간
  • controller 테스트 bean 생성 오류 문제
  • 회원가입 왜 이렇게 오래 걸렸을까?
 
 
EventService → Optional 예외 처리가 없는 것 같아요!
Page<UserParticipateEvent> userParticipateEvent = pageEvents.map(event -> { boolean isLike = likeRepository.findByUserIdAndEventId(userId, event.getId()).isPresent(); boolean isParticipated = userEventRepository.findByUserIdAndEventId(userId, event.getId()).get().isCompleted(); return eventConverter.convertToUserParticipateEvent(event, isLike, isParticipated);
 
EventService → null safe equals 적용
if (event.getMarket().getUser().getId() != user.getId()) {