본문 바로가기
반응형

전체 글564

[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.
[Spring In Action]AspectJ 포인트컷 정의 excution(* *.perform(..)) excution : method가 실행될때 * : 모든 반환 값 타입에 대해 *. : 모든 클래스의 perform : perform() method (..) : 인자의 개수에 상관없이 2011. 9. 7.
[Spring In Action]정규표현식 포인트컷 선언 포인트컷은 어드바이스가 적용돼야할 메서드를 골라내는것 pointcut 정의 advice와 pointcut 결합 하나의 빈 설정으로 pointcut과 advice 동시정의 2011. 9. 6.
[Programming Challenges] The 3n+1 Problem 정수 n에서 시작해 n이 짝수면 2로 나누고 홀수면 3을 곱한 다음 1을 더한다. 이렇게 해서 새로 만들어진 숫자를 n으로 놓고 n=1이 될때까지 같은 작업을 반복한다. 1이 나올때까지 만들어진 수의 개수(1포함)를 n의 사이클 길이라고 한다. 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 22의 사이클은 16 입력 - 입력은 일련의 정수 쌍 i와 j로 구성되며 한 줄에 한쌍의 수가 입력된다. 모든 정수는 1,000,000보다 작고 0보다 크다 출력 - i, j를 입력된 순서대로 출력 - i, j의 최대 사이클 길이 출력 입력 예 출력 예 1 10 1 10 20 100 200 100 200 125 210 210 201 210 89 풀이) 풀긴 했는데 http://www.pr.. 2011. 9. 1.
[SQL] 테이블명, 컬럼명, PK를 조회할수 있는 쿼리 DB : Oarcle SELECT A.TABLE_NAME as 테이블명 , B.COMMENTS as 테이블한글명 , A.COLUMN_NAME as 컬럼명 , C.COMMENTS as 컬럼한글명 , A.DATA_LENGTH , A.DATA_TYPE , A.NULLABLE , D.CONSTRAINT_NAME , D.CONSTRAINT_TYPE FROM ALL_TAB_COLUMNS A , ALL_TAB_COMMENTS B , ALL_COL_COMMENTS C , ALL_CONSTRAINTS D WHERE A.TABLE_NAME = B.TABLE_NAME AND A.TABLE_NAME= C.TABLE_NAME AND A.TABLE_NAME= D.TABLE_NAME AND A.COLUMN_NAME= C.COLUM.. 2011. 9. 1.
728x90
반응형