반응형
전체 글

전체 글

    leopold fc660c 윤활 방법 및 리뷰

    레오폴드 fc660c를 중고로 9만원에 구매하고 나서 1년정도 잘 사용했다. 하지만 사용하다보니 약간의 아쉬움이 있었다. 스프링 튀기는 소리가 꽤 크고 55g정도의 압력감으로 꽤 손목에 피로함을 느꼈다. 그러다 유튜브에서 fc660c 윤활제를 발라서 사용한 소리를 들었는데 너무 신세계였다. 그래서 윤활제를 바르기로 했다. 다른 분들은 흡음제도 집어넣고 러버덕 밑에 스프링에도 윤활제를 바르지만 나는 그렇게 까지 하지는 않고 단순하게 누르는 버튼에만 윤활제를 바르기로 했다. 윤활제 재료 일반 윤활제는 러버덕을 손상시킬 수 있어서 크라이톡스를 사용해야 하고 그 점성에 따라 103, 105, 107이 있다. 103과 107을 4:6정도로 사용한다고 하는데 나는 그 비율을 못 맞출 것 같아서 105를 주문해서 바..

    Spring5 리액티브 스트림 정리 및 api 전달 방식 정리

    리액티브 또는 리액티브 스트림은 오늘날 spring framework에서 뜨거운 토픽으로 자리잡고 있다. 그래서 나도 이전 포스팅에서도 정리도 하고 했었는데 아직 확실히 개념이 서질 않아서 다시 정리해봤다. 리액티브 스트림 (Reactive Stream) 이란? 리액티브 스트림은 무엇인가? 정확하게 공식문서에는 다음과 같이 기록되어 있다. (https://www.reactive-streams.org/) Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.This encompasses efforts aimed at runtime enviro..

    Spring boot 모니터링 Actuator 소개 및 설치

    spring acturator를 통해서 스프링 애플리케이션의 작동여부등을 체크해보자. 설정 우선 gradle 라이브러리를 추가한다. compile 'org.springframework.boot:spring-boot-starter-actuator' 그리고 기존에는 application.properties나 yml에 아래 옵션을 설정해줘야 했지만 기본적으로 설정이 되어있다. endpoints.health.enabled=true 하지만 이는 Spring boot 2.0에서 다음으로 변경되었다. (https://stackoverflow.com/questions/48900892/how-to-enable-all-endpoints-in-actuator-spring-boot-2-0-0-rc1) How to enable..

    Elasticsearch node 종류와 기본 설정 옵션

    Elasticsearch의 노드 Elasticsearch의 인스턴스를 시작하는 동시에 노드도 같이 시작된다. 노드들을 연결해놓은 것을 클러스터라고 한다. 만약 하나의 엘라스틱 서치 노드만을 실행시킨 경우도 하나의 노드를 가진 클러스터라고 한다. 클러스터안에서 모든 노드는 HTTP와 Transport 트래픽을 기본적으로 다룬다. Transport 레이어는 오로지 노드들과 Java TransportClient와의 통신에만 사용된다. Http 레이어는 오직 외부 Rest Cliente들과 통신할 때 사용된다. 모든 노드는 클러스터 안에서 서로 다른 노드들에 대하여 알고 있고 client에 요청을 적적한 노드로 향하게 조절해준다. 기본적으로 노드는 master-eligible, data, ingest, mach..

    Github repository 위치 변경

    github에서 개인적으로 하고 있는 토이프로젝트 wedul_timeline을 친구와 함께 작업하기로 해서 그룹을 생성했다. 그룹 이름은 우리의 아이덴티티에 맞는 potato로 지정했다. ㅋㅋ 그런데 이렇게 지정하다보니 기존에 내 repository에 위치해있던 소스를 그룹으로 옮겨야 했다. 그 과정에서 삽질했던 내용을 다음에는 삽질 하지 않도록 기록해봤다. 현재 Git Repository 저장소 clone 우선 현재 있는 repository를 복사 해야한다. git clone --mirror https://github.com/weduls/wedul_timeline 복사가 완료되었다. 그럼 이제 새로 이전할 레포지토리가 필요하다. 그룹에 들어가서새로운 레포지토리를 생성한다. 새로운 remote origi..

    Elasticsearch version conflict 에러

    배치를 이용해서 Elasticsearch에 데이터를 삽입하던 중 version conflict라는 오류가 자주 발생했다. 처음에는 Elasticsearch 버전이 동일한데 왜? 오류가 나는지 몰랐다. 그래서 검색해보니 인덱스안에 document에는 각자 관리하는 version이 존재한다. 이 version은 document가 수정될 때 하나씩 올라가게 되는데 version이 10인 상태에 document에 여러 서버 모듈에서 해당 document에 업데이트를 하려고 하니 문제가 발생하였다. 그 이유는 version 10인 상태에서 작업에 들어간 두 모듈은 한 모듈이 먼저 11로 업데이트를 시키고 다음 모듈이 작업을 진행하려고 할 때 자기가 알고 있던 마지막 version인 10이 아니라 11로 바껴있는것..

    드롱기 반자동 커피머신기와 그라인더 구매

    직장을 다니기 시작하면서 커피를 엄청 마셨다. 하루에 최소 아메리카노 3잔은 마셨고 지금도 항상 마시고 있다. 그런데 저번 직장에서는 커피머신기가 있었지만 지금 다니는 직장에서는 커피머신기가 없고 심지어 있던 카누조차 보급해주지 않는다 ㅜㅜ 매우 실망스럽다. 그래서 회사에서 싸게 파는 위메프오를 통해서 커피를 천오백원정도 주고 사먹었으나 생각보다 3잔정도 먹으면 지출이 크기에 아쉬웠다. 또한 집에서도 자주 집에서 커피를 마시기에 직접 원두를 갈아서 내려 마실 수 있는 커피머신기를 구매했다. 가격은 위메프에서 쿠폰 할인 받아서 그라인더 7만원 드롱기 반자동 머신기 17만원에 구매했다. 이탈리아 전자제품이라고 하는데 몬가 보기만해도 고급지다. 이게 25만원정도 하는거보면 고급져야지 그럼 ㅋㅋㅋ 그라인더는 자..

    Elasticsearch reindex시 alias를 사용하여 무중단으로 진행하기 & big index 리인덱싱 시 비동기 처리 방법

    Elasticsearch reindex를 진행할 때, 단순하게 새로운 인덱스를 만들고 reindex api를 진행하고 기존 인덱스를 지우고 새로 만들어서 다시 reindex를 해줬다. (이전글: https://wedul.site/611?category=680504) 하지만 그것은 해당 인덱스의 document의 수가 적어서 금방 진행이 되었었고 만약 document수가 10만가지만 넘어도 생각보다 오래걸려서 서비스의 흐름이 끊어지게 된다는걸 인지하지 못했다. 같은 회사 동료분께서 해당 부분에 대해서 말씀해주셨고, 그 분이 가이드 해주신대로 진행해서 reindex를 무중단하게 진행하는 방법을 찾아봤다. Alias를 이용하여 reindex하기 기존 index wedul의 매핑구조이다. PUT wedul { ..

    Elasticsearch nori 형태소 분석기에서 readingform filter를 이용해서 한자 내용을 한글로 변환하기

    Elasticsearch filter에서 한자로 검색했을 때 일치하는 한글 결과로 tokenizing하게 해주는 filter가 있다. 해당 filter는 nori-readingform이다. 적용 방법은 기존에 synonmys나 speech필터 적용과 동일하다. 인덱스 생성 위에서 부터 사용했던 인덱스에 nori_readingform 필터를 추가해서 생성만 해주면 된다. PUT wedul_anaylyzer { "settings": { "index" : { "analysis" : { "tokenizer": { "nori_user_dict": { "type": "nori_tokenizer", "decompound_mode": "none", "user_dictionary": "dic/nori_userdict_k..

    Elasticsearch 특정 형태소 종류를 제외하여 검색하는 필터 nori_part_of_speech 적용

    Elasticsearch를 사용하여 analyze를 사용하다가 조사, 형용사 등등을 제외하고 형태소 토크나이즈가 되어야 했다. 그래서 정식 문서를 찾아보더니 nori_part_of_speech라는 필터가 있었다. 우선 저번 시간에 만들었던 wedul_analyzer 인덱스를 이용해서 토크나이즈를 해보자. { "tokens": [ { "token": "바보", "start_offset": 0, "end_offset": 2, "type": "word", "position": 0 }, { "token": "위들", "start_offset": 3, "end_offset": 5, "type": "word", "position": 1 }, { "token": "이", "start_offset": 5, "end_o..

반응형