본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

57일차 - 코테, 스프링부트 프로젝트 참고 사항

https://school.programmers.co.kr/learn/courses/30/lessons/64065?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 풀이

https://yurison.tistory.com/357

 

[프로그래머스/자바] 튜플

❌ 실패 코드(런타임 에러) ❌ String을 계속해서 수정하는 코드라 그런지 런타임 에러가 났다. import java.util.Arrays; import java.util.Comparator; class Solution { public int[] solution(String s) { int[] result; if(!s.contain

yurison.tistory.com


* 스프링부트 프로젝트 진행 시

* 정렬 구현 시

- DB의 부하를 막기 위해 DB에서 정렬된 데이터를 가져오는 것보다, 데이터를 가져온 후 정렬하는 게 좋다.

- 컨트롤러, 서비스 어디든 상관 없다.

--- 컨트롤러 단의 코드가 늘어나는 것 - OK

--- 서비스 단의 코드가 늘어나는 것 - OK

--- but 중복된 코드가 생기는 것 - NO!!!

  

* 정렬과 필터링

- 페이징 하는 경우 : 스프링 부트(X) / DB(O)

- 페이징 안 하는 경우 : 스프링 부트(O) / DB(O)

  

* 데이터 조회 시

JPA 메서드 사용 -> 원하는 성능이 안 나오면 QueryDSL 사용( -> 그래도 안 나오면 @Query(...) 사용(JPQL))

JPQL은 일일이 코드를 작성하기 때문에 유지보수가 어렵다.