본문 바로가기
728x90
반응형

Development292

[SQL]REGEXP_SUBSTR 오라클 10g부터 정규 표현식을 사용할수 있게 되었다ㅏ. REGEXP_SUBSTR 란 키워드이다. 아주 간편하게 필터링 할수 있다. ㅎㅎ WITH TEMPTABLE AS (SELECT IF_FILE_NM FROM (SELECT 'L6D0POMTK00020111116133559.txt' AS IF_FILE_NM FROM DUAL UNION SELECT '1K010POMPKP1020111117134202.txt' AS IF_FILE_NM FROM DUAL UNION SELECT 'W100W10002POMT20111122131003.txt' AS IF_FILE_NM FROM DUAL UNION SELECT 'E10000SWPOMT20111114232235_7942630.txt' AS IF_FILE_NM FRO.. 2011. 12. 20.
[Oracle]세로 data를 가로로 변형하기 - LISTAGG 기존에 세로로 나온 DATA를 가로로 바꿀때에는 쿼리가 복잡했었지만 오라클 11g에서는 LISTAGG라는 함수를 사용해서 간단하게 만들수 있다. WITH RGN AS (SELECT RGN_CD FROM (SELECT 'A' AS RGN_CD FROM DUAL UNION SELECT 'B' AS RGN_CD FROM DUAL UNION SELECT 'C' AS RGN_CD FROM DUAL UNION SELECT 'D' AS RGN_CD FROM DUAL UNION SELECT 'E' AS RGN_CD FROM DUAL ) ) SELECT LISTAGG(RGN_CD, ',') WITHIN GROUP (ORDER BY RGN_CD)AS RGN_CD FROM RGN 결과 RGN_CD -------- A,B,C.. 2011. 11. 8.
[Spring in Action]DispatcherServlet 구성 actionServlet org.springframework.web.servlet.DispatcherServlet 1DispatcherServlet이 로드되면 이 서블릿에 부여된 이름을 기반으로 이름지어진 XML 파일을 이용하여 스프링 어플리케이션 컨텍스트를 로드한다. (actionServlet-servlet.xml) actionServlet *.htmlhtml로 끝나는 모든 URL 처리 org.springframework.web.context.ContextLoaderListener컨텍스트 로더 구성 ContextLoaderListener 구성후에 설정파일 위치 지정해야한다. 지정하지 않으면 /WEB-INF/applicationContext.xml을 검색하게 된다. contextConfigLocation.. 2011. 10. 25.
[Spring In Action]Spring MVC 요청의 생명주기 1. 요청이 가장 먼저 들르는곳은 DispatcherServlet이다. DispatcherServlet이 프론트 컨트롤러 역할을 한다. 2. DispatcherServlet은 요청을 스프링 MVC 컨트롤러로 보낸다. 이때 요청을 어느 컨트롤러로 보낼지 알아내기 위해 Handler Mapping에 도움을 청한다. Handler Mapping은 요청에 담긴 URL을 참고해서 결정을 내린다. 3. 컨트롤러가 결정되면 DisspatcherServlet이 요청을 Coltroller로 보낸다. Controller에서는 비지니스 로직을 수행하거나 여러개로 서비스에 비지니스 로직의 책임을 위임하기도 한다. 결론적으로 비지니스로직의 처리가 끝날때까지 기다린다. 처리가 끝난면 브라우저에 표시될 정보가 만들어진다. 이 정보.. 2011. 10. 17.
[Spring In Action]Transaction 동시성의 문제점 - Dirty Read Transaction에서 다른 Transaction에 의해 변경됐지만 아직 커밋되지 않은 데이터를 읽어버리는 문제. 이 데이터가 커밋되지 않고 롤백 됐을경우 첫번째 Transaction에서 읽은 데이터는 유요하지 않은 데이터가 된다. - NonRepeatable Read Transaction이 같은 질의를 2번 이상 수행할때 서로 다른 데이터를 얻기 되는것을 말한다. 각 질의 사이에 다른 Transaction이 데이터를 변경하는 경우에 발생한다. - Phantom Read Transaction이 둘 이상의 데이터 행을 읽은 다음, 동시에 다른 Transaction이 추가 행을 삽입할때 발생한다. 첫번째 질의에는 없어떤 행이 두번째 질의에서는 나타나게된다. Nonrepeatable .. 2011. 10. 7.
[Spring In Action]EHCache 설정 애트리뷰트 용도 diskExpiryThreadIntervalSeconds 얼마나 자주 디스크 만료 스레드를 실행시킬지 지정. 디스크에 저장된 캐시에서 만료될 항목을 제거할 주기(기본값 : 120초) diskPersistent VM 종료시 VM 재시작에 대비해 디스크를 이용해 캐시 내용을 저장할지 여부(기본값 : false) eternal 캐시 항목의 영구성을 지정. 영구설정시 만료되지 않음(필수) maxElementsInMemory 메모리에 캐시될 수 있는 항목의 최대 개수(필수) memoryStoreEvictionPolicy maxElementsInMemory에 도달했을 때 제거하는 방법지정. 기본으로는 '가장 사용된지 오래된(LRU : theLeast Recently Used)' 사용, 이외에 '선입.. 2011. 9. 28.
[Oracle]ORDER BY 절에서 NULL 값 위치 지정 ORDER BY COLUMNAME NULLS LAST -> NULL 값을 마지막으로 ORDER BY COLUMNAME NULLS FIRST -> NULL 값을 처음으로 2011. 9. 26.
[Spring In Action]풀링기능이 있는 DataSource 사용하기 driverClassName : JDBC 드라이버 패키지명을 포함한 완전한 클래스명 url : 데이터 베이스에 필요한 JDBC URL initialSize : 풀이 시작될 때 생성할 커넥션 수 maxActive : 풀에서 동시에 제공하는 최대 커넥션 수 maxIdl : 동시에 휴먼 상태로 유지도리 수 있는 최대 커넥션 수 2011. 9. 21.
Regular Expression Java [abc] [abc] : a, b or c 괄호안에 있는 문자가 존재하면 true(연결된것은 안됨) public class Test { public static void main(String[] args) { Pattern pattern = Pattern.compile("[ABCD]"); Matcher matcher = pattern.matcher("A"); System.out.println(matcher.matches()); }}결과 : true if문 쓰는것보다 훨씬 유용한것 같다. 2011. 9. 16.
STS Dashboard 초기에 뜨는거 없애기 Preferences 설정 한방이면 끝!!!! 2011. 9. 15.
[Spring In Action]@AspectJ 이용한 오토프록싱 @Aspect // aspect 선언public class Audience { @Pointcut("execution(* *.perform(..))") // pointcut 정의 public void performance(){} @Before("performance()") public void takeSeats(){ } @AfterReturning("performance()") public void applaud(){ } @AfterThrowing("performance()") public void demandRefund(){ }}@AspectJ 기반의 빈을 애스펙트로 변환하는 방법을 알고 있는 오토프록시 빈 선언 AnnotationAwareAspectJAutoProxyCreator -> 이름이 길다 -_.. 2011. 9. 9.
[Spring In Action]aspect용 AutoProxy생성 이렇게 선언해놓으면 ProxyFactoryBean을 따로 선언해줄 필요가 없다. DefaultAdvisorAutoProxyCreator를 선언하면 스프링 컨테이너는 이빈을 BeanPostProcessor로 인식한다. bean에 id가 없는건 이 빈을 참조해서 사용할 필요가 없기 때문이다. (참고)---------- Application Context 내에 bean lifecycle 인스턴스화 -> property 할당 -> BeannameAware의 setBeanName() -> BeanFactoryAware의 setBeanFactory() ->ApplicationContextAware의 setApplicationContext() -> BeanPostProcessor의 postProcessBeforeIn.. 2011. 9. 8.
728x90
반응형