Curious Y

「Stay curious, keep learning and keep growing.」

Java - 5) 의존 객체 주입

<이펙티브 자바>

이펙티브 자바 책을 읽으면서 새로 알게 된 부분을 기록한 것입니다. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하지 않다 대신 클래스가 여러 자원 인스턴스를 지원해야 하며, 클라이언트가 원하는 자원을 사용해야 한다. 이 자원들을 ...

8월 14일 (토)

비대면 5주차

요즘 배운 것 최근 7주간 정보처리기사 필기 시험을 준비하면서 스터디에도 들어가고, 스터디 계획도 어쩌다보니 착실하게 지켜서 매주 한 과목 공부 (총 5과목), 남은 2주간 기출문제집 제본하여 만들고 총 4개년 정도 풀며 지냈다. 그리고 오늘은 필기 시험을 가벼운 마음으로 본 뒤 근 몇 달 만에 재밌게 놀고 들어와 오랜만에 일기가 되어버린 TIL을 ...

Java - 가비지 컬렉션

Java Garbage Collection

Generation Garbage Collection 가비지 컬렉션이란? 동적으로 할당한 메모리 영역 중 사용하지 않는 영역을 탐지하여 해제하는 기능 Java에서 개발자가 프로그램 코드로 메모리를 명시적으로 해제하지 않기 때문에, 메모리 누수 방지를 위해 가비지 컬렉터는 더 이상 필요 없는 객체를 찾아서 지우는 역할을 한다. 동적...

배경지식 쌓기 - 마이크로서비스

아키텍처

MicroService 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성된 경우 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식 이런 서비스는 독립적인 소규모 팀에서 보유한다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간을 단축...

배경지식 쌓기 - 디자인 패턴 Observer Pattern

GoF Design Pattern

Observer Pattern 관찰자 패턴 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴 일대다 관계 상태가 업데이트되면 모든 옵저버들에게 정보를 갱신할 수 있도록 한다. 분산 이벤트 핸들링 시스...

배경지식 쌓기 - EAI

Enterprise Architecture Integration

EAI Enterprise Architecture Integration 정의 기업 내에서 필요한 각종 애플리케이션 간 상호 연동이 가능하도록 통합하는 솔루션 EAI가 필요한 이유 한 기업 내의 ERP 전사적자원관리, CRM 고객관계관리, SCP 공급망계획 시스템이나 인트라넷 등의 시스템간 서로 데이터를 주고받아야 하는데, 데이터를 주고받기...

Java - Comparable, Comparator로 정렬하기

Java 객체 정렬하기

Comparable Interface vs Comparator Interface 객체를 정렬한다는 것은 사용자가 정의한 기준으로 정렬하는 것이다. 객체를 비교하는 정렬 기준을 Comparable과 Comparator 인터페이스로 명시할 수 있다. Comparable과 Comparator은 모두 인터페이스다. 인터페이스에 선언된 메소드를 구현하면서 사...

Spring - VO와 DTO의 차이

Value Object vs Data Transfer Object

DTO Data transfer Object 전송되는 데이터의 컨테이너 (Java Beans) DB의 데이터를 로직을 갖고 있지 않은 순수한 데이터 객체로 가져오는 것. getter, setter메소드만 가진다. 데이터를 저장하여 사용하도록 한다 같은 시스템에서 사용되는 것이 아닌 다른 시스템으로 전달하는 작업을 처리하는 객체다. ...

Spring - POJO란?

Plain Old Java Object

POJO Plain Old Java Object Java EE등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 무거운객체를 만들게 된 것에 반발해서 사용하게 된 용어 우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을 왜 그렇게 반대하는지 궁금하였는데, 간단한 객체는 폼 나는 명칭이 없기 때문에 그랬던 것이라고...

알고리즘 - 정렬의 두 가지 갈래, stable sort와 inplace sort

Stable Sort / Inplace Sort

Stable Sort 중복된 키를 순서대로 정렬하는 정렬 알고리즘 같은 값이 2개 이상 리스트에 등장할 경우 중복 키들은 기존 리스트에 있던 순서대로 정렬된다 예를 들어, 이런 배열이 있다 1 arr = [9(1번째), 3, 6, 9(2번째), 24, 13] 정렬을 했을 때 이런 순서로 나오게 되...