본문 바로가기
관리자

Programming-[Backend]

(421)
[링크] 파이썬 가상환경 venv, Pycharm 개념 파이썬 가상환경은 프로젝트별로 필요한 패키지들을 다르게 설치할 수 있는 모듈이다. A 프로젝트에서는 requests라는 라이브러리가 1.0 버전이 필요할 수 있고, B 프로젝트에서는 2.0 버전이 필요할 수 있다. 가상 환경을 달리하여 해당 프로젝트의 라이브러리들에 대한 의존성을 관리해준다. 설치, 실행 가상환경 생성 프로젝트의 디렉토리에서 아래 명령어를 입력한다. Mac에서는 python 대신 python3 입력. python -m venv .venv 프로젝트에 .venv 폴더가 만들어진다. 가상환경 활성화 활성화를 위해 아래 명령어를 입력한다. . .venv/bin/activate mac에서는 아래와 같이 입력 source {가상환경 이름}/bin/activate 그럼 터미널 창의 입력란 맨 앞..
웹 스크래핑, 크롤링- 1. 기본 개념, BeautifulSoup 이미지, CSV 다운로드 나도 코딩님의 파이썬 웹 스크래핑 강의 정리 https://www.youtube.com/watch?v=yQ20jZwDjTE 1. 기초 지식 웹 스크래핑과 크롤링의 차이 웹 스크래핑: 웹페이지에서 내가 필요한 내용만 가져오는 것 웹 크롤링: 특정 웹사이트를 돌아다니며 모든 정보들을 수집하는것 XPath 특정 element의 긴 전체 경로(ex. /html/body/div/span/div...) 대신 표시하는 Unique하고 요약된 경로 크롬 브라우저의 개발자도구에서 특정 element를 우클릭/copy/Copy XPath로 XPath 값을 얻어낼 수 있다. lib. requests pip install requests raise_for_status(): 200대 응답이 아니면 에러를 출력하고 프로그램을 중..
[TIL] django, MYSQL, postgresql db collation collation은 DB에 입력되는 문자의 중복을 어떻게 볼 지 설정하는 것이다. case-insensitive는 'Fred'와 'fred'를 같은 문자로 본다. case-sensitive는 대소문자를 다르게 본다. DB provider에 따라 옵션의 이름이 각각 다르다. django 홈페이지에 나온 MYSQL에 대한 문서를 보면 default collation으로 속성값들이 있는 것을 볼 수 있다. 기본값이 정해져있다. (아래는 MYSQL) https://dev.mysql.com/doc/refman/8.0/en/charset-general.html 장고에서는 모델을 만들 때 TextField, CharField의 인자값으로 db_collation 인자를 설정해줄 수 있다. 그리고 데이터 정렬의 기준이 ..
[TIL] python locale, OS의 locale 1. 사용 목적 python locale 국제화를 위해 사용한다. 예를 들어 한국에서는 소수점을 .으로 표기하여 123.456 식으로 표현하지만, 유럽에서는 123,456 과 같이 소수점을 콤마로 표시할 수 있는데, 이런 변환을 하기 위해서 사용한다. OS locale 터미널에서 locale 명령어를 입력하면 사용 중인 OS의 locale 정보를 확인할 수 있다. 그리고 locale -a 를 입력하면 모든 지역 코드를 확인할 수 있다. 2. 기본 문법 https://docs.python.org/ko/3/library/locale.html 기본 문법은 위 파이썬 사이트에서 안내하고 있다. 파이썬 내장 패키지이므로 import locale로 불러올 수 있고, locale.setlocale(카테고리, 사용지역..
[링크] python circular import 해결 - import time, runtime py 파일 맨 위쪽에서 import 하지말고, 함수 선언문이나 실행문 속에서 from ... import ...을 하면 된다. 맨 위쪽 import는 파이썬이 처음 실행을 위해 import문들을 모두 스캔할 때 import하는 것이고, 함수 선언문이나 실행문에서의 import는 실제로 그 함수가 불릴때(runtime) import하는 것이다. https://blog.mathpresso.com/python-circular-imports-e89c5bf16510 Python Circular Imports Python Circular Imports가 무엇이며, 오류는 어떻게 해결할까? blog.mathpresso.com
[TIL] DjangoFilter(DRF filter_bakcends, django-filter filterset_class) Django 및 Django Rest Framework(DRF)의 Filter 기능에 대한 간략한 정리 1. DRF - filter_backends DRF를 이용하여 viewset을 사용하면 상속받는 ModelViewSet
[TIL] SQL sequence로 postgresql primary key sequence 없는 값 insert 하기 : 시퀀스 생성 완벽하게 정확한 내용은 아님. 개인 기록용. 혹시라도 참고하시는분은 테스트 디비 등에 주의해서 적용해보시고 진행하시길.. 1. 상황 postgresql 테이블에서 sequence가 지정되지 않고 serial로만 지정되어있어서 pk값을 default로 넣을 수가 없는 상황 with tmp as (select a_id, b_id from ab_table join b_table b on ab_table.b_id = b.id where 1 = 1 and ab.b_id in (복잡한 서브 쿼리) insert into c_table (id, deleted, created, modified, a_id, b_id) select nextval('c_tabld_id_seq'), null, now(), now(), tmp...
[TIL][링크] 파이썬 부모 생성자 호출, __init__ BaseError 상속 https://newbie-developer.tistory.com/146 파이썬. 클래스 상속과 생성자에 대하여. 그리고 super에 대하여 자식 클래스에서 따로 생성자를 선언하지 않으면 자식 객체를 생성하면 자동으로 부모클래스의 생성자를 실행한다. class paraent(): def __init__(self,input1): print("부모 생성자 실행. 인풋 파라미터는") newbie-developer.tistory.com 요약 class ChildError(BaseError): default_code = CODE1 class BaseError(APIException): status_code = status.HTTP_400_BAD_REQUEST default_detail = "" default_co..