전체 글
-
[Docker] window 환경에 docker 설치하기예제 따라하기 2023. 3. 15. 22:43
1. window 환경에서 docker 설치 https://docs.docker.com/desktop/install/windows-install/ Install Docker Desktop on Windows docs.docker.com 위의 링크에서 Docker Desktop 을 다운받아 실행한다. window 환경에서 docker 를 사용하기 위해 Hyper-V 옵션(OS가 자체 가상화를 지원) 을 사용한다. Linux를 가상화해서 그 위에 도커를 띄우는 것! 2. wsl 을 설치 https://learn.microsoft.com/en-us/windows/wsl/install Install WSL Install Windows Subsystem for Linux with the command, wsl -..
-
2. Elasticsearch - Cluster(클러스터)예제 따라하기 2023. 2. 6. 23:15
Cluster 정보 조회를 해보자 Elasticsearch 를 설치하고 나면 Cluster와 node는 1개씩 존재한다. curl -u test01:test01 -X GET http://localhost:9200/_cluster/health?pretty 를 입력해준다. ES 상태가 green 이다. ES status 종류는 green, yellow, red 가 있다. green: 모든 샤드가 정상적으로 동작하고 있는 상태, 모든 인덱스에 쓰기/읽기가 정상적으로 동작한다. yellow: 일부 혹은 모든 인덱스의 replicas 샤드가 정상적으로 동작하고 있지 않은 상태, 모든 인덱스에 쓰기/읽기가 정상적으로 동작하지만, 일부 인덱스의 경우 replicas가 없어서 primary 샤드에 문제가 생기면 데이터..
-
1. Elasticsearch - 계정생성, 권한부여예제 따라하기 2023. 1. 31. 23:17
window 환경에서 elasticsearch 예제 따라하는 기록 https://www.elastic.co/kr/downloads/elasticsearch Download Elasticsearch Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic. www.elastic.co 위 사이트에서 다운로드 후 압축을 풀고 bin 폴더의 elasticsearch.bat 을 실행한다. 터미널 C:\Users\82109\Downloads\elasticsearch-8.6.1-windows-x86_64\elasticsear..
-
5. 데커레이터 패턴(Decorator Pattern)디자인패턴 2021. 12. 30. 16:47
데커레이터 패턴이란? 데커레이터 패턴은 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator 객체를 조합함으로써 추가 기능의 조합을 설계하는 방식이다. 프로그램을 실행하는 중에도 Decorator 객체의 조합이 가능하므로 필요한 추가 기능의 조합을 동적으로 생성하는 것도 가능하다. 아래 예시는 데커레이터 패턴을 적용하기 전 예시이다. 네비게이션 SW에서 도로를 표시하는 기능을 생각해보자. 1. 기본 도록 표시 기능 2. 차선 표시 기능 //기본 도로 표시 클래스 public class RoadDisplay{ public void draw(){ System.out.println("기본 도로 표시"); } } //기본 도로 표시..
-
4. 옵서버 패턴(Observer Pattern)디자인패턴 2021. 12. 22. 20:01
옵서버 패턴이란? 옵서버 패턴은 데이터의 변경이 발생했을 경우 상대 클래스나 객체에 의존하지 않으면서 데이터 변경을 통보하고자 할 때 유용하다. 통보 대상 클래스나 대상 객체의 변경에도 데이터 변경을 통보하는 클래스를 수정 없이 그대로 사용할 수 있도록 한다. 다음 예제를 보며 이해해보자 성적을 출력하는 예시 코드가 있다. //점수 클래스 public class ScoreRecord { private List scores = new Arraylist(); private DataSheetView dataSheetView; //목록 형태로 점수를 출력하는 클래스 public void setDataSheetView(DataSheetView dataSheetView){ this.dataSheetView = da..
-
3. 커맨드 패턴(Command Pattern)디자인패턴 2021. 12. 20. 17:42
커맨드 패턴이란? 이벤트가 발생했을 때 실행될 기능이 다양하면서도 변경이 필요한 경우에 이벤트를 발생시키는 클래스를 변경하지 않고 재사용하고자 할 때 유용하다. 커맨드 패턴은 실행될 기능을 캡슐화 함으로써 기능의 실행을 요구하는 호출자 클래스와 실제 기능을 실행하는 수신자 클래스 사이의 의존성을 제거한다. 따라서 실행될 기능의 변경에도 호출자 클래스를 수정 없이 그대로 사용할 수 있도록 해준다. 아래 예제를 보면서 이해해보자 버튼을 누르는 동작에 따라 다른 기능을 실행하는 예제 //램프 클래스 public class Lamp { public void turnOn() { System.out.println("Lamp On"); } } //알람 클래스 public class Alarm { public void..
-
2. 싱글톤 패턴(Singleton Pattern)디자인패턴 2021. 11. 16. 19:59
싱글톤 패턴이란? 싱글톤 패턴은 인스턴스가 오직 하나만 생성되는 것을 보장하고 어디에서든 이 인스턴스에 접근할 수 있도록 하는 디자인 패턴이다. 가장 직관적인 방법은 생성자를 private 으로 설정하여 외부에서 호출할 수 없도록 하는 것이다. public class Printer { //인스턴스 객체 정적 변수로 선언 private static Printer printer = null; //기본 생성자 private Printer() {} //인스턴스 생성 메소드 public static Printer getPrinter() { if(printer == null) printer = new Printer(); return printer; } //그 외 메소드 public void print(Resourc..
-
1. 스트래티지 패턴(Stragety Pattern)디자인패턴 2021. 11. 8. 23:39
스트래티지 패턴이란? 스트래티지 패턴(Stragety Pattern)은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 여기에서 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘 등으로 이해할 수 있다. 특히 게임 프로그래밍에서 게임 캐릭터가 자신이 처한 상황에 따라 공격이나 행동하는 방식을 바꾸고 싶을 때 스트래티지 패턴은 매우 유용하다. 아래의 예시의 문제점과 해결책을 보며 정리해보자. //로봇 클래스 public abstract class Robot{ private String name; public Robot(String name){ this.name = name; } public String getName(){ return name; } pu..