분류 전체보기 805

퍼사드 패턴

퍼사드 디자인 패턴 개요 퍼사드는 건물의 정면, 돋보이는 쪽을 의미. 즉, 건물의 외관만 신경 쓰지 내부 구조는 신경 쓰지 않는다. 복잡한 내부 로직을 감추고 클라이언트가 쉽게 접근할 수 있는 인터페이스 제공 구성요소 : 퍼사드, 시스템, 클라이언트 목적 서브시스템의 인터페이스를 통합시킨 단일 인터페이스를 제공해 클라이언트가 쉽게 서브시스템에 접근할 수 있게 한다. 단일 인터페이스 객체로 복잡한 서브시스템을 대체한다. 서브시스템을 캡슐화하는 것이 아니라 모든 서브시스템들을 결합한다. 클라이언트와 내부 구현을 분리한다. 퍼사드 어떤 서브시스템이 요청에 알맞는지 알고 있다. 컴포지션을 통해 클라이언트의 요청을 서브시스템 객체에 전달 클라이언트는 서브시스템이 아닌 퍼사드에만 요청 단, 퍼사드는 서브시스템을 캡..

팩토리 메소드, 추상 팩토리 패턴

팩토리 메소드 패턴 인터페이스를 통해 객체를 생성하지만 팩토리가 아닌 서브 클래스가 해당 객체 생성을 위해 어떤 클래스를 호출할지 결정한다. 팩토리 메소드는 인스턴스화가 아닌 상속을 통해 객체를 생성한다. 팩토리 메소드 디자인은 유동적이다. 특정 객체가 아닌 같은 인스턴스나 서브 클래스 객체를 반환할 수 있다. 팩토리 메소드 패턴은 객체를 생성하는 인터페이스를 정의하고 어떤 클래스를 초기화할지는서브 클래스의 결정에 맡긴다. 팩토리 메소드 구현 예 커리어 서비스(링크드인)과 앨범 서비스(페이스북)가 개별적으로 존재한다. 두 서비스는 공통적으로 개인 정보를 입력해야한다. 서비스 종류에 따라 알맞는 내용을 포함하는 프로필을 생성해보자 from abc import abstractmethod # Product 인..

2022년 22주차 '자신이 생겼다'

Weekly growth 글또 두 번째 글 5월 한 달간 진행한 사이드 프로젝트 회고글을 작성하여 글또에 공유했다. 벨로그 워드클라우드 서비스 벨로그 워드클라우드 월간 사이드 프로젝트를 기획 진행하고 있다. 첫 시작인 5월에는 벨로그의 글을 워드클라우드 형태로 분석해서 보여주는 서비스를 만들어보았다. 웹 페이지에서 벨로그 아 daco2020.tistory.com '벨로그 워드 클라우드' 배포 실패 위의 회고 글에도 적었지만 배포에 실패했다. 패키지 관리와 인프라 구축에 대한 무지가 컸다. 이번 프로젝트는 여기서 종료하지만 다음에 다시 도전해볼 생각이다. 자기 계발 OKR 6월부터 4주간, 사내 직원들끼리 자기 계발 OKR을 진행한다. 나는 한 달 동안 퀀트 투자를 배워보려고 한다. 퀀트 투자를 배우면서 ..

벨로그 워드클라우드 서비스

벨로그 워드클라우드 월간 사이드 프로젝트를 기획 진행하고 있다. 첫 시작인 5월에는 벨로그의 글을 워드클라우드 형태로 분석해서 보여주는 서비스를 만들어보았다. 웹 페이지에서 벨로그 아이디만 입력하면 최근에 작성한 3개 글을 분석하여 워드클라우드 형태로 보여준다. 내가 만든 워드클라우드는 불용어를 제외한 명사들만 분석하여 보여주는데, 예를 들어 ‘나는’, ‘는데’, ‘습니다’, ‘그리고’, ‘또한’, 같은 단어들을 제외하여 의미가 유효한 단어들만 보여준다. 개발 목적 예전부터 블로그를 단어 단위로 분석해보고 싶었다. 특히 개발자마다 어떤 단어들을 많이 사용하는지 확인해보고 싶었는데, 이번 기회에 글을 워드클라우드 형태로 보여주고자 했다. 워드 클라우드란? 쉽게 말해 글을 아래 이미지처럼 보여주는 것이다. ..

Grasshopper - Terminal game move function

Terminal game move function In this game, the hero moves from left to right. The player rolls the dice and moves the number of spaces indicated by the dice two times. In SQL, you will be given a table moves with columns position and roll. Return a table which uses the current position of the hero and the roll (1-6) and returns the new position in a column res. Example: move(3, 6) should equal 15..

심플 팩토리 패턴

팩토리 패턴 개요 팩토리란, 다른 클래스의 객체를 생성하는 클래스를 일컫는다. 클라이언트는 특정 ‘인자’와 함께 ‘메서드’를 호출하고 팩토리는 해당 객체를 생성하고 반환한다. 직접 객체를 생성하지 않고 팩토리를 사용하는 이유 객체 생성과 클래스 구현을 나눠 상호 의존도를 줄이기 위함. 클라이언트는 인터페이스와 메소드, 인자 등의 정보만 있으면 된다. 코드를 수정하지 않고 팩토리에 새로운 클래스를 추가할 수 있다. 이미 생성된 객체를 팩토리가 재활용할 수 있다. 팩토리 패턴 3가지 종류 심플 팩토리 패턴 - 인터페이스는 객체 생성 로직을 숨기고 객체를 생성 팩토리 메소드 패턴 - 인터페이스를 통해 객체를 생성하지만 서브 클래스가 객체 생성에 필요한 클래스를 선택 추상 팩토리 패턴 - 객체 생성에 필요한 클..