2장 간단한 프로토콜 HTTP 2.1 HTTP는 클라이언트와 서버 간에 통신을 한다 리소스를 요청하는 쪽이 클라이언트, 리소스를 제공하는 쪽이 서버가 된다. HTTP는 클라이언트와 서버의 역활을 명확히 구분하고 있다. 2.2 리퀘스트와 리스폰스를 교환하여 성립 HTTP는 반드시 클라이언트로부터 통신이 시작되고 그 결과가 서버로부터 돌아온다. 서버측은 리퀘스트를 수신하지 않으면 리스폰스가 발생하는 경우는 없다. 2.3 HTTP는 상태를 유지하지 않는 프로토콜이다 HTTP는 상태를 유지하지 않는 stateless 프로토콜이다. 이전에 보냈던 리퀘스트나 리스폰스에 대해서는 전혀 기억하지 못한다. 로그인 상태를 유지하는 등 상태를 유지하기 위해 쿠키라는 기술이 도입되었다. 2.4 리퀘스트 URI로 리소스를 식별..
1장 웹과 네트워크의 기본에 대해 알아보자 1.1 웹은 HTTP로 나타낸다 웹 브라우저에 www.naver.com을 입력하면 우리는 네이버라는 웹 페이지를 볼 수 있다. 입력란에 지정된 URL을 통해 네이버 서버로부터 index.html이라는 리소스를 받게 되기 때문이다. 요청을 하는 웹 브라우저등을 클라이언트라고 하고 요청을 받아서 응답하는 쪽을 서버라고 한다. 클라이언트와 서버간의 통신은 HTTP라는 프로토콜을 기반으로 이루어진다. 1.2 HTTP는 이렇게 태어났고 성장했다. 1.2.1 웹은 지식 공유를 위해 고안되었다 1989년 3월에 HTTP는 탄생했다. CERN(유럽 입자 물리학 연구소)의 팀 버너스 리는 멀리 떨어져 있는 동료 연구자와 지식을 공용하게 할 수 있는 시스템을 고안하였는데 이것이 ..
2회차 6장 기본적인 리팩터링 함수 추출하기 function printOwing(invoice) { printBanner(); let outstanding = calculateOutstanding(); console.log('...'); console.log('...'); } function printOwing(invoice) { printBanner(); let outstanding = calculateOutstanding(); printDetails(outstanding); } function printDetails(outstating) { console.log(`채무액: ${outstanding}`); } 목적과 구현을 분리한다. 하나의 일, 하나의 책임만 갖도록 만들자. console.log를 어..
밖에서 돌아다닐 때 서점이 보이면 항상 들어가서 개발 서적을 구경하고는 하는데, 개발 서적이 있는 쪽으로 가기 전에 망그러진 곰이 시선을 사로잡아서 도저히 지나칠 수 없었다. 그래서 구매했는데 엄청 만족스럽다. 여러 가지 주제가 있고 각 주제마다 3~4p 정도의 만화로 구성이 되는데 자기 전에 보면 기분이 너무 좋다! 귀엽다~~
원티드 챌린지를 듣다가 현석님께서 예전에는 10개중에 3개만 잘하면 됐다면 이제는 10개중에 1개만 못해도 안되는 상황이라는 얘기를 해주셨는데 많이 와닿았던 것 같다. 그만큼 기술에 관련해서는 하나의 빈틈이라도 허용한다면 이제는 살아남을 수 없구나 싶었다. 매 순간 의미있는 선택을 해야하고 비즈니스 요구사항을 해결하기 위한 최고의 방법을 찾아내야 한다.(물론 어려운 일이지만) Next.js에서 적용할 수 있는 렌더링 방식중에는 ISR이 있다. ISR은 실제로 어떻게 적용이 되는걸까? HTTP Header의 Cache-Control, s-maxage, stale-whilte-revalidate 네트워크 지식이 중요하다는 것을 제대로 느낄 수 있었다.
첫 번째 예시 공연료 청구서를 출력하는 코드 예시 import plays from "./plays.json"; import invoices from "./invoices.json"; function getInvoiceCustomer(customer) { return `청구내역 (고객명: ${customer})\\n`; } function statement(invoice, plays) { let totalAmount = 0; let volumeCredits = 0; let result = `청구내역 (고객명: ${invoice.customer})\\n`; // let result = getInvoiceCustomer(invoice.customer); const format = new Intl.NumberF..
완독했다. 중간 이후부터 내용이 더욱 좋았던 것 같고 실제 실무에 사용하는 예시를 보고 저도 고민해보는 시간이 좋았던 것 같다. 다음 책으로는 리팩토링 2판과 모던 리액트 Deep Dive를 같이 읽을 예정. 코테를 레벨2부터 하루에 하나씩 풀어보고 있는데 꾸준히 이어나가보기.