분류 전체보기 467

Spring 에서 MailSender 를 이용한 send mail

스프링이 지원하는 JavaMailSenderImpl(org.springframework.mail.javamail.JavaMailSenderImpl) 클래스를 이용하면 메일 보내는 서비스를 간단하게 작성할 수 있다. 사용을 위해서는 com.springsource.javax.mail-1.4.X.jar 가 필요하다. 보통은 스프링 컨택스트 파일에 빈으로 등록을 하지만, 다른 곳에서 메일 설정값을 읽어오는 부분이 있어서 직접 sender 를 구성하는 예제를 작성해 보았다. @Test public void test() throws MessagingException { JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("smtp.gmail.c..

Engineering/Spring 2013.12.26

Spring 에서 트랜잭션 관리

스프링은 트랜잭션 처리를 위해 선언적(declarative) 트랜잭션 관리와 프로그램적(programmatic) 트랜잭션 관리 방법을 제공한다. * declarative 트랜잭션 콘택스트 파일에 를 이용하거나 를 사용하는 방법. 둘다 트랜잭션 매니져(transactionManager) 를 스프링 빈으로 등록하지만 는 설정이 또 필요하다. 은 트랜잭션 관리가 필요한 클래스나 메소드에 직접 @Transactional 애너테이션만 추가해주면 설정이 끝난다. 는 여러 옵션이 들어갈 수 있기때문에 사용할 환경에 맞춰서 선택하면 될거 같다. 두 방식다 스프링 AOP 가 동작하기 하지만 애너테이션 방식이 필요한 곳에만 애너테이션을 추가하면 되기 때문에 편해보이긴 한다. * @Transactional 애노테이션 방식 ..

Engineering/Spring 2013.12.11

DateTime 값으로 Tick 값을 구하는 C# 코드

DateTime 값으로 Tick 값을 구하는 C# 코드DateTime dt = new DateTime(2010, 9, 14, 0, 0, 0); Console.WriteLine("Ticks: {0}", dt.Ticks);-> 2010년 9월 14일 0시 0분 0초 의 Tick 값을 화면에 출력. Java 프로젝트에서 C# 의 UTCtime Tick 값이 필요해서 작업하다가 C# 값과 비교,검증하기 위해서 검색하다가 발견한 간단한 소스였다. 출처:http://stackoverflow.com/questions/3706306/c-sharp-datetime-ticks-equivalent-in-java

Engineering/C# 2013.11.13

WEB-INF 디렉토리에 있는 *Context.xml 가져오기

스프링이 생성하는 빈이 아닌 자바 클래스에서 스프링이 관리하는 빈들을 이용해서 객체를 생성해야 하는 일이 있었다. 그런데, context 파일들이 클래스 패스와 다른 곳에 있어서 문제가 생겼다. 보통은 클래스 패스에다가 context 파일들을 넣어서 관리하지만, 따로 context 파일들을 WEB-INF/spring/*.xml 으로 분리를 한 상태이다. 1. WebApplicationContext 를 이용하는 방법 : "servletContext" 가 먼저 있어야 한다는 에러 메시지가 출력된다. 물론 서블릿이 아닌 일반 자바 클래스라서 이 방법은 사용이 불가능. 2. FileSystemXmlApplicaionContext 를 이용하는 방법 : 컨텍스트 파일들의 위치를 절대 경로로 잡아야하기 때문에 이것도..

Engineering/Spring 2013.10.30

blowfish 를 이용한 문자열 인코딩/디코딩 예제

blowfish 를 이용해서 문자열을 인코딩/디코딩할 일이 있어서 공개된 정보들을 찾아서 정리해본다. import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; public class MyCrypto { private String myKey; public String getMyKey() { return myKey; } public void setMyKey(String myKey) { this.myKey = myKey; } public MyCrypto() { } /** * @Method Name : encryptString * 암호화할 데이터를 입력받고 암호화한 문자열을 반환 * @param myKey암호키 * @param data암호화할 데이..

Engineering/Java 2013.10.30

린 스타트업

린 스타트업 이창수, 송우일, 에릭 리스(Eric Ries) | 인사이트 | 20121109 평점 상세내용보기 | 리뷰 더 보기 | 관련 테마보기 많은 사람들이 "이것을 출시일까지 제대로 만들 수 있을까요?" 라는 질문을 하며 일합니다. 하지만 제대로 된 질문은 "이게 과연 만들 가치가 있는 것인가요?" 가 되어야 합니다. 린 스타트업 방법론은 스타트업이 제대로 된 질문을 할 수 있도록 도와줍니다. 제대로 된 질문을 해야 제대로 된 답을 찾고, 성공할 수 있겠지요. 페이지 : 옮긴이의 글 테스트하고 싶은 어떤 가설을 세우자마자 제품 개발 팀은 실험을 설계하고 즉각적으로 실행해야 한다. 물론 일을 마칠 수 있는 가장 작은 일괄 작업 크기로 말이다. 만들기-측정-학습이라는 피드백 순환은 실제 행위가 이 순서..

Thinking/Book 2013.10.18

Xen 서버에서 linux vm 시간 설정

Xen 서버에 설치한 리눅스를 한참 사용하다보니 시간 설정이 안 맞는것을 발견했다.그런데, 보통 사용하는 방식인 "date" 명령어으로도 안되고 "hwclock" 으로도 안되고, ntp 서버랑 동기화해도 안되는 것이다. 방법을 찾다가 겨우 알게 되었는데, 아래 명령어를 설정하고 시간 설정을 하면 된다. 아무래도 Xen 서버와 설치된 VM 끼리 시간값을 동기화를 하는거 같다. # echo 1 > /proc/sys/xen/independent_wallclock # date MMDDhhmm 다음 부팅에도 내용을 변경하려면 sysctl.conf 에다가 내용을 추가한다.# vi /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux## For ..

Engineering/Linux 2013.10.13

색채가 없는 다자키 쓰쿠루와 그가 순례를 떠난 해

색채가 없는 다자키 쓰쿠루와 그가 순례를 떠난 해 무라카미 하루키(Haruki Murakami), 양억관 | 민음사 | 20130701 평점 상세내용보기 | 리뷰 더 보기 | 관련 테마보기 난 이렇게 생각해. 사실이란 모래에 묻힌 도시 같은 거라고. 시간이 지나면 지날수록 모래가 쌓여 점점 깊어지는 경우도 있고, 시간의 경과와 함께 몰래가 날아가서 그 모습이 발게 드라나는 경우도 있어. 페이지 : 혹시 네가 텅 빈 그릇이라 해도 그거면 충분하잖아. 만야게 그렇다 해도 넌 정말 멋진, 마음을 사로잡는 매력인 그릇이야. 자기 자신이 무엇인가, 그런 건 사실 아무도 모르는 거야. 그렇게 생각 안 해? 네 말래도라면, 정말 아름다운 그릇이 되면 되잖아. 누군가가 저도 모르게 그 안에 뭔가를 넣고 싶어지는, 확실..

Thinking/Book 2013.09.03

MSSQLServer 에서 MySQL 로 DB migration 시 참고

SQL Server 에서 MySQL 로 DB 를 옮기는 작업을 할때 주의해야할 점을 정리한다.* DB datatype- MySQL 에서는 XML 타입이 없다.* StoredProcedure- MySQL 에서는 encryption 옵션이 없다. 내부코드를 숨길 필요가 있을때는 다른 방법을 찾아야 함. * Function- MySQL 에서는 recursive call(재귀 호출)을 지원하지 않는다. Procedure 에서는 지원한다고는 하지만, return 을 또 지원하지 않으니 output 파라미터로 동작하게 해야한다.

Engineering/DB 2013.09.03