본문 바로가기

전체 글

파이썬 유닛 테스트 간단하게 파이썬 유닛 테스트를 해보았다. [간단한 파이썬 유닛 테스트] 먼저 pytest 를 설치 한다. $ pip install pytest pytest 는 앞부분이 'test_'로 시작하는 파일들과 함수만 테스트 한다. 예1) 5를 더해주는 함수 1 2 3 4 5 6 def add_five(num): return num + 5 def test_add_five(): assert add_five(3) == 8 cs 성공~ 실패 @.@ 1 2 3 4 5 6 def add_five(num): return num + 5 def test_add_five(): assert add_five(3) == 10 cs 예2) 팩토리얼 함수 5*4*3*2*1 = 120 1 2 3 4 5 6 7 8 9 def factoria.. 더보기
flask key error (깔끔한 파이썬 탄탄한 백엔드) 깔끔한 파이썬 탄탄한 백엔드 https://github.com/rampart81/python-backend-book/blob/master/chapter8/config.py 인증 부분에서 key error 가 났다. 이유는 간단했다. config.py 파일에 JWT_SECRET_KEY = 'SOME_SUPER_SECRET_KEY' 요 내용이 없어서 그렇다 다시 요청을 보내면 서버에서 토큰값을 준다. access_token 을 복사해서 "Authorization:eyJ0e..." 형식으로 요청하면 된다. 더보기
우분투 미니콘다 설치 우분투 미니콘다 플라스크 우분투-아나콘다 설치 방법 > https://light-tree.tistory.com/58 미니콘다 다운 $ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 미니콘다 설치(디폴트 생성시) $ bash Miniconda3-latest-Linux-x86_64.sh conda 가상환경 실행 $ source ~/.bashrc 가상환경 만들기 $ conda create -n flask-api python=3.7 가상환경 실행 $ source activate flask-api git clone $ git clone [git address] requirements.txt 목록 다운 $ pip install .. 더보기
데브옵스 핸드북 용어 정리 데브옵스 핸드북 모르는 용어 정리(구글링) 데브옵스(DevOps) : 개발(Development)과 운영(Operations) 의 합성어. 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말함. 데브옵스는 소프트웨어 개발 조직과 운영 조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 패포하는 것을 목적으로 한다. 출처: 위키 참고 : 데브옵스 문화 안돈코드(アンドン cord) : 일본어 行灯행등 (アンドン) 안돈 이라고 읽는다. 코드는 cord 끈을 의미한다. 일본 자동차 업체 토요타 공장에서 사용하는 품질 관리 시스템. 작업자가 생산 과정에 문제가 있을 때 끈을 잡아당기면 불이 들어오는 현황판(안돈)에 표시가 되고 생산 .. 더보기
파이썬 딕셔너리 value + () 멘토께서 피드백을 주신 내용으로 간단한 예제를 만들어 보았다. 코드를 보고, 앗 이런 게 가능하다니! 놀랐다 ^^ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 def go_to_daum(): print('go to daum') def go_to_naver(): print('go to naver') def go_to_google(): print('go to google') MOVE_SITE = { 'daum': go_to_daum, 'naver': go_to_naver, 'google': go_to_google } site = 'daum' MOVE_SITE[site]() # go to daum cs *참고로 함수 선언이 MOVE_SITE 딕셔너리 보.. 더보기
파이썬 getattr() 함수 from enum import Enum class Fruit(Enum): APPLE = 'red apple' BANANA = 2 LEMON = 'lemon', 3 key = 'APPLE' print(getattr(Fruit, key).value) # 'red apple' def keyword(fruit): get_value = getattr(Fruit, fruit).value print(get_value) keyword('BANANA') # 2 keyword('LEMON') # ('lemon', 3) https://stackoverflow.com/questions/12801912/python-3-x-java-valueof-equivalent-in-python-3-x 더보기
파이썬 들여쓰기와 return 탄탄한 백엔드 책을 보면서 sqlalchemy 부분에서 1시간 정도 애를 먹었다. 이유는 아주 단순했다. 들여쓰기와 return 문 때문이었다. 파이썬은 들여쓰기를 잘해야 한다. if num == 5 : print('num==5') 4칸은 띄우고 print 문을 사용해야 한다. 책을 보고 단순히 따라 친 후 줄이 너무 길어져서 들여쓰기를 제대로 했는 지 파악을 못하는 경우가 있었다. 에러 표시가 되어도 이상하게 제대로 보지 못했다. 또 return 문 다음은 실행되지 않는데, 그 부분을 생각하지 못했다. def test(): str = 'test' return str print(str) 'test' 는 당연히 출력되지 않는다. 위에 예시보다 코드가 길긴 했지만, 당시에는 왜 몰랐을까? ^^; 어쨌든 파이.. 더보기
파이썬 딕셔너리 get(), setdefault() 파이썬 딕셔너리 get(), setdefault() '깔끔한 파이썬 탄탄한 백엔드'라는 책을 보다가 setdefault() 가 어떤 기능인지 궁금해서 찾아보았다. 책에서는 간단한 트위터 기능을 구현하는 예제에 나와 있는데, 특정 id(user 고유의 값)를 팔로우하거나 언팔로우할 때 해당 id가 중복되면 안 되기 때문에 setdefault() 를 사용한다고 했다. 리스트를 사용하면, 값이 중복되더라도 추가가되기 때문에 중복을 허용하지 않는 set을 사용한다. 그러면 어렵게 값을 재확인 할 필요가 없어진다 :) 단, 주의해야 하는 점이 있는데, set을사용한 후 return 을 할 때 json 형태로 하게 되면, 에러가 난다. 이러한 경우 리스트 형태로 변환해서 바꾸어 주어야 한다. 책에서는 문제를 해결하.. 더보기