Bank-End Chronicles

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

배경지식 쌓기 - AWS로 무중단 서버 배포하기

AWS 서버

24시간 작동하는 서버 만드는 방법 집에 PC를 24시간 구동시킨다 호스팅 서비스(cafe 24 등)를 이용 클라우드 서비스(AWS, AZURE, GCP 등) 이용 비용은 호스팅 서비스나 집 pc를 이용하는 것이 저렴 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드가 유리함 📙 1. 클라우드 서비...

Java - Comparable

<이펙티브 자바>

이펙티브 자바 책을 읽으면서 새로 알게 된 부분을 기록한 것입니다. Comparable을 구현할지 고려하라 compareTo = Comparable 인터페이스의 유일한 메소드 Object의 메소드가 아니다. 단순 동치성 비교에 더해 순서까지 비교할 수 있으며, 제네릭하다. Comparable을 구현했다 == 그 클래스의 인스턴스들에...

배경지식 쌓기 - 디자인 패턴 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에서 개발자가 프로그램 코드로 메모리를 명시적으로 해제하지 않기 때문에, 메모리 누수 방지를 위해 가비지 컬렉터는 더 이상 필요 없는 객체를 찾아서 지우는 역할을 한다. 동적...