본문 바로가기

나는 이렇게 학습한다/Library22

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자를 기준으로 검사.. 2022. 4. 7.
pre-commit 을 이용해 commit 전 코드 체크를 자동화하자. pre-commit 적용하기 해당 글은 깃헙 레포지토리에서도 확인가능합니다. 깃헙 링크 pre-commit란? 커밋 메시지를 작성하기 전에 호출이 되는 명령어입니다. 커밋이 되기 전 문법 오류나 스타일, 정렬, 타입 오류 등을 체크할 때 사용합니다. 개발자의 기호에 따라 선택하고 커스텀까지 할 수 있습니다. pre-commit 적용 순서 1. git init 2. pip install pre-commit 3. pre-commit install >>> pre-commit installed at .git/hooks/pre-commit 4. pre-commit run >>> An error has occurred: InvalidConfigError: =====> .pre-commit-config.yaml is.. 2022. 4. 6.
APScheduler를 이용해 비동기 작업을 예약하자 APScheduler 란? APScheduler는 Advanced Python Scheduler의 줄임말로 스케줄을 예약하여 실행할 수 있도록 돕는 라이브러리이다. 예를 들어 특정 시간에 실행시키고 싶은 코드가 있다거나, 일정 간격으로 수행해야 하는 코드가 있다면 이 라이브러리를 유용하게 사용할 수 있다. 특히 기존 스케줄러와 가장 큰 차이점이자 장점은 while과 같은 무한루프를 돌리지 않아도 코드를 비동기적으로 실행시킬 수 있다는 점이다! 실습 아래 실습 코드를 통해 사용법을 살펴보자 from apscheduler.schedulers.background import BackgroundScheduler from flask import Flask #----- #스케줄 실행 코드 def scheduler(.. 2022. 1. 18.
Linter 와 Formatter 를 사용해서 깔끔하게 코딩하자 Linter란? 소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag)를 달아놓기 위한 도구 Formatter란? 작성한 코드에 대해 설정된 규칙에 의해 정렬을 해주는 기능 Linter 와 Formatter 를 사용하면 저장할 때마다 내 코드를 깔끔하게 정리해준다. 또한 혹시나 잘못 작성된 코드가 무엇인지 알기 쉽게 표시해준다. 보통 가상환경 설정 후 저장을 하면 vsc에서 추가 설치를 권장하는 팝업창이 뜨는데 여기서 이러한 도구들을 설치할 수 있다. (물론 직접 pip같은 툴로 설치해도 무방) 추천하는 도구들을 소개하자면 다음과 같다. black 최근 파이썬 커뮤니티에서 가장 널리 쓰이고 있는 있는 코드 포멧터 autopep8 파이썬 코드를 PEP8 컨벤션에 맞게.. 2022. 1. 14.