반응형
전체 글

전체 글

    스위스 여행 인터라켄 여행 후기 (융프라우, 뮤렌 murren, 하더쿨룸 방문)

    여행 3일차가 되면서 인터라켄을 가기로 했다. 스위스하면 가장 먼저 떠오르는 경치 융프라우를 보기위해서 신혼여행 일정중 총 3일을 인터라켄에서 잡았다. 베른에서 인터라켄 서역으로 베른에서 인터라켄 서역으로 가기 위해서 처음과 마찬가지로 SBB 어플을 켰다. 인터라켄은 베른에서 한시간? 정도 걸린다. 열차를 타고 가다보면 옆쪽에 호수가 나오는데 멋지다. 왼쪽에 앉아서 가야 정확하게 볼 수 있다. 그런데 열차의 창문이 조금 더러워서 사진이 잘 안나온다 ㅜ 인터라켄 동역이나 서역이나 걸어서 15분 정도 거리고 그 가운데 사이에는 가게도 많고 사람도 많아서 구경하기 좋다. 융프라우 가기 전에 가기에 딱 좋다. 호텔은 메트로폴 폴리스라는 4성급 호텔에서 보는 경치가 정말 좋다. 예약은 인터파크에서 했는데 가격은 ..

    DDD. 도메인 주도 개발 시작

    도메인 모델 도메인 모델은 특정 도메인을 개념적으로 표현하는 것 도메인을 이해하려면 도메인이 제공하는 기능과 도메인의 주요 데이터 구성을 파악해야 한다. 도메인을 표한하는 방법은 Order, Ship, Pay와 같이 객체로 구별하는 방식과 상태에 따르게 방식이 진행되도록 설계하는 상태 다이어그램을 통해 모델링을 구현할 수 있다. 도메인 모델은 기본적으로 도메인 자체를 이해하기 위한 모델이다. 도메인 모델 일반적인 애플리케이션 아키텍쳐는 4단계 계층으로 구성된다. Layer 설명 UI 사용자에게 보여주는 정보 Application 사용자가 요청한 기능이 실행됨 도메인 시스템이 제공할 도메인의 규칙을 구현 Infrastructure 데이터베이스나 메시징 시스템과 같은 외부 시스템과의 연동을 처리 도출한 모델..

    더글라스 케네디, 데드 하트 후기

    데드 하트 국내도서 저자 : 더글라스 케네디(Douglas Kennedy) / 조동섭역 출판 : 밝은세상 2017.05.17 상세보기 더글라스 케네디 책은 내가 다 좋아한다. 자기발전 책이나 따분한 책은 읽지 않기에 흥미진진한 구도로 책을 쓰는 케네디 책을 내가 좋아하는 것 같다. 그래서 가장 마지막으로 나온 책 데드하트를 이북 리더기 크레마 사운드 구매한 기념으로 사서 읽어보았다. 책 리뷰 데드하트에 나오는 주인공은 책에서 양키라고 불린다. (간단하게 아래에서도 양키라고 명칭하겠다.) 양키는 아무하고도 인연을 맺지 않고 인터넷 기사를 쓰면서 따분하게 살아가는 기자였다. 그는 이제 따분함을 느끼고 기자를 그만두고 오스트리아에 있는 작은 신문회사에 기사로 취업을 하기로 했고 모든 재산을 팔고 오스트리아로 ..

    스위스 여행 둘째날 베른 수도 여행 후기 (스위스 flex 티켓 개시)

    스위스 여행 둘 째날 베른으로 이동하기 위해서 숙소에서 새벽 6섯시에 나왔다. 숙소 바로 앞에 768번 버스가 있어서 4정거장 타고 종점인 공항으로 갔다. 스위스 패스가 있으면 무료인데 몰라서 호텔 카운터에서 버스 티켓을 구매했다 가격은 둘이해서 8.8프랑 한국돈으로 하면 만원정도 였다. ㅋㅋㅋ 완전 비싸다. 스위스 flex 패스를 사용하여 베른 가기 공항에 도착해서 스위스 패스를 이용하기 위해서 스위스 flex 패스를 개시했다. 패스는 위메프에서 구매했다. 딜이 있어서 여기서 구매하면 저렴하게 구매할 수 있다. http://www.wemakeprice.com/deal/adeal/4240974 일반적인 스위스 패스는 연속적인 날짜로 사용할 수 있고 flex는 비 연속적으로 사용하고자 하는 경우에 좋다. ..

    스위스 여행 첫째날 LOT 폴란드 항공타고 입국 후 dormero hotel zurich 숙박 후기

    결혼식이 끝나고 다음날 드디어 스위스로 신혼여행을 떠나게 되었다. 환전 금액은 190만원 정도 해서 1700프랑 했다. 그리고 비행기는 LOT 폴란드 항공을 이용하고 폴란드를 경유해서 스위스 취리히로 도착하는 항공권이었다. 폴란드 LOT 항공 체크인 처음으로 유럽을 가는데 잘 모르는 외국 항공사를 타야해서 떨렸다. 그래서 공항에 3시간전에 도착했다. 체크인 하는 곳은 매일 매일 바뀌는 거같은데 나는 1터미널 M쪽 카운터에 있었다. 웹 체크인을 통해서 자리를 먼저 정해놓았기 때문에 WEB-CHECKIN 영역으로 바로 갔다. 그래서 짐을 부치고 발권하는데 10분? 정도 밖에 걸리지 않았다. 좌석을 지정하지 않으면 여행중 동승자와 떨어져서 가야하는 문제가 생길수있어서 먼저 웹 체크인했다. LOT 항공은 boa..

    취리히 중앙역 애플스토어에서 에어팟2구매 후기 및 개봉기

    신혼여행중 여행 마지막날 생일이었다. 그래서 와이프가 가지고 싶은 물건을 물어봤고 나는 당당히 에어팟2를 이야기했다. 무리해서 환전을 많이해서 40만원정도 남은 상태여서 와이프가 승낙해줬다. 마침 취리히 여행중이었고 근처에 애플스토어가 있어서 방문했다. ​ 주소는 Apple Bahnhofstrasse 이고 취리히 중앙역 걸어서 5분거리에 위치해 있다. 제품을 고르고 있으면 친절하게 직원이 언어를 물어본다. 영어라고 이야기하면 영어로 설명을 해주고 제품을 고른뒤에 찾아가면 결재해준다. ​ 에어팟 2와 정품 실리콘 케이스와 가죽케이스를 구매했다. 다해서 한국돈으로 34만원정도 들었다. 마지막날 프랑을 다 소진했다. ​ 에어팟2의 외관은 크게 달라지지 않았다. 단지 무선충전 지원과 빠른 연결 그리고 아래 사진..

    크레마 사운드(sound) 개봉 및 사용기

    생일이 돌아왔다. 생일선물로 어떠한 것도 받고 싶은게 없었지만 그래도 하나 꼽자면 출퇴근시 가지고 다닐 이북 리더기를 가지고 싶었다. 휴대폰으로 이북을 자주보고 있었지만 아무래도 눈이 너무 피로해져서 금방 보지 않게되었다. 화면도 작고 자꾸 다른 메시지나 인터넷 유혹에 벗어나지 못해서도 있었다 ㅋㅋㅋ 그래서 여자친구와 같이 잠실에 알라딘을 방문하여 크레마 사운드를 샀다. 크레마 그랑데도 있었지만 굳이 10만원 더주고 비싼걸 사고 싶지 않았다. 두 개의 큰 차이도 없을 뿐더러 더 무겁다. 굉장히 고급진 포장을 하고 있다. 몬가 지식인이 된 기분 ㅋㅋ 알라딘에서 구매 시 친절하게 문제가 있을 시 다음과 같이 조치하라고 안내해주셨다. 기기가 조금 오래되서 그런지 안드로이드 업데이트와 내부에 있는 이북 리더 어..

    sony 액션캠 FDR-X3000 구매 개봉기

    결혼식 진행할때 특별하게 비디오를 찰영하지 않기로했다. 잘 보지 않을것 같고 가격도 30만원이 넘어서 안하기로 했는데 아쉬운 마음이 들었다. 그래서 고프로 같은 액션캠을 구매하여 웨딩촬영으로 사용하고 스위스 신혼여행 가서도 사용하기로 했다. 고프로를 사려고 스타필드를 방문했다. 스타필드에서 카메라 담당자분에게 설명을 들었는데 최근에 나온 고프로 히어로7도 sony fdr-x3000보다 손떨림이 더 나아지지는 않았다고 하였다. 그리고 고프로에 경우에 이쁘지 않다는 여자친구 피셜로 인해 구매가 보류되었다. 그래서 결정하게된 소니 액션캠 FDR-X3000 가격은 리모트, 방수 케이스, 정품 셀카봉, 여분 배터리까지해서 쿠팡에서 56만원에 주고 구매했다. 내 돈주고 카메라를 이렇게 비싸게 사다니 후회는 조금 들..

    Elasticsearch에서 synonyms.txt로 동의어 필터 만들어서 사용하기

    elasticsearch에서 검색기능을 넣다가 2080이라는 키워드를 검색 했을때와 이공팔공이라는 검색어를 입력했을 때 두개 모두 동일한 데이터를 출력하도록 지정하고 싶었다. 그래서 synonyms 필터를 만들기로 했다. 우선 synonyms 필터를 만들어서 사용하기 위해서는 동의어에 대한 정리가 되어있는 사전을 만들어야 한다. 사전 생성 방법은 다음과 같고 아래 링크를 참조해서 간단하게 사전을 만들었다. https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html 파일명은 synonyms.txt이고 내용은 다음과 같다. synonyms.txt 노레바,noreva,노래바 airpods,에어팟..

    redis cluster로 구성하여 실행 시켜보기

    redis를 사용하면서 cluste로 구성해봐야하는 일이 있었다. 그래서 찾아보던 중 redis문서에서 방법을 찾았다. https://redis.io/topics/cluster-tutorial Redis cluster tutorial – Redis *Redis cluster tutorial This document is a gentle introduction to Redis Cluster, that does not use complex to understand distributed systems concepts. It provides instructions about how to setup a cluster, test, and operate it, without going into the detai re..

    elasticsearch 7.0 docker 설치 후 변경사항 확인

    엘라스틱서치 7.0이 출시했다. 엘라스틱서치 7.0에는 kibana UI변경과 multi mapping type 제거 등의 이슈가 있다. 우선 달라진점을 확인하기 위해 docker에 설치해보자. 설치 elasticsearch docker run --name elastic7.0 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.0.0 kibana docker run -d --rm --link elastic7.0:elastic-url -e "ELASTICSEARCH_HOSTS=http://elastic-url:9200" -p 5601:5601 --name kibana7...

    마이크로소프트 XBOX ONE S 패드 신형 3세대 블루투스 무선컨트롤러 개봉 및 스팀 연동 후기

    스팀으로 위닝을 즐기고 있는데 키보드로 즐기다보니 흥미가 조금 떨어졌다. 그래서 마침 회사에서 생일 위메프 포인트 5만원이 들어왔길래 패드를 지르려고 알아봤다. 후기를 봤는데 패드 저렴하거 사면 가볍고 무게감도 없고 진동도 너무 그지같다는 평을 봤다. 이왕살거 그럼 좋은거 사자 생각하고 66000원짜리 xbox 패드를 찾았다. 박스는 되고 이뻤다. 봉인라벨씰도 같이 있어서 개봉하지 않은 제품이라는 믿음을 줘서 좋았다. 내용물을 개봉하자마자 패드가 들어있었다. 패드의 느낌은 몬가 묵직하고 좋았다. 제품 자체 퀄리티도 좋았고 무게감도 게임기를 딱 잡고 있는 느낌이 있어서 좋았다. (싸구려 플스방 조이스틱 같아 보이지 않았다.) 구성품은 건전지와 그리고 설명서, 보증서가 들어있었다. 내장 리튬 배터리가 아닌것..

    Intellij에서 spring boot multi module 사용시 jsp 못찾는 이슈 해결방법

    기존에 공부삼아서 개발중이던 wedulpos에 spring batch를 추가해보려고 했다. 그래서 공통으로 mono 프로젝트로 되어있던 wedulpos를 multi module로 수정했다. 그랬더니 이상하게 servlet context에서 jsp를 로드하지 못했다. 그래서 계속해서 ServletException not include... jsp 또는 ServletException not jsp found 오류가 발생했다. 그래서 엄청난 구글링을 2틀동안했다. 집에서 그리고 약속장소에서 기다리면서 노트북으로 그리고 퇴근하고 오늘.. 정말 가지가지한 방법을 다해봤었다. 기본적으로 embed-tomcat의 경우 jasper를 가지고 있지 못해서 별도의 모듈을 추가하고 servlet jspl 추가했고, comp..

    heroku 에서 spring boot jar파일 deploy시 Web process failed to bind to $PORT within 90 seconds of launch 에러 처리

    heroku에 코드를 올리지 않고 바로 jar 파일을 deploy하기 위해서 heroku cli를 이용하여 올리는데 자꾸 Web process failed to bind to $PORT within 90 seconds of launch가 발생했다. 이유를 몰라서 계속 알아보던 중 heroku에서 spring boot를 실행시키기 위해서는 Procfile을 작성하고 port를 지정해줘야 한다. 우선 application.yml 설정 server: port: ${port:8080} Procfile 설정 - Procfile은 확장자 없이 만들어야한다. - 포트는 8080이나 원하는 걸로 지정해 주고 profile까지 작성해주고 나머지 depoly를 위한 내요을 작성한다. web: java -Dspring.se..

    [책프협] 2019 책쓰는 개발자 책노리 방문 후기

    작년에 어떤 출판사에서 블로그 글을 보고 책을 내보는건 어떻냐고 연락이 왔었다. 겁도 나고 내가 부족하다 생각해서 답장을 하지 못했다. ㅜㅜ 조금 후회 된다. 답장이라도 한번 해볼껄. 지금까지 공부한 내용을 남들에게 설명하고 정리하면 책도 내보고 공부도 할 수 있을것 같은데 아쉽다. 나중에 또 오면 연락을 해봐야겠다. 우선 그래서 개발자들이 책을 어떻게 쓰게되고 작성하는지 알아보기 위해 책쓰는 개발자 협회에서 하는 강연에 참석했다. 참석 기념품으로 교보문고에서 제공하는 달력을 받았다. 크게 기능이 있는 달력은 아닌거 같다. 책을 작성한 개발자분들의 대다수는 처음 책을 작성할 때 내가 부족한데 가능할까? 이런 의문을 가지고 겁도 냈다고 했다. 그래도 하고나니 자신감도 붙고 그렇게 어렵지는 않다고했다. 단,..

    iptime 5g 무선 랜카드 A3000U 개봉기

    집에 구조를 변경하면서 유선이 아닌 무선으로 데스크톱을 사용하게 되었다. 조립식으로 구매한 데스크톱에는 랜카드가 없었기 때문에 랜카드를 구매하려 찾아봤다. 그 중 집에 인터넷이 5G가 지원하니 그것까지 커버가 가능한 모델을 찾았다. 가격도 괜찮고 성능 및 후기도 좋은 A3000U를 골랐다. 비슷한 A3000UA도 있는데 크기도 커서 이걸 골랐다. 박스 자체는 작고 아담했다. 봉인라벨씰이 붙어있어서 누가 반품한 물건인지 열어본 물건인지 구별할 수 있어서 좋았다. 구성품은 설명서, 본체, 그리고 연장선이 있다. 연장선은 와이파이를 제공해주는 공유기가 멀리 있을때 신호를 잡기 위해서 사용하면 유용하다고 하는데 나는 그럴 필요가 없으니 패스 본체는 일반 USB 메모리보다 살짝 큰 수준이다. 바로 컴퓨터에 꼽아봤..

    creating bean with name 'webMvcRequestHandlerProvider' defined in URL 에러처리

    Spring 시작 시 creating bean with name 'webMvcRequestHandlerProvider' defined in URL에러가 발생했다. 이유는 spring context관련 설정이 중복되어 발생한 문제였다. @EnableWebMvc를 사용하는곳에서는 @Configuration을 지워주면 문제가 해결되었다.

    git ssh로 받은 프로젝트를 https 방식으로 변경하기.

    회사에서 ssh 방식으로 git을 사용하고 있었으나 정책상 ssh가 막혀서 https로 전환해야 했다. 근데 사실 ssh로만 주로 사용했지 이를 바꿔서 진행해본적이 없어서 난감했다.(기존에 작업중이던거 어떻게 ...) 그래서 알아보던중 같은팀 개발자분이 힌트를 주셔서 그대로 해보니 해결되었다. ㅋㅋ 간단하게 정리해보자. - 프로젝트 내에 .git의 config파일 열어서 수정터미널을 이용하든 편집기를 이용해서 config파일을 열어본다.그럼 밑줄 친 부분과 같이 ssh주소로 되어있는데 이를 repository의 https 주소로 바꿔주고 저장한다. 그리고 다시한번 git 명령어를 시도해보면 다음과 같이 계정 정보를 입력하라고 나오는데 이곳에는 해당 레포지토리가 있는 github이나 gitlab의 계정정보..

    ngrinder Mac os 간단 설치 및 테스트 방법

    api의 성능 테스트를 위해서 네이버에서 만든 ngrinder 설치하고 테스트를 진행해봤다. ngrinder는 controller와 agent로 구성이 되어 있는데 이에 대한 내용은 https://naver.github.io/ngrinder/ 해당 내용을 체크하자. 1. Controller 설치 - 톰캣을 설치하고 아래 주소에서 war를 다운받아서 실행시킨다. https://github.com/naver/ngrinder/releases 단, 3.4.2는 테스트 스크립트 실행 시 unexpected token에러가 발생한다. 그래서 3.4.1을 사용하는걸 추천한다. 설치 완료되면 아래 url로 접근 해서 확인 (초기 계정은 admin/admin) - 뒤에 root path는 편의를 위해서 war 파일을 n..

    [번역] Redis partitioning

    파티셔닝 공부를 위해 아래 페이지의 내용을 번역하며 정리해봤다.https://redis.io/topics/partitioning Redis Partitioning: 여러 레디스 인스턴스로 데이터 분배하기 파티셔닝은 데이터를 여러 레디스 인스턴스로 분할하여 모든 인스턴스가 자기가 소유한 키의 집합들만 소유하도록 하는 프로세스이다. 먼저 파티셔닝 개념에 대해 설명하고 레디스 파티셔닝에 대한 대안을 소개한다. 파티셔닝이 효율적인 이유 레디스에서 파티셔닝을 하기는 다음 두개의 이점이 있다. 1. 하나의 컴퓨터로 메모리의 양이 제한되는 경우에 파티셔닝을 사용하여 더 큰 데이터베이스와 메모리를 가질 수 있다. 2. 여러 개의 코어와 여러 대의 컴퓨터에 연산 능력을 확장하고 네트워크 대역폭을 여러 대의 컴퓨터와 네트..

    synology ds118에서 redis 설치하기 (패키지 센터가 아닌 직접 설치)

    synology에서 docker나 redis 등을 패키지 센터에서 설치하여 사용할 수 있다. 하지만 이상하게 저렴하게 나온 NAS, 그 중에서 x86 cpu를 사용하는 경우에는 패키지 센터에서 직접 redis를 설치할 수가 없다 ㅜㅜ 그래서 방법을 찾았다. 그 방법을 까먹지 않기 위해서 정리해보자. 1. DSM에서 SSH 허용이 부분은 아주 간단하게 DSM > 설정 > 네트워크에서 SSH 허용하여 접속을 킬 수 있다. 보안상 포트는 22가 아닌 다른 번호로 바꾸고 방화벽을 설정하는 것을 추천한다. 자세한건 검색하면 엄청 나오고 간단하다. 2. redis 다운로드redis 설치하여 운용하기 위해서 공식홈페이지에서 다운로드한다. 그리고 SFTP나 FTP 또는 단순하게 DSM에 드래그 해서 파일을 NAS에 옮..

    가정용 synology nas ds118 개봉기!!

    집에서 개인적으로 사용할 nas를 구입했다. 간단하게 파일 저장하고 공유하고 docker를 사용해서 mysql, redis등을 사용하기 위해서 구입했다. 위메프에서 ds118 20만원에 구입하고 wd 1tb nas용 하드를 구입했다. 구입은 맥을 사면서 적립되었던 포인트를 사용해서 실질적으로 구매비용은 10만원정도 들었다. 사실 하드를 nas용으로 사야하나 싶었으나 인터넷에 알아보니 nas에 일반 하드를 설치하면 고장날 확률이 많다고 한다. 대표적으로 nas에 경우 24시간 켜져있고 진동이 하드에 전달되기 때문에 고장난 확률이 높아진다고 한다. 그래서 nas 하드를 위메프에서 7만원에 구매했다. 박스는 안전하게 포장되어 왔다.생각보다 가볍다. 비싼 제품인데 봉인 씰이 없는건 아쉽다. 내부를 뜯어보면 어댑..

    node.js에서 multer 사용하여 이미지 업로드 및 텍스트 파일 다루기

    Multer는 파일 업로드를 위해서 사용되는 multipart/form-data를 다루기 위한 node.js 미들웨어이다. busyboy를 기반으로 하고 있다. 자세한 내용은 https://github.com/expressjs/multer/blob/master/doc/README-ko.md 이곳에서 참고하면 된다. 그럼 간단하게 multipart/form-data로 올린 이미지 파일과 텍스트파일을 request post로 받아서 처리하는 코드를 만들어보자. 우선 multer를 설치한다. npm i multer 그리고 이미지 파일을 특정 경로에 저장해놓고 사용할 수 있지만 나는 메모리 스토리지를 사용해서 조작하는 방식으로 진행해보겠다. multer 라이브러리를 선언하고 memoryStorage를 사용할 수..

    구글 애드센스 주소인증 PIN 번호 우편 받기

    네이버 블로그를 진행하다가 티스토리로 넘어오게된 이유는 바로 구글 애드센스를 사용하고 싶어서였다. 물론 수입을 위해서 블로그를 하는건 아니고 공부 내용 정리를 위해서이긴 하지만 그래도 일간 방문자가 500명 가까이 되니 욕심이 조금 생겼다.애드센스는 $20정도 수입금이 쌓이면 주소로 전송되는 PIN번호를 적어야한다. 그렇지 않으면 수입을 받을 수가 없다.작년 11월에 인증을 받으라고 해서 주소를 적고 PIN번호를 신청했다. 그러나 오지 않았다. PIN 번호 우편은 한달? PIN번호가 오는데 구글 애드센스 안내에 보면 한달정도 걸린다고 했다. 그런데 실질적으로 내가 11월에 신청해도 안오고 1월에 다시신청하고 2월에도 다시 신청했지만 오지 않았다.. 3번이상 다시 재 발송 신청하면 4번째 부터는 민증인증과..

    nginx 정리와 설치 및 기본 설정방법

    Ngnix 설명nginx는 기존 웹서버에서 많은 트래픽을 감당하기 위해서 확정성을 가지고 설계된 비동기 이벤트 드라이븐 방식의 웹서버를 칭한다. Nginx 설치nginx를 맥이 있으면 brew를 통해서 간단하게 설치가 가능하다.1brew install nginxcs Nginx 프로세스nginx는 하나의 마스터 프로세스와 여러 worker 프로세스를 가진다. 마스터 프로세스의 주요 목적은 read 권한 그리고 성능 측정과 worker 프로세스 관리이다. worker 프로세스는 요청을 처리한다. nginx는 event-based 모델을 사용하고 worker 프로세스 사이에 요청을 효율적으로 분배하기 위해서 os에 의존하는 매커니즘을 사용한다. worker 프로세스에 개수는 설정 파일에서 정의되며 정의된 프로..

    13인치 2017년형 맥북 프로 256기가 언박싱!

    기존에 사용중이던 맥북에어가 진짜 너무 느려서 도저히 사용할 수준이 아니었다. 확실히 맥북에어는 문서나 간단한 서핑 수준에 적합하다. 하지만 내가 사용하는 수준은 그정도 이상에 사양이 필요하다 보니 현저하게 사용을 하지 않게 되었고 그래서 중고나라에 팔았다. 구매했던 금액 40만원 그대로 40만원에 팔았다. 손해본건 없다. 그냥 본전이다. 그런다음 어떤 노트북을 사야하나 고민했다. 2018년형 모델에서 찾아봤는데 2018년형 모델은 터치바 모델만 존재한다. 회사에서 2017년형 15인치 터치바를 사용중인데 터치바는 진짜 너무 싫다. 이쁘고 사용성이 좋다고 생각할수도 있지만 나는 그냥 물리키가 더 좋다. 그래서 논터치바를 알아봤다. 논 터치바도 가격이 전혀 저렴하지 않았다. 256기가 논터치바는 기본형이 ..

    [번역] shared message queues와 publish-subscribe 방식에 Custom Group 방식을 더한 Kafka 소개

    전통적으로 메시지 모델은 Shared Message Queue, Publish-subscribe로 구분된다. 두 가지 모델 모두 그들만에 pros and cons를 보유하고 있다. 하지만 이 두개의 모두 최초 디자인 제한 때문에 큰 데이터를 다루기에는 부족했다. Apache Kafka는 두 모델 중 publish-subscribe 메시징 모델을 구현한 모델로 부족했던 부분을 수정하고 실시간 분석을 위한 스트리밍 데이터를 처리할 수 있도록 가능해졌다. kafka는 LinkedIn에서 2010년에 방대한 데이터 처리를 위해서 개발되었다. Apache Kafka는 전통적인 메시징 모델이 달성하지 못한 격차를 해소했다. Kafka는 두 모델의 개념을 구현하여 단점을 극복하고 동시에 두 가지 방법론을 모두 통합 ..

    Spring Boot에서 6.4 Elasticsearch 연결 및 간단 CRUD

    Elasticsearch를 Spring Boot에서 작업을 하는 간단한 정리를 해보자. 1. Library 추가Elasticsearch를 사용하기 위해서는 spring-data-elasticsearch 라이브러리가 추가되어야 한다. gradle에 추가해보자.1234567dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' compileOnly "o..

    Nginx, Apache 그리고 node.js 성능 관련 잡다한 정리

    Nginx과 Apache 비교 Nginx Apache 특징 - Nginx는 싱글 스레드 Event driven 방식- 미리 설정된 worker 프로세스 안에서 요청이 들어올 때 마다 요청을 분배하여 worker에게 역할을 분배- 기존에 정해놓은 리소스를 사용하기 때문에 CPU, Memory 등의 자원 사용률이 낮음 - 요청이 올 때마다 쓰레드를 생성하여 할당한다. 작업이 많아질 경우 많은 쓰레드할당이 필요하다. 그리고 쓰레드들이 작업을 진행 할 때마다 CPU를 사용하려 하기 때문에 문맥교환이 자주 발생된다. 차이점 - Apache에 경우 Blocking 방식으로 Network, DB 등 별도의 동작이 진행 될 때 Block되지만 Nginx는 Non-blocking 방식을 지원함 Non-blocking, ..

    kafka docker에 간단 설치 후 Spring boot 연동 테스트

    간단하게 Kafka 설치docker-compose.yml 생성 후 docker-compose up -d를 통해 설치12345678910111213141516version: '2'services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_HOST_NAME: wedul.pos KAFKA_CREATE_TOPICS: "test:1:1" volumes: - /var/run/docker.sock:/var/run/docker.so..

반응형