분류 전체보기 806

SQLAlchemy, ‘PasswordType’으로 손쉽게 암호화하자

PasswordType 이란? sqlalchemy를 이용해 model 클래스에서 PasswordType을 적용할 수 있습니다. PasswordType을 적용한 model은 사용자가 입력한 패스워드를 자동으로 암호하하여 데이터베이스에 저장합니다. 모델 컬럼 타입을 지정한 것만으로 개발자가 따로 암호화 로직을 구현하지 않아도 되는 것입니다. 패스워드 암호화 저장 PasswordType을 사용하기 위해서는 먼저 SQLAlchemy-Utils를 설치해야합니다. pip install sqlalchemy-utils 설치가 완료되었다면 model파일에 import 해줍니다. # models.py from sqlalchemy_utils import PasswordType import 후 아래에 User model을 작..

Poetry로 프로젝트 패키지를 관리하자

Poetry는 왜 사용하는가? Poetry는 파이썬에서 종속성 관리 및 패키징을 위한 도구입니다. 즉, 프로젝트가 의존하고있는 라이브러리 패키지를 설치 및 삭제 등 효과적으로 관리할 수 있습니다. 때문에 Poetry는 pip의 requirements나 virtualenv를 대체할 수 있습니다. poetry를 pip로 설치하는 방법은 다음과 같습니다. pip install --user poetry 다른 경로의 설치 방법은 공식문서를 참고하기 바랍니다. installation Poetry로 프로젝트 생성하기 poetry를 설치했다면 이제 shell에서 poetry 명령어를 사용할 수 있습니다. poetry new project-name 위의 명령어를 통해 새로운 프로젝트를 생성할 수 있습니다. 생성된 프로젝..

2022년 15주차 '생에 첫 Contribute'

Weekly growth 이번 주는 개발자로서 첫 출근을 시작하였습니다! 짝짝짝~ 아직 부족한게 많지만 빠르게 배워서 한사람 몫을 해내고 싶습니다. 타입 파이썬 강의 완강 지난 주에 언급한 강의를 완강하였습니다. 아직은 익숙하지 않아서 실무에 적용하려면 많이 연습을 해봐야할 것 같습니다. 이번 주말에는 봄이 와서 그런지 늘어졌습니다... 일요일에는 친구와 알고리즘을 푸는데 많은 시간을 사용했습니다. 때문에 몇 가지 일들이 밀려버렸네요.. 오는 주에는 시간을 좀 더 부지런히 써야겠습니다. Algorithm 출근을 한 뒤로 출퇴근 시간에 알고리즘을 풀기로 했습니다. 시간을 아낄 수 있어서 좋은 것 같습니다. 이번 주를 마지막으로 알고리즘은 주간 회고에 기록하지 않겠습니다. 습관이 되었기 때문에 굳이 기록을 ..

pre-commit 에서 ‘flake8’ 과 ‘black’ 커스텀 문제

예제 코드 # setup.cfg [flake8] exclude = .git max-line-length = 88 [black] line-length = 88 flake8 과 black 에 ‘line-length’설정 값이 중복되는 것이 아니냐는 의견이 있었습니다. 우선 결론부터 말씀드리자면 둘다 있어야 한다고 생각합니다. 그 이유는 어느 한쪽을 생략한 경우, 생략한 쪽은 기본값을 채택하여 개발자가 원하는대로 작동하지 않기 때문입니다. 예를들어 위에 문서에서 flake8의 ‘max-line-length = 88’ 를 생략하는 경우 # 코드 수정 [flake8] exclude = .git # max-line-length = 88 black은 88자를 통과시키지만 flake8은 기본값인 79자를 기준으로 검사..