전체 글 328

[TIL] 프록시 캐시

🤓배움 요약하기 프록시 캐시가 무엇인가요? 프록시는 클라이언트와 서버 사이에 대리로 통신을 수행하는 것을 가리켜 프록시(Proxy)라고 하고, 그 중계 기능을 하는 서버를 프록시 서버라고 한다. ✔️ 프록시 캐시 한국에 있는 클라이언트가 미국에 있는 서버에서 데이터를 요청할 때 실제로 미국에 있는 원서버까지 가서 요청하지 않는다. 시간도 오래걸리고 효율적이지 않다. 그래서 한국 어딘가에 프록시 캐서 서버라는 걸 도입한다. (CDN 서버라고도 한다. ) 한국인들이 잘 보지 않는 유튜브를 보면 로딩속도가 느리다... 이게 바로 프록시 캐시 서버..!! 한국 클라이언트가 최초 요청시에는 느려도, 두번째 유저부터는 빠르다. 😃 이 시리즈는 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 정리하였습니다..

코멘토 실무PT 후기 챌린지_리액트 강의 1주차 후기

부트캠프를 통해 프로젝트를 경험했지만, 더 나은 코드를 위해 고민하는 시간이 길었습니다. 폴더 구조를 어떻게 나누면 좋을지, 클린 코드는 어떻게 짜면 될지 이 해답을 위해서 다른 분들의 레파지토리를 참고하기도 했습니다. 그리고 제가 짠 코드를 리뷰를 받고 싶은 마음에 코멘토 실무PT를 신청했습니다. 진행은 현직 프론트엔드 개발자 멘토님이 준비한 내용을 수업 형식으로 듣고 과제를 하고 제출한 뒤 피드백을 받는 식으로 진행됩니다. 기간은 총 4주로 4번의 강의와 3번의 과제로 진행됩니다. ✔️ 1주차 실무 PT 주제 React로 기획의도 맞는 기능 구현하기 ✔️ 이번 주 수업을 통해서 배운 점 ✦ 개발 플로우 기획 문서 작성 👉 화면설계서, 플로우차트 (시스템 흐름도), 프로세스 정의서 디자인 문서 작성 👉..

유용한 vscode 익스텐션 추천! file-tree-generator

기업 과제를 하거나 프로젝트 후 리드미를 꾸미는 건 개발자의 필수 역량이라는 말을 듣고 리드미 작성하는데 관심이 생겼습니다. 그래서 다른 분들의 프로젝트 리드미를 구경하다가 프로젝트 파일 구조를 보기 쉽게 작성하신 분들이 많다는 걸 알았고, 저도 그 방법에 대해서 궁금했습니다. 저는 최근에 비지니스 로직과 뷰 로직을 분리하는 것에 관심이 생기기도 했고, react-query를 사용한 프로젝트에서 데이터를 관리하는 로직을 hook으로 만들어서 사용한 간단한 프로젝트가 있었는데 내가 관심사 분리를 했다고 다른 사람들에게 자랑하고 싶은 마음이 컸습니다. 그래서 발견한 vscode의 익스텐션! file-tree-generator ⚡️file-tree-generator ⚡️사용방법 트리 구조로 시각화하고 싶은 파..

[TIL] 캐시 & 검증헤더와 조건부 요청

🤓배움 요약하기 캐시가 무엇인가요? 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스 해주는 것을 말합니다. 캐시 덕분에 비싼 네트워크 사용량을 줄일 수 있고 브라우저 로딩 속도가 빠르기 때문에 빠른 사용자 경험이 가능하다는 장점이 있습니다. 검증 헤더와 조건부 헤더이란? 검증헤더와 조건부 요청을 사용하면 캐시 유효 시간이 초과해도 서버의 데이터가 갱신되지 않으면 304 Not Modified와 함께 헤더만 응답해서 네트워크 다운로드가 아주 적게 발생해서 캐시보다 매우 효율적으로 데이터를 전송할 수 있습니다. ✔️ 캐시가 없다면? 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 느리고 비싸기 때문에 웹 개발자라면 신경을 써야한다. 느린 사용자 경험 ✔..

[TIL] 쿠키

