일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Express
- 영화리뷰
- nodejs
- web
- 드릴
- 클로즈가드
- 솔로드릴
- 주짓떼로
- 디자인패턴
- JavaScript
- 주짓떼라
- Node
- REACT
- 리액트
- Redux
- 웹개발
- 엄티로드
- 하프가드
- 주짓수
- 영화
- 영화감상
- 파이썬
- development
- 개발자
- 개발
- graphQL
- 프로그래밍
- git
- 노드
- 자바스크립트
- Today
- Total
목록파이썬 (10)
As i wish
오늘은 이터레이터 패턴에 대하여 포스팅해보겠습니다. 일단 정의부터 보시죠. 이터레이터 패턴 컬렉션을 표현하는 방법을 노출시키지 않으면서도 집합체 내에 있는 모든 객체들에 하나씩 접근하는 방법을 제공합니다. 반복자를 이용하여 내부 구조를 드러내지 않으면서도 클라이언트로부터 컬렉션 안에 들어 있는 모든 원소들을 접근할 수 있게 만듭니다. 예를 들어 설명해 보겠습니다. 어떤 컬렉션에서는 List로 아이템 원소들을 관리하고, 다른 컬렉션에서는 Dictionary로 아이템을 관리한다고 했을 때에 클라이언트 입장에서는 두 개의 원소들을 나열하려고 할 때 각기 다른 방법으로 나열해야 합니다. 하지만 이터레이터 패턴을 사용하면, 어떤 식으로 내부 구조가 짜여있던지 상관없이 클라이언트는 반복자를 이용하려 아이템을 나열할..
이번에는 지금까지 배운것 중에 유사한 세가지를 비교해 보겠습니다. 일단 간단하게 정의부터 알아보면 데코레이터 패턴 - 객체에 추가적인 교건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 어댑터 패턴 - 클래스의 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환합니다. 인터페이스가 호환되지 않아 쓸 수 엄ㅂㅅ었던 클래스들을 같이 사용할 수 있게 해줍니다. 퍼사드 패턴 - 서브시스템에 있는 일련의 인터페이스에 대한 통합 인터페이스를 제공합니다. 퍼사드 패턴에서는 서브시스템을 더 쉽게 사용할 수 있게 해 주는 고수준 인터페이스를 정의합니다. 이렇게 정의 내려 볼 수 있겠네요. 일단 비교 부터 하면 어댑터와 퍼사드는 인터페이스를 바꿉니..
이번엔 퍼사드 패턴에 대하여 포스팅 해보겠습니다. 퍼사드 패턴은 어댑터 패턴과 상당히 비슷하기 때문에 두개를 비교해 가시면서 보시면 훨씬 쉬울것 같네요. 일단 정의 부터.. 퍼사드 패턴 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공합니다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용할 수 있습니다. 예를 들어 영화를 본다고 생각했을 때에 1. 팝콘 기계를 켠다. 2. 팝콘 튀기기 시작 3. 전등을 어둡게 조절 4. 스크린을 내린다 5. 프로젝터를 켠다 6. 프로젝터..... 이렇게 쭈욱 일련의 과정들이 있죠. 간단하게 이런 일련의 과정들을 묶어주는것이라고 생각하면 쉽다. 바로 코드로 확인해보면 한눈에 쉽게 확인 할 수 있다. # -*- coding: ut..
오늘은 어댑터 패턴에 대하여 포스팅 해보겠습니다. 어댑터 패턴 이란... 클래스의 인터페시으를 클라이언트에서 요구하는 다른 인터페이스로 변환합니다. 인터페이스가 호환되지 않아 쓸 수 없었던 클래스들을 같이 사용할 수 있게 해줍니다. 클라이언트는 타겟 인터페이스에 맞게 구현되어 있습니다. 어댑터는 타겟 인터페이스를 구현하며, 여기에는 어댑티 인스턴스가 들어있습니다. 즉, 클라이언트에서 타겟 인터페이스를 사용하여 메소드를 호출함으로써 어댑터에 요청을 합니다. 그럼 어댑터에서는 어댑티 인터페이스를 사용하여 그 요청을 어댑티에 대한 매소드 호출로 변환하죠. 마지막으로 클라이언트에서는 호출 결과를 받긴 하지만 중간에 어댑터가 껴 있는지는 알지 못하죠. 역시 코드로 설명하면 아주 가뿐합니다!! # -*- codin..
오랜만에 포스팅인데요 오늘은 커멘드 패턴에 대하여 알아 보겠습니다. 일단 커멘드 패턴이란... 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다. 쉽게 설명하면 가게에서 주문을 하는 경우라고 설명 할 수 있겠는데요. 손님이 주문을 하면, 웨이터가 그 주문을 받고 주문에 따라 주방장에게 요청을 하면, 주방장이 주문에 따라서 각 요리를 만드는것으로 쉽게 비유해 볼 수 있겠네요. 여기서 손님은 client, 웨이터는 invoker, 주문서가 command, 손님이 웨이터에게 주문서를 주는 행위를 setCommand(), 웨이터가 주방장에게 주문서를 주는 행위를 execute(), 주방장..
안녕하세요 오늘 알아볼 패턴은 싱글톤 패턴(Singleton pattern) 입니다. 일단 정의 부터 보시죠싱글턴 패턴 (singleton pattern) 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴. 말 그래도 인스턴스가 하나만 만들어지는 패턴입니다. 123456789101112131415161718192021222324252627# sigleton-pattern class SingletonInstane: __instance = None @classmethod def __getInstance(cls): return cls.__instance @classmethod def instance(cls, *args, **kargs): cls.__inst..
안녕하세요오늘은 추상 팩토리 패턴에 대하여 공부해 보겠습니다. 일단 전에 포스팅 했던 팩토리 메소드 패턴과 너무 헷갈려서 엄청난 혼동이 생겼었는데요.결국 해결 하고 포스팅을 쓰게 되서 상당히 다행입니다.팩토리 패턴은 정말 헷갈리는것 같아요. 먼저 정의 부터 확인하겠습니다.추상 팩토리 패턴- 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다.다양한 구성 요소 별로 객체의 집합을 생성할때 유용합니다. 네 무슨말인지 정말 헷갈리는데요제가 이해한 바로는 정말 추상적으로 클래스를 만들고 그 안에 추상 메소드를 만든 뒤 서브 클래스들이 각각 추상 메소드를 구성하는 형태라고 생각하면 쉽습니다.정말 말 그대로 추상 클래스인거죠, 그런데 팩..
안녕하세요.오늘은 팩토리 메서드 패턴 을 알아보겠습니다. 늘 그러하듯 정의부터 보시죠. Factory method pattern객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만든다.즉 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것. 출처: https://jusungpark.tistory.com/14?category=630296 [정리정리정리] 쉽게 말해서 하위 클래스가 어떤 객체를 설정할지를 결정한다라고 보시면 될듯 하네요. 다른 포스팅과는 다르게 UML 다이어그램부터 보겠습니다. 제가 그린 UML 다이어그램에서 PizzaStore는 CreatorPizza는 Product가 되죠.이처럼 Pizzastore는..
안녕하세요.오늘은 디자인패턴 중에 옵저버 패턴에 대하여 알아보겠습니다. 일단 옵저버 패턴이란..- 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many)의존성을 정의합니다. 즉 어떤 주제에 관해 듣고 싶은 옵저버가 있다면 그 주제를 등록하고 그 주제가 변경 될때 등록하고 있던 옵저버들에게 정보를 전달해주고정보를 받은 옵저버들은 그에 따른 행동을 하게 되는 거죠.또한 옵저버는 주제를 등록 할 수도 있고 주제에 탈퇴를 할 수도 있죠. 그럼 일단 다이어그램부터 확인해 보시죠, 위에 처럼 주제 객체를 만들어주고 옵저버 객체를 만들어 줍니다.다이어 그램에서는 빠져 있지만 Observer 객체를 상속받은 아이들에게는 remove라는 ..
안녕하세요.오늘은 디자인패턴에 대해 포스팅을 해보려 하는데요.일단 디자인 패턴이란 '객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.' 이라고 나무 위키에 나와 있네요.이렇듯 객체 지향 프로그래밍을 설계 하는데에 있어서 효율 적인 방법 이라는 거죠.디자인 패턴은 공부 하면 할 수록 어렵고 심지어 적용하기는 더더욱 어려운데 계속된 반복으로 제것으로 한번 만들어 보겠습니다. 저는 보통 Headfirst Designpattern 이란 책을 참고해서 포스팅 해보려고요그럼 처음으로 하는 디자인패턴 그 중에 전략 패턴이라고도 불리는 스트레티지 패턴에 대해 공부해 보겠습니다. 먼저 정의 부터 알아보도록 하죠. 스트래티지 패턴알고리즘군을 정의하고 각각 캡슐화하여 교환해서 사용할 수..