til(69)
-
TIL45 | QuerySetAPI - select_related & prefetch_related
select_related(*fields) inner join Foreign Key로 참조하고 있는 테이블을 inner join을 통해서 한번에 가져온다. return QuerySet plain lookups VS select_related() lookup plain lookup # Hits the database. e = Entry.objects.get(id=5) # Hits the database again to get the related Blog object. b = e.blog select_related() # Hits the database. e = Entry.objects.select_related('blog').get(id=5) # Doesn't hit the data..
2021.11.10 -
TIL44 | Query Parameters VS Path Parameters
1. Query Parameters (GET Parameters) 웹 페이지의 url 주소에 종종 ? 가 포함되어 있는데 물음표 뒤에는 key=value 형식의 문자열이 따라온다. 이를 Query Parameter 라고 부른다. 주로 데이터를 조건으로 거르거나(Filtering), 특정 방식으로 정렬하거나(Sorting), 검색(Searching)하고자 하는 경우에 활용한다. Ex) http://example.com/foo?p=param1&q=param2 Filtering GET /products?category=신발&color=green GET /products?category=신발&color=green&color=yellow&size=240 & 키워드로 계속해서 필터링 조건을 붙일 수 있다. Orde..
2021.11.10 -
TIL43 | REST API
REST API REST(Representational State Transfer) 로이필딩이 논문에서 처음 소개. 웹이 HTTP를 제대로 사용하지 못하는 상황을 보고 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로 소개했다 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처 REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다 REST API 구성 REST API는 자원, 행위, 표현의 3가지 요소로 구성된다 자원 : URI 행위 : HTTP 요청 메소드 표현 : 페이로드 (자원에 대한 행위의 구체적 내용) REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다 즉, URI로 자원을 식별하고 자원에 대한 행..
2021.11.08 -
TIL42 | Python에서 CSV파일 다루기(db_uploader.py)
CSV 데이터 쉼표를 기준으로 항목을 구분하여 저장하는 데이터 , 로 규칙적으로 구분되어 있기 때문에 엑셀과 같은 프로그램으로 읽을 수도 있고 생성할 수도 있다. 주로 테이블 형태로 구성된 자료나 텍스트 자료를 저장할 때 사용한다. 같은 데이터를 저장한다고 했을 때, JSON 데이터에 비해 절반이하의 용량으로 저장할 수 있다. 파이썬에서 CSV파일 다루기 파이썬에는 CSV파일을 다루기 위한 모듈을 제공한다. import csv with open('test.csv') as in_filte: data_reader = csv.reader(in_file) next(data__reader, None) for row in data_reader: print(row) with open(file_name)..
2021.11.05 -
TIL41 | CodeKata 복소수 계산, 리스트 뒤집기
CodeKata Week 3 문제 1 두 개의 input에는 복소수(complex number)가 string 으로 주어집니다. 복소수란 a+bi 의 형태로, 실수와 허수로 이루어진 수입니다. input으로 받은 두 수를 곱해서 반환해주세요. 반환하는 표현도 복소수 형태의 string 이어야 합니다. 복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요. 제곱 표현이 안 되어 i의 2제곱을 (i^2)라고 표현했습니다. input "1+1i", "1+1i" "1+-1i", "1+-1i" "1+3i", "1+-2i" output "0+2i" "0+-2i" "7+1i" 나의 풀이 def complex_number_multiply(a, b): a1 = int(a.split('..
2021.11.02 -
TIL40 | Westargram 마무리
오늘 할 일 TODO RESTful API 관련 영상 찾아보기 (노마드코드, 엘리) 파이썬 패키지 관리 requirements.txt, requirements-dev.txt [Python] requirements.txt로 패키지 관리하기 logging 설정하는 방법 알아놓기 Django SQL query logging 프로젝트 시작 전 정리 할 것 Git commit & PR convention parameter & table naming README.md 타이틀 작성 logging 설정 Modeling할 때 PK (unique=True) fake library 사용법 🎠️ Django Design Pattern URLconf (Router) Main urls.py app으로 라우팅 해주는 역할 Sub ..
2021.11.01