분류 전체보기
[Collection] ArrayList 특징 (add할 때의 내부동작)
[Collection] ArrayList 특징 (add할 때의 내부동작)
2021.07.25Overview ArrayList의 add 과정 DEFAULT_CAPACITY를 넘겼을 때 ArrayList는 copy의 문제를 가지고 있다. ArrayList는 어떻게 사용해야될까 정리 📌 Overview ArrayList하면 코딩테스트나 실제 개발에 가장 많이 쓰이는 Collection Framework이지 않을까 생각합니다.그만큼 가장 기본적이면서도 아주아주 중요한 클래스이기 때문에 ArrayList의 내부 동작을 중점으로 특징을 한번 정리해보고자 합니다. ArrayList에 대한 메서드나 어떤 클래스 계층구조를 가졌는지에 대해서는 잘 정리된 블로그 글들이 많기 때문에 이에 대한 설명은 줄이고 내부적으로 어떤 동작을 하는지에 초점을 맞추었습니다. 📌 ArrayList의 add 과정 public vo..
[Spring] 인터페이스 특징과 ISP(인터페이스 분리 원칙)에 대한 정리
[Spring] 인터페이스 특징과 ISP(인터페이스 분리 원칙)에 대한 정리
2021.07.21Java 인터페이스의 특징 OOP의 인터페이스 분리 원칙 인터페이스 상속 정리 📌 1. Java 인터페이스 특징 Java 인터페이스는 다형성을 가장 잘 보여주는 존재입니다. public interface RemoteController { void volumeUp(); void volumeDown(); } 리모컨이라는 인터페이스를 가지고 간단한 예시를 들어보겠습니다. @Component public class SRemoteController implements RemoteController { @Override public void volumeUp() { // volume up 로직 System.out.println("S사 리모컨 볼륨을 1단계 높였습니다."); } @Override public void ..
Outbox 패턴을 이용한 메일 발송 구현해보기
Outbox 패턴을 이용한 메일 발송 구현해보기
2021.07.08Github Repo https://github.com/beaniejoy/resetpw-outbox-scheduler Overview Eventual Consistency & Strong Consistency At Least Once? Outbox 패턴 코드 구현 📌 1. Overview 프로젝트 개발 중에 비밀번호 초기화 관련한 메일 발송 기능을 구현하는 과정이 있었습니다. 여기서 개념도 익힐겸 Eventual Consistency 고려해서 ALO(At Least Once) 방식을 적용한 메일 발송 기능을 구현해봤습니다. 📌 2. Eventual Consistency? Strong Consistency? 위 두 개의 Consistency 개념은 Multiple Replicas of a Database ..
[OOP] 객체 지향 프로그래밍은 무엇일까
[OOP] 객체 지향 프로그래밍은 무엇일까
2021.06.21Spring은 객체 지향의 꽃이라고 들었는데... 면접에서도 단골 질문 메뉴인 객체 지향은 무엇일까. 📌 객체 지향(Object Oriented) 개발자들이 더욱 편하게 개발할 수 있는 방법론을 고안하는 과정에서 나온 결과물 중 하나라고 생각 현실 세계를 프로그래밍적으로 잘 표현할 수 있는 모델 But, 우리는 개발자이므로 사물 관련된 것보다 추상적 대상에 대한 클래스화에 초점 (본인 생각으로는 확장과 분리를 잘 하게끔 만들어주는 좋은 틀이라 생각, OCP를 생각해보면 그렇습니다.) 구조적 프로그래밍 함수(function)가 가장 중요한 요소(함수 단위) Divide and Conquer(분할 정복)에 기반해 명령어를 논리적 단위로 나눠 블록화해 작성 객체지향 프로그래밍 등장 Object(객체) 단위로 ..
[DB] AWS RDS를 MySQL Workbench를 통해 접속하는 방법 정리
[DB] AWS RDS를 MySQL Workbench를 통해 접속하는 방법 정리
2020.05.29RDS를 더 쉽게 관리하기 위해 DB 소프트웨어를 통해 접속을 해보고자 합니다. 이에 대한 기본적인 설정에 대한 정리 노트입니다. 부디 도움이 되셨으면 좋겠네요 본인의 AWS RDS 상세정보 클릭 엔드포인트 확인하기 엔드포인트가 일종의 접속 url주소이자 hostname이라고 할 수 있습니다. 이것을 복사해둡시다. MySQL Workbenck에서 접속하기 connection 추가하기 버튼을 클릭해서 새로운 connection을 추가해줍시다. Connection Name: 커넥션 이름을 지정합니다. (원하는 이름 입력하시면 됩니다.) Hostname: 아까전에 복사해두었던 엔드포인트를 여기다 붙여넣습니다. Port: 해당하는 port번호를 넣으면 됩니다. 기본 3306으로 설정하면 됩니다. Username..
[Docker] Window 10 Home에서 docker 설치/실행하기 (+ hyper-v 완전히 작동 중지하기)
[Docker] Window 10 Home에서 docker 설치/실행하기 (+ hyper-v 완전히 작동 중지하기)
2020.04.07Docker for Window는 Window 10 Pro or EnterPrise 64-bit에서 지원을 한다는 문구가 있습니다. Window에서도 가상화를 사용할 수 있게 해주는 Hyper-V가 필요해서입니다. 저는 Home 버전을 사용하고 있어서 여기에 해당되지 않기 때문에 Home버전에서 docker를 설치할 수 있는 방법을 찾아보았습니다. 찾아본 결과로 2가지 방법이 존재하는 것 같습니다. 위에 언급한 대로 docker에서 제공한 Toolbox를 이용해서 우회로 실행하는 방법과 Home에서도 Hyper-V를 설치해 Profession Version으로 속이고(?) docker를 설치하는 방법입니다. 하지만 저는 후자의 방법으로 해보았지만 이상한 이유로 docker installation fail..