[Algorithm Strategies] 2-5. 알고리즘의 정당성 증명
·
Reference/알고리즘 문제 해결 전략
구종만님의 "프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략"을 기반으로 공부한 내용입니다. 📕 목차 1. 수학적 귀납법과 반복문 불변식 2. 귀류법 3. 다른 기술들 1. 수학적 귀납법과 반복문 불변식 • 수학적 귀납법(mathematical induction) • 반복문 불변식(loop invariant) • 이진 탐색과 반복문 불변식 • 삽입 정렬과 반복문 불변식 • 단정문을 이용해 반복문 불변식 강제하기 📌 수학적 귀납법(mathematical induction) 반복적인 구조를 갖는 명제들을 증명하는데 유용하다. 귀납법 증명은 크게 3단계로 나눈다. 단계 나누기 증명하고 싶은 사실을 여러 단계로 나눈다. ex1. 100개의 도미노가 순서대로 있다. ex2. 텅 빈 N개의 세로줄에서 가로 줄을..
[Clean Code] 6. 객체와 자료 구조
·
Reference/CleanCode
📕 목차 1. 자료 추상화 2. 자료/객체 비대칭 3. 디미터 법칙 • 기차 충돌 • 잡종 구조 • 구조체 감추기 4. 자료 전달 객체 (DTO, Data Transfer Object) • 활성 레코드 1. 자료 추상화 // 구체적인 Point 클래스 public class Point { public double x; public double y; } // 추상적인 Point 클래스 public interface Point { double getX(); double getY(); void setCartesian(double x, double y); double getR(); double getTheta(); void setPolar(double r, double theta); } 인터페이스를 사용한 Po..
[Effective-Java] Chapter8 #56. 공개된 API 요소에는 항상 문서화 주석을 작성하라
·
Reference/Effective-Java
💡 문서화가 잘 됐는지 판단하는 방법은 Javadoc Utility가 생성한 웹페이지를 읽어보는 길 뿐이다. 📕 목차 1. Javadoc 2. 유의 사항 • 공개된 모든 클래스, 인터페이스, 메서드, 필드 선언에 문서화 주석을 달아라 • 메서드용 문서화 주석은 해당 메서드와 클라이언트 사이 규약을 명료화하라 • 제네릭 타입이나 제네릭 메서드는 모든 타입 매개변수에 주석을 달아라 • 열거 타입은 상수들에도 주석을 달아라 • 애너테이션 타입의 멤버들에도 모두 주석을 달아라 • 패키지와 모듈 시스템 주석 • Thread 안전 수준 3. 메서드 계약(contract) : @param, @return, @throw 4. 메타 문자 무시 : @code, @literal 5. 자기사용 패턴(self-use patte..
[Docker] Persistent Storage : Docker volume
·
DevOps/Docker & Kubernetes
📕 목차 1. Container 속 데이터 유실 2. Docker volume을 사용하는 Container 3. File system mount를 사용하는 Container 4. File system mount 한계점 5. Container의 File system이 만들어지는 원리 6. 연습 문제 1. Container 속 데이터 유실 📌 Container 단일 디스크 Docker Container에도 단일 드라이브로 된 file system이 있다. Image Layer를 순서대로 합쳐 만든 가상 파일 시스템이다. 모든 Container는 독립된 file system을 갖는다. 1️⃣ 같은 Image로 두 개의 Container 생성해서 실행해보기 docker container run --name rn..