본문 바로가기

728x90
반응형

분류 전체보기

(245)
[Oracle] TIMESTAMP를 활용한 데이터 복구 TIMESTAMP 데이터베이스를 이용하다 보면 실수로 데이터를 삭제하거나 잘못 업데이트하는 경우가 있다. 물론 COMMIT을 하기 전이라면 상관이 없다. ROLLBACK을 하면 그만. 하지만 COMMIT을 한 이후에 문제를 확인하여 데이터를 복구해야 하는 경우가 있다. 이럴 때 ORACLE의 TIMESTAMP를 이용하면 데이터를 복구할 수 있다.    TIMESTAMP의 사용 조건 1) oracle 9i 이상부터 지원2) DB 설정된 시간에 따라 오래 지난 데이터는 TIMESTAMP로 복구가 불가능함    TIMESTAMP 사용법 단위는 SECOND, MINUTE, HOUR, DAY로 지정해서 사용할 수 있다. 기준은 현재 시점이고 조건문을 함께 사용하는 것이 좋다. -- 10초 전의 데이터 조회SELE..
[Javascript] console.log() 다시 보기 console.log() Console은 브라우저의 내장 디버거로서 웹 개발 시 수도 없이 많이 사용된다.그중에서도 console.log()는 일반적으로 가장 많이 사용하는 함수로 자바스크립트 객체, 문자열 등의 데이터를 콘솔창에 출력시키는 데 사용된다. console.log()를 출력하거나 그 기능을 사용하기 위해서는 개발자 도구를 이용해야 한다.아래 예시는 콘솔창을 통해 실행한 것으로 마지막 라인에 '가 출력되는 이유는 콘솔창에서 특정 함수를 실행하면 그 함수의 return 값을 출력하도록 만들었기 때문. console.log()는 return 값이 없다.      console.log()의 객체 참조  console.log()가 다른 값을 찍어 준다? console.log()를 통해 로깅을 할 때 ..
[Oracle] ORA-12899: 열에 대한 값이 너무 큼 ORA-12899: 열에 대한 값이 너무 큼 데이터를 INSERT 또는 UPDATE 시 많이 마주치는 오류다.이 오류는 해당 컬럼에 설정된 데이터 허용치보다 더 큰 값을 삽입/수정하는 경우 발생한다. CREATE TABLE USER_TABLE( USER_ID VARCHAR2(10) NOT NULL, USER_NAME VARCHAR2(10) NOT NULL, ADDRESS VARCHAR2(10));INSERT INTO USER_TABLE(USER_ID, USER_NAME, ADDRESS)VALUES('100', '홍길동', '대한민국 서울특별시 강남구');-- ORA-12899: 열에 대한 값이 너무 큼 위 예시에서는 ADDRESS 컬럼은 VARCHAR2(10)인데 실제 입력된 값의 크기는 ..
[Oracle] ORA-00904: invalid identifier, 부적합한 식별자 ORA-00904: invalid identifier, 부적합한 식별자 오라클에서 'ORA-00904: 부적합한 식별자' 에러는 컬럼명을 찾을 수 없을 때 발생한다.  원인1) 존재하지 않는 열 이름을 지정함2) 정의된 열 이름과 대소문자가 일치하지 않음3) 작은 따옴표(')와 큰 따옴표(") 사용 오류4) 열 이름에 특수문자 사용5) 열 이름에 예약어 사용  해결 방안1) 해당 열이 테이블에 존재하는지 확인2) 큰 따옴표로 묶인 열 이름은 대소문자로 구분하므로 확인  cf) 따옴표로 묶지 않은 식별자는 항상 대문자로 변환되어 관리됨3) 작은 따옴표(')로 값을 묶으면 값으로 취급되지만 큰 따옴표(")로 값을 묶으면 객체 이름으로 처리되므로 확인 필요4) 열 이름 앞에 숫자나 기호를 사용하고 있지 않은지..
[Javascript] 이벤트 버블링 버블링(bubbling)의 원리는 간단하다. 한 요소에 이벤트가 발생하면 이 요소에 할당된 핸들러가 동작하고 이어서 부모 요소의 핸들러가 동작한다. 이러한 과정이 가장 최상단의 조상 요소를 만날 때까지 반복되면서 각 요소에 할당된 핸들러가 동작하는 것이다.   3개의 요소가 grand-div > parent-div > child-div 형태로 중첩된 구조.가장 안쪽에 위치한 child-div를 클릭하면 다음과 같은 순서로 이벤트가 발생한다.  1) child-div에 할당된 onclick 핸들러가 동작한다.2) parent-div에 할당된 onclick 핸들러가 동작한다.3) grand-div에 할당된 onclick 핸들러가 동작한다.4) 위와 같은 과정으로 document 객체를 만날 때까지 각 요소에..
[Javascript] 형변환(1) - 명시적 형변환 Javascript는 동적 타입 언어로 변수의 타입을 미리 선언할 필요가 없다. Javascript는 컴파일 과정 없이 실행과 동시에 해석하는 인터프리터 언어다. 그런 원리에서 코드가 실행되는 과정에서 상황에 따라 값의 타입이 유연하게 바뀔 수 있는 것이다. 명시적 형변환 명시적 형변환은 말 그대로 명시적으로, 즉 의도적으로 형변환을 하는 경우에 해당한다. 명시적 형변환은 주로 String, number, boolean 타입으로 이루어진다. 어떤 값의 타입을 의도적으로 변경해서 사용하겠다는 의미기 때문이다. symbol은 자주 사용되지 않고 null과 undefined는 자료형인 동시에 값이므로 필요한 경우 그 값을 할당하면 된다. 따라서 이 세 종류의 명시적 형변환을 위해 각각 String(), Num..
[Javascript] use strict Javascript는 꽤 오랫동안 호환성 이슈 없이 발전해 왔다. 기존의 기능을 변경하지 않으면서 새로운 기능들이 추가되었던 것이다. 덕분에 기존에 작성한 코드는 절대 망가지지 않는다는 장점이 있었다. 하지만 Javascript 창시자들이 했던 실수나 불완전한 결정이 언어 안에 그대로 박제되어 있다는 단점도 생길 수밖에 없었다. 이런 상황은 ECMAScript5(ES5)가 등장하기 전까지 지속되었다. 그러나 ES5에서는 새로운 기능이 추가되고 기존 기능 중 일부가 변경되었다. 그리고 기존 기능을 변경하였기 때문에 하위 호환성 문제가 생기게 되었다. 그리하여 변경사항 대부분은 ES5의 기본 모드에선 활성화되지 않도록 설계되었다. 대신 use strict라는 특별한 지시자를 사용해 엄격 모드(strict m..
[Javascript] typeof 연산자 typeof 연산자는 인수의 자료형을 반환한다.   자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 용이하다.    typeof 연산자는 두 가지 형태의 문법을 지원한다. 1. 연산자  typeof x 2. 함수  typeof(x)   괄호가 있든 없든 결과는 동일하다.   typeof 연산자 사용 예시(1)typeof undefined // "undefined"typeof 0 // "number"typeof 10n // "bigint"typeof true // "boolean"typeof "foo" // "string"typeof Symbol("id") // "symbol"   위와 같이 typeof x를 호출하면 인수의 자료형을 나타내는 문자열을 반환한다.   ..

728x90
반응형