분류 전체보기 221

2.B) Structural Pattern - Object

2.B.1) Adapter(Object) : Target을 만들고 Target의 구현 Adpater를 만들고, 사용하여 요청을 주고 받음. 지난번 2.A.1)Adapter Class 참고. Adapter(Class) : 상속을 사용. implements. Adapter(Object) : Composition 사용. 개체 구성에 따라 달라짐 cf) https://gogetem.tistory.com/entry/%EC%96%B4%EB%8C%91%ED%84%B0-%ED%8C%A8%ED%84%B4-Class-Adaptor-vs-Object-Adaptor 클라이언트 -> request() -> 어댑터 - translatedRequest() -> 어댑티. 클라이언트 = Implements Target 어댑터 = Im..

2.A) Structural Pattern - Class

Adapter(Class) : 상속을 사용. implements. Adapter(Object) : Composition 사용. 개체 구성에 따라 달라짐 이 부분 참고 : https://gogetem.tistory.com/entry/%EC%96%B4%EB%8C%91%ED%84%B0-%ED%8C%A8%ED%84%B4-Class-Adaptor-vs-Object-Adaptor 2.A.1) Adapter Pattern(for Class) 사용예시 ex) MediaPlayer Impletments인 mp3 Player에서 FormatAdapter를 통해 mp4, mkv 재생 Java(자바) 디자인패턴 - 어댑터(Adapter) 패턴 설명 및 예제소스 (tistory.com) Java(자바) 디자인패턴 - 어댑터(A..

1.B) Creational Pattern - Object

1.B.1 Abstract Factory(interface - implements) 연관된 서브 클래스를 특정 그룹으로 묶어 한번에 교체하는 패턴 어떤경우에 사용? 특정 라이브러리를 배포하는데 OS별로 지원하는 기능이 상이한 경우 추상 팩토리 패턴을 사용해 OS별 기능 변경을 통합적으로 변경 팩토리 메소드 패턴과 유사하면서도 사용 용도가 다르다는 것을 알 수 있습니다. 물론 추상 팩토리 패턴에 팩토리 메소드 패턴을 차용할 수도 있습니다. 이 포스트에서는 사용하지 않았지만 MachineFactory를 인터페이스가 아닌 추상 클래스(abstract class)로 선언하고 public static MachineFactory getFactory( String arg )등의 메소드를 이용해서 인자값으로 어떤 팩토..

1.A) Creational Pattern - Class

1.A.1 팩토리 메소드 패턴(Factory Method Pattern) : 객체를 만들어내는 부분을 서브 클래스Sub-Class에 위임하는 패턴. 즉, new 키워드를 호출하는 부분을 서브 클래스에 위임 어떤경우에 사용? : 직접 객체를 생성해 사용하는 것을 방지, 클래스간의 결합도 낮추고 싶을 때. => 새로운 로봇이 추가 되고 새로운 팩토리가 추가 된다 하더라도 메인 프로그램에서 변경할 코드는 최소화 메인 프로그램에서 new 키워드가 없다는 것을 확인 할 수 있습니다. 메소드 콜로 객체 생성 객체 생성을 팩토리 클래스에 위임한 결과. 메인 프로그램은 어떤 객체가 생성 되었는지 신경 쓰지 않고 단지 반환된 객체를 사용만 하면 됩니다. 새로운 로봇이 추가 되고 새로운 팩토리가 추가 된다 하더라도 메인 ..

디자인 패턴 정리 - GOF(Gang of Four) 패턴

A. Creational Pattern 객체를 생성하는데 관련된 패턴들 객체가 생성되는 과정의 유연성을 높이고 코드의 유지를 쉽게 함 B. Structural Pattern 프로그램 구조에 관련된 패턴들 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용할 수 있는 패턴들 C. Behavioral Pattern 반복적으로 사용되는 객체들의 상호작용을 패턴화 해놓은 것들 디자인 패턴 정리 - GOF(Gang of Four) 디자인 패턴들 » Jay's Blog (realzero0.github.io) 디자인 패턴 정리 안녕하세요~ Jay의 블로그입니다. realzero0.github.io 디자인 패턴 요약 🚩 생성 1) Builder : 생산 단계를 캡슐화 하여 구축 공정을 동일하..

Node.js 교과서 조현영(미완)

1장 노드 시작하기 2장 알아두어야 할 자바스크립트 3장 노드 기능 알아보기 4장 http 모듈로 서버 만들기 5장 패키지 매니저 6장 익스프레스 웹 서버 만들기 7장 MySQL 8장 몽고디비 9장 익스프레스로 SNS 서비스 만들기 10장 웹 API 서버 만들기 11장 노드 서비스 테스트하기 12장 웹 소켓으로 실시간 데이터 전송하기 13장 실시간 경매 시스템 만들기 14장 CLI 프로그램 만들기 15장 AWS와 GCP로 배포하기 16장 서버리스 노드 개발 1장 노드 시작하기 __1.1 핵심 개념 __1.2 서버로서의 노드 __1.3 서버 외의 노드 __1.4 개발 환경 설정하기 2장 알아두어야 할 자바스크립트 __2.1 ES2015+ __2.2 프런트엔드 자바스크립트 3장 노드 기능 알아보기 __3.1..

Back/node.js 2022.09.03

DDD, 도메인 주도 설계 첫걸음

도메인 주도 설계 첫걸음(위키북스 IT Leaders 시리즈 35)(원서/번역서: [해외]Learning Domain-Driven Design (Paperback)) | 블라드 코노노프 | 위키북스 - 교보문고 (kyobobook.co.kr) 도메인 주도 설계 첫걸음 - 교보문고 소프트웨어 아키텍처와 비즈니스 전략의 일치를 위한 핵심 패턴, 원칙, 실? | 소프트웨어 개발은 예전보다 어렵다. 개발자로서 지속적으로 변화하는 기술 트렌드를 따라잡아야 할 뿐 아니라 소 www.kyobobook.co.kr 전략적 설계 Part 1-1. 비즈니스 도메인 분석 a) 비즈니스 도메인 b) 하위 도메인 b-1) 유형 b-2) 비교 b-3) 경계 식별 c) 도메인 전문가 Part 1-2. 도메인 지식 발견 a) 비즈니스..

팰린드롬 처리,Longest Palindromic Substring(LPS) - Manacher's Algorithm

Manacher, Glenn - 1975 Manacher's Algorithm (secmem.org) Manacher's Algorithm 목차 1. 개요 2. 기본 3. 구현 4. 문제풀이 5. 마무리 6. 참고자료 개요 이 포스트를 쓰며 학기가 시작되어 모든 알고리즘들을 한번씩 보면서 넘어가던 도중 사람들이 잘 관심 가지지 않지만, 알아두 www.secmem.org 전체 문자열에서 palindrome의 갯수 세기; O(N) (tistory.com) 전체 문자열에서 palindrome의 갯수 세기; O(N) Manacher, Glenn이 1975년에 발표한 논문에 실렸던 알고리즘이다. 전체 문자열의 부분 문자열에서 palindrome의 갯수를 세고 그 위치 또한 알 수 있다. 먼저 문자 사이사이에 # ..

면접준비 2022.08.27