본문 바로가기

language/java14

Hibernate Transaction (OSIV 패턴) : org.hibernate.TransactionException: Transaction not successfully started Transaction 이란. : 컴퓨터 프로그램에서 트랜잭션의 일반적인 의미는 정보의 교환이나 데이터베이스 갱신 등 연관되는 작업들에 대한 일련의 연속을 의미한다. (http://www.terms.co.kr/transaction.htm) 이번 프로젝트에 ORM이 무엇인지도 처음 들었고 또한 ORM프레임워크중에 한 종류인 Hibernate또한 처음 사용해보면서 느꼈던 점은 .. 어렵다 이다.-_-; 마냥 어려운거임. 뭐 어찌됐든 프로그래머로써 Transaction을 무시할 수 있는 프로그래머는 없을터. 프로젝트를 진행하던 도중 org.hibernate.TransactionException: Transaction not successfully started의 예외상황이 자꾸 발생하길래 디버깅 고고. (사실은.. 2009. 6. 21.
Out Of Memory 이클립스로 웹프로젝트 개발을 하다보면 사용하는 클래스의 양이 늘어남에 따라 간간히 PermGen Space라는 메세지와 함께 Out Of Memory Error가 뜨면서 서버가 다운되는 경우가 있다. 그동안은 그냥 서버를 재시작하면서 개발을 해왔지만 이번프로젝트에서는 위 상황이 상당히 많이 발생하여서 검색해보니 PermGen이란 Permanent generation이라는 JVM의 메모리영역이며 이 메모리영역에 클래스의 정보가 로드되어진다고 나와있다. 대략 계산해보니 이번프로젝트에 쓰이는 클래스파일이 대략 3500개정도 되는데 아마도 자주 발생한 이유가 Permanent 영역을 기본으로 잡아주어서 그런것같다. 그러다 검수를 앞두고 이번엔 java heap space 메세지의 Out Of Memory Err.. 2009. 6. 12.
리눅스 or 유닉스 시스템에서 java.awt 패키지 사용하기 java의 java.awt패키지는 이미지처리시 운영체제의 자원을 사용한다. 윈도우즈의 경우에는 아무설정을 해주지 않아도 잘돌아가지만(그래서 어떤방식인지는 아직 잘모르겠다.) 유닉스나 리눅스 시스템 환경에서는 X11이라는 흔히 말하는 X-window가 설치되어있고 데몬이 구동되고 있을시에 패키지사용이 가능하다. 보통 웹상에서 JSP & SERVLET을 이용 이미지 썸네일을 구현할시에 여러가지 방식이 있겠지만 나는 JAI를 사용한다. JAI(Java Advanced Imaging ) 는 SUN에서 발표한 이미지 처리를 위해 만들어 진 API이다. 필요한 jar파일은 jai_core.jar, jai_codec.jar가 필요하다.(sun 홈피에서 다운받을수 있다.) JAI또한 내부에선 java.awt.를 사용한.. 2008. 8. 28.
Commons-Lang StringUtils Class 활용 Commons-Lang IV. org.apache.commons.lang.StringUtils java api의 String을 보면 문자열 처리하기에는 제공하는 기능들이 너무 빈약합니다. 그래서 프로그래머들은 자기 나름데로의 독특한 Utils를 만들어 사용하지요. 하지만 Commons-lang에서 제공하는 StringUtils를 사용한다면 더이상 자신만의 Utils를 사용할 필요가 없습니다. 여기 모두 ㄷ ㅏ ~ 있기 때문이지요 ^^ 한가지 더 장점이 있다면 String의 null 값때문에 더이상 NullPointerException을 생각하지 않아도 된다는 것입니다. StringUtils에서 ㄷ ㅏ ~ 알아서 해주기 때문입니다. 그럼 어떠한 기능들의 함수가 있는지 알아봅시다 반환값 함수명 파라미터 St.. 2008. 6. 28.