반응형

어느날 개발중에 다소 생소한 에러를 하나 마주쳤습니다.

위와 같은 에러였는데요

 

org.apache.ibatis.reflection.ReflectionException: Illegal overloaded getter method with ambiguous type for property 'password' in class '클래스명'. This breaks the JavaBeans specification and can cause unpredictable results.

 

대충 이런 내용의 에러였는데요

 

검색을 해보니 비슷한 오류를 겪으신 분들이 생각보다 많았습니다.

 

대략적으로 설명을 하자면 lombok 을 사용해서 모델객체를 만들 때

저의 경우

패스워드를 사용할지 여부를 저장하는 boolean 타입의 isPassword 와

패스워드를 저장하는 string 타입의 password

이렇게 두개의  변수를 선언하였는데

 

lombok 에서 두개의 변수명에 동시에 password 라는 단어가 들어가서

getter setter 생성 시 두개를 동일한 변수라고 인식하여 생기는 오류였습니다.

 

이런 오류 발생 시 is 뒤에 오는 변수명이 중복되지 않게 설정해주면

오류가 해결됩니다.

반응형
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Mutation Observer => DOM 에 변화가 있을 때 감지해서 이벤트를 발생시켜주는 기능
//var target = document.getElementById('target');
var target = $('#target')[0];
 
// 감시자 인스턴스 만들기
var observer = new MutationObserver((mutations) => {
  // 노드가 변경 됐을 때의 작업
  console.log("event 발생!");
})
 
// 감시자 옵션 포함, 대상 노드에 전달
var config = {
  attributes: true
  childList: true,
  characterData: true
};
 
// 대상 노드에 감시자 전달
observer.observe(target, config);
 
// 나중에, 감시를 중지 가능
observer.disconnect();
cs

 

https://developer.mozilla.org/ko/docs/Web/API/MutationObserver

 

MutationObserver - Web API | MDN

MutationObserver 는 개발자들에게 DOM 변경 감시를 제공합니다. DOM3 이벤트 기술 설명서에 정의된 Mutation Events 를 대체합니다.

developer.mozilla.org

이곳을 참고하였습니다~

반응형
반응형

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function once(fn, context) { 
    var result;
 
    return function() { 
        if(fn) {
            result = fn.apply(context || thisarguments);
            fn = null;
        }
 
        return result;
    };
}
 
// Usage
var canOnlyFireOnce = once(function() {
    console.log('Fired!');
});
 
canOnlyFireOnce(); // "Fired!"
canOnlyFireOnce(); // nada
cs

https://davidwalsh.name/javascript-once

 

JavaScript Once Function

Learn how to ensure your function fires only once with JavaScript!

davidwalsh.name

이분의 글을 참고하였습니다~

반응형
반응형

오라클의 자동증가 컬럼 설정을 찾아보면 대부분 시퀀스를 설정하여

INSERT 시 해당 컬럼에 sequence.NEXTVAL 을 이용하여 자동 증가시키는 예제가 대부분이었습니다.

그래서 시퀀스를 사용하지 않고 값을 자동증가 시킬 방법이 없을지 찾아보다가

다음과 같은 글을 발견했습니다.

 

https://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle

 

How to create id with AUTO_INCREMENT on Oracle?

It appears that there is no concept of AUTO_INCREMENT in Oracle, up until and including version 11g. How can I create a column that behaves like auto increment in Oracle 11g?

stackoverflow.com

 

이 글에 아래쪽에 보시면

 

 

이런 부분이 나오는데

해당 쿼리를 이용하면

ID 에 값을 넣어주지 않아도 자동으로 증가하는 테이블을 만들 수 있습니다.

예를들어

 

create table TEST (

  ID NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),

  CONTENT VARCHAR2(255),

);

 

이런 테이블을 생성하면

INSERT 시

INSERT INTO TEST (CONTENT) VALUES ('TEST');

이렇게  CONTENT 값만 넣어줘도

ID 컬럼에 자동으로 값이 증가되어 INSERT 되는 것을 확인할 수 있었습니다.

 

반응형
반응형

/*연도별*/
WITH WD AS 
(
SELECT TO_DATE('2015-01-01', 'YYYY-MM-DD') AS FROM_DT
, TO_DATE('2020-07-30', 'YYYY-MM-DD') AS TO_DT
FROM DUAL 
)
SELECT DT
FROM (
SELECT TO_CHAR(TO_CHAR(FROM_DT,'YYYY') + LEVEL -1) AS DT
FROM WD 
CONNECT BY LEVEL <= TO_CHAR(TO_DT, 'YYYY') - TO_CHAR(FROM_DT,'YYYY')+1
)

/*월별*/
WITH WD AS 
      ( 
        SELECT TO_DATE('2021-01-01', 'YYYY-MM-DD') AS FROM_DT
        , TO_DATE('2021-12-30', 'YYYY-MM-DD') AS TO_DT
        FROM DUAL 
      ) 
      SELECT DT, DT2 
      FROM ( 
        SELECT TO_CHAR(ADD_MONTHS(FROM_DT , (LEVEL-1)), 'YYYYMM') AS DT2 , 
        TO_CHAR(ADD_MONTHS(FROM_DT , (LEVEL-1)), 'YYYY-MM') AS DT 
        FROM WD 
        CONNECT BY LEVEL &lt;= MONTHS_BETWEEN(TO_DT , FROM_DT)+1
      )

