2023/8월
23-8-16
parkrams
2023. 8. 16. 06:27
728x90
스프링 단축키 꿀팁
alt 두번 누르면 그 창 이
alt +1 프로젝트 창 키고 끄기
▶ 인덴트 : Tab(인덴트), Shift+Tab(인덴트 취소)
인덴트는 들여쓰기를 말한다. Tab키는 들여쓰기를 Shift+Tab은 들여쓰기 취소를 할 때 눌러주면 된다.
▶ 자동 인덴트 : Ctrl+Alt+I
코드 전체에 자동 인덴트를 적용하고 싶다면 Ctrl+A키를 눌러 코드 전체 영역을 선택해 주고 그 다음 Ctrl+Alt+I키를 눌러주면 된다.
▶ 사용처 찾기 : Alt+F7(찾기), Ctrl+B(빠른 찾기)
함수를 사용하고 있는 사용처를 찾을 때 Alt+F7(찾기)키 혹은 Ctrl+B(빠른 찾기)키를 눌러주면 된다.
Alt + insert -> 겟셋 같은 소스 검색
▶ 꿀 팁 : Ctrl + shift + enter ( 자동 닫기, 괄호 완성 기능? 애매 하다 싶을 때 눌러주면 자동 마무리)
▶ 세팅 창 : Ctrl + alt + s
▶ 변수명 한번에 바꾸기 : shift + f6
▶ 메소드 안에 들어갈 변수명 확인 : Ctrl + p
▶ 람다로 변환 : alt + enter -> Replace with lambda
▶ Refactor This : Shift + Ctrl + alt + T
▶ lnline Method : Ctrl + alt + N
▶ Test 클래스 생성 : Ctrl + Shift + T
▶ 값 일괄 변경 : Ctrl + Shift + R
함수 합치는 메서드?
오늘 한 것
공부
깃 데스크탑 체크체크
- 리버트는 커밋 하기 전 시점으로돌린다
- 고로 내가 최근에 작업하던걸로 돌리고 싶다면 history 에서 최근 걸 리버트 하면 된다
4개월 셀프로젝트
- 관리자 임직원 관리 0.3 진행
보충수업
- div가 if 문의 조건에 따라 보여지고 안보여지고 설정
- controller
String userEmail = authentication.getName();
BoardDto boardDetail = boardService.showDetail(boardId);
model.addAttribute("userEmail", userEmail);
- html
<div class="btn-group float-right" th:if="${#strings.equals(boardDetail.membersEmail, userEmail)}">
<button type="button" id="updateBtn" class="btn btn-primary btn-sm" onclick="updateInit()">수정</button>
<button type="button" id="saveBtn" th:data-id="${boardDetail.id}" class="btn btn-primary btn-sm" style="display: none;" onclick="saveBoard(this)">저장</button>
<button type="button" th:data-id="${boardDetail.id}" class="btn btn-primary btn-sm" onclick="deleteBoard(this)">삭제</button>
</div>
- 페이징
Pageable pageable = PageRequest.of(3,5); // 어디서 부터 시작하고 몇 개까지 출력할 건지
- service
/** 23 - 8 - 16 페이징 수정 **/
public Page<Board> getBoardList(Pageable pageable) {
// 페이징 23-8-16
return boardRepository.findALl(pageable);
- url로 접근 했을 때 .
<li class="page-item" th:classappend="${boardPage.first} ? 'disabled'" th:with="prePage(${(boardPage.number -5 <0 ) ? 0 : boardPage.number -5})">
최소가 0미만 이면 0으로 설정
- 페이지 번호 이동 안되는 문제
- 단순 오타 경로에 "/" 빼먹음
- 페이징 안 되는 문제
- next 페이지 안되는 문제
// 기존
public String boardPages(@PathVariable Integer page, Model model){
<a class="page-link" th:href="@{/board/info(page=${prePage})}">Previous</a>
- 기존 검증할 주소를 page로 변수를 줘서 ... 안됨
- 내가 사용한 주소랑 받아올 주소가 다른 경우는 이름을 매칭 시켜줘야 하는데
- 나는 사용을 boardPage로 해놓고 검증 값을 page로 받아서 안 되던 문제
- 이 코드를 사용할 거면
public String boardPages(@PathVariable("page") Integer page, Model model){ 를 했어야 함
- 수정한 코드
public String boardPages(@PathVariable Integer page, Model model){
<a class="page-link" th:href="@{/board/info(boardPage=${prePage})}">Previous</a>
... 검증 할 때 @PathVariable("page") 하면 될 줄 알았는데 ..
안됨 왜 안 되는지 모르겠넹...
어쨌든 페이지 할 때는 url에 검증할 주소를 GetMapping 에 RequestParam 값 하고 맞춰야 하는 듯
확인결과
@GetMapping(value = "/info")
public String boardInfo(Model model, @RequestParam(value = "page", required = false, defaultValue = "0") String boardPage) {
Pageable pageable = PageRequest.of(Integer.parseInt(boardPage),5); // 어디서 부터 시작하고 몇 개까지 출력할 건지
model.addAttribute("boardPage", boardService.getBoardList(pageable));
return "/pages/boards/boardInfo"; // 바꿀 부분 1
}
컨트롤러의 RequestParam 부분 이름하고 맞춰야
<a class="page-link" th:href="@{/board/info(page=${nextPage})}">Next</a>
이 부분의 url /info{page} 이부분이 적용 됨
운동
- 부상 휴식
궁금한 것
내일 할 것
프로젝트
운동
해결하려고 노력 중
-- 더 공부할 것
-- 모르는 것
공부할 키워드
- 스프링 빈, 스프링 컨테이너, 의존성 주입
- JPA영속성 컨텍스트
- viewResolver
- url /uri-
- HTTP Pro- \tocol
- REST ful
- 다음 차시까지 공부해오실 내용은
- http 프로토콜 (중요 mozila docs 확인할 것)
- [demo 프로젝트] thymeleaf layout 구조 확인 및 공부
7월 넷째 주 키워드
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
부트스트랩 컴포넌트
fontAwesome - 태그
8월 첫째 주 키워드
http 프로토콜 (중요 mozila docs 확인할 것)
[demo 프로젝트] thymeleaf layout 구조 확인 및 공부
Builder 패턴
@Builder 클래스 레벨에서 사용할 때 @NoArgsConstructor
modelMapper api
자바 기본 자료구조
자바 제네릭
23-8-2
JAVA Optional 객체
th:each, th:data-id
23-8-4
오늘 키워드 입니다
메모리 영역(code, data, heap, stack)
JVM 가비지 컬렉션
728x90