본문 바로가기
반응형

전체 글60

[이진우 손경제] 2021/05/26 - '시한 폭탄 된 가상화폐 거래소', '은행들 금리인하요구권 70% 거절' 등 1. 가상화폐 거래소의 문제점 '비트소닉' 거래소. 현재 정상적인 거래 중. 겉으로 보기엔 아무 문제 없어 보임. 문제는 입금은 할 수 있는데, 출금을 할 수 없음. 거래량이 꽤 많았던 거래소. 수수료가 다른 곳에 비해 10분의 1 수준으로 인기가 있었음. 피해자 모임 카페 회원이 어제 기준으로 470여명. 이곳에서 말하는 피해액은 160억원 정도. 피해자들은 본인들이 산 것이 암호화폐가 아닐 수도 있다고 의심 중. 보통의 금융사라면 금융관련법 혹은 보험 등이 있지만, 거래소(가상 자산 사업자)에 대해서는 관련 법이 없는 실정. 2. 카드사들 오픈뱅킹 서비스 시작 예전에는 거래 은행이 3개라면, 3개의 서로 다른 은행 앱을 다운 받아서 이용해야 했음. 지금은 하나의 앱만 받아도 모든 은행의 업무를 다 볼.. 2021. 5. 27.
Effective Python. 메타클래스로 클래스 속성에 주석을 달자. 메타클래스와 디스크립터를 활용하면, 중복 코드를 좀 더 줄이고 깔끔한 코드를 만들 수 있다. 아래와 같은 Field 디스크립터가 있다고 가정해보자. class Field: def __init__(self, name): self.name = name self.internal_name = '_' + self.name def __get__(self, instance, instance_type): if instance is None: return self return getattr(instance, self.internal_name, '') def __set__(self, instance, value): setattr(instance, self.instance_name, value) 그리고, Field 디스크립.. 2021. 3. 3.
Effective Python. 메타클래스로 서브클래스를 검증하자. 메타클래스를 응용하는 가장 간단한 사례는 클래스를 올바르게 정의했는지 검증하는 것이다. 클래스 계층을 만들 때 스타일을 강제하거나, 메서드를 오버라이드하도록 요구하거나, 클래스 속성 사이에 관계를 두고 싶을 수도 있다. 보통 클래스 검증 코드는 클래스의 객체가 생성될 때 __init__ 메서드에서 실행된다. 만약, 메타클래스를 검증용으로 사용하면 오류를 더 빨리 일으킬 수 있다. (즉, 서브클래스가 정의되는 시점부터 제대로 구성되었음을 보장하려면 메타클래스를 사용하면 된다) 메타클래스는 type을 상속하여 정의한다. 메타클래스는 기본으로 자체의 __new__ 메서드에서 연관된 class 문의 콘텐츠를 받는다. 여기서 타입이 실제로 생성되기 전에 클래스 정보를 수정할 수 있다. class Meta(type.. 2021. 3. 3.
Effective Python. 지연 속성에는 __getattr__, __getattribute__, __setattr__을 사용하자. 미리 정의되어 있지 않은 속성 값에 접근하려면 어떻게 해야할까? 다시 말해, 아래와 같은 클래스를 통해 인스턴스를 만들고, data.foo 와 같이 존재하지 않는 속성에 액세스 하려고 하면 에러가 날 것이다. class LazyDB: def __init__(self): self.exists = 5 만약 이런 상황에서, data.foo와 같은 액세스를 했을 때도 에러 없이 동작하도록 하려면 어떻게 해야할까? @property 메서드, 디스크립터로는 이렇게 할 수 없다. 이럴때 __getattr__ 매직 메소드를 사용하면 된다. class LazyDB: def __init__(self): self.exists = 5 def __getattr__(self, name): value = f'Value for {n.. 2021. 3. 2.
반응형