본문 바로가기

Programing

(403)
[node.js] C/C++ Addons 준비 node.js Windows 7 x86 (32bit)에서 수행 1. node.js설치 https://nodejs.org/ 에 방문하면 자신의 플랫폼에 맞는 다운로드 링크를 보여준다. 2. node-gyp 설치 node.js를 설치하면 npm을 사용할 수 있는데 이 유틸리티를 이용한다. 참고로, node-gyp는 node.js를 위한 네이티브 addon 모듈들을 컴파일하기 위한 node.js로 작성된 크로스-플랫폼 명령 라인 도구(node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js)이다. node-gyp 설치를 위해서는 명령 프롬프트에서 아래 명령을 수행한다.C:\User..
[annotaion] javax.annotation.Nullable 파라메터로 객체를 넘겼을 때 다음과 같은 코드는 잠재적으로 예외가 발생할 수 있다.public long apply(@Nullable Item item) { return item.getPrice(); }만약 item이 null로 넘어갔을 경우 getPrice 메서드를 호출하는 순간 NullPointerException이 발생할 것이다. 인자에 위와 같이 @Nullable로 표시를 할 수 있다.반면에 반대의 경우에는 @Nonnull으로 표시할 수 있다. 이러한 것들은 JSR305 스펙에 의한 것들로 다음과 같은 것들이 있다.CheckForNullCheckForSignedCheckReturnValueDetaintedMatchesPattern$CheckerMatchesPatternNonnegative$Check..
[mokito] any~ 정리 어떤 임의의 리스트import static org.mockito.Matchers.anyList;anyList(); 대신에import static org.mockito.Matchers.anyListOf;anyListOf(CouponCancel.class);
[스프링] @Component에 대한 잘못 알고 있었던 것 내가 그 동안 autowire를 사용하면서 @Component에 대해 잘못 알고 있는 것 같아 정리를 해보았다. 나는 @Component가 @Repository, @Service, @Controller 등보다 더 작은 의미의 사전 그대로의 의미인 '컴포넌트' (구성단위)인줄 알았다.개념상으로 일종의 @Component는 @Service보다 작은 단위라고 생각했던 것이다. 그런데 막상 찾아보니 @Service는 @Component의 구체적인 역할을 나타내는 세부적인 관점이었다.코드로 예를 들자면 org.springframework.stereotype 패키지에 있는 Component 애노테이션은 다음과 같이 정의되어 있다. @Target(ElementType.TYPE) @Retention(RetentionP..
guava MyBatis에서 괜찮은 쓰임새 구아바: https://github.com/google/guava iBatis에서 queryForList를 사용할 때 파라메터 클래스는 하나만 가능하다.여러개 이상을 넘길 경우에는 클래스를 만들던지 컬렉션에 넣게 된다. 아래와 같은 코드가 있다고 치면// String id, nameMap params = new HashMap();params.put("id", id);params.put("name", name);// params는 인자로 쏙 구아바를 이용하면 세 줄이, 다음과 같이 한 줄로 가능하다.ImmutableMap.of("id", id, "name", name) ImmutableMap of의 오버로딩이 여러개 있는데 인자가 가장 많은 것의 형태가(K k1, V v1, K k2, V v2, K k3,..
assertThat (org.fest.assertions vs org.hamcrest) fest는 Fixtures for Easy Software Testing의 약자로 쉬운 소프트웨어 테스트를 위한 픽스쳐들이라는 의미이다.hamcrest랑 짧게 비교를 해보았다. 예) 결과가 null인지 assert hamcrest-Assertimport static org.hamcrest.MatcherAssert.assertThat;import static org.hamcrest.Matchers.nullValue;import static org.hamcrest.core.Is.is; assertThat(result, is(nullValue())); FEST-Assertimport static org.fest.assertions.api.Assertions.assertThat; assertThat(result..
[크롬 플러그인] 색상 개선 도구 색맹같은 시각적인 제한이 있는 사람을 위한 플러그인이다. 참고: 구글 크롬 화면 색맹·색약에 적합하게 조절하는 방법 (씨넷코리아)플러그인: 색상 개선 도구
[스프링] ibatis / mybatis의 스프링4 지원 중단? 쿼리 기반의 mybatis (구. ibatis)는 매력적인 오픈소스임에 틀림없다.복잡한 쿼리를 많이 사용하는 개발팀이라면 하이버네이트보다는 이 mybatis를 사용할 가능성이 높다. 전에 스프링 레퍼런스를 번역하면서 기존 3.x과 4.1.6을 비교했는데 레퍼런스 상에도 "iBatis"가 빠져버렸다.[3.2.x] [4.1.x] API문서에서도 마찬가지로, 스프링 3까지 존재하던 "org.springframework.orm.ibatis" 패키지가 스프링4에서는 사라져 버렸다.[2.5.6] [3.2.9] [4.1.6] 스프링 3에서 이미 주석에서 예상이 되었던 것인데 org.springframework.orm.ibatis.SqlMapClientTemplate 클래스에는 3.2부터 @Deprecated되었다고 ..