-
엔진엑스 주요 설정아키텍처/nginx 2025. 3. 27. 22:04
엔진엑스 주요 설정 파일과 디렉터리/etc/nginx : 엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리/etc/nginx/nginx.conf : 엔진엑스의 기본 설정 파일로, 모든 설정에 대한 진입점. 워커 프로세스 개수, 튜닝, 동적 모듈 적재와 같은 글로벌 설정 항목을 포함하며 다른 엔진엑스 세부 설정 파일에 대한 참조를 지정/etc/nginx/conf.d : 기본 HTTP 서버 설정 파일을 포함. include 구문을 활용해 구조화함으로써 각 설정 파일을 간결하게 유지하면 좋다./var/log/nginx : 엔진엑스의 로그가 저장되는 디렉토리로 access.log와 error.log 파일이 있다.엔진엑스 기본 명령어nginx -h : 도움말nginx -v : 버전정보nginx -V : ..
-
Opensearch 구동시키기아키텍처/opensearch 2025. 3. 27. 18:03
실습 전 참고사항 => Opensearch와 Dashboard 버전 => opensearch-2.19.1 Opensearch를 구동시키는 방법은 크게 아래와 같이 두 가지 경우가 있다.Http 방식으로 SSL 인증서 없이 구동시키기Https 방식으로 SSL 인증서를 토대로 구동시키기 첫번째 방식으로 SSL인증서 없이 구동시키는 방법은 설정 한번으로 끝난다.아래와 같이 opensearch-2.19.1\config\opensearch.yml 경로에 plugins.security.disabled: true 를 추가해주면된다.추가후, opensearch-2.19.1\bin\opensearch.bat 파일을 실행시켜준다. 실행 후, http://localhost:9200 경로를 실행시키면 아래와 같은 화면이 ..
-
Opensearch discovery 메뉴 카테고리 권한 설정 오류아키텍처/opensearch 2025. 3. 27. 14:37
내용오픈서치에 discovery 메뉴를 들어가면 아래와 같이 권한 오류가 발생하고 있는 상황 2. 해결 방법계정에 대한 권한을 부여함으로써 해당 문제를 해결할 수 있다.role을 생성한다. Management -> Security -> Roles해당 화면에서, Create Role 버튼을 클릭권한을 아래 보이는 그림과 같이 모든 데이터에 접근부여 권한을 설정하고 모든 인덱스 패턴에 접근할 수 있도록 설정한다. 그 후에 아래 보이는 그림처럼 내가 권한을 부여할 계정을 매핑해준다
-
Opensearch curl 명령어로 rest api 통신하기아키텍처/opensearch 2025. 3. 27. 10:17
1. 설명https를 사용한 경우, 아래와 같이 인증서의 경로를 명시해줘야 한다.*-std-*는 인덱스의 명칭이다. _delete_by_query 는 통신할 api의 명칭이다.아래의 curl 명령어를 실행하게 되면, 해당 range 조건에 맞는 데이터의 로그가 삭제된다. curl --insecure --cert /opensearch/config/admin.pem --cacert /opensearch/config/root-ca.pem --key /opensearch/config/admin-key.pem -X POST "https://설정된 ip 경로:9200/*-std-*/_delete_by_query" -H 'Content-Type: application/json' -d'{ "query": { ..
-
Junit4, 5의 차이점Java 2025. 3. 21. 17:01
JUnit을 공부하고 나서 마지막으로 테스트하던 항목 가운데 Test Suites 부분에서 계속 오류가 발생해서 해결 방법을 찾다가 찾게 된 글입니다. JUnit Version 4와 Version 5의 차이점을 항목별로 비교해 놓았고, 제가 원하는 내용도 포함하고 있어서 읽어보다가 괜찮다는 생각이 들어 간단히 정리 겸 번역을 해두었습니다.JUnit 5는 Java8 스타일의 코딩을 적용하고 JUnit 4 보다 강력하고 유연하게 만드는 것을 목표로 합니다. 이 글은 JUnit 5와 JUnit 4의 주요 차이점을 설명하고 있습니다. 1. Annotations 차이점JUnit 4와 JUnit 5의 대부분의 Annotation은 동일하지만 몇 가지는 다릅니다.아래 표에 두 버전 간에 달라진 점을 비교하였습니다. ..
-
Collections.unmodifiableMap 메소드를 이용한 read-only 객체 만들기Java 2025. 2. 19. 10:11
웹 애플리케이션 기동 시 properties에 있는 설정 정보들을 컬렉션 객체에 저장하고 이를 가져다가 쓰는 경우가 많은데 이 객체에 변경을 막는 제약 조건을 걸고 싶을 때가 있다.즉, read-only 한 객체를 만들고 싶은 경우인데 이럴 때 다음의 메소드를 사용하면 좋을 것 같다. Collections.unmodifiableMapCollections.unmodifiableList해당 메소드는 파라미터로 전달 받은 컬렉션 객체에 어떠한 변경이라도 발생하면 예외를 return한다. 테스트 코드는 다음과 같다.package collection; import static org.hamcrest.CoreMatchers.*;import static org.junit.Assert.*; import java.uti..
-
CompletableFutre 사용 시, 생성되는 Thread의 개수 확인해보기Java 2025. 2. 2. 17:20
CompletableFutre 사용 시, 생성되는 Thread의 개수 확인해보기.1. CompletableFuture를 실행한다.public class Main { public static void main(String args[]) throws IOException { List list = new ArrayList(); for(int i = 0; i { System.out.println(Thread.currentThread() + " 실행"); try { Thread.sleep(1000); } catch (InterruptedException e) { ..
-
도커 이미지 만들기IT 서적/도커 교과서 2024. 7. 28. 15:49
1. Dockerfile 작성하기Dockerfile은 일련의 인스트럭션으로 구성돼 있는데, 인스트럭션을 실행한 결과로 도커 이미지가 만들어진다.아래 소스는 예제 3-1 web-ping 애플리케이션을 패키징하기 위한 전체 Dockerfile 스크립트다.FROM diamol/nodeENV TARGET="blog.sixeyed.com"ENV METHOD="HEAD"ENV INTERVAL="3000"WORKDIR /web-pingCOPY app.js .CMD ["node", "/web-ping/app.js"] FROM : 모든 이미지는 다른 이미지로부터 출발한다. 이 이미지는 diamol/node 이미지를 시작점으로 지정했다. diamol/node 이미지에는 web-ping 애플리케이션을 실행하는 데 필요한 런..
-
Apache Http Server vs Nginx아키텍처 2024. 7. 25. 20:07
1. Apache Http Server의 특징?프로세스 기반 접근 방식 으로 하나의 스레드가 하나의 요청을 처리하는 구조매 요청마다 스레드를 생성 및 할당해야 하기 때문에 리소스를 많이 잡아먹음동적으로 로드 가능한 다양한 60개의 공식 모듈을 제공모든 모듈을 가지고 서버가 실행되지만 실제 사용되는 모듈은 소수임 = 무거움 2. Nginx 특징이벤트 중심 접근 방식으로 하나의 스레드 내에서 여러 요청을 처리하는 구조비동기 Event-Driven 구조 : Event Handler에서 비동기 방식으로 먼저 처리되는 요청을 진행코어 모듈이 Apache보다 적은 리소스로도 많은 트래픽을 효율적으로 처리 가능타사 플러그인 과정으로 선택되고 컴파일되기 때문에 동적으로 모듈을 로드할 수 없음따라서 사용하려는 기능만 선..
-
도커의 기본적인 사용법IT 서적/도커 교과서 2024. 7. 24. 21:51
1. 컨테이너를 원격 컴퓨터처럼 사용하기도커는 컨테이너를 원격 컴퓨터처럼 별도로 사용할 수 있는 기능을 제공한다.터미널에 다음과 같은 명령어를 실행해본다.docker container run --interactive --tty diamol/base--interactive 플래그는 컨테이너에 접속된 상태가 된다.-tty 플래그는 터미널 세션을 통해 컨테이너를 조작하겠다는 의미이다. 2. 명령어 실습docker container ls : 현재 실행 중인 모든 컨테이너에 대한 정보를 볼 수 있다.docker container top f1 : 대상 컨테이너에서 실행 중인 프로세스의 목록을 보여준다. 여기서는 'f1695de1f2ec' 컨테이너를 대상으로 하기 위해 f1까지만 지정했다.docker containe..