쿼리를 수행하는 도중 서브쿼리(Subquery)가 존재할 때

 

단 1개의 컬럼만 도출되어야 하나, 2개 이상의 컬럼이 도출 되었을 때 발생하는 에러이다.

 

쿼리를 다시 확인하고, 서브쿼리(Subquery)를 올바르게 사용하자.

공통 메서드 중 가장많이 사용하는 isEmpty 메서드를 소개한다.

 

null or not null 을 먼저 판별한 후

 

각 어떤 클래스인지 instanceof로 판단 뒤 각 클래스에 선언된 메서드를 이용하여 판별한다.

 

Java isEmpty 메서드

/**
 * obj가 null 혹은 비어있는지 비교
 * 
 * @params Object obj
 * @return boolean
 * @apiNote Custom.isEmpty(obj)
 *
 */
public static boolean isEmpty(Object obj){
    // null 이라면
    if (obj == null)
        return true;

    // String 이라면
    if (obj instanceof String)
        return ("".equals(((String) obj).trim()));

    // Map이라면
    if (obj instanceof Map)
        return ((Map<?,?>) obj).isEmpty();

    // List라면
    if (obj instanceof List)
        return ((List<?>) obj).isEmpty();

    // Object 배열이라면..
    if (obj instanceof Object[])
        return (((Object[]) obj).length == 0);

    return false;
}

 

MYSQL의 버전을 확인하는 방법

 

SELECT VERSION();

 

 

 

MYSQL 버전 확인

스크립트로 개발을 하면서, 고민이 생겼다.

 

혼자 개발하면 문제가 없지만.. 협업을 하게 되었을 때 스크립트 특성상

 

function명이나, 변수명이 중복으로 사용될 때 정말 난감하지 않을 수 없었다.

 

특히, 공통 script에 선언한 function 명이 중복되는 상황이 왔을 때 이러지도 저러지도 못하는 상황이 있다.

 

그럴 때, 즉시 실행함수로 모듈화 하는것이 이 문제를 해결할 수 있고, 중복을 피할 수 있었다.

 

더 나아가 유지보수에도 많은 도움이 되었다.

 

앞으로는 공통 script는 꼭 모듈화를 통해, 만들어 써야겠다.

 

(function(window){
    let module = {
        HI_HELLO: '안녕하세요',
        getString: function (str) {
            let value = '';
            	value = str + '빼기';
            return value;
        },

        getInteger: function (num) {
            return num;
        }
    }
    window.CustomUtils = module;
}(window));

* 사용법은 다음과 같다

// 전역변수 사용하기
console.debug('Hello -> ' , CustomUtils.HI_HELLO);
// result:: 안녕하세요

// function 사용하기
CustomUtils.getString('빼기');
// result:: 더하기빼기

 

 

 

Javascript 모듈(Module) 만들기

 

+ Recent posts