준호씨의 블로그

프로젝트를 하다 보면 프로젝트 작명 하기는 쉽지 않습니다. 전혀 관련 없는 이름으로 작명을 할 수도 있겠지만 가능하면 프로젝트명을 보고 어떤 일을 하는 프로젝트인지 연상이 되면 더 좋겠죠. 시스템 내부에서 어떠한 이벤트가 일어났을 때 이벤트를 메시지로 받은 다음 정제 한 다음 시스템 외부의 서비스들로 메시지를 전달해 주는 서비스를 개발하게 되었습니다. 즉 메시지를 받아서 다른 곳으로 메시지를 전달해 주는 서비스입니다. 파이프라인이라고도 할 수 있습니다. 파이프 하니 마리오 같은 것도 떠오르네요. 어벤저스의 헤임달(Heimdall)이 비프로스트(bifrost)를 이용해서 무언가를 전송시키기도 하기 때문에 이것도 꽤 적절한 프로젝트 명이 될 수 있을 거 같습니다. 무언가 전달하는 신인 전령의 신에서도 골라 ..

지난 주말 이마트에서 장을 보면서 돌아다니던 중 어디선가 저 멀리서 가슴을 울리는 음악이 들려 오더군요. 음악을 따라가 보니 LG 매장에서 들려오는 소리였습니다. 노트북 오른쪽에 세워져 있는 스피커에서 소리가 나오고 있었습니다. 참고로 음악은 아래 영상의 음악입니다.LG gram 노트북 광고의 음악이었습니다. 광고 음악에 꽤 신경을 쓴 거 같습니다.음악 좋다 하고 듣고 있으니 일하시는 분이 바로 영업 들어오십니다.가격이 23만 얼마라고 적혀 있었는데 19만 9천 원에 드린다. 3개밖에 없다. 원래 인기 좋아서 멀리서 찾아와서도 구입하시고 해서 잘 없는데 오늘 마침 물건이 있다.-> 뭐 영업용 멘트라서 그냥 그러려니 했습니다. 진짠지 어떤지는 모르겠지만 영업 멘트 잘하시더군요.화이트보다는 블랙이 예쁘다.-..

