욱 연구소

슬기로운 개발생활

반응형

분류 전체보기 18

junit4 vs. junit5 어노테이션 비교(기본)

Junit4 어노테이션과 junit5의 어노테이션 비교 이제부터라도 테스트 코드 작성에 신경을 쓰려고 한다. Junit4도 제대로 활용 못했지만 기왕 하는 거 최신버전인 Junit5를 사용하려고 한다. 기본적으로 사용했던 어노테이션 마저 이름이 변경되어 아래와 같이 소개한다. 같은 기능에 대응 되는 기본적인 어노테이션 Junit4 Junit5 설명 @Test @Test 기본적인 테스트 메서드에 붙이는 어노테이션으로 테스트 코드 실행을 위해 붙여준다 @BeforeClass @BeforeAll 여러개의 테스트 메서드가 작성되어있을 경우, 해당 테스트 메서드들이 실행 되기 전 최초 1번만 수행할 메서드에 해당 어노테이션을 붙여 사용한다 @AfterClass AfterAll 여러개의 테스트 메서드가 작성되어있을..

ElasticSearch Alias

Indices Alias Alias는 하나의 indices에 별칭을 주거나 복수개의 indices에 별칭을 주어 사용할 수 있다. ElasticSearch에서 문서들의 집합을 나타내는 indices인덱스는 고유의 이름을 갖게 된다. 하지만 여러 인덱스를 묶어 사용하거나 서비스의 편의성을 위해 Alias별칭를 사용하게 된다. Indices에 Alias 추가하기 URI로 추가하기 PUT /${인덱스명}/_alias/${alias명} 인덱스명의 경우 콤마(Comma)를 구분자로 하여 여러 인덱스에 alias를 추가 할 수 있으며, wildcard-expression(*) 표현식을 통해 일치하는 다수의 인덱스에 alias를 추가 할 수 있다. (모든 인덱스에 alias를 추가하고자 하는 경우에는 _all 을 사..

NoSQL/ElasticSearch 2021.01.09

유용한 vim 단축키/명령어

프로젝트나 환경에 따라서 Linux를 다룰 수도 있고, 다루지 않을 수도 있다. (대규모 프로젝트나 CI환경구성이 잘 되어있는 경우일 수록 다룰 일이 없다) 현재 필자가 겪었던 프로젝트와 환경의 경우 대부분 개발도하면서 Linux를 다루게 되었던 것 같다. 오늘은 Linux에서 대표적인 파일편집기인 vim에서 사용하는 몇가지 단축키와 명령어를 공유하고자 한다. 마우스를 쓸 수 없는 환경에서 단축키는 더욱 빛을 발하게 되는 것 같다. Google 검색엔진을 통해 vim라고만 검색에도 연관검색어로 vim 명령어라고 뜨는 만큼 전체적인 vim 사용법을 정리한 블로가 이미 많다. 이 글에서는 필자가 경험하면서 유용했던 단축키/명령어를 소개하고자 한다. 입력 단축어 단축어 설명 i 현재 커서 앞부터 입력 a 현재..

OS/Linux 2021.01.08

JAVA log4j와 log4j2 외부경로 설정

log4j란? log4j는 자바에서 상황에 맞게 레벨로 나누어 로그를 남길 수 있도록 도와주는 도구라고 할 수 있다. 자바 프로젝트를 *.jar 또는 *.war로 압축하여 사용하게 되는데, *.war의 경우 tomcat과 같은 WAS(Web Application Server)에 배포(또는 압축해제)하여 사용하게 되므로 압축이 해제된 경로를 통해 log4j파일 수정이 가능하다. 그러나 *.jar의 경우 압축을 해제하지 않고 사용하게 되어, log4j파일 수정이 불가하다. 오늘은 log4j설정 파일을 외부에서 즉 절대경로로 읽어오는 방법을 공유하고자 한다. log4j설정파일의 경우 대표적으로 *.properties와 *.xml 형식을 사용하게 된다. log4j.properties의 경우 // filePath..

/etc/init.d/ntpd 파일(NTP설정)

NTP란? 여러서버 노드(node)에서 하둡(Hadoop)을 설치할때 서버간에 확인해봐야 하는 것이 바로 시간동기화 이다. 그리고 시간 동기화를 위해서 사용하는 방법중 하나가 바로 NTP이다. 실제 NTP를 설치하고 설정하는 과정에서 /etc/init.d/에 위치한 ntpd파일이 없어 아래 내용이 필요했던 적이 있다. ntpd파일을 찾는 경우 아래 내용을 복사하여 ntpd파일을 만들면 된다. /etc/init.d/ntpd 파일내용 #!/bin/bash # # ntpd This shell script takes care of starting and stopping # ntpd (NTPv4 daemon). # # chkconfig: - 58 74 # description: ntpd is the NTPv4 d..

OS/Linux 2021.01.07

게시판에서 긴제목 CSS로 자동으로 줄이기

CSS ellipsis 처리하기 대부분의 웹개발자가 거쳐야 하는 과정중에 하나는 바로 게시판을 만드는 것이다. 게시판을 만들다보면, 게시판 리스트에서 출력될 텍스트(흔히 TITLE)의 길가 짧은 것도 긴 것도 존재하기 마련이다. 그때 어떤 행은 개행이되고, 어떤행은 안돼서 모양이 이쁘지 않을 때가 있다. 이런경우 CSS를 이용하여 특정 문자열 길이 이후부터는 점(…)처리를 할 수 있다. 리스트 출력시, 출력하는 텍스트가 너무 길 경우 자동으로 점(…) 처리하도록 CSS 설정으로 해보자. .shorttitle { width: 380px; /* 가로 길이 고정*/ text-overflow: ellipsis; /* 생략 처리 ( ... )*/ white-space: nowrap; /* 줄바꿈 하지 않고 잘림*..

ETC 2021.01.06

ElasticSearch Backup/Restore

개요 ElasticSearch를 처음에 접하게 되면 막막한 부분이 있는데, 필자 역시 막막했던 것들 중 한 부분을 공유하고자 한다. ElasticSearch 백업/복구 : 어떤 식으로 진행을 해야 할지 간단하게 알아보자. ‘백업’과 ‘복구’ 작업을 하기 위해 먼저 선행되어야 할 작업이 있다. 아래 내용을 먼저 살펴보자. 백업 : 백업경로설정 -> 설정 파일에 경로 추가 -> 서비스 재시작 -> 저장소 설정 -> 백업 복구 : 복구경로설정 -> 설정 파일에 경로 추가 -> 서비스 재시작 -> 저장소 설정 -> 복구 파일 이동 -> 복구 선행되어야 할 작업은 백업과 복구 모두 동일하다. 따라서 백업하는 방법을 알면 자연스럽게 복구하는 법을 익힐 수 있을 것이 라 본다. 저장소로 사용할 백업 경로 설정 백업을..

NoSQL/ElasticSearch 2021.01.06

Java 8기준 stream collect에서 unmodifiable객체 만들기

Java11이 LTS로 선정된지 꽤 시간이 지나 현재는 Java 15까지 릴리즈 되었다 (심지 Java16, 17이 개발이 진행중인듯 하다) 개발을 하면서 Java8 과 Java11을 섞어쓰는 시점이 요즘인거 같다. (Java11 쓰는게 빠른건 아닌거 같고 늦은건가 싶기도 하고..) 개발을 하면서 불변(unmodifiable)한 객체를 필요할 때 생성하게 되는데 Java11에서는 편하게 작성했던 소스가 Java8로 하려니 돌아가지 않아 확인을 하게 되었다. Stream 에서 종결 메서드인 collect()시에 unmodifiable한 객체를 만드는 방법에 대해 Java8과 Java11의 차이점을 알아보자 // Java11 class BlogTest { @Test void test() { List test..

반응형