콘텐츠로 건너뛰기

freeism

PowerMock 예제

예전에 PowerMock사용법(final class의 테스트)라는 제목으로 블로깅을 한 적 있다. 그게 2011년 7월이니까 근 6년 가까이 PowerMock을 사용할 일이 생기지 않았다. 단순히 SpringRunner나 Mockito만으로도 충분한 테스트를 만들 수 있었다. 그런데 최근에 작업중인 프로젝트에서 시간에 의존하는 테스트가 존재했다. 그래서 평소에는 Ignore시키고 있다가… 더 보기 »PowerMock 예제

wordpress permalinks 404 오류

워드프레스 Permalinks 404 에러 워드프레스를 설치하면 기본 링크가 http://localhost/?p=123 처럼 표시된다. ?p 처럼 파라미터로 받는 것보다는 restful한 느낌의 URL이 좋아서 Permalink 변경을 했더니 404 에러가 발생한다. 찾아보니 rewrite rule을 정의하는데 필요한 권한이 없어서 그런 것이었다. wordpress가 설치된 디렉토리에 .htaccess 파일에 아래처럼… 더 보기 »wordpress permalinks 404 오류

@SuppressWarnings 활용

Overview 나는 @SuppressWarnings 를 별로 좋아하지 않는다. 코드를 잘 만들면 되는데, 굳이 정적분석을 무시할 필요가 없다는 생각때문이다. 그런데 코딩을 하다보니 반드시 써야할 경우가 생겼다. 단순히 IDE에서 노란 밑줄을 보고 무시해도 되지만, 불필요한 경고가 너무 많아지면 정말 필요한 경고를 무시하게 되는 경향이… 더 보기 »@SuppressWarnings 활용

ModelAndView의 addObject() 분석

최근에는 API서버만 개발하다보니 RestContoller만 다루다가, 간만에 ModelAndView를 다룰 일이 생겼다. 오랜만에 ModelAndView를 사용하니 Object를 어떻게 추가해야하는지 기억이 가물가물해서 찾아본 김에 기록을 남긴다. ModelAndView를 다룰 때는 단순히 return new ModelAndView("/foo");와 같이 쓰는 경우는 드물고, 대부분 아래처럼 object parameter를 mapping해서 사용하게 된다.

위의… 더 보기 »ModelAndView의 addObject() 분석

Java8에서 interface 변경

자바8에서 interface에 default라는 지시자가 추가되었다. 원래 자바의 interface에는 구현체가 들어갈 수가 없었다. 느슨한 결합에 대한 최소한의 제약 사항과 상수정도를 지정해줄 수 밖에 없었다.

만약 여러 가지 객체에서 사용되는 공통 메소드를 지정하고, 필요한 경우에만 다르게 지정하고 싶으면 abstract class를 사용해야만… 더 보기 »Java8에서 interface 변경

JPassKit 적용중 오류 발생

서비스에서 ios wallet을 제공하려고 하니, 예전과는 다르게 서버단 통신을 통해 인증받는 절차가 추가로 생겼단다. 다만, 애플에서 제공하는 서버쪽 데모를 보면 ruby로 만들어져있다. 왜 하필 루비인가? swift도 아니고… 여튼 그걸 java로 porting하려니 이미 만들어 놓은 것이 있을 것 같아서 구글링했더니, jpasskit이 그나마… 더 보기 »JPassKit 적용중 오류 발생

Integer.getInteger()의 잘못된 사용

애시당초에 올바른 데이터타입을 사용했다면 문제가 없었겠지만, 레거시 코드에 붙이다보면 타입캐스팅이 필요한 경우가 있다.

  평상시라면, required=true인 값이기 때문에 apache commons를 이용해서 파싱했을 것이다

  그런데 이후에 로직이 변경될 경우(가령, required가 빠진다거나), NumberUtils의 default value = 0으로 적용되면 side-effect이… 더 보기 »Integer.getInteger()의 잘못된 사용

휘게라이프 10계명

그는 “휘게를 알면 세상 어디에서라도 누구나 행복을 경험할 수 있다”고 말한다. ‘휘게’해지는 방법은 생각보다 간단하다. ‘휘겔리한 삶을 위한 10계명’을 소개한다. 분위기: 조명을 조금 어둡게 한다. 지금 이 순간: 현재에 충실하라. 휴대전화를 끈다. 달콤한 음식: 커피, 초콜릿, 쿠키, 케이크, 사탕. 더… 더 보기 »휘게라이프 10계명

BOSE QC30 구입기

시작 40만원을 호가했던 젠하이져 모멘텀 헤드폰을 구입한지 꽤 시간이 흘렀다. 회사 생활하면서 나름 잘 썼으나 이직을 하게 되면서 대중교통을 타게 되는 시간이 많아지고, 더욱이 여름에는 오버이어 헤드폰이 너무 거추장스럽고 답답해서 잘 사용하지 않게 되었다. 그러다보니 자연스레 노이즈캔슬링이 적용된 이어폰이 갖고… 더 보기 »BOSE QC30 구입기

블로그 복귀 및 텍스트큐브 1.10.10 tempo primo 판올림

그동안.. 그동안 블로그가 많이 정체되어 있었다. 개인블로그에서 기술블로그로 변화하는 과정에서, code를 붙이거나 syntax highlight하는 등에서 이슈가 많았다. 게다가 텍스트큐브는 한동안 개발소식도 뜸한데다가, 스킨이나 플러그인은 2011년 이후로 공유가 끊겼다. 그래서 wordpress, tumbler, github with jekyll 등등 여러 가지를 조금씩 찝적거려보았는데, 딱히… 더 보기 »블로그 복귀 및 텍스트큐브 1.10.10 tempo primo 판올림