목록Programming (117)
Patrick's 데이터 세상

마리아노 아나야의 파이썬 클린코드를 읽으며 정리해 두는 포스팅이다. 이미 알고 있는 내용이 많지만 유지보수, 애자일 개발을 좀 더 official 하게 skillup 하기 위해 정리해두려고 한다. 👉🏻 코드 포매팅 클린 코드라 함은 PEP-8 가이드라인을 지킨 띄어쓰기, 네이밍 컨벤션, 줄 길이 제한 등의 코딩 표준, 포매팅, 린팅 도구 등 레이아웃 설정과 같은 것 이상의 의미함. 클린 코드는 품질 좋은 소프트웨어를 개발하고, 견고하고 유지보수가 쉬운 시스템, 기술 부채를 피하는 것을 말한다. 프로젝트 코딩 스타일 가이드 준수 PEP-8 style ∙ 검색 효율성 : 코드에서 원하는 부분을 빠르게 검색. ex) keyword argument에 값을 할당할 때는 띄어쓰기 x, 변수에 값을 할당할 때는 띄어..
개발할 때 작업자가 직접 formatting 하는 것은 한계가 있기 때문에 vscode에서 사용하는 자동 formatting을 맞춰주는 것이 정신건강(?)에 이롭다.vscode에서 1차로 자동 포매팅을 하고 git pre-commit에서 2차로 확인하도록 세팅해 두었다. Black엄격한 코드 포매터 (커스텀할 여지가 많지 않음)한 줄이 88자가 넘어가지 않도록 강제 개행 시켜주는 기능이 대표적입니다isortBlack이 잡아주지 못하는, import 순서 정렬해 주는 기능을 담당합니다파이썬 built-in 모듈인지, first party 모듈인지, third party 모듈인지도 구분해 줍니다.Flake8앞선 두 코드 품질 관리 도구가 형식적인 측면을 잡아주는 반면, 개발자의 실수가 유발될 수 있는 의미적..
개발 환경 구축은 농사 짓기 전 터를 잡고 밭을 가는 것과 동일하게 매우 중요한 초석을 다지는 일이다.필자는 pyenv+pyenv-virtualenv로 환경을 잡았고 poetry도 적극 활용하려고 하였으나 버전이 잘 맞지 않아 poetry는 생략하고 후에 적용해보려고 한다. pyenv 설치brew updatebrew install pyenvpyenv 설정echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrcecho 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrcecho -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshr..

https://2022.pycon.kr/ 파이콘 한국 2022 PYCON KOREA 2022: 10.01 - 10.02 2022.pycon.kr:443 Pycon Korea 2022가 22.10.01~02 2일 간 성황리에 개최되었습니다. 그중에서도 '파이썬 코드 리뷰 꿀팁'이라는 제목으로 위대한 상상 R&D 에서 파이썬 백엔드 개발을 하고 있는 김동현 님의 발표에서 배운 내용을 정리해보려고 합니다. 발표 제목 그대로 보통 현재 회사에서는 프로젝트 단위로 혼자 코드를 짜고 정리할 일이 많은 필자에게는 '꿀팁' 발표였습니다. 협업에 대한 대비책이기도 하고 혼자 코드를 관리할 때도 좀 더 효율적으로 관리하기 위한 목적입니다. 3가지 라이브러리를 토대로 리뷰어, 리뷰이가 효율적으로 여러 근거를 제시할 수 있도..

crawling 크롤링이란 웹 페이지를 의 텍스트를 그대로 가져와 그 안에서 데이터를 추출하는 행위입니다. 웹 스크래핑 또한 같은 의미입니다. 인터넷 페이지에서 'HTML'은 페이지의 뼈대 구조는 잡는 역할을 하고, 'css'는 그 뼈대 위에 꾸미는 역할, 'JavaScript'는 동적으로 움직이게 하는 역할을 합니다. 'HTML'에서 'Xpath'는 element의 경로를 의미합니다. 👉🏻 크롤링 프레임워크 종류 종류 Requests Selenium 특징 웹 페이지(html) 읽어오기 웹 페이지 자동화 속도 빠르다 느리다 동적 여부 동적 웹 페이지 X 동적 웹 페이지 O 목적 주어진 url을 통해 받아온 html에 원하는 정보가 있을 때 로그인, 어떤 결과에 대한 필터링 등 어떤 동작이 필요한 경우 (..

회사에서 진행한 업무로 뉴스 기사 카테고리 분류 모델 및 뉴스 크롤링을 진행했으며, Selenium 기반에 BeatifulSoup을 일부 활용한 크롤링을 작성하였습니다. 저작권을 침범하지 않는 내에서 작업했음을 밝힙니다. 해당하는 .py file 들을 docker에 supervisor로 띄워 Infinite loof 프로세스 내에서 반복적으로 크롤링하도록 구현하였습니다. https://github.com/hipster4020/selenium_crawling GitHub - hipster4020/selenium_crawling Contribute to hipster4020/selenium_crawling development by creating an account on GitHub. github.com ..