본문 바로가기

Coding/설계 | 경험14

파이썬 오픈소스 라이브러리 개발기 1. 개요 지금으로부터 약 3주 전, pythondi(https://pypi.org/project/pythondi/) 라는 라이브러리를 개발하여 pypi에 오픈소스로 배포하였다. 그 과정에 대해 간단하게나마 후기를 남긴다. 2. 뭐하는 라이브러리인데? pythondi는 무엇을 하는 라이브러리일까. 이에 대해 설명하기 위해서는 먼저 객체 지향 5대 원칙에 대해서 알아야한다. 이를 앞글자만 따서 SOLID라고 부르는데, 각 스펠링마다의 의미는 다음과 같다. (본 포스팅은 SOLID원칙에 대한 포스팅이 아니므로 간략하게만 설명한다) S: Single Responsibility Principle(단일 책임 원칙) O: Open Closed Principle(개방 폐쇄 원칙) L: Liskov Substituti.. 2019. 12. 6.
Python Dependency Injection 오늘은 SOLID원칙 중 하나인 Inversion of Control(의존성 역전)에 대해 설명하겠다. 의존성 역전을 구현하려면 Dependency Injection라는 기법을 사용해야 한다. 관련 정보를 인터넷에 검색하면 대부분 자바의 스프링 프레임워크 예제가 나온다. 그만큼 스프링에서는 DI를 사용하는것이 일반적이며 널리 알려진 방법중에 하나이다. 하지만 파이썬에 관한 자료는 정말 찾기 힘들다. 인터넷에 공개되어있는 코드를 봐도 DI를 적용한 예제는 현재까지 본적이 없다. 그나마 몇가지 라이브러리들이 존재하긴 하는데, 실제로 내부에서 어떠한 형태로 돌아가는지 파악하기가 힘들어서 직접 구현해보고 그 과정을 이렇게 포스팅으로 남긴다. 먼저 다음과 같은 코드가 있다고 가정해보자. class Repo: de.. 2019. 11. 9.