본문 바로가기

(87)
spring --5 . 테스트 log4j 라이브러리가 필요하며 log4jdbc.log4j2.properties 파일을 main/resoruce 밑에 생성해야 된다. 1 log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator cs test 패키지에서 작성한 테스트 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 package com.zerock.sample; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runn..
Spring 3 -- AOP A> AOP Aspect Oriented Programming 시스템 전반에 필요한 기능을 모듈화 시키고 비지니스 로직과는 분리하기 위한 프로그래밍이다. AOP는 횡단 관심과 연관이 있다. DI가 의존성에 대한 주입이라면 AOP는 핵심관심(= 비즈니스 로직)에 대한 주입이다 a. 횡단 관심 횡단 관심은 모든 객체에 필요한 요소이다. 시스템에서 엄청나게 중요하진 않지만 반드시 필요한 요소 혹은 대부분에서 필요로 하는 기능 등으로 말할 수 있다. 가장 좋은 예시는 Logging이다. 다른 예시로는 db 연동이 있다.
Spring2 -- 의존성(dependecy)과 의존성 주입 (DI) A>DI ,IOC 자바에선 객체들끼리 의존성을 가지고 있는 경우가 있다. 의존성의 가장 좋은 예는 new 생성자이다. new 생성자가 없으면 동작하지 않는 경우이다. B가 바뀌면 A도 바뀌어야 한다는 단점도 있다. 즉, 유지보수는 힘들어진다. 스프링은 객체들이 존재하는 컨테이너를 가지고 있고 예를 들어 A 객체가 B 객체를 필요로 할 때 객체들이 있는 컨테이너에서 B 객체를 생성해서 A에게 주입을 해주는 것이다. 그러면 의존성을 최소화 할 수 있다. B가 바뀌어도 상관이 없다. 어짜피 바뀐 객체도 컨테이너에 있다. A는 무언가 수정할 필요가 없다. 객체 생성에 있어서 주도권을 사용자가 가지는 것이 아니고 컨테이너가 가지고 있기 때문에 Inversion Of Control 이라는 개념으로 사용된다. DI ..
Spring framework 1 -- 간단한 설정 정보 1. root-context bean 을 등록하는 곳이다. root context 의 정보를 가지고 spring container 가 만들어진다. spring container 에서 등록된 bean 들에 대해 의존성을 주입해준다. 의존관계를 bean 그래프로 확인할 수 있다. 2. web.xml url 패턴을 정의 한다. url 패턴 3. pom.xml pom = Project Object Model 프로젝트에 대한 기본적인 정보 프로젝트에서 사용되는 라이브러리와 언어 정보 들이 xml 파일로 정의되어 있다. --xmlns = xml name space : 패키지의 개념이다. -- war :war = web archive war 파일로 패키징 하겠다는 뜻 4. project building tool : ..
css 선택자 클릭하기 전 태그의 선택자 tag:link 클릭한 후 태그의 선택자 tag:visited 인접 형제 선택자 = tag1 요소 다음 tag2요소만 선택 tag1 + tag2 일반 형제 선택자 = tag1 요소 와 형제인 tag2 요소 전체 선택 tag1 ~ tag2 자식 선택자 = 자식의 요소만 선택 (자손이 아님) tag1 > tag2 속성 선택자 tag[속성] = 해당하는 속성값을 포함한 tag 선택 tag[속성='값'] = 해당하는 속성값이 '값'인 tag 선택 tag[속성~='값'] = 해당하는 속성값이 '값'을 포함하고 있는 tag 선택 tag[속성^='값'] = 해당하는 속성값이 '값'으로 시작하는 tag 선택 tag[속성|='값'] = 해당하는 속성값이 '값' 이거나 '값'을 포함하는 tag ..
페이지를 만들 때 팁 0. 영역 리셋 * { margin:0 ; /* 마진 리셋 */ padding:0 ; /* 패딩 리셋 , auto를 넣으면 각 영역의 중앙에 배치가 되버린다.*/ box-sizing: border-box; /* 박스 영역은 테두리까지 */ } 1.중앙배치 너비값이 있어야지 중앙정렬이 된다. #container { margin:0 auto; /* 화면 중앙에 배치 */ width:1200px; /* 너비 */ } 2. a 태그 밑줄 없애기 a { text-decoration:none; /* 텍스트 링크 밑줄 없애기 안하면 한번 클릭할 시 밑줄이 생긴다. */ } 3. ul 리스트 표시 없애기 ul은 보통 nav 에 많이 쓰인다. ul { list-style: none; }
web workers 쓰레드와 같은 역할
web storage 쿠키와 같은 역할을 한다. html 5에서 나온 기능 쿠키와는 다르게 각 윈도우에 독립적인 값을 저장할 수 있다. 여기서 윈도우란. 각 페이지를 보여주는 창이다. 자바스크립트의 window 객체라 생각하자. 자바스크립트로 조작한다. 웹 스토리지의 특징 1. 문자열만 저장 가능 2. 맵 형식의 데이터로 저장 A>종류 - 윈도우에 웹페이지가 로드되면 세션 스토리지와 로컬 스토리지가 자동 생성된다. 1. 세션 스토리지 - 윈도우에 웹 사이트가 로드 될 때 생성됨 - 윈도우마다 세션 스토리지 별도 생성 - 현재 띄워져 있는 탭에서만 유지가 됨 - 로드된 웹사이트의 모든 웹페이지들이 스토리지 공유 (= 다른 웹사이트도 세션 스토리지에 접근 가능) - 윈도우 닫힐 때 소멸됨 2. 로컬 스토리지 - 윈도우에 상관없이..