Kafka를 이용한 메시징 시스템 구성하기

최근의 개발 경향은 확실히 마이크로서비스를 지향한다.  가능하면 작은 어플리케이션을 만든다.  그리고 이 어플리케이션들의 소위 콜라보(Collaboration)로 하나의 시스템이 만들어진다.  혹은 만들어지게 구성을 한다.  이와 같은 마이크로서비스 모델이 주는 이점은 나도 몇 번 이야기를 했고, 많은 사람들이 장점에 대해서 구구절절하게 이야기하기 때문에 말을 더 하지는 않겠다. 여기에서 급질문!!  작은 어플리케이션… 근데 작은 어플리케이션을 지향하는 마이크로서비스의 문제점은 없을까? …

Continue reading ‘Kafka를 이용한 메시징 시스템 구성하기’ »

자주 사용하는 Shell script 모음

이것도 정리를 해두지 않으니 매번 찾게된다. 때 될때마다 정리해두자. 특정 디렉토리의 하위 디렉토리를 Pretty printing 하기 다음 명령으로 실행시킴 .svn 디렉토리 지우기 for-loop 돌리기 특정 문자열을 공백으로 치환해서 이를 배열로 뽑아내기 주의할 점은 배열로 나눌려면 각각의 토큰이 공백( )으로 구분되어야 한다는 점이다. 간단한 사칙연산하기 이 예제는 index++과 동일한 기능을 수행한다. 가능하면 까먹지 말아야 하는데 쓰는 …

Continue reading ‘자주 사용하는 Shell script 모음’ »

카라마조프 형제들 – 고전은 힘들다.

“죄와벌” 이후에 정말 오래간만에 도스토예스키의 작품을 난데없이 읽기 시작해서 이제사 마쳤다.  책갈피 기록을 찾아보니 올해 2월 17일이니까 다 읽는데까지 무려 10달이 넘게 걸려버렸다.  하기야 대학 2학년때 읽기 시작했던 죄와벌을 대학 4학년이나 되서야 다 읽었으니, 그 시절의 독서 속도에 비해서는 그나마 읽기가 좀 더 나아졌다고 해야할까? 난데없이 얽기를 시작했다고 이야기했다.  다니던 성당의 좌파 성향 한가득이시던 신부님의 …

Continue reading ‘카라마조프 형제들 – 고전은 힘들다.’ »

Springboot에서 Exception을 활용한 오류 처리

Java를 가지고 개발하는 오류 처리는 Exception을 활용하는 것이 정석이다.  개인적으로 값을 오류 체크하고 어떻게든 값을 만들어 반환하기보다는 오류가 발생하면 “오류다!” 라고 떳떳하게 선언하는 것이 좋은 방법이라고 생각한다. RESTful API를 구현한 경우,  오류의 상태를 알려주는 가장 정석적인 방법은 HTTP Status Code를 활용하는 방법이다.  Exception을 통해서 이 응답 코드를 반환해주는 건 아주 쉽다. 이것과 관련해서 약간 말을 …

Continue reading ‘Springboot에서 Exception을 활용한 오류 처리’ »

외부 발표를 하다보면 좋은 것들?

올해 이런 저런 기회가 되서 몇 번 강의를 했었다.  학생 시절 과외 경험으로 가르치는건 내 적성은 아니었다.  한 두 사람도 아닌 수십명 앞에서 이야기를 한다는 것 자체가 사람을 긴장하게 만들기도 한다. 올해 이전까지 강의 경험 횟수를 합쳐보면 2~3번이 전부다.  할 때마다 몇 일 동안 시간을 가지고 준비를 했다.  전달할 내용을 충실히 전달할 수 있을지 이야기하는 …

Continue reading ‘외부 발표를 하다보면 좋은 것들?’ »

Docker를 활용한 Singlepage 웹앱(WebApp) 구현 환경 구성하기

최근의 개발은 Single page 웹앱 형태로 웹 페이지를 개발하고 있다.  이전 회사에서는 웹앱이라는 개념도 제대로 몰랐는데… 장족의 발전이다. 웹앱 개발 방식이 개발자 관점에서 좋은 점은 Frontend와 Backend를 명백하게 구분할 수 있다는 점이다. 백엔드는 Business Logic을 중심으로 Restful API 방식으로 개발한다.  UI를 배제하고 로직에 집중할 수 있고, 테스트 케이스도 작성할 수 있기 때문에 제대로 개발한다라는 느낌을 …

Continue reading ‘Docker를 활용한 Singlepage 웹앱(WebApp) 구현 환경 구성하기’ »

바쁘다.

회사를 옮겨와서 가장 바쁘게 일을 하는 시절이 아닐까 싶다.  한달 넘게 일과 삶의 균형이 무너진 상태였다.  제대로 된 개발을 포기하고 사용자를 위해 한번쯤(?) 고생하는 것이 주는 의미가 더 크다고 생각했다.  이런 결심으로 시작한 작업의 종착점이 이제 얼마 남지 않았다.  잃었던 삶을 되찾을 수 있을 것 같다는 생각도 들고, 반영되기 시작한 작업의 결과에 대한 반향도 나쁘지는 …

Continue reading ‘바쁘다.’ »

logstash를 활용한 실시간 검출 시스템 구축

회사에서 DBA 분이 elastic 제품군을 가지고 나름 재미있는 기능을 개발하신 걸 공유받은 적이 있다.  그걸 보면서 WoW!!! 라는 감탄이 절로 나왔다.  주변의 오픈 소스 유틸리티들을 활용하면 쿨한 기능들을 설정만으로도 만들 수 있다라는 사실이 놀라웠다. 더욱 내가 반성했던 건 이 작품이 개발자가 아닌 DBA님의 도전이었다라는 점!  약간의 반성을 더 해보자면 뭔가를 집착적으로 코딩할 생각만 했다라는 생각이 …

Continue reading ‘logstash를 활용한 실시간 검출 시스템 구축’ »

JWT(JSON Web Token): 웹에서 안전한 개발을 하기 위한 도구

우리가 사용하는 웹은 공개된 세상이다. 프로토콜이 공개되어 있고, 자유롭게 접근할 수 있는 데이터들이 있다.  개발자들은 공개된 프로토콜과 데이터를 활용해 이를 공개된 정보를 사용자들에게 제공한다.  웹이 지향하는 이 개방성은 모두에게 방대한 정보를 제공하는 기회를 제공한다.  이것이 최초의 웹이 현재의 웹이 된 이유일 것이다. 웹 세상에서의 통신 하지만 모든 정보가 모두에게 공개될 수 있는 것은 아니다.  특정 …

Continue reading ‘JWT(JSON Web Token): 웹에서 안전한 개발을 하기 위한 도구’ »