콘텐츠로 건너뛰기

freeism

결제 오류 기사에 대한 소고

배달앱에서 동의없이 멋대로 신용카드 결제? … ‘있을 수 없는일’이라는 기사를 보고 결제 시스템 개발자로서 짧게 적어본다. (참고로 해당 업체와는 아무 관련없음) 부산시 기장군에 사는 최 모(남)씨는 지난 25일 오후 6시경 ‘요기요’ 앱으로 치킨을 주문하려고 앱을 실행했다. 치킨 전문점을 선택해 메뉴를… 더 보기 »결제 오류 기사에 대한 소고

intellij 단축키 – 최근 수정 내용 탐색 / 비교

별 건 아닌데, 기존에는 몰랐던 intellij 단축키 중에 편리할 것 같은 걸 찾아서 기록해둔다. 평상시에는 cmd+]랑 cmd+[를 사용해서 코드를 탐색했었는데, 수정된 것만 탐색해주는 기능이 있었다.   cmd+shift+back은 가장 최근에 수정하게 된 지점으로 커서를 옮겨준다. 거기에 cmd+option+shift+화살표를 누르면, 수정된 내용까지 diff… 더 보기 »intellij 단축키 – 최근 수정 내용 탐색 / 비교

Spring Data Rest URL 생성 분석

최근 업무에서 /api/entities이란 URL이 존재하는데, 아무리 Source를 뒤져봐도 해당 URL을 찾을 수 없었다.

몇 번 삽질을 하다가 결국 spring-data-rest를 사용했음을 알게 되었고, 해당 Library를 초기 분석한 내용을 기록해둔다. 공식문서1에 따르면 dependency는 아래처럼 설정해주면 된다.

그리고 기본 BaseUrl은 아래처럼… 더 보기 »Spring Data Rest URL 생성 분석

Future return에 대한 테스트 만들기

주로 오류에 대한 모니터링 메시지 등은 logical flow에 크게 영향을 주지 않기 때문에 @Async를 사용하여 분리하는 경우가 많다.

그런데 이런 경우 Future type의 return을 가지면 어떻게 테스트 코드를 만들어야 할 지 곤란한 경우가 있어서 기록해둔다. 1 이럴 때 사용하는… 더 보기 »Future return에 대한 테스트 만들기

intellij console log line 증가

배치 작업을 하다보니까 테스트 케이스를 돌렸을 때, 로그가 넘쳐흘러서 보이지 않는 케이스가 발생했다. 예전에 이런 걸로 한 번씩 설정하곤 했었는데, 할 때마다 기억이 나지 않아 구글에 의존하게 된다. 어느 블로그1에서 아래와 같은 해답을 찾았다. 텍스트 편집기를 열고 idea.cycle.buffer.size 속성을 바꿔준다… 더 보기 »intellij console log line 증가

JPA Page 쿼리는 Immutable List를 반환한다

이번에 맡은 업무에서 Spring Batch를 중점적으로 사용하고 있는데, 기존 로직을 리팩토링하면서 겪게 된 이슈를 기록해본다. 먼저 기존 로직은 아래와 같다. (코드 스니핏이고, 일부 업무와 관계된 네이밍은 모두 dummy로 치환하였다) 결국 배치로직에서 bulk로 읽어온 것을 하나씩 read/process/write 구조로 처리하고, 해당 내용이… 더 보기 »JPA Page 쿼리는 Immutable List를 반환한다

json에서는 comment(주석)이 허용되지 않음

intellij를 사용하고 있는데, TODO와 FIXME를 이용해서 작업 진행에 대해서 잘 체크해보려고 시도해 보았다. 그런데 그동안 전혀 생각하지도 않았던 문제에 봉착했다. 사용하는 파일중에 json이 있었던 것이다. intellij에서 TODO나 FIXME (혹은 또다른 커스텀 코멘트)는 주석라인에서만 동작한다. 그런데 json 파일에 //  (코멘트)를 추가했더니… 더 보기 »json에서는 comment(주석)이 허용되지 않음

JPA에서 count()는 Long Type을 return 함

통계에서 사용하는 쿼리를 만들다보니, (약간은) 부득이 하게 JPA Query Method를 사용하지 않고 @Query annotation을 이용해서 아래처럼 구현하였다.

호출하는 쪽의 로직은 아래와 같다.

자세한 로직은 회사 업무상 대외비이기 때문에 약간 이상한 네이밍인 점은 신경쓰지 않기로 하자. 어쨌거나 위의 로직을… 더 보기 »JPA에서 count()는 Long Type을 return 함

맥에서 MS Windows 가상머신 무료로 사용하기

공공기관이나 금융기관을 사용하게 되면, 윈도우 머신이 아니라서 불편한 게 이만저만이 아니다. (especially, at January, aka, 연말정산) 그런데 요즘에는 회사에서도 맥 라이센스만 지원하는 경우가 많아서 윈도우 정품을 구하기가 어렵다. 그런데 의외로 합법적이면서 무료로 맥에서 윈도우를 사용할 수 있는 방법이 있었다. https://developer.microsoft.com/en-us/microsoft-edge/tools/vms… 더 보기 »맥에서 MS Windows 가상머신 무료로 사용하기

Mac HighSierra에서 default `(back-quote) 사용하기

아마도 sierra(?) 이후부터 `(back-quote, 일명 역따옴표) 키를 누르면 원화(₩)로 표시된다. (아마 일본어 버전에서는 엔화가 표시되겠지…) 그런데 마크다운을 많이 쓰는 개발자의 입장에서는 여간 불편하지 않다. 그래서 `(back-quote)를 default로 사용할 수 있도록 설정을 변경하였다.

해당 옵션은 애플리케이션이 reload 될 때 적용된다.… 더 보기 »Mac HighSierra에서 default `(back-quote) 사용하기