이 글을 쓰게된 계기는 fast api 공식문서와 sqlalchemy 공식문서대로 했을 때 테스트를 진행했을 때 멱등성 있게 진행이 안되었기에 다른 사람들이 이 글을 보고 조금이나마 도움이 되길 하는 생각으로 작성하게 되었습니다. 제가 생각했을 때에도 그렇게 효율적이지는 않은 것 같지만 제가 지금 할 수있는 가장 확실한 방법이기에 글을 남기고자 합니다. 계기 처음에 fast api 공식문서대로 진행을 하였다. def override_get_db(): try: db = TestingSessionLocal() yield db finally: db.close() app.dependency_overrides[get_db] = override_get_db client = TestClient(app) 근데 문제점이..
코드를 짜면서 종종 이중 배열을 초기화하는 경우가 있다. 이때 조심해야할 부분을 알려줄려고 이렇게 글을 적고자 한다. 보통 초기화하는 방법은 3가지 정도 있습니다. 1. [['-'] *3 for _ in range(3)] 이러한 케이스는 어떨까요? 확인해볼까요? 지금 2번째 사진을 보고 어? 뭐지 왜 id가 다 같지? 라고 생각이 문득 들 수가 있습니다. 하지만 안심하세요. 파이썬에서는 스트링에 대해서 모두 공유를 하는 성격을 가지고 있어서 id가 같은 것입니다. 그렇죠? 우리는 하나의 요소가 아닌 row의 id가 같은 지 확인 해봐야 합니다. 결과를 보면 다르는 것을 볼 수가 있습니다. 쉽게 설명하기 위해서 알아보기 쉽게 변환해보도록 해봅시다. xbox1 = [] for _ in range(3): ro..
1. 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 1. java 기본적으로 단일 상속만 지원해준다. 그래서 둘 이상을 상속받을 수가 없다. 그러한 이유는 다중 상속을 했을 때 생기는 문제점을 안고 있어서 이러한 것을 없애고자 단일상속만을 허용한다고 한다. (클래스 간의 관계가 명확해진다는 장점이 있다.) 2. Python 다중상속을 지원해준다. 순서는 오른쪽에서 왼쪽 방향으로 상속이 받아진다. 만일 오른쪽과 왼쪽이 같은 메서드가 있다고 했을 때 왼쪽의 메소드로 오버라이팅이 된다. 자바의 단일 상속은 다들 아시니 python 다중상속에 대해서 예시를 들어 설명해보겠습니다. class BaseMixins(object): def __repr__(self): return f'x는 1이고 y는 2..
1. GoF 디자인 패턴 의도 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공 활용성 1. 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근점으로 모든 사용자가 접근할 수 있도록 해야 할 때 2. 유일한 인스턴스가 서브클래싱으로 확장되어야 하며, 사용자는 코드의 수정없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때 결과 1. 유일하게 존재하는 인스턴스로의 접근을 통제한다. 2. 이름 공간을 좁힌다. 3. 연산 및 표현의 정제를 허용 4. 인스턴스의 개수를 변경하기가 자유롭다. 5. 클래스 연산을 사용하는 것보다 훨씬 유연한 방법 2. Java Effective private 생성자나 열거 타입으로 싱글턴임을 보증하라(아이템3) 싱글턴을 만드..
Builder Pattern 1. GoF 디자인 패턴 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 합니다. 활용성 - 복합 객체의 생성 알고리즘이 이를 합성하는 요소 객체들이 무엇인지 이들의 조립 방법에 독립적일 때 - 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할 때 2. Effective Java 생성자에 매개변수가 많다면 빌더를 고려하라 일반적인 정적 팩터리와 생성자는 점층적 생성자 패턴으로 해결할 수 있지만, 매개변수가 많아지면 클라이언트 코드를 작성하거나 읽기 어려워진다. 자바빈즈 패턴(setXxxx() 형식으로 작성하는 형식)에서는 객체 하나를 만들려면 메서..
python 디스크립터에 대한 구동 원리 참고: https://stackoverflow.com/questions/3798835/understanding-get-and-set-and-python-descriptors Understanding __get__ and __set__ and Python descriptors I am trying to understand what Python's descriptors are and what they are useful for. I understand how they work, but here are my doubts. Consider the following code: class Celsius(object): def stackoverflow.com 해당 자료를 조사..
1. PYTHONHOME PYTHONHOME은 python library 을 가르키는 환경변수. 특별한 일이 없으면 건들 일이 없다. 2. PYTHONPATH 파이썬 WORK_DIRECTORY를 설정하는 환경변수입니다. 필자는 해당 문제를 스크립트 문을 작성하면서 겪었는데 python driver.py 를 했더니 제가 작성한 파일들을 제대로 임포트하지 못한 것이었습니다. 그래서 무엇이 원인인가 했더니 PYTHONPATH를 제대로 설정하지 않은 것이었습니다. #!/bin/bash export PYTHONPATH=$(pwd)/Batch/ # 각 유저마다 해당 디렉토리 경로가 다르므로 $pwd 활용 cat
assert문을 알게 된 계기 def get_queryset(self): """ Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using `self.queryset`. This method should always be used rather than accessing `self.queryset` directly, as `self.queryset` gets evaluated only once, and those results are cached for all subsequent requests. You may want to override this if you need to pr..
- Total
- Today
- Yesterday
- Spring
- Python
- postgres
- setattr
- Command Line
- Java
- 그래프
- env
- django
- 자바
- PostgreSQL
- 백준
- DRF
- docker
- ubuntu
- 알고리즘
- headers
- Pattern
- Collections
- 카카오
- 프로그래머스
- Celery
- dockerignore
- BFS
- 파이썬
- Linux
- thread
- 면접
- 2021 KAKAO BLIND RECRUITMENT
- docker-compose
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |