Elasticsearch

Elasticsearch Synonym

Elasticsearch 2.x에서 동의어 사전파일을 적용하는 방법입니다. (ES 설치디렉토리)/config 폴더 하위에 사전파일을 위치합니다. 동의어 사전 내용은 아래 링크를 참조하세요. https://www.elastic.co/guide/en/elasticsearch/guide/current/using-synonyms.html 테스트 동의어 사전은 간단합니다. [crayon-5be9b85f6d240989901931/] 사전 파일을 만든 후 아래와 같이 filter를 설정하고 analyzer에 적용합니다. *synonyms_path > config 폴더 기준 경로 더 보기…

글쓴이 SilverNine,
Project

System Architecture

현재 재직하고 있는 스타트업에서 오픈을 준비중인 서비스의 대략적인 시스템 구성도 입니다. 설계, 개발 전 분야를 직접 진행하고 있기 때문에 자식같은 느낌이 들곤 합니다. 아직 적용해보고 싶은 것도 많고 아쉬운 점도 많은 구조이지만 큰 사고 없이 잘 돌아가기를 바랍니다.

글쓴이 SilverNine,
Server

Tomcat 성능 튜닝 with CentOS

현재 런칭 준비중인 서비스의 톰캣 튜닝 정보 공유합니다. ( CentOS 기반 ) open files, max user processes 설정 변경 [crayon-5be9b85f6daa9953266081/] Tomcat Server.xml 설정 변경 [crayon-5be9b85f6dab1513519749/] Tomcat Java Option 추가 [crayon-5be9b85f6dab5487407236/]      

글쓴이 SilverNine,
Java

Spring Batch – @Transactional 이슈 해결 방법

Spring Batch Admin 을 통합한 Spring Batch 프로젝트에서 아래와 같은 경우 @Transactional 어노테이션이 정상적으로 작동하지 않는 경우가 있습니다.     1. 기존 Spring Batch Admin 라이브러리 내부에 transactionManager가 선언되어 있기 때문에 다른 이름으로 TransactionManager를 선언하여 사용 [crayon-5be9b85f6dd49744655428/] 2. 위와 같이 선언하고 더 보기…

글쓴이 SilverNine,
Elasticsearch

Install ElasticSearch on CentOS 7 – Part 1

Centos 7 환경에서 ELK Stack을 설치 해봅시다. 사전에 Java는 설치가 되어 있어야 합니다. 1. yum을 이용해 elasticsearch를 설치하기 위해 아래와 같은 경로에 repo 파일을 생성합니다. /etc/yum.repos.d/elasticsearch.repo [crayon-5be9b85f6e011627237637/] 2. elasticsearch 설치시작! [crayon-5be9b85f6e019697358058/] 3. 부팅 시 자동으로 시작되도록 스크립트를 등록합니다. [crayon-5be9b85f6e01d450602180/] 4. 더 보기…

글쓴이 SilverNine,
Server

Java로 web.xml 구현하기 2

web.xml을 java로 구현하는 방법에 대해서 이전에 WebApplicationInitializer 를 이용하는 방법을 올렸습니다. Java로 web.xml 구현하기 이외에 Spring 3.2 부터는 AbstractAnnotationConfigDispatcherServletInitializer 를 이용하여 구현하는 방법이 있습니다. [crayon-5be9b85f6e348825863203/]   Filter를 사용하기 위해 onStartup을 Override한다면 이를 사용하지 않는 방법도 있습니다. [crayon-5be9b85f6e350821244107/]  

글쓴이 SilverNine,
Java

JsonView Null to Empty String

Spring에서 JsonView 사용 시 공통으로 null인 필드를 empty string으로 리턴해야 할 필요가 있는 경우가 있습니다. 이런 경우 ObjectMapper를 상속받은 Custom ObjectMapper를 이용한 HttpMessageConverter를 통해 해결할 수 있습니다. 1.NullSerializer 구현 [crayon-5be9b85f6e620227544371/] 2.CustomObjectMapper 구현 [crayon-5be9b85f6e627502097298/] 3.HttpMessageConverter 추가 [crayon-5be9b85f6e62b648122869/]  

글쓴이 SilverNine,
Java

Mocking BindingResult

Controller Test시에 해당 method를 invoke를 할 일이 생길 수 있습니다. 이때 @Valid Annotion을 사용하고 있다면 BindingResult를 Mock객체로 만들어야 할 일이 생깁니다. 방법은 Mock 객체를 사용할 수 있게 setup 코드를 삽입하면 해당 BindingResult를 무시하고 Test Code를 작성할 수 있습니다. [crayon-5be9b85f6e885728297456/]

글쓴이 SilverNine,
Chrome Extension

Domain Changer – Chrome Extension

오랜만에 일요일에 시간이 나서 만들어본 Chrome Extension 입니다. API 개발 업무를 하다 보니 동일 API를 개발, 스테이징, 운영 서버들의 IP 주소를 바꿔가며 테스트해야 할 일이 많아서 귀차니즘을 해소하기 위해…. https://github.com/SilverNine/DomainChanger https://chrome.google.com/webstore/detail/domain-changer/johlplegcoeinbndombihjaehcnmpljn?utm_source=chrome-ntp-icon  

글쓴이 SilverNine,