분류 전체보기 235

정규화

정규화 : 데이터 중복을 방지하고 데이터를 효율적으로 저장하며 속성들을 테이블에 정확히 위치하게 하는 과정이다. 정규화는 최종적인 모델링이 아니며 모델링의 과정일 뿐이며 절차적인 과정이 아님에 유의해야 한다. 제1 정규화 ⊙ 반복된 속성이나 그룹 속성은 삭제하고, 새로운 실체를 추가한 뒤 기존의 실체와 1 : N의 관계를 형성한다 제2정규화 ⊙ 복합키로 구성된 경우 모든 칼럼들은 복합키 전체에 의존적이어야 한다. ⊙ 복합키 일부에 의존적인 칼럼은 제거해야 한다 ⊙ 복합키가 아닌 경우는 제2정규화의 대상이 아니다 제3정규화 ⊙ 테이블의 칼럼들은 기본키에 의존적이어야 한다. ⊙ 기본키 외의 칼럼에 종속적인 칼럼은 제거해야 한다.

개발 등/ORACLE 2009.03.17

간단한 프리마커 매크로 파일 만들기 (퍼온글)

탬플릿 기술인 프리마커를 사용해서 마치 JSP의 커스텀 태그와 비슷한 녀석을 만들 수 있습니다. 그런 녀석을 매크로라고 부릅니다. 프리마커를 사용한 기존의 코드는 다음과 같습니다. 아.. 이런 안타깝게도 순수 프리마커 지시자는 보이지 않습니다. 스프링이 지원하는 커스텀 지시자(매크로)만 보입니다. 회원 정보 입력 Name: 뭐 상관없죠. 위에서 저 검은색 부분은 왠지 항상 세트로 나올 것만 같은 코드 입니다. 매번 타이핑하기도 귀찮고 이렇게 하나의 태그로 줄여서 사용하고 싶습니다.그럼 먼저 새로운 ftl 파일을 하나 만듭니다. 간단하죠. 태그 파일 만들듯이 만들면 됩니다. field라는 변수에는 어떤 값이 들어오는 값을 매크로 안에서 EL 표기법 같은 interpolation이라고 하는 것으로 그 안에 ..

개발 등/SPRING 2009.03.13

블레이드 러너 : (Blade Runner)

I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhauser gate. All those moments will be lost in time, like tears in rain. Time to die. 제작사의 압력에 무분별하게 편집되어버렸고, 설상가상으로 스필버그 감독의 [E.T]와 같은 해 개봉하는 등의 악재로 인해 한때 저주받은 걸작으로 불리운 작품. 하지만 뒤늦게나마 감독판으로 재편집한 판본이 공개되면서 영화팬들의 열렬한 추앙으로 걸작의 반열에 오르게 된 영화. 짧은 인생이나마 살아온 반평..

Forward 와 Redirect의 차이

1. Forward : 해당 요청을 서버 내의 다른 자원(서블릿)으로 전달한다. 2. Redirect : 클라이언트의 요청을 처리한 후, sendRedirect()가 호출되면 이 응답에는 브라우저가 웹 컨테이너의 응답을 받은 후 다시 요청을 보낼 새로운 URL을 포함한다. 이 시점에서 첫 요청은 종료된다. 따라서 요청을 새로 전달받은 자원(서블릿)에서는 새로운 요청으로 처리된다.

개발 등/JSP 2009.03.06

encodeURI() / encodeURIComponent()에 대해서

이 모든 함수는 자바스크립트에서 인코딩을 담당하는 함수이다. 여기서 말하는 인코딩이란, 네트워크를 통해서 정보를 공유할 때 어떤 시스템에서나 읽을 수 있는 ASCII 문자로 바꿔주는 것을 말한다. 모든 네트워크를 통한 전송에는 ASCII 문자가 기반이 된다. 특히 한글이나 특수문자의 경우 이를 2진수 바이트코드로 변환해서 전송하면 받는 상대편의 시스템에 따라 잘못 해석되거나, 해석이 불가능할 수 있기 때문이다. 이를 해결하기 위해 모든 시스템에서 공통으로 읽을 수 있는 ASCII 문자로 바꿔서 데이터를 전송할 필요가 있다. 1. escape() 아래 열거된 아스키문자가 아니라면 모두 유니코드 형식으로 변환한다. ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxy..

Javascript의 eval() 함수

예제) function viewInfo(req){; if(req.readystate==4){ var result = eval("("+req.responseText+")") } } eval() 함수는 문자열인 인자값이 자바스크립트 문법에 일치하는 지 검증한 후 자바스크립트코드로 변환해 주는 함수입니다. 위의 예제에서 req.responseText의 내용은 JSON 표기법으로 명시된 단순한 텍스트일 뿐입니다. 따라서 텍스트를 자바스크립트 문법으로 변환시켜 값을 읽어오기 위해서 eval()함수를 사용합니다. ("")로 인자를 다시 감싼 이유는 eval()가 JSON표기법으로 명시된 텍스트를 파싱할 때 ':'까지를 label로 인식하여 label:statement 로 해석하기 때문에 괄호로 감싸지 않으면 ..

개발 등/AJAX 2009.03.04

JSON 표기법

JSON(Javascript Object Notation : 자바스크립트 객체 표기법) : 서로 다른 언어끼리 데이터를 주고 받기 위해 쓰이는 표기법 1. 표기법 * 맵 형식(키/값) {키1:값1, 키2:값2, 키3:값3} var countries = {ko:'Korea', fr:'France', nf:'Nefal'} var koName = countries.ko; var frName = countries['fr']; * 배열 {값1, 값2, 값3} var countries = ['ko', 'fr', 'fr']; var co0 = countries[0]; 2. 클래스 정의하기 클래스 이름 = function(파라미터){ ... } 클래스 이름.prototype={ 함수명1:function(파라미터){ ...

개발 등/AJAX 2009.03.04

자바스크립트의 prototype

1. 클래스 정의하기 클래스이름=function(param1, param2){ ... } ex) People=function(name, age){ this.name=name; this.age=age; } 2. 함수(메서드) 정의하기 클래스이름.prototype.함수이름=function(파라미터){ ... } ex) Member.prototype.getName=function(){ return this.name; } 3. 클래스 생성하고 함수 호출하기 변수=new 클래스이름(param1, param2); 변수.함수이름(파라미터); ex) var mem=new People('KimLee','30'); var newName=mem.getName();

개발 등/AJAX 2009.02.25

DOM Interface의 주요 메서드(함수)

1. Node 인터페이스 리턴타입 이름 설명 String nodeName 노드의 이름 String nodeValue 노드의 값 unsigned nodeType 노드 타입 Node parentNode 부모 노드 NodeList childNodes 자식 노드 목록 Node firstChild 첫 번째 자식 노드 Node lastChild 마지막 자식 노드 Node previousSibling 같은 부모를 둔 형제노드 중 이전의 형제노드 Node nextSibling 같은 부모를 둔 형제노드 중 이후의 형제노드 Document ownerDocument 이 노드가 포함된 Document 객체 DOM 트리 변경 함수 insertBefore Node new, Node old) 자식노드인 old노드의 previou..

개발 등/AJAX 2009.02.24