본문 바로가기

전체 글424

Abstract Base Class 예제 in Python import siximport abc @six.add_metaclass(abc.ABCMeta)class MyAbstractClass(object): @abc.abstractmethod def abstract_method(self): while False: yield None def public_method(self): self.abstract_method() class MyConcreteClass(MyAbstractClass): def abstract_method(self): ''' if this method is omitted, following error is raised when public_method is called against an object. TypeError: Can't instant.. 2014. 12. 5.
이펙티브 자바(Effective Java) 2판 재출간(인사이트) 이펙티브 자바(Effective Java)의 2판이 다시 번역되어 재출간되었습니다. 출판사는 인사이트입니다. 원래 대웅출판사에서 번역되어 출간되었다가 절판된 것을 이번에 인사이트에서 다시 번역해서 출간했습니다. 원래 번역본을 전혀 참고하지 않은, 전면적인 재 번역입니다. 참고하시라고, 118페이지의 본문을 발췌해 보았습니다. 규칙 16은 계승을 위한 설계와 문서를 갖추지 않은 “이질적(foreign)” 클래스의 하위 클래스를 만들 때 생기는 문제점을 설명하고 있다. 그렇다면 계승을 위한 설계와 문서를 갖춘다는 것은 어떤 의미일까? 우선, 메서드를 재정의하면 무슨 일이 생기는지 정확하게 문서로 남겨야 한다. 다시 말해, 재정의 가능 메서드를 내부적으로 어떻게 사용하는지(self-use) 반드시 문서에 남기.. 2014. 9. 5.
짜증나는 개발자 BEST(?) 5 5. 잘난 맛에 사는 개발자 이런 부류의 개발자는 보통 '내 코드에는 버그가 없다'나 '그건 당신 실수다'라거나 '그건 네 잘못이다'라는 말을 입에 달고 산다. 좋은 회사에서 일하는 프로그래머일수록 자부심이 지나쳐서인지 이런 경향이 강하다. 일례로 D모 사의 팀장급 개발자를 모셔다가 세미나를 한 적이 있는데, 청중의 어떤 요구도 가볍게 씹어주는 신공을 발휘한적이 있다. '내 목소리는 원래 작아서 이것 보다 크게 말씀드릴 수 없으니 알아서 들으시라'는 말은 아직도 우리 회사의 직원들 사이에 전설로 남아 있다. 와서 세미나 해 주는 것만 해도 영광이란 소리다. 거기다 이런 부류의 개발자는 같은 회사 직원을 제외한 다른 누구에게는, 동문 선배님이라도 되지 않으면 절대로 친절하거나 살갑지 않다. 살면서 누구에게.. 2014. 9. 2.
[Java 1.8] 자료형 토큰 대신, 메서드 참조를 Java 1.8부터 ::를 통한 메서드 참조가 가능하기 때문에 (이런 참조는 전부 Functional 계열의 인터페이스를 통해 처리됩니다) 자료형 토큰 (MyClass.class 같은 것들) 사용을 줄일 수 있습니다. 다음의 enum 자료형 예제를 보시죠. 각 상수에 해당 상수가 나타내는 Mode의 객체를 반환하는 기능이 들어 있는데, 자료형 토큰 없이도 생성자를 넘기고, 해당 생성자에 따라 객체를 만들 수 있습니다. 생성자는 Supplier 인터페이스를 통해 참조할 수 있습니다. 이 인터페이스는 T get() 메서드를 가지고 있습니다. interface Encoder {void init();void setQuality(int quality);int getFrameSize();void encode(Bit.. 2014. 8. 4.