startsWith 또는 endsWith 스크립트 함수를 사용하는데 IE에서 "'endsWith' 속성이나 메서드를 지원하지 않습니다." 와 같은 스크립트 에러가 발생할때가 있다.

ECMAScript 6 부터는 startsWith 또는 endsWith 함수가 추가되었다고 하는데 안될때는 아래와 같이 prototype를 선언해주면 해결된다.

 

String.prototype.endsWith = function(str) {if (this.length < str.length) { return false; } return this.lastIndexOf(str) + str.length == this.length;};

 

참고로

startsWith 함수는 지정된 텍스트가 문자열의 시작에서 발견되면 true를 반환하고 아니면 false를 반환한다.

endsWith 함수는 지정된 텍스트가 문자열의 끝에서 발견되면 true를 반환하고 아니면 false를 반환한다.

반응형

뒤로가기 기능을 막을 때 사용한다.


history.pushState(null, null, location.href);
    window.onpopstate = function () {
    history.go(1);
};


cf) history.pushState(state, title, url)


pushState는 히스토리 엔트리를 추가하는 메서드이다. (변경을 하고자 한다면 history.replaceState(state, title, url) 사용)

첫번째 인자는 전달하고자하는 object를 설정하고 (popstate 이벤트를 발생시킨다.)

두번째인자는 브라우져 타이틀을 설정하고(아직 구현은 되지 않았다고한다.)

세번째인자는 브라우져 Url을 설정한다. (주소표시줄은 "wow"라고 적든 "test.html"이라고 적든 표시는 되지만 존재여부는 따지지않는다.)

반응형

테이블 스크립트를 가지고 있다면 Erwin의 Reverse Engineer 기능을 이용하여 Erd를 생성할 수 있다.

(일일이 Erd를 그리기에는 실수도 있을 수 있고 시간과 노력이 아깝지 아니한가^-^;;;)

 

1. Erwin을 실행하고 메뉴에서 File > New 를 클릭하여 아래와 같은 창이 나타나면 Logical/Physical 을 선택하고 OK를 클릭하여 Erd 파일을 생성한다.

 

 

2. 생성된 새파일에 기본 Logical로 세팅되어져 있을 것이고 메뉴에서 Tools > Reverse Engineer을 선택하면 아래와 같은 창이 나오고 Logical/Physical을 선택하고 Next를 클릭한다.

 

 

3. Reverse Engineer From 항목에서 Script FIle을 선택하고 테이블 스크립트가 있는 파일을 선택하고 Next 버튼을 클릭한다.

 

 

4. 아래와 같이 Erd가 생성된것을 확인할 수 있다. 번외로 Comment의 명칭을 Logical의 Name으로 세팅을 하려면 아래 Model Type이 Physical 상태에서 Ctrl + A를 눌러 전체 테이블을 선택한 후 빈 공간에서 오른쪽 마우스를 클릭하고 "Harden Physical Names" 를 선택한다. (이렇게 하는 이유는 논리명을 바꿀때 물리명은 고정시키기 위함이다.)

 

 

5. Model Type을 Logical을 바꾼뒤 메뉴 Model > Domain Dictionary를 선택한뒤 나오는 팝업창에서 Macro Toolbox를 클릭한다.

 

 

6. Macro Toolbox 팝업창에서 Macros항목의 Attribute Macro > %ColumnComment를 선택하고 Insert Macro를 클릭하고 Close를 눌러 창을 닫는다.

 

 

7. Name Inherited by Attribute 항목에 %ColumnComment 가 입력된 것을 확인하고 OK버튼을 클릭한다.

 

8. Erd 화면에서 아무 테이블이나 하나 선택한뒤 메뉴 Model > Attributes를 선택한뒤 나오는 팝업창에서 Reset 버튼을 클릭한다.

9. Remove overridden properties for 항목에서 Reset all attributes in mode을 선택하고 Select Properties to Rest 항목에서 Name만을 체크한뒤 OK 버튼을 클릭한다.

10. 해당 Attributes의 Attribute의 명이 한글로 바뀐것을 확인할 수 있고 OK버튼을 클릭한다.

11. Erd의 Model Type이 Logical의 테이블이 한글로 바뀐것을 확인할 수 있다.

 

 

cf. 1) 9번을 실행하다보면 아래와 같은 오류창이 뜰때가 있다. 생성스크립트에서 해당 테이블에 대한 Comment 스크립트가 빠져있을때 발생하였다.

cf. 2) 해결방법으로는 테이블 컬럼에 대한 Comment 스크립트를 다 달아주고 진행하면 된다.

cf. 3) 또 다른 해결방법으로는 7번의 Name Inherited by Attribute 항목에 %ColumnComment 가 아닌 아래와 같은 조건문을 사용하면 된다.

%if(%>(%Len(%ColumnComment),0)){%ColumnComment}%ELSE{%ColName}

cf. 4) 아래와 같은 오류창이 나타나는 또 다른 유형은  테이블 안에서 컬럼명은 다른Comment 명은 동일하게 사용하는 경우 발생하였다.

 

 

 

반응형

+ Recent posts