** 인텔리제이가 Nuxt의 자동 임포트 인식 못하여 빨간줄 가능 경우 인식 하도록 설정 추가 하기

- 처리 방법 
1. 프로젝트 루트에 nuxt.d.ts 파일 생성
2. nuxt.d.ts 에 내용 한줄  추가
    /// <reference types="nuxt" />
3. tsconfig.json 내용추가      
{
  "include": ["**/*", "nuxt.d.ts", ".nuxt/types/**/*.d.ts"]
}

끝....

반응형

'개발 > JS,NODEJS' 카테고리의 다른 글

VSCode 에서 Nodejs 8 미만 실행하기  (0) 2020.10.14
Node.js 참고 정보 모음  (0) 2019.02.21

오늘의 주제. 안전코딩

1. JAVA 
    1) Object.equals() 을 활용해 볼까?
        - 참조형 변수를 비교시 NULL이 있을경우 NPE가 발생

if ( myName != null && myName.equal("이름") ) {
  // 당신은 멋쟁이!
}

        - myName 이 String 이고 참조형 변수여서 null 가능 하기에 안전한 코드를 위하면 null 이 아님을 항상 확인 필요

if ( Objects.equals(myName, "이름") ) {
  // 당신은 멋쟁이!
}

        - Objects.equals()는 내부에서 NULL 체크하여 NPE 가능성을 줄여줌.
        - Objects.equals(null, null) 의 값은 true

    2) Object.toString() 
        - 우린 가끔 변수에 NULL이 오는 경우를 생각하지 못하고  toString을 실행하여 NPE 발생 시키지요.
        - NPE 발생을 막기 위해 NULL 확인을 하는 조금 더 복잡한 코드가 필요. 

예1) resultName = myName == null ? "이름" : myName;
예2) resultName = Objects.toString(myName, "이름");
// Objects.toString()
public static String toString(Object o, String nullDefault) {
    return (o != null) ? o.toString() : nullDefault;
}


    3) ObjectUtils.isEmpty(), ObjectUtils.isNotEmpty() 
        - 우리는 변수의  형별로 NULL 또는 빈 상태를 체크한는 불편함이 있음
        - ObjectUtils.isEmpty 는 여러가지 형을 동시에 체크해줌! 

// ObjectUtils
public static boolean isEmpty(@Nullable Object obj) {
    if (obj == null) {
        return true;
    } else if (obj instanceof Optional) {
        return !((Optional)obj).isPresent();
    } else if (obj instanceof CharSequence) {
        return ((CharSequence)obj).length() == 0;
    } else if (obj.getClass().isArray()) {
        return Array.getLength(obj) == 0;
    } else if (obj instanceof Collection) {
        return ((Collection)obj).isEmpty();
    } else {
        return obj instanceof Map ? ((Map)obj).isEmpty() : false;
    }
}
ex) 잘못된 예
if(!ObjectUtis.isEmpty(...)) -> 명시적 코드가 아님
ex)올바른 예
//Empty가 아닌것을 체크할 경우 아래처럼 체크하는걸 추천
if(ObjectUtis.isNotEmpty(...))

        - String 의 경우 NULL과 공백을 동시에 체크
        - Spring의 ObjectUtils에는 isNotEmpty가 없음  isNotEmpty가 있는 apache ObjectUtils 추천

2. Javascript 
    1) !! 연산자를 사용하자.
        - JS는 값이 없음을 체크 하기가 참 어렵다 ㅜㅜ  ( ““, NaN, undefined, null 등)
        -  !! 는 값이 없음 체크에 좋다.
        -  !!의 정확한 정의는 : 값을 불리언 값으로 명시적 변환이다. 그래서  false, 0 에 !! 하는 겨우도 false를 반환

!!("str") 	//true
!!("")		//false
!!true		//true
!!false		//false			
!!NaN		//false
!!undefined //false
!!null		//false
!!0			//false -> 0을 허용하는 경우도있으니 조심해서 사용할것
!!777		//true
반응형

환경 :
    기존 : Local 에서 Spring Boot 2.5.4  Spring Security 사용 Redis로 세션관리
    신규 : Local 에서 Spring Boot 3.2.5  Spring Security 사용 Redis로 세션관리

1. 로컬에서 웹 기동시 Redis deserialize  오류 발생
2. 오류 발생 이유는 Spring Security는 다른 버전간에 직렬화가 되지 않는다고 합니다. 
3. 이전 시큐리티에서 생성된 Redis에 등록된 정보를 신규 버전에서 deserialize  를 못하면서 생기는 문제.
4. 기존 프로젝트로 사용해야 하고 신규 프로젝트도 사용 해야 함
5. 기존 프로젝트는  Redis database는 0번 사용 신규 프로젝트는   Redis database는 1번사용으로 설정 변경

org.springframework.data.redis.serializer.SerializationException: Cannot deserialize  
 org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:108)

참고: https://github.com/spring-projects/spring-boot/issues/38959

반응형

+ Recent posts