일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이더리움
- 커벌스페이스프로그램
- 블록체인
- dunder
- package.json
- MicroService
- virtualenv
- KSP2
- Bitcoin
- 파이썬
- Blockchain
- Argument
- monolithic
- 비트코인
- 개발환경
- 얼리억세스
- cloudformation
- Ethereum
- CDK
- 천체관측
- function
- 가상환경
- MSA
- terraform
- python
- 벌집성단
- 파이썸
- 패키지 매니저
- 혼공파
- 관측일지
목록python (5)
ulismoon
개인 프로젝트를 하면서 상속을 참 열심히도 쓰고 있다. 부모자식 간에 도리를 다 하는 것이 어찌나 복잡한지 코딩을 할 때마다 새삼 느낀다. 며칠간 풀리지 않던 문제를 좀 어이없이 풀게 되어서 간만에 기록을 좀 남겨보고자 한다. 상속 관계에서 자식 클래스의 method 를 실행할 때 부모의 함수를 무조건 실행하도록 하는 구조를 만드는데, 이게 이상하게 자식 클래스에서 실행하는데 자꾸 부모 클래스의 추상 함수(python 에는 그런건 없지만 NotImplementedError 를 가지고 비슷하게 할 수 있다)를 실행해서 제대로 처리가 완료되지 않는 문제에 관한 것이다. 어쩌면 이런 구조로 설계하는 게 잘못된 것일 수도 있지만 일단 기록으로 남길 가치는 있다고 생각한다. 요새는 모든 기록을 notion 에 남..
세상에 JS 가 부러울 줄이야... 주로 파이썬을 이용해 웹 개발을 하다 보니 JS 와 함께 사용할 때가 많고, 개발을 하면서 백엔드용 파이썬과 프런트용 JS 의 패키지를 같이 관리하게 된다. 나의 경우 지금까지 python 은 requirements.txt 를, JS는 package.json 과 yarn 을 이용해 package 를 관리해왔다. 개인적으로 JS 를 별로 좋아하지 않기는 하지만, 패키지 관리를 할 때만큼은 정말 JS 가 편하다고 느낀다. 크게 2가지 이유가 있는데, npm이라는 잘 작동하고 활성화된 중앙 패키지 매니징 시스템이 있고, (굳이 yarn 을 쓰지 않아도) package.json 안에 여러 패키지를 목적에 따라 구분할 수 있도록 한 것이나 lock file 을 만들어 의존성을 ..
def func(arg, *args, **kwargs): 파이썬의 함수는 매우 잘 조직되어 있다. 아마도 이는 모든 것을 1급 객체로 만들어놓은 노고로 인한 보상이 아닐까 생각하는데, 덕분에 우리는 함수를 아주 다양하고 직관적으로 사용할 수 있다. 개인적으로 파이썬 함수를 공부하면서 가장 놀라웠던 것은 그 인자의 자유도였다. 함수를 쓰면서 인자값에 그렇게 신경을 안 써도 된다는 것이 개인적으로는 아주 큰 매력이었다. 파이썬의 함수 인자는 종류도 많고 이들이 우선순위를 가지며, 상당히 치밀하게 설계되어 있음에도, 내가 지금까지 본 파이썬 관련 책에서는 이를 깔끔하게 정리해준 것을 아직 발견하지 못했다. 그래서 이번에는 파이썬 함수 인자에 대해 적어보기로 한다. Function Arguments 개요 파이썬..
PATH?이전 글에서 virtualenv 사용법을 알아봤는데, 과연 그래서 무슨 PATH를 어떻게 손본다는걸까? 우리가 쉘에서 그냥 명령어 두들겨서 쓸 수 있는 프로그램들은 각종 bin 디렉터리 안에 들어있다. 터미널에서야 그냥 아무 생각 없이 쓰지만 그게 다 이미 어디있는걸 갖다 쓰라는 설정이 돼있다는 말이다. 파이썬을 예로 들어보자. 터미널에서 그냥 파이썬을 두들기면 파이썬 대화형 인터프리터가 실행된다. 여튼 무슨 프로그램이 실행됐다는 건데... 파이썬 명령어가 어디 있는지 which 명령어로 확인해보니 /usr/bin 안에 있다고 한다. 그럼 저런 것들은 어디에 모여있을까? 답은 여기 있다. $PATH 변수를 찾아보자. $ echo $PATH 오 뭔가 엄청 많은 경로들이 콜론(:)으로 구분돼있다. ..
다양한 프로젝트, 수많은 패키지, 복잡한 의존성...파이썬으로 개발을 하다보면 거의 항상 복수의 패키지를 설치, 사용하게 된다. 그런데 이걸 다 그냥 깔아버리면 해당 패키지는 그 컴퓨터에서 사용하는 모든 파이썬 패키지에 영향을 주게 되고, 이는 많은 문제를 일으킬 수 있다. 예를 들어 프로젝트 A, B가 동일한 X 라는 패키지를 사용한다고 하자. 그런데 A 프로젝트는 모종의 사정으로 X의 1.0 버전을 사용해야 하고, B는 최신버전인 X의 2.0을 사용하게 되었다면, 컴퓨터에는 어떤 버전을 설치해야 할까? 단순히 생각했을 때에는 2.0이 최신이니 2.0을 깔면 될 것이라고 생각하지만, 파이썬2 가 파이썬3 으로 넘어오면서 하위호환을 버린 것을 생각하면 무작정 최신버전을 깔아놓는 것은 패망의 지름길이다. ..