스펙따라 만들어보는 OAuth 1.0a Client

스펙따라 만들어보는 OAuth 1.0a ClientOAuth 탄생 배경 많은 서비스가 API를 통해 서로 연결 내가 A라는 앱에 쓴 글이 내 트위터 타임라인에도 표시되면 좋겠다. 하지만 A 앱은 내 트위터 타임라인에 글을 쓸 권한이 없다. 물론 A 앱이 내 트위터 계정 정보를 알고 있다면 A 앱이 내 트위터 타임라인에 글을 쓸 수 있겠지만, 필요한
Continue reading

Java Quartz Scheduler - Job Chaining 구현

Java Quartz Scheduler - Job Chaining 구현Java로 Job Scheduling을 쉽게(참 조심스러운 단어.. ㅋㅋ) 할 수 있게 해주는 쿼츠(Quartz) 스케줄러가 있다. 이 사이트에 나와있는 문서들은 여태 본 기술 사이트 문서 중에 가장 맘에 드는 스타일로 구성되어 있다. 길지 않은 설명, 간략하면서도 필요한 정보를 모두 담
Continue reading

Java8 람다 관련 스펙 정리

자바는 아직 함수가 독립적으로 어떤 값에 할당되거나, 어떤 함수의 인자로 사용되거나, 반환값으로 사용될 수 없다. 대신에 Java8에서부터는 추상 메서드를 한 개만 가지고 있는 함수형 인터페이스라는 것을 언어의 기능으로 추가해서 할당, 인자 또는 반환에 사용하고, 함수형 인터페이스의 자리에 람다식이나 메서드 레퍼런스를 사용할 수 있게 해서, 간접적이지만
Continue reading

토비의-스프링-3장-템플릿

Chapter 03본 내용은 토비의 스프링 3 책의 내용을 정리한 것입니다. 토비의 스프링은 스프링 뿐아니라 객체 지향의 기본 원리, 테스팅, 예외 처리, 디자인 패턴 등 Java 개발자라면 반드시 알아야 하는 내용을 스토리 전개 방식으로 점진적으로 친절하게 설명해주는 명저입니다. 똑같은 내용으로 미국에서 영어로 출간되었다면 Jolt상을 받기에도 충분한
Continue reading

토비의 스프링 - 1장

Chapter 1본 내용은 토비의 스프링 3 책의 내용을 정리한 것입니다. 토비의 스프링은 스프링 뿐아니라 객체 지향의 기본 원리, 테스팅, 예외 처리, 디자인 패턴 등 Java 개발자라면 반드시 알아야 하는 내용을 스토리 전개 방식으로 점진적으로 친절하게 설명해주는 명저입니다. 똑같은 내용으로 미국에서 영어로 출간되었다면 Jolt상을 받기에도 충분한 책
Continue reading

클래스 리터럴, 타입 토큰, 수퍼 타입 토큰

클래스 리터럴, 타입 토큰, 수퍼 타입 토큰이 글은 토비님의 방송 채널에서 소개해주신 수퍼 타입 토큰에 대한 내용을 바탕으로 Oracle의 리터럴과 런타임 타입 토큰 튜토리얼, 수퍼 타입 토큰 기법의 창시자로 알려진 Neal Gafter의 글과 Jackson에 사용되고 있는 TypeReference 클래스의 소스 코드를 참고로 작성했다. 클래스 리터럴과
Continue reading

Spring Data JPA 에서 Java8 Date-Time(JSR-310) 사용하기

Java8에는 시간 데이터를 더 편리하게 처리할 수 있게 해주는 LocalDate, LocalDateTime 등의 클래스들이 java.time 패키지에 추가되었다. 날짜/시간 차이 계산, 비교, 년/월/일/시/분/초 단위 별 추출 등 풍부한 기능을 제공해주므로 사용성이 아주 좋다. Joda-Time을 사용하고 있었다면, Java8에서는 java.time (
Continue reading

조금은 신경써줘야 하는 Jackson Custom Deserialization

알고보면 만만한 Jackson Custom Serialization에 이어 이번에는 Jackson Custom Deserialzation을 알아보자. Serialzation과 Deserialization은 대칭 관계니까 언뜻 생각하기엔 별로 다르지 않을 것 같은데, 당연하지만 세부적인 과정에서는 대칭이 아니기 때문에, Deserialization에서는 대수
Continue reading

알고보면 만만한 Jackson Custom Serialization

API 서버를 만들다보면 어떤 객체를 JSON으로 만들때, 특정 필드만 제외하거나 특정 필드의 이름을 바꿔야 하는 일이 생길 수 있다. 그 객체를 JSON으로 만들 때 특정 필드의 이름을 항상 바꾸려면 해당 필드에 @JsonProperty("새이름")을 명시하면 되고, 특정 필드를 항상 제외한다면 그냥 객체 클래스에 @JsonIgnore
Continue reading

대용량 파일을 AsynchronousFileChannel로 다뤄보기

Java 7 에는 비동기 방식의 File I/O를 지원하는 AsynchronousFileChannel이 추가되었다. 비동기 방식이므로 File I/O에 소요되는 시간 동안 다른 처리를 할 수 있다는 장점이 있다. 특히 용량이 큰 파일일 수록 File I/O에 소요되는 시간이 클 수 있으므로, 비동기 방식의 장점을 더 살릴 수 있다. Asynchronous
Continue reading

HomoEfficio


Seoul, Korea.