2012년 2월 26일 일요일

[Python] Python 예외처리 예제

만약 프로그램에서 어떤 파일이 있는지 여부를 파악하고 만약 파일이 존재하지 않을때 예외처리를 하고 싶다면

try:
# check script file
vScriptFileName = "d:\\backup\\db\\201202"+xx+".bzs"
f = open(vScriptFileName,'r')

except IOError:
print("File Not Found exception" )

2012년 2월 22일 수요일

[JAVA] 톰캣 구동 자바 명령어 에러 원인 확인방법

인터넷을 통해 찾아봤는데 쉽게 답을 얻을 수 없었던 문제
catalina.bat을 통해 생성된 톰캣 구동명령어를 실행 시 만약 문제가 생겨서 에러가 발생한다면 자바콘솔이 바로 닫혀버려서 에러를 확인할 수 없는 문제가 있는데 이때 확인 방법.

catalina.bat을 실행하면 마지막에 아래와 같은 자바명령어를 리턴하는데

start "Tomcat" "D:\Java\jdk1.6.0_14\jre\bin\java" -server -XX:+DisableExplicitGC ... org.apache.catalina.startup.Bootstrap start

이때 앞에 start "Tomcat"를 제거하고 실행하면 현재 화면에 그대로 에러까지 볼 수 있다.
참고로 start는 새창을 연다는 의미임

알고 있었다면 패쓰~!

[JAVA] JVM 서버모드로 기동 시 윈도에서 확인할것

JVM의 클라이언트버전과 서버버전을 골라서 실행할 수 있다.
단 윈도 JRE를 설치하면 서버버전은 포함되어있지 않다.
윈도 SDK를 설치하면 서버버전은 포함되어있다.
간혹 SDK를 설치하였지만 JRE 또한 별도로 설치했고 JRE_HOME을 SDK를 지정하지 않아서 서버모드로 기동이 안되는 경우가 있다.

서버모드로 기동하는 방법(톰캣에서)
set JAVA_OPTS=%JAVA_OPTS% -server

확인하는 방법(서버모드로 기동되었는지)

String s = System.getProperty("java.vm.name");
System.out.println(s);

아래와 같이 표시되면 성공!
Java HotSpot(TM) Server VM

서버 모드와 클라이언트 모드와의 차이점이 알고 싶다면
http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#compiler_types

2012년 2월 6일 월요일

[Oracle] 점진 누적 합계

고객의 채권잔액 처럼 시간이 지나면서 변동되는 추이를 밸런스로 보여줄때 쓸 수 있다.

select msg_id, base_amt,
sum(base_amt) over(order by msg_id rows between unbounded preceding and current row)
from cdr_data ;

2012년 1월 17일 화요일

[Excel] 엑셀 함수안에서 두가지 이상 조건 걸기

만약 IF 함수안에서 A는 B보다 크면서 C보다도 큰경우를 만들고 싶다면

if(AND(AND(A>B),AND(A>C)), TRUE, FALSE)

2011년 12월 29일 목요일

[JavaScript] undefined 값 확인하기

잘못된 예
xxx == "undefined"

잘 사용한 예
document.getElementById("xxx").value = xxx == undefined ? "0" : xxx

[아데설구] 스토리14 - 트랜잭션관리의 실무적용

트랜잭션이란 데이터베이스에 행해지는 작업의 논리적인 단위(Logical Unit Of Work)

Elementary Process는 일반적으로 한사람이 한 작업이 완성될때까지 수행되는 것

트랜잭션은 기술적으로 처리하는 의미의 단위가 아니라 업무적으로 의미가 있는 최소의 작업처리 단위이다.

작업의 논리 단위가 트랜잭션이 되기 위해서는 다음 4가지 속성을 가져야 한다.
Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(영속성)

Atomicity(원자성)
더 이상 쪼갤 수 없는 업무적으로 처리되는 의미있는 기준의 의미한다.
업무를 처리하는 최소한의 단위가 트랜잭션 원자성의 기준이 된다.

Consistency(일관성)
업무적으로 처리된 데이터들은 일관성을 갖고 보존 되어야 한다.

Isolation(고립성)
트랜잭션이 진행 될 때에는 다른 트랜잭션이 중간에 접근되지 않아야 한다.

Durability(영속성)
처리가 완료된 트랜잭션은 그 값이 변치 않아야 한다.

프로젝트에서 트랜잭션을 분석하는 이유는 두가지이다.
하나 데이터가 업무적으로 무결성을 가질 수 있도록 프로세스와 설계사상에 반영 되어야 하기 때문이다.
둘째 데이터베이스에 발생하는 처리량을 분석하여 용량 산정의 근거로 삼아 자원배치를 효과적으로 하기 위함이다.

트랜잭션을 분석할 때에는 Elementary Process 와 CRUD Matrix를 이용하여 트랜잭션 분석서(Transaction Action Diagram or Logical Access Map)를 작성한다.