전체 글

다양한 생각들을 기록합니다.
TIL/개발

[리팩토링 2판 스터디] 3회차 정리

조건부 로직 간소화 조건부 로직은 특별한 경우에 어떤 로직이 실행되는 것인데 도메인이 복잡해질수록 조건식도 복잡해질 수 밖에 없다. 복잡해진 조건식을 잘 다루지 못하면 코드를 읽는게 어렵고 버그가 발생할 확률이 높다. 그래서 잘 다뤄야 한다. 10.1 조건문 분해하기 if(!aDate.isBefore(plan.summerStart) && !aDate.isAfter(plan.summerEnd)) { charge = quantity * plan.summerRate; } else { charge = quantity * plan.summerRate + plan.regularServiceCharge; } if(summer()){ charge = summerCharge(); } else { charge = regu..

TIL/개발

그림으로 배우는 Http & Network Basic - 4장

4장 결과를 전달하는 HTTP 상태 코드 클라이언트가 HTTP 리퀘스트를 보낸 결과, 즉 서버가 정상적으로 처리되었는지 아니면 에러가 발생했는지를 알려주는게 HTTP 상태 코드다. 4.1 상태 코드는 서버로부터 리퀘스트 결과를 전달한다. 클라이언트가 서버를 향해 리퀘스트를 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려주는 것이 상태 코드의 역할이다. 정상적으로 처리했는지 에러였는지 알 수 있다. 200 OK와 같이 3자리 숫자와 설명으로 나타낸다. 1xx(Informational): 리퀘스트를 받아들여 처리중 2xx(Success): 리퀘스트를 정상적으로 처리했음 3xx(Redirection): 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx(Client Error): 서버는 리퀘스트 이해 불가능..

TIL/개발

그림으로 배우는 Http & Network Basic - 3장

3장 HTTP 정보는 HTTP 메시지에 있다. HTTP 통신에는 클라이언트에서 서버로 보내는 리퀘스트와 서버에서 클라이언트로 보내는 리스폰스가 있다. 3.1 HTTP 메시지 HTTP에서 교환하는 정보를 HTTP 메시지라고 하고 리퀘스트측 메시지는 리퀘스트 메시지, 리스폰스측 메시지는 리스폰스 메시지라고 한다. HTTP 메시지는 복수행의 데이터로 구성된 텍스트 문자열이고 크게 구분하면 메시지 헤더와 메시지 바디로 구분되며 개행 문자(CR+LF)로 메시지 헤더와 메시지 바디를 구분한다. 메시지 바디가 항상 존재하는 것은 아님(GET, DELETE등) 메시지 헤더: 서버와 클라이언트가 꼭 처리해야 하는 리퀘스트와 리스폰스 내용과 속성등 메시지 바디: 꼭 전송되는 데이터 그 자체 3.2 리퀘스트 메시지와 리스폰..

TIL/개발

Partial Prerendering(PPR)은 어떤 렌더링 방식일까?

Next.js 14 버전의 패치노트를 보면 Partial Prerendeing(PPR)이라는 것을 Preivew 단계로 소개하고 있습니다. 간단한 설명으로는 정적 리소스의 빠른 응답과 동적인 컨텐츠의 스트리밍이라고 표현하고 있는데 오묘한 느낌이라 제대로 이해하기 위해 해당 방식을 찾아보았습니다. 앞으로는 Partial Prerendering은 PPR이라고 표현하겠습니다. PPR이란? PPR은 하나의 페이지에서 static한 부분은 사용자에게 바로 보여주고, dynamic한 부분은 fallback을 보여주다가 컴포넌트의 준비가 끝나면 해당 컴포넌트를 보여주게 됩니다. 하나의 페이지에서 static, dynamic한 렌더링을 새로운 API를 학습할 필요 없이 더욱 빠르게 제공할 수 있게 해줍니다. PPR은 ..

NEXTSTEP/글쓰기 워크숍 2기

[글쓰기 워크숍 2기] 나의 커리어를 행복하게 만들기

창의적인 저자 소개 안녕하세요, 저는 프론트엔드 개발자로 일을 하고 있는 키보드워리어 ‘유승완'입니다. 개발자라는 직업은 단순히 코드를 작성하는 것을 넘어서 좋은 세상을 만들기 위해 고군분투하는 직업이라고 생각을 하고 있습니다. 그리고 그 과정속에서 더 좋은 제품을 만들기 위해서 다른 동료분들과 깊이 고민하고 코드와 싸우는 일을 한다고 생각합니다. 그래서 저는 저를 키보드로 전투를 하는 키보드워리어라고 소개하고 있습니다. 나의 커리어를 행복하게 만들기 나는 왜 개발자를 직업으로 선택했을까 이 질문의 답을 찾기 위해서는 나의 어린 시절을 돌아봐야 할 것 같다. 어릴적의 나는 학원에 다니며 컴퓨터 게임을 좋아하는 평범한 학생이었다. 학교에 다니다 보면 계속 작성해야 했던 것이 있었는데 매년 장래희망을 적는 ..

TIL/일일 회고

[일일 회고] 2023-12-09

1박 2일로 강릉을 다녀왔다. 어정쩡하게 쉬는 느낌이 있었는데 아예 푹 쉬니까 훨씬 좋았다. 바다도 좋았고 맛있는 것도 많이 먹었고 리프레쉬가 잘 된 것 같다. 기념품들도 사 왔는데 적당히 잘 산 것 같다.

TIL/개발

그림으로 배우는 Http & Network Basic - 2장

2장 간단한 프로토콜 HTTP 2.1 HTTP는 클라이언트와 서버 간에 통신을 한다 리소스를 요청하는 쪽이 클라이언트, 리소스를 제공하는 쪽이 서버가 된다. HTTP는 클라이언트와 서버의 역활을 명확히 구분하고 있다. 2.2 리퀘스트와 리스폰스를 교환하여 성립 HTTP는 반드시 클라이언트로부터 통신이 시작되고 그 결과가 서버로부터 돌아온다. 서버측은 리퀘스트를 수신하지 않으면 리스폰스가 발생하는 경우는 없다. 2.3 HTTP는 상태를 유지하지 않는 프로토콜이다 HTTP는 상태를 유지하지 않는 stateless 프로토콜이다. 이전에 보냈던 리퀘스트나 리스폰스에 대해서는 전혀 기억하지 못한다. 로그인 상태를 유지하는 등 상태를 유지하기 위해 쿠키라는 기술이 도입되었다. 2.4 리퀘스트 URI로 리소스를 식별..

TIL/개발

그림으로 배우는 Http & Network Basic - 1장

1장 웹과 네트워크의 기본에 대해 알아보자 1.1 웹은 HTTP로 나타낸다 웹 브라우저에 www.naver.com을 입력하면 우리는 네이버라는 웹 페이지를 볼 수 있다. 입력란에 지정된 URL을 통해 네이버 서버로부터 index.html이라는 리소스를 받게 되기 때문이다. 요청을 하는 웹 브라우저등을 클라이언트라고 하고 요청을 받아서 응답하는 쪽을 서버라고 한다. 클라이언트와 서버간의 통신은 HTTP라는 프로토콜을 기반으로 이루어진다. 1.2 HTTP는 이렇게 태어났고 성장했다. 1.2.1 웹은 지식 공유를 위해 고안되었다 1989년 3월에 HTTP는 탄생했다. CERN(유럽 입자 물리학 연구소)의 팀 버너스 리는 멀리 떨어져 있는 동료 연구자와 지식을 공용하게 할 수 있는 시스템을 고안하였는데 이것이 ..

유승완
유승완