본문 바로가기

공부

(3)
클린 코드 - 주석,포맷팅 주석 관용적으로 사용되는 키워드 TODO : 당장은 아니지만 다음에 해야 할 때 FIXME : 치명적인 에러를 발생하는 코드는 아니지만 수정해야할 때 XXX : 더 생각해볼 필요가 있을 때 # TODO : 객체의 책임 더 분리하기 class GrabStore: ... # FIXME: 반복문의 depth 줄이기 def sell_food(self): for food in food_list: for discount in discount_list: ... 포맷팅 Vertical Formatting 한 파일에 코드를 다 넣지 말고, 개념에 맞게 파일을 나눠서 사용 # fruit_store.py class FruitesStore: ... # cumputer_store.py class ComputerStore: ....
[HTTP의 이해] 2. Conditional Get / Caching Conditional Get 클라이언트는 이전에 한번 요청해서 돌려받은 리소스에 대해 다시 한번 요청을 할 때, 불필요한 트래픽을 줄이기위해 해당 리소스가 변경된 경우에만 다시 보내달라고 요청할 수 있다. Cache는 언제 사용되는가 Conditional Get을 이용해 트래픽을 줄일 수는 있지만, Round Trip은 줄일 수 없다. 어떤 리소스에 변경이 있었는지 확인하려면 반드시 Origin 서버에 요청을 보내고 응답이 올때까지 기다려야만 한다. (Origin 서버가 먼 곳에 있다면, 이 지연은 수백ms에 달할 수도 있다.) 사용자가 오래 기다리지 않고 빨리 리소스를 받을 수 있게하고 싶다. Response Header 중 expires, age, cache-control: max-age로 리소스의 ..
[HTTP의 이해] 1. 개요, HTTP 메소드, HTTP 상태 코드 HTTP(Hyper Text Transfer Protocol) Application Layer Protocol (OSI 7) 신뢰할만한 전송 혹은 세션 레이어의 연결을 통해 메시지를 주고받는, 상태가 없는(stateless) 요청/응답 프로토콜 HTTP Client 서버와 연결을 맺고 하나 이상의 HTTP 메시지를 보내는 프로그램 HTTP Server 클라이언트의 연결을 수락하고 HTTP 요청을 처리하여 응답을 보내주는 프로그램 HTTP Method Properties Idempotent : 여러번 요청해도 의도한 효과는 한번 요청한 것과 같다. Safe : 근본적으로 read-only인 효과를 의도한 요청 1. Get "서버의 리소스를 달라" Safe, Idempotent GET /example HTT..