분산 메시징 시스템으로 유명한 카프카의 역사와 이름이 대해 간단히 알아봅시다. Kafka는 LinkedIn에서 개발되었습니다. 2009년에 상용 버전이 처음 출시된 것 같고요. (출처: https://www.youtube.com/watch?v=3F4XwgCfQc8) 2011년에 오픈소스로 공개했습니다. 2012년 10월 23일 Apache Incubator에서 졸업했습니다. 2014년 11월 링크드인에서 카프카를 개발하던 개발자 몇몇이 Confluent라는 회사를 만들었습니다. Kafka에 집중하기 위해서요. Kafka라는 이름은 개발자 중 한 명인 Jay Kreps가 지었습니다. writing에 최적화되어서 작가의 이름을 따는 게 적합하다 생각했고 카프카 작가의 작품을 좋아했기 때문이라고 합니다. 오픈..

보통 휴게소에서 맛있는 음식을 먹기는 힘든데요. 예전에 선산휴게소(상행) 식당에서 먹었던 임실치즈 등심 돈가스가 맛있었던 기억이 있어서 선산 휴게서 지나가면서 한번 더 먹어 보러 갔습니다. 그런데 주문이 안됩니다? 준비 중이라고 뜨고 선택이 안되더군요. 아직 일하시는 분이 계셨고 누군가가 주문한 돈가스가 나오더군요. 여쭤 보니 이미 모두 매진되었다고 하시네요. 저녁 7시가 조금 넘은 시간이었는데 벌써 매진되다니 인기가 좋은 것일까요? 아니면 준비된 분량이 적었던 것이었을까요? 아쉽지만 저녁은 먹긴 해야 되어서 다른 코너에서 음식들을 주문했습니다. 한식집에서 우거지 사골곰탕 5,500원, 선산곱창 순두부찌개 8,000원을 주문하고 농심 순수 가락국수 3,000원을 주문하였습니다. 순수 가락국수와 우거지 사..
아래와 같은 Person 클래스가 있습니다. (편의상 lombok을 사용합니다.) @Data @Builder public class Person { private String firstName; private String lastName; private String byName; private String phoneNumber; } person 인스턴스를 만들고 ObjectMapper로 json string을 출력합니다. @SpringBootTest public class MyTest { @Autowired private ObjectMapper mapper; @Test public void test() throws JsonProcessingException { Person person = Person.b..
아래와 같은 Person 클래스가 있습니다. (편의상 lombok을 사용합니다.) @Data @Builder @JsonInclude(JsonInclude.Include.NON_NULL) public class Person { private String firstName; private String lastName; private String byName; private String phoneNumber; } 아래처럼 person 인스턴스를 만들고 ObjectMapper를 이용해서 json 문자열을 만들어서 출력합니다. Person person = Person.builder() .firstName("Michael") .lastName("Jordan") .byName("Air Jordan") .build()..
@Data @Builder public class Person { private String firstName; private String lastName; private String byName; private String phoneNumber; } 클래스가 있고 (편의상 lombok을 사용합니다.) Person person = Person.builder() .firstName("Michael") .lastName("Jordan") .byName("Air Jordan") .build(); ObjectMapper mapper = new ObjectMapper(); System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(p..

OSX환경에서 react 예제 (https://ko.reactjs.org/docs/add-react-to-a-website.html)를 돌려 보는 중 npm으로 모듈을 설치하는 부분이 있어서 $ npm install babel-cli@6 babel-preset-react-app@3 을 실행했더니 아래와 같은 오류가 발생했습니다. ... gyp: No Xcode or CLT version detected! gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/Users/junho85/.nvm/versions/node/v13.8.0/lib/node_..

아마도 1년 정도 전에 구입해서 아직 잘 사용하고 있는 USB 3.1 Flash Drive입니다. 용량은 128GB인데요. 제가 8년 정도 전에 데스크톱에 사용하려고 구입했던 SSD가 128GB였던 걸 생각하면 이제는 참 작은 사이즈에 큰 용량을 저장할 수 있게 되었다는 생각이 듭니다. 생긴 건 휴대용이지만 사실 들고 다니면서 사용하는 경우가 많지는 않습니다. 용량이 큰 동영상 파일을 온라인으로 보내기 어려울 때 여기에 담아서 직접 복사해 주는 경우가 있긴 하지만 보통은 집에서 사용하는 편입니다. 요즘은 동영상 편집할 때 소스 영상들을 여기에 담아 두고 편집을 하곤 합니다. 쿠팡 구매 링크: https://coupa.ng/bG2P7s (이 링크를 통해 구매하면 저에게 도움이 됩니다.) 제가 구입했을 때는..

동호회에 드디어 드론이 생겼습니다. 드론의 모델명은 매빅 에어 2입니다. 드론을 대여해서 동네 공원에서 테스트 비행 겸 촬영을 해 보았습니다. 생각보다 조작이 쉬워서 깜짝 놀랐습니다. 15년 정도 전에 기계식 자이로 센서를 사용하던 드론을 날리고 바로 고장 냈던 때가 문득 떠오릅니다. 드론 조작 앱에서 여러 가지 기능을 제공해 주는데요. 지역별 고도 제한을 측정해서 그 이상 날리지 못하도록 해 줍니다. 착륙할 때 이륙지점으로 착륙해 주는 기능도 있고요. 추적 기능은 아직 사용해 보지는 못했습니다. 거리가 멀어서 신호가 잘 안 잡힐 거 같으면 미리 경고도 해 주더군요. 바람이 불어도 꽤나 잘 버티는 거 같습니다. 짐벌 기능 덕분에 녹화된 영상에서 흔들림이 거의 느껴지지 않습니다. 배터리도 생각보다 오래가더..