본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발/8부 검색 및 첫 페이지6

83. 로그인 한 사용자를 위한 첫 화면 이 화면을 N+1 Select 문제 없이, 쿼리 6개를 사용해서 만드세요. 계정 조회(관심 주제, 지역 정보 포함) 참석할 모임 조회 나의 주요 활동 지역과 관심 주제에 해당하는 스터디 조회 (Tag와 Zone은 && 조건입니다.) 관리중이 스터디 조회 참여중인 스터디 조회 알림 조회 뷰에 전달해야 할 모델 데이터 account: 현재 로그인한 사용자의 정보 enrollmentList: 참석 확정된 참가 신청 정보를 통해 '참석할 모임' 목록 출력 studyList: 주요 활동 지역의 관심 주제 스터디 리스트 6개까지만(스터디 공개시간 역순) studyManagerOf: 지금 접속한 계정으로 관리중인 스터디 5개 까지(스터디 공개시간 역순) studyMemberOf: 지금 접속한 계정으로 참여중인 스터디.. 2020. 5. 18.
82. 로그인 하지 않은 사용자를 위한 첫 화면 최근 9개의 스터디를 조회해서 화면에 보여줄 것.(공개했고, 아직 종료하지 않은 스터디 중에서) 페이징 없고 List로 조회 쿼리 만들기 않고 스프링 데이너 JPA 쿼리 메소드로 만들어 볼 것. 뷰 코드는 최대한 재사용 할 것. 이전 코드 리팩토링 화면에 Study Entity의 memberCount로 멤버수를 표시하기 때문에 members를 조인하는 부분을 삭제(시간이 많이 걸리기 때문) package me.weekbelt.studyolle.modules.study; public class StudyRepositoryExtensionImpl extends QuerydslRepositorySupport implements StudyRepositoryExtension{ public StudyReposito.. 2020. 5. 18.
81. 페이징 뷰 개선 부트스트랩 https://getbootstrap.com/docs/4.5/components/pagination/ Pagination Documentation and examples for showing pagination to indicate a series of related content exists across multiple pages. getbootstrap.com 정렬 조건 추가 스터디 공개 일시 멤버수 키워드 하이라이팅 mark.js https://markjs.io/ mark.js – JavaScript keyword highlight If mark.js made you happy then give a thanks with a star. markjs.io npm install mark.js .. 2020. 5. 18.
80. 페이징 적용 고전적인 방식의 페이징 SQL의 limit과 offset 사용하기 스프링 데이터 JPA가 제공하는 Pageable 사용하기 page와 size sort도 지원한다. 기본값 설정하는 방법 @PageableDefault 이전에 empty 컬렉션을 Model에 넣을 때 발생했던 버그(?)에 대하여... 사실 버그가 아니라 스프링 MVC의 정해진 동작 방식.(이상하긴 하지만..) 우회하려면 이름을 반드시 줄 것. 페이징 적용을 확인하기 위해 /study/data라는 요청을 받는 핸들러로 임시로 여러개의 스터디를 삽입 할 수 있게 코드를 생성한다.(생성 후 제거) package me.weekbelt.studyolle.modules.study; @RequiredArgsConstructor @Controller pu.. 2020. 5. 17.