2023/8월

23-8-6

parkrams 2023. 8. 6. 22:13
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

함수 합치는 메서드?

오늘 한 것

공부

4개월 셀프로젝트

이거 너무 어렵넹

  • loginFailHandler 구현 중
  • 기존 시도 방법

/*
package com.dflow.config;

import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.InternalAuthenticationServiceException;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;

*/
/**
 * HttpServletRequest : request 정보
 * HttpServletResponse : Response에 대해 설정할 수 있는 변수
 * AuthenticationException : 로그인 실패 시 예외에 대한 정보
 *//*


public class CustomAuthFailureHandler extends SimpleUrlAuthenticationFailureHandler {

    @Override
    public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException{
        String errorMessage;

        if(exception instanceof BadCredentialsException) {  // 비밀번호나 아이디 입력 오류
            errorMessage = " 아이디 또는 비밀번호가 맞지 않습니다. 다시 확인 바랍니다.";
        } else if(exception instanceof InternalAuthenticationServiceException){ //내부 시스템 문제
            errorMessage = "내부 시스템 문제입니다. 관리자에게 문의하세요";
        } else if(exception instanceof UsernameNotFoundException) { // 없는 아이디 일 때
            errorMessage = " 존재하지 않는 계정입니다. 회원가입 후 시도 해주세요 ";
        } else if(exception instanceof AuthenticationCredentialsNotFoundException) {  // 인증 거부
            errorMessage = " 인증 요청이 거부 되었습니다. 관리자에게 문의 ";
        }else {
            errorMessage = "이유 모를 오류로 로그인 처리 불가. 관리자에게 문의";
        }

        errorMessage = URLEncoder.encode(errorMessage, "UTF-8");  // 한글 깨지는 문제 방지
        setDefaultFailureUrl("/auth/login?error=true&exception=" + errorMessage);
        super.onAuthenticationFailure(request, response, exception);

    }
}
*/

  • 위 코드를 활용해 private final AuthenticationFailureHandler customFailureHandler;
  • 이 코드를 등록 후 bean을 등록 한 후 사용하려니 순환참조 오류 발생.. 전면 수정
  • 결국 해결 못함.
    • null 과 500 에러에 치이다 오늘은 여기까지..
    • 어떤 부분이 문젠지 감이 잡히질 않는다.
    • 일단 값을 못받는건 확실한데 왜 못받는건지 모르겠다.
    • json 형태로 출력은 되는데 뷰로 보내는 것에 문제

보충수업

  • 시큐리티 공부

운동

  • 부상 휴식

궁금한 것

내일 할 것

프로젝트

운동

해결하려고 노력 중

-- 더 공부할 것

-- 모르는 것

공부할 키워드

  • 스프링 빈, 스프링 컨테이너, 의존성 주입
  • 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