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