🤓배움 요약하기 쿠키의 가장 큰 특징이 무엇인가요? 쿠키는 지정한 서버에 대해서는 모든 요청에 쿠키 정보를 자동으로 포함하는 점이 가장 큰 특징이라고 생각합니다. ✔️ 쿠키 Set-Cookie : 서버에서 클라이언트로 쿠키를 전달 (응답) Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고 HTTP 요청시 서버로 전달한다. 참고로 HTTP는 무상태(stateless) 프로토콜이라서 클라이언트와 서버는 요청과 응답을 주고 받으면 연결이 끊어져서 서로 상태를 유지하지 않는다는 특징이 있다. 이것을 위한 대안으로 모든 요청에 사용자 정보를 포함해서 보내는 방법이 있다. => 모든 요청에 사용자 정보가 포함되도록 개발해야해서 개발자가 힘들고, 보안에도 문제가 있고 심각한 문제가 있다. 여기서 쿠키를 사용..

IT 5분 잡학사전 by 니꼴라스

면접을 보면서 내가 아는 내용을 다른 사람에게 말로 제대로 설명하는게 생각보다 어렵다는 걸 알고나서 제대로 알아야겠다고 생각했습니다. 그래서 자바스크립트는 Deep Dive 책으로, HTTP 기본 개념은 인프런 강의로 지식을 채워나가고 있습니다. 그 외 부분은 두루두루 넓게 아는게 우선인 것 같아서 노마드코더 챌린지로 IT 기본 지식을 공부하고자 합니다. 이 책을 통해 얻고 싶은 것 IT 기본 지식 습득해서 당당한 웹 개발자 되기 이 책을 읽고 추가로 공부한 것 인터프리트 언어(interpreted language)와 컴파일 언어(compiled language)의 차이 => 인터프리터 언어는 빌드과정이 없이 바로 고급언어에서 한줄 씩 읽어서 실행합니다. 반면에 컴파일러 언어와 같은 C, Java는 .c..

프리온보딩 타입스크립트 + 리액트쿼리 과제 refactoring 일지

1. 맥락 이해하기 쉬운 변수명으로 통일 참고 타입별 변수명 boolean : is-, has-, can-, ... function : get-, handle-, submit-, … array : -s (ex. users.map(user ⇒ user.id)), … 피해야 할 변수명 data, info, foo, user1, mdhms, … 이벤트 함수나 api 함수명을 ~ handler로 통일했습니다. onSubmit => submitHandler changeButton => changeButtonHandler handleEdit => editHandler handleDelete => deleteHandler 2. typescript에서 'any' 없애기 Axios의 interceptors 라는 기능을 ..

[TIL] HTTP 상태코드 ⚡️

🤓배움 요약하기 HTTP 상태 코드에 대해서 설명해주세요. HTTP 상태코드는 클라이언트가 보낸 요청의 처리 상태를 서버에서 응답해주는 코드입니다. 200번대 코드는 클라이언트가 보낸 요청이 제대로 성공했음을 알려주는 코드이고, 300번대는 클라이언트의 요청이 완료되려면 추가적인 조치가 필요하다는 뜻이고, location 헤더가 있으면 location 위치로 리다이렉션된다는 특징이 있습니다. 400번대 코드는 클라이언트에서 잘못된 코드나 데이터를 보내서 나타나는 에러코드이고, 500번대 에러는 서버에 문제가 생겨서 나타나는 에러코드 입니다. 프로젝트에서 멘토로 잠시 만났던 분이 웹 개발자라면 HTTP 상태코드에 대해서는 빠삭하게 알고 있어야 한다고 강조하셨는데 이번에서야 제대로 공부할 수 있었습니다. ✔..

[TIL] 클라이언트에서 서버로 데이터 전송

✔️ 클라이언트에서 서버로 데이터 전달 방식 1. 쿼리 파라미터를 통한 데이터 전송 (GET) => 주로 정렬 필터 (검색어) 2. 메세지 바디를 통한 데이터 전송 (POST, PUT, PATCH) => 회원가입, 상품 주문, 리소스 등록, 리소스 변경 등등 ✔️ 클라이언트에서 서버로 데이터 전송 상황 1. 정적 데이터 조회 (GET) 이미지, 정적 텍스트 문서 일반적으로 리소스 경로로 단순하게 조회 가능 2. 동적 데이터 조회 (GET) 주로 검색, 게시판 목록에서 정렬 필터(검색어) GET은 쿼리 파라미터를 사용해서 데이터를 전달한다. 3. HTML Form을 통한 데이터 전송 (GET, POST) 회원가입, 상품 주문, 데이터 변경 GET, POST만 지원하므로 컨트롤 URI를 사용한다. ex) P..