Adapter 💡 ‘이미 제공된 것’과 ‘필요한 것’ 사이의 ‘차이’를 메우는 디자인 패턴 Wrapper 패턴이라고도 불림 [예제] 상속을 사용한 패턴 클래스에 의한 Adapter 패턴 Banner 클래스 미리 제공되는 클래스 public class Banner { private String string; public Banner(String string) { this.string = string; } public void showWithParen() { System.out.println("(" + string + ")"); } public void showWithAster() { System.out.println("*" + string + "*"); } } Print 인터페이스 필요로 하는 인터페이스 ..
Iterator 무엇인가 많이 모여 있을 때 이를 순서대로 가리키며 전체를 검색하고 처리를 반복하는 것 iterator: 반복자 Iterable Interface 처리를 반복할 대상을 나타냄 이 인터페이스를 구현하는 클래스는 배열처럼 뭔가 많이 모여있는 것(=집합체)가 된다 package java.lang.* public interface Iterable { public abstract Iterator iterator(); } `iterator()`: 집합체에 포함된 요소를 하나하나 처리해 나가고 싶을 때 사용 Iterator Interface 하나하나의 요소처리를 반복하기 위한 것 → 루프 변수 역할 package java.util.* public interface Iterator { public ab..
💡 SpringMail을 사용하여 메일 전송 구현 GitHub - jeongum/spring-mail Contribute to jeongum/spring-mail development by creating an account on GitHub. github.com 개발환경 SpringBoot 3.1.4 kotlin / java 17 build.gradle.kts 설정 사용할 springframework mail 설정 추가 implementation("org.springframework.boot:spring-boot-starter-mail") application.yml 설정 메일 전송에 필요한 smtp 설정 spring: mail: host: smtp.gmail.com port: 587 username:..
AWS EC2 Ubuntu 서버에 ElasticSearch와 대시보드 Kibana를 설치한다! 패키지 관리 1. apt를 이용하여 설치 가능한 패키지 리스트를 최신화 2. HTTPS를 통해 패키지를 다운로드할 수 있게하는 `apt-transport-https` 설치 $ sudo apt-get update $ sudo apt-get install apt-transport-https Elasticsearch 설치 전 세팅 ElasticSearch GPG Key ElasticSearch 패키지의 신뢰성을 확인하기 위해 사용되며, 패키지가 안전하게 다운로드되고 설치되도록 하는 보안 장치 아래 명령어를 실행하여 ElasticSearch Public GPG 키 추가 $ wget -qO - | sudo gpg --d..