본문 바로가기
반응형

전체 글1223

[디자인패턴] 체인 패턴 (Chain of Responsibility, 책임 연쇄) 🎈 체인 패턴 (Chain of Responsibility) • 책임 전가(고리, 연쇄)라고 불리는 패턴 • 처리할 수 있는 다른 객체 연결 → 요청을 처리하거나 못해도 다음 객체로 전달한다. • 요청 자체와 각 처리 객체 사이의 결합을 피한다. → 객체 메시지 송신과 수신 분리 • 하나의 객체에서 모든 처리를 구현하지 않을 수 있다. → 객체의 의존성 주입을 통한 위임 • 디자인 패턴에서 행위 패턴에 속한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com .. 2023. 10. 27.
[디자인 패턴] 중재자 패턴 (Mediator Pattern) 🎈 중재자 패턴 (Mediator Pattern) • 객체들이 직접 서로 참조하지 않도록 하여 객체들간 느슨한 결합 유지 • 객체들의 상호작용을 독립적으로 다양화 시킨다. • 디자인 패턴에서 행위 패턴에 속한다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] 중재자 패턴이 적용되지 않은 예제 #include #include class User { public: User(const std::string& name) : name(name) {} v.. 2023. 10. 22.
[디자인 패턴] 빌더 패턴 (Builder Pattern) 🎈 빌더 패턴(Builder Pattern) •빌더 패턴은 생성이 복잡한 객체를 단계적으로 만들 수 있다. → 생성 코드 따로 관리 • 객체 생성을 별도의 다른 클래스에 위임 •생성자 호출 코드를 한 줄로 생성하기 어려운 객체에 적합 • 디자인 패턴 중 생성 패턴에 해당된다. 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com [예제 코드] 빌더 패턴을 적용하지 않고 다양한 속성을 지닌 객체를 생성해보자. #include #include class Car { pu.. 2023. 10. 21.
💻 [디자인패턴] 전략 패턴 (Strategy Pattern) 전략 패턴 (Strategy Pattern) 이란? 전략(Strategy)은 코드 내부에서 로직(Logic)을 처리하는 「알고리즘」 어떤 목적 달성을 위한 수행 방식이라고 생각하면 좋다. 영화관에서 이벤트 영화 예매 방식을 새롭게 정하고자 한다. 선입선출 / 예약제 / 랜덤 배정 등 다양한 "전략(방식)"으로 관람객을 선정할 수 있다. 이러한 전략은 기존에는 없던 새로운 전략이 생길 수도 있고 프로그램 목적에 따라서는 런타임 시간에도 계속 업데이트시 활용될 수 있다. [예제 코드] #include #include // 전략 인터페이스 (추상 클래스) class Strategy { public: virtual void execute() = 0; }; // 구체적인 전략 클래스 class ConcreteSt.. 2023. 10. 19.
[디자인패턴] 싱글턴 패턴 싱글턴(Singleton) 패턴이란? • 단, 하나의 객체를 만들어서 사용 (단일 객체) → 한번 생성되고 프로그램 종료될 때까지 메모리에 상주 • 디자인 패턴(Design Pattern)에서 "생성 패턴"에 해당 • 다른 곳에서도 해당 인스턴스로 접근해서 사용 DB Connection Pool / Thread Pool / Logging과 같이 하나의 인스턴스로 여러 객체를 관리하는 형태에서 활용 💻 디자인 패턴(Design Pattern)이란? 👨‍💻 디자인 패턴(Design Pattern)이란? • SW 개발 방법 중에서도 구조적인 문제 해결에 목적을 둔다. • 알고리즘과 같이 특정 문제를 해결하는 Logic 형태보다는 특정 상황에 적용할 수 있는 방 zoosso.tistory.com 객체 생성은 n.. 2023. 10. 14.
[Linux] 쉘스크립트에서 함수 리턴 해보기 쉘 스크립트 함수 return • Shell Script 에는 일반적인 프로그래밍 언어(C++, Java, Pyhton)와 같은 함수 반환이 없다. • 정확히는 함수 return값이 EXIT_STATUS로 전달되며 $?로 확인할 수 있다. ($? = 직전에 실행된 프로세스 반환 값) • EXIT_STATUS는 일반적으로 "0 = 성공", "1~255 = 에러" 예시 코드 EXIT_STATUS 활용은 정수(0~255)만 전달 가능하다. 사실상 에러 코드를 반환하는 것이다. #/bin/bash foo() { return 123 } foo echo $? 스크립트 실행 결과는 "123" 이 출력된다. 그렇다면 정수가 아닌 문자열을 return 하면 어떻게 될까? #/bin/bash foo() { return ".. 2023. 9. 13.
티스토리 스토리 크리에이터 제도 시작! 티스토리 "스토리 크리에이터"를 찾다? 2023년 8월 티스토리에서 뚜렷한 주제를 가지고 우수한 창작 활동을 펼치는 창작자를 찾고 있다. (공지 Link) 8가지 분류 하위에 29가지 • 여행·맛집: 여행, 맛집 • 리빙·스타일: 라이프, 리빙, 스타일, 푸드 • 가족·연애: 연애, 가족, 반려동물 • 직장·자기계발: 커리어, 자기계발, IT • 시사·지식: 인문・교양, 교육, 시사, 경제 • 도서·창작: 도서, 에세이, 글쓰기, 창작 • 엔터테인먼트: 연예, 미디어, 영화, 음악 • 취미·건강: 취미, 건강, 스포츠, 자동차, 게임 → 대표 분야는 1가지로 설정된다고 한다. → 자격은 주기적으로 선정된다. → 포스팅할 때 설정하는 "분류"를 이제서야 활용하는 것 같다. 선정 기준 • 전문성: 분명한 주.. 2023. 8. 30.
[Linux] 쉘스크립트 Shift 명령어 [Shell Script] 명령어 Shift 인수로 전달 받은 값을 "N" 만큼 버리는 명령어 ("N"은 명시하지 않으면 Default = 1) $# = 인자 개수 (→ 남은 인자 개수) $* = 전체 인자 (→ 남은 인자) • 매개변수를 하나씩 조회할 때 while문과 함께 사용해볼 수 있다. 매개변수가 얼마나 많은지 모를 때 하나씩 조회하는 목적으로 shift를 활용해볼 수 있다. • shift 명령어로 매개변수들이 삭제되므로 필요한 정보는 미리 백업 해두는 것이 좋다. [예제] Shift #!/bin/bash echo "------------------------------------" echo "전달받은 인자 개수 = $#" echo "인자 목록 = $*" echo "----------------.. 2023. 8. 27.
네이버 블로그 vs Tistory 블로그 비교 네이버 블로그 vs Tistory 블로그 비교 Tistory 블로그를 1년 넘게 운영하면서 내용이 많아지고, 카테고리도 시간이 흘러 점점 많아지게 되었다. - [회고] 2020 블로그 운영 그로인해 블로그를 2개 운영하는 것이 괜찮을까? 추가 개설한다면 네이버에서 시작할지, 아니면 Tistory에 추가할 지 고민하였다. 결과적으로는 "티스토리"에서 추가 운영하기로 하였다. ▶ 까망 포레스트 ( https://blackforest.tistory.com/ ) 까망 포레스트 blackforest.tistory.com 네이버 블로그를 직접 운영해보지 않았지만 에 대해 정리한 내용을 공유합니다. ▶ 기술 블로그 플랫폼(Platform) 선정 시 고려사항 기술 블로그 플랫폼(Platform) 선정 시 고려사항 개발.. 2023. 6. 12.
[SDRAM의 발전] SDR과 DDR 차이 PC에서 RAM 구매 시, DDR3, DDR4 용어를 접할 수 있다. DDR 개념 이전에 Clock 개념을 간단히 살펴보자. 클럭은 일정한 주기로 0, 1을 반복한다. 장치간 데이터 전송은 이러한 Clock 주기에 맞춰 일어나고 1 클럭에 1개 전송된다고 했을 때, ex) 100MHz 주파수는 초당 100,000,000 클럭수를 의미한다. = 1초에 100,000,000개의 데이터 전송 SDR (Single Data Rate) 클럭 사이클에서 한 번만 read/write 작업 수행 이전 명령 완료 되어야 다른 read/write 작업 수행 DDR (Double Data Rate) • 1998년 출시 • 클럭 신호의 상승 및 하강 Edge에서 데이터 전송 • Rising Edge = (low → high).. 2023. 3. 10.
반응형