본문 바로가기

프로그래밍/language

(8)
django blank=True 와 Null=True 의 차이 보호되어 있는 글입니다.
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 필자는 pyenv를 통해서 python 버전을 관리한다. 최근에 새로운 프로젝트를 python 3.8 버전에서 진행하고자 pyenv 명령어를 이용해서 3.8 버전을 인스톨했는데 아래와 같은 에러가 발생했다. Installing openssl-1.1.0j... BUILD FAILED (OS X 10.15.5 using python-build 20160303-852-g089b828b) Inspect or clean up the working tree at /var/folders/c5/d1_cb4j92f19h5q0_cbv7bpc0000gn/T/python-build.20200927163103.88116 Results logged to /var/folders/c5/d1_cb4j92f19h5q0_cbv7bpc00..
mysql character set error + django test django 와 mysql을 붙여서 개발을 하는 와중에 한글 데이터를 입력하자 아래와 같은 에러가 발생했다. self.errorhandler(self, exc, value) File "/home/swot/venv/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler raise errorvalue File "/home/swot/venv/lib/python3.6/site-packages/MySQLdb/cursors.py", line 247, in execute res = self._query(query) File "/home/swot/venv/lib/python3.6/site-packages/MySQLdb/cu..
setup.py vs requirements.txt python을 통해 개발을 하기 시작했다면, 대부분 setup.py 와 requirements.txt가 존재하는 것을 알고 있을 것이다. pypi 에서 확인해보면 라이브러리마다 setup.py와 requirements.txt 둘 중 하나만 사용하거나 둘 다 사용하는 경우가 존재한다. 이 포스트에서는 setup.py 와 requirements.txt의 역할의 차이를 살펴보고 흔히 알려져있는 오해에 대해서 다뤄보고자 한다. 필자는 처음 setup.py와 requirements.txt를 처음 사용할 때 이 두 매니저가 사실상 동일한 역할을 하고, 개발자의 취향에 따라 선택하는 정도인줄 알았다. requirements.txt requirements.txt 는 순수한 text 파일로 일반적으로 개발하고 있는 파이..
단위 테스트 pytest-django 튜토리얼 - [3] 해당 포스트는 Django Framework 에 대한 기초적인 지식을 필요로한다. 아래의 링크를 통해 튜토리얼의 소스코드를 clone 할 수 있다. https://github.com/deadlylaid/testing 1부에서 pytest와 django를 이용한 간단한 테스트 코드를 작성해 보았다. 2부에서 pytest fixture에 대해 알아보았다. 3부에서는 mock의 기본 개념과 pytest mark의 종류 중 하나인 parametrize에 대해 알아본다. Masterpiece모델을 만들어 역사적 걸작들의 데이터를 담는 작은 어플리케이션을 만들었다. 이번엔 이 걸작들을 구매하고 싶어하는 소비자들의 데이터를 모아보고 싶다. 하지만 이 소비자 데이터는 외부 API를 호출해서 넘어온 json 데이터를 받..
단위 테스트 pytest-django 튜토리얼 - [2] 해당 포스트는 Django Framework에 대한 기초적인 지식을 필요로 한다. 아래의 링크를 통해 튜토리얼의 소스코드를 clone 할 수 있다. https://github.com/deadlylaid/testing 1부에서 pytest와 django를 이용한 간단한 테스트 코드를 작성해 보았다. 2부에서는 pytest fixture에 대해 알아본다. pytest가 데이터베이스에 접근하기 위해서 markers를 사용했다. 하지만 테스트가 많아질수록 점점 더 많은 markers를 사용해야 할 것이고 나중에는 자칫 코드가 난해해 보일 수도 있다. 게다가 1부에서도 언급했듯 이는 여러 방법 중 하나일 뿐이다. markers 없이 데이터베이스에 접근하는 또 하나의 방법은 fixture를 사용하는 것이다. pyt..
python 2.7은 곧 종료된다. 세계에서 가장 많이 쓰이는 언어 중 하나인 python은 여타 언어들처럼 수많은 업데이트가 진행되었는데 1994년 python1을 시작으로 2000년 10월 python2, 2008년 12월 python3가 나오면서 현재는 공식적으로 지원되는 버전은 python2와 python3 두 가지다. PEP 373 인 python2.7 release schedule에 업데이트 내용에 따르면 다가오는 2020년 python 2.7은 공식적으로 지원이 중단된 이후 python 2.8은 없을 것이며 이후 python2.7 버전은 자원봉사자(volunteer)들의 참여를 통해서만 업데이트 된다고 한다. The End Of Life date (EOL, sunset date) for Python 2.7 has been mo..
단위 테스트 pytest-django 튜토리얼 - [1] 해당 포스트는 Django Framework 에 대한 기초적인 지식을 필요로한다. 아래의 링크를 통해 튜토리얼의 소스코드를 clone 할 수 있다. https://github.com/deadlylaid/testing 단위테스트란 무엇인가? 단위테스트는 어플리케이션 내에 작성되어있는 코드가 올바르게 작동하고 있는지를 반복적으로 확인하기 위해 존재한다. 일반적으로 어플리케이션이 동작하는 데에는 무수히 많은 코드와 함수, 클래스등이 존재할 것이며 단위테스트는 이 복잡한 코드의 신뢰성을 보장하는 역할을 맡는다. 이러한 존재 의의로 인해 단위테스트는 '되도록' 지켜야할 몇 가지 특징들이 있다. 자동화 되어야한다. 테스트 되는 코드와 분리되어야 한다. 하나의 테스트는 하나의 기능 단위만 테스트해야 한다. 각 테스트..