Wecode(46)
-
AWS
Traditional IT server : 요청한 정보를 제공해주는 컴퓨터 server 확장을 하려면 물리적으로 서버 컴퓨터를 사서 확장 / 관리 Data Center : 서버를 모아놓은 공간 (server 가 7000~8000천개씩 모여있는 센터) 회사에서는 Datacenter와 계약해서 서버를 확보하기도 했다. 문제점 Datacenter 렌트 비용을 지불해야 한다. Power supply, cooling, maintenance 비용을 지불해야한다. 새로운 서버를 추가하거나 교체할 대 시간이 많이 소모되고 공수가 많이 든다. 확장하는데 제한사항이 많다. 현재 유지되고 있는 인프라를 24/7 모니터링 할 인원을 고용해야 한다. 천재지변에 대응하기 어렵다. Cloud Computing cloud : 구름 ..
2021.11.17 -
TIL47 | Django Exceptions
자주 사용하는 예외 처리 ObjectDoesNotExist MultipleObjectsReturned KeyError JSONDecodeError ObjectDoesNotExist 🚩️ get() get() 함수를 사용할 때 반환되는 객체가 없으면, Model.DoesNotExist exception을 일으킨다. MultipleObjectsReturned 🚩️ get() get() 함수를 사용할 때 둘 이상의 객체를 반환하면, Model.MultipleObjectsReturned exception이 발생된다. KeyError Dictionary Key가 발견되지 않을 때 exception이 발생된다. JSONDecodeError POST method로 데이터를 생성해야 할 때, request.body 값..
2021.11.10 -
TIL46 | Query Performance Counter Decorator
Query performance 측정하기 Django에서 QuerySetAPI를 사용해서 Database의 데이터를 가져올 때, 정확히 어떤 query가 수행되고 어떤 식으로 몇 번 query가 실행되는지 알 수 없다. 이번에 select_related 와 prefetch_related 함수를 공부하면서 두 함수를 사용했을 때와 하지 않았을 때의 성능 차이를 확인하고 싶었는데, connection 객체를 사용해서 성능조회 데코레이터를 구현할 수 있다는 얘기를 듣고 데코레이터를 만들게 되었다. 현재 진행하고 있는 프로젝트에서 전체 상품 리스트를 조회할 때 @count_queries 데코레이터를 사용해서 쿼리 수를 출력한 결과는 다음과 같다. select_related 와 prefetch_related 함수..
2021.11.10 -
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