전체 글

배움을 기록하는 곳

    프로필 생성관련 공부#1

    로그인 시에 자동으로 만들어지는 프로필 생성되는 프로필의 경우에는 이름을 값으로 받기 때문에 RequestParam 어노테이션을 이용 ModelAndView를 받는 getChoose를 만들어주고 앞서 말했듯이 이름을 값으로 받기 때문에 RequestParma 어노테이션 이용, SessionAttribute 어노테이션의 경우 로그인한 유저마다 프로필이 다르기 때문에 해당 어노테이션을 이용하여 로그인한 유저의 값을 알 수 있도록 해줘야 됨. 따라서 각각의 경우는 if ~ else-if ~ else로 분기문을 걸어서 처리해주겠음. 1. 유저가 없을 때 modelAndView의 setViewName을 로그인으로 리다이렉트 시켜주고 2. 이름이 null이 아닐 때 이름이 널리 아니라는 것은 그 이름에 잠깐 서비스..

    Exception : Invalid bound statement (not found)

    Mybatis 오류로 Mapper 인터페이스와 XML의 불일치 XML id 부분의 오타가 발생하거나 공백이 들어가 있을 경우 발생. 또는 application.property에 XML의 경로를 잘못 작성한 경우. 우선 여기까지 체크해보고 그래도 안되면 구글링을 하면서 추가적으로 작성.

    Cookie

    우리가 각종 사이트에 로그인했을 때 쿠키로 서버가 로그인 여부에 관해 기억을 해줄 수 있다. 쿠키를 통해 세션의 값이 들어가지는 과정은 다음과 같다. 위의 사진으로 설명해보겠다. 이름 : [JSESSIONID] 콘텐츠 : F7DBD1493FD2FD3BB5FA353CA8BA913A HashMap sessionStroage = ?; HashMap sessinValues = ?; sessionValues.put ("user",user); sessionStroage.put("F7DBD1493FD2FD3BB5FA353CA8BA913A", sessionValue); F7DBD1493FD2FD3BB5FA353CA8BA913A.get("user") -> UserEntity user 위의 코드처럼 세션의 값이 들어가진 ..

    Dynamic Enum

    Enum의 경우 컴파일 타임에 수행되는 기능이므로, Enum을 직접 동적으로 처리하도록 할 수는 없다. 해결책은 Enum과 비슷한 또 다른 클래스를 작성하는 것! Enum은 그 자체가 클래스이다. 그래서 Enum의 기능을 모방하지만 일반 클래스이므로 상속을 받아 Dynamic 한 기능을 하게 해도 록 해줘야 함. 만드는 방법은 Enum에 클래스를 상속받도록 해주면 된다. 내가 만약 IResult라는 Enum을 만들었다면 이러한 IResult를 상속받아 처리해주면 된다. Enum //타입 변수에 모든 타입을 사용할 수 있음.

    intelliJ soft-wrap 설정

    해당 방법은 윈도우 기준입니다. 1. View -> Active Editor -> soft-wrap 설정 2. 쉬프트 두번 누르고 soft 검색하면 soft-wrap이 뜸 on 눌러주기 위에 두가지 방법은 default 값이 아니다. default 값으로 항상 soft-wrap을 지정해주려면 컨트롤+알트+s 누르고 Editor -> General -> Soft-wraps의 항목 부분 -> Soft-wrap these files: 에다가 ; * 를 추가 적용해주면 항시로 soft-wrap 설정 가능

    CryptoUtils

    1. 비밀번호를 설정할 때 필요한 단방향 암호화 메서드 만들기. 나중에 전역적으로 사용할 수 있기 때문에 utils라는 패키지 생성 -> CryptoUtils라는 클래스 생성 2. CrytoUtils 생성자를 private를 걸어서 접근을 제한함. 잘못된 값이 실수로 들어오는 경우를 막기. 3. 단방향 암호화의 종류는 여러 개가 있으므로 우선 enum으로 만들어 주기. 4. 해싱 과정을 처리할 메서드 만들기. 5. 각각의 경우에 대한 메서드 오버로딩. public class CryptoUtils { public enum Hash { MD5("MD5"), SHA_256("SHA-256"), SHA_512("SHA-512"); public final String algorithm; Hash(String al..

    Mapper 파일 생성

    1. mybatis dtd 검색 -> mybatis.org -> 복사하고 붙여 넣기 2. Settings에서 설정 (컨트롤+알트+s)

    SMTPSendFailedException

    하... 이놈 때문에 밤을 새우며 달렸다... SMTPSendFailedException : 555 5.5.2를 구글링 해본 결과 사용자 계정명이 영어로 되어있으면 안 된다고 한다. 그래서 레퍼 지토리, 사용자 계정명 변경 등 다양한 방법으로 사용자 계정의 이름에 손을 대다가 결국... 기존 계정이 로그인이 안 되는 현상이 발생해버림... 그래서 기존 계정을 백업시키는 방향으로 방법을 바꾸고 원래 한글로 되어있는 계정 말고 다른 계정을 하나 더 만들어서 영문으로 생성하고 기존의 파일을 가져와서 실행시켜보니 에러가 발생하지 않음.. 앞으로 진짜 뭐든지 다 영어로 작성한다...