• [Design Pattern] Proxy 패턴

    Proxy Pattern 이란 말 그대로 객체를 ‘대리자(proxy)’ 객체를 통해 접근하는 패턴입니다. 즉, Real Subject 는 실제 기능을 수행하는 객체가 되며, 이는 Subject 인터페이스를 상속받아서 구현됩니다. 여기서 Proxy 객체 또한 Subject 인터페이스를 상속받음으로써 RealSubject 와 상호작용할 수 있게 됩니다. 그 때, Proxy 객체는 Real Subject 를 그냥 ‘by pass’ 로 사용하여...


  • [Design Pattern] Decorator 패턴

    Decorator Pattern 이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴입니다. 즉, 런타임 시에 동적으로 객체에 새로운 기능을 추가하거나 변화시켜서 기능을 유연하게 확장할 수 있게 해줍니다. 여기서 데코레이터 패턴은 상속 대신 합성을 사용하기 때문에 서브클래싱 대안으로 사용할 수 있습니다. 여기서 Component 는 Concrete Component 와 Decorator 에서 공통적으로...


  • [Design Pattern] State 패턴

    State Pattern 이란 객체 내부의 상태가 바뀜에 따라 객체의 행동을 바꿀 수 있는 패턴을 의미합니다. 행동을 변경하는 메소드들로 이루어진 인터페이스를 정의하고, 인터페이스 구현에서 각 상태에 맞는 행동을 정의함으로써 분기문(ex> if, switch) 을 캡슐화, 분리화 하는 패턴입니다. 사용하는 이유 객체들은 종종 상태에 따라 행동을 변화시킬 필요가 있습니다. 이 때 가장 간단한...


  • [Design Pattern] Template Method 패턴

    Template Method Pattern 이란 상속을 통해서 기능을 확장하는 패턴을 의미합니다. 즉, 상위 클래스(Abstract 클래스)에 알고리즘의 로직 흐름을 정의하고, 그 일부를 abstract 메소드(혹은 protected 메소드)를 호출하여 상위 클래스에서 일반화될 수 없는 연산을 수행합니다. 그러면 전체적인 큰 구조를 변경하지 않고 알고리즘의 행위를 변경하지 않아도 됩니다. 또한 Hook 메서드(일반 메서드) 를 함께 제공하여...


  • [책 리뷰] 파이썬 라이브러리를 활용한 머신러닝(개정판)

    이 책의 리뷰는 한빛미디어 ‘나는 리뷰어다’로 부터 책을 지원받아 작성된 글입니다. 이 책은 개정판 이전에 이미 많은 사람들이 읽고 좋은 평을 남겼던 책이라 읽기 전부터 기대가 되는건 사실이었다. 최근 라이브러리가 계속해서 업데이트 되던 탓에 이 책을 사야하나 망설였었는데 개정판이 나왔다는 소식을 듣고 한 권 마련하려던 중 한빛미디어로 부터 책을 받아...