/
https://42jerrykim.github.io/ _index.md
ps 명령어는 리눅스 및 UNIX 환경에서 실행 중인 프로세스의 상태를 확인할 수 있는 대표적인 도구입니다. 다양한 옵션을 이용하여 특정 프로세스 필터링, 상세 정보 확인, 사용자별 목록 출력 등 시스템 모니터링 및 관리에 필수적으로 사용됩니다.
두 수 A와 B를 입력받아 A를 B로 나누는 값을 소수점 아래 10자리까지 출력하는 문제입니다. 실수 연산과 출력형식에 주의해야 하며, C++에서 소수점 출력 제어법을 익힐 수 있습니다. 백준 1008번 풀이다.
Abstract Factory 패턴은 관련 객체 집합을 생성하는 인터페이스를 제공하여 클라이언트가 구체 클래스에 의존하지 않고 다양한 제품군을 일관되게 생성할 수 있게 합니다.
Adapter 패턴은 호환되지 않는 인터페이스를 가진 클래스들을 함께 동작하게 하는 구조적 패턴입니다. 기존 코드 수정 없이 인터페이스를 변환하여 재사용성을 높입니다.
Bridge 패턴은 구현부와 추상부를 분리하여 독립적으로 확장 가능하게 하는 구조적 패턴입니다. 다양한 구현체와 추상을 조합해 복잡한 기능 변경을 쉽게 처리합니다.
빌더 패턴은 복잡한 객체 생성을 단계별로 분리하여 동일한 생성 로직으로 다양한 표현의 객체를 만들 수 있게 하며, 가독성과 불변성을 높여 안전한 객체 생성을 지원합니다.
Chain of Responsibility 패턴은 요청 처리 객체들을 체인으로 연결하여 책임을 분산합니다. 클라이언트와 처리 객체의 결합도를 낮추고 동적으로 처리자를 변경합니다.
Command 패턴은 요청을 객체로 캡슐화하여 호출자와 수신자를 분리합니다. 명령의 실행 취소(undo), 큐잉, 로깅 등 다양한 기능을 유연하게 구현할 수 있습니다.
Composite 패턴은 객체들을 트리 구조로 구성하여 부분-전체 계층을 표현합니다. 단일 객체와 복합 객체를 동일하게 다루어 재귀적 처리를 단순화하는 구조 패턴입니다.
Decorator 패턴은 객체에 동적으로 새로운 기능을 추가하는 구조적 패턴입니다. 상속 대신 합성을 활용하여 기존 코드 수정 없이 여러 기능을 유연하게 조합합니다.
Facade 패턴은 복잡한 서브시스템에 간단한 인터페이스를 제공하여 클라이언트가 내부 구현에 신경 쓰지 않고 사용할 수 있게 합니다. 결합도를 낮추고 가독성을 높입니다.
팩토리 메서드 패턴은 객체 생성을 서브클래스에 위임하여 확장성과 유지보수성을 높이며, 클라이언트가 구체 클래스에 의존하지 않고 인터페이스로 객체를 생성하게 합니다.
Flyweight 패턴은 대량의 객체를 효율적으로 관리하고 메모리 사용량을 줄이기 위해 객체 공유를 활용합니다. 동일 데이터의 중복을 최소화하여 성능을 최적화합니다.
Interpreter 패턴은 특정 언어나 문법을 해석하는 과정을 객체로 표현합니다. 간단한 문법 규칙을 객체 조합으로 구축하고 해석 로직을 유연하게 확장할 수 있습니다.
Iterator 패턴은 컬렉션 내부 구조를 노출하지 않고 요소들을 순차적으로 접근하게 합니다. 일관된 인터페이스로 다양한 집합체를 순회하며 유연성을 높입니다.
Mediator 패턴은 객체들 간의 직접 통신을 제한하고 중재자를 통해 상호작용하게 합니다. 복잡한 의존성을 줄이고 유연하게 시스템을 구성할 수 있습니다.
Memento 패턴은 객체의 내부 상태를 캡슐화해 외부에 노출하지 않고 이전 상태로 복원합니다. 상태 저장 및 복원으로 실행 취소나 롤백 기능을 구현합니다.
Observer 패턴은 객체의 상태 변화가 있을 때 의존 객체들에게 자동으로 알림을 보냅니다. 객체 간 결합도를 낮추고 효율적으로 이벤트를 전달하여 확장성을 높입니다.
Prototype 패턴은 기존 객체를 복제해 새 인스턴스를 생성하여 객체 생성의 복잡성을 줄이고 효율성을 높입니다. 복제 메서드로 유사 객체를 빠르게 만들 수 있습니다.
Proxy 패턴은 객체에 대한 접근을 제어하기 위해 대리자 객체를 제공합니다. 프록시를 통해 접근 제어, 로깅, 지연 로딩 등 부가 기능을 손쉽게 추가할 수 있습니다.