Bank-End Chronicles

「Memory gets GC’d, but this blog stays committed.」

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

GoF Design Pattern

팩토리 메소드 패턴 서브 클래스에서 구체적인 오브젝트 생성 방법을 결정하게 하는 것. 부모 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴 자식 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴 부모 클래스에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다 객체를 생성하는 메소드 != 팩토리 메소드 상속을 통해 기능을...

Java - 6) 불필요한 객체 생성 피하기

<이펙티브 자바>

이펙티브 자바 책을 읽으면서 새로 알게 된 부분을 기록한 것입니다. 불필요한 객체 생성 예시 실행될 때마다 String 인스턴스를 새로 만드는 것 1 String s = new String("umbrella"); 개선된 버전 1 Stirng s = "umbrella" 새로운 인스턴스를 매번 만드는 대신 하나의 String...

알고리즘 - DFS, BFS

Graph 검색

DFS Depth-First Search 깊이우선탐색 : child의 마지막 노드를 만날 때까지 순회한다 Stack으로 구현 루트 노드를 맨 처음 넣고 자식노드와 자식의 자식노드를 추가한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

알고리즘 - 백트랙킹

Backtracking

백트랙킹 ‘되추적’이라는 뜻 어떤 노드의 유망성을 판단한 뒤, 해당 노드가 유망하지 않다면 부모 노드로 돌아가 다른 자식 노드를 찾는 방법 모든 경우의 수를 찾아보지만 그 중에서도 가능성있는 경우의 수만 찾아보는 방법 브루트포스, DFS와 차이점 브루트포스 말 그대로 모든 경우의 수를 찾아보는 것 ...

Java - 1) 정적 팩토리 메소드

<이펙티브 자바>

이펙티브 자바 책을 읽으면서 새로 알게 된 부분을 기록한 것입니다. Static factory method 정적 팩토리 메소드 : 클래스의 인스턴스를 반환하는 단순한 정적 메소드 (디자인 패턴과 다름) 예시 1 2 3 public static Boolean valueOf(boolean b) { return b ? Boolean.TR...

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