/*주별*/
WITH WD AS 

  SELECT TO_DATE('2021-03-01', 'YYYY-MM-DD') AS FROM_DT -- 시작일자 
  , TO_DATE('2021-07-17', 'YYYY-MM-DD') AS TO_DT -- 종료일자 
  FROM DUAL 

SELECT DT
FROM
(
SELECT DT
FROM ( 
  SELECT TO_CHAR(FROM_DT + (LEVEL-1), 'YYYY')|| '_' || TO_CHAR(FROM_DT + (LEVEL-1), 'WW') AS DT
  FROM WD 
  CONNECT BY LEVEL <= (TO_DT - FROM_DT) + 1 
)
)
GROUP BY DT
ORDER BY DT


/*일별*/
WITH WD AS 

  SELECT TO_DATE('2020-07-01', 'YYYY-MM-DD') AS FROM_DT -- 시작일자 
  , TO_DATE('2020-07-17', 'YYYY-MM-DD') AS TO_DT -- 종료일자 
  FROM DUAL 

SELECT DT, DT2 
FROM ( 
  SELECT TO_CHAR(FROM_DT + (LEVEL-1), 'YYYYMMDD') AS DT , 
  TO_CHAR(FROM_DT + (LEVEL-1), 'YYYY-MM-DD') AS DT2 
  FROM WD 
  CONNECT BY LEVEL <= (TO_DT - FROM_DT) + 1 
)


반응형
반응형

작업을 하다가 어느 순간

어떤 배열을 이용하여 Object 를 생성해야 하는데

배열을 이용하여 동적으로 key 와 value 를 생성해야할 때가 있었습니다.

 

Object 를 생성할 때는

1
2
3
4
5
6
7
var testObject = {
    "1번째 컬럼" : "사과",
    "2번째 컬럼" : "바나나",
    "3번째 컬럼" : "오렌지",
    "4번째 컬럼" : "포도",
    "5번째 컬럼" : "옥수수"
}
cs

 

이렇게 생성하는 방법밖에 몰랐었는데

 

blog.knowgari.com/JSON%EB%8F%99%EC%A0%81%ED%95%A0%EB%8B%B9/

 

[JavaScript] JSON 객체 Key값 동적 할당

JSON 객체 Key값 동적 할당

blog.knowgari.com

이분의 블로그를 참조하여

어떠한 배열 등이 있을 때

다음과 같이 동적으로 key 와 value 를 선언할 수 있게 되엇습니다.

그 방법은

 

1
2
3
4
5
6
7
8
9
10
11
12
<script>
    var testArray = ['사과''바나나''포도''오렌지''옥수수']
    
    var testObject = new Object();
 
    testArray.forEach(function(item, index, arr2){
        testObject[(index+1)+"번째 컬럼"]=item;
    })
 
    console.log(testObject);
 
</script>
cs

 

이렇게 object 를 생성하게 되면

 

이렇게 동적으로 생성되는것을 확인하실 수 있습니다.

반응형
반응형

Jquery Datepicker 사용시

 

위와 같은 오류가 날 때가 있었습니다.

 

한참을 찾아봐도 해결이 되지 않다가

너무 사소한 실수인걸 알고나서

허무했네요

 

해결방법은

다른 tag 의 id 값 중 Datepicker 를 사용한 input 의 id 와 중복되는 것이 있는지 

확인해보시면 됩니다.ㅎㅎ

 

stackoverflow.com/questions/17781425/datepicker-returning-uncaught-typeerror-undefined-currentday

 

Datepicker returning uncaught typeError: undefined 'currentDay'

I've been using jQuery UI with Bootstrap and I seem to run into a problem that I haven't had before. I'm not sure what has changed; I've tried setting back different version of jQuery and I didn't ...

stackoverflow.com

 

반응형
반응형

document.getElementById('adminA').appendChild("<span class='sr-only'>(current)</span>");

위의 코드를 실행하면 

아래와 같은 에러가 발생합니다.

 

 

Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

대충 해석해보면 appendChild 는 Node 만 추가할 수 있다.

이런 얘기입니다.

따라서 위의 코드는 잘못된 코드이고

appendChild 를 사용하려면

 

var onSpan=document.createElement('span')

onSpan.innerHTML="(current)"

onSpan.classList.add('sr-only')

document.getElementById('adminA').appendChild(onSpan);

 

위와 같이 사용하시면 해결이 됩니다.

 

출처:

stackoverflow.com/questions/27079598/error-failed-to-execute-appendchild-on-node-parameter-1-is-not-of-type-no

 

Error: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'

I am trying to drag and drop an image on a div. The image does not get get dragged onto the div and gives the following error Uncaught TypeError: Failed to execute 'appendChild' on 'Node': paramet...

stackoverflow.com

반응형

+ Recent posts