방구석 코딩쟁이
close
프로필 배경
프로필 로고

방구석 코딩쟁이

  • 분류 전체보기 (83)
    • 프로그래밍 언어 (1)
      • Typescript (1)
      • Javascript (0)
    • 프론트엔드 개발 (15)
      • React (8)
      • Next.js (1)
      • 개발환경 (4)
    • 백엔드 개발 (5)
      • Node.js&Nest.js (5)
    • 프로그래밍 방법론 (12)
      • 함수형 프로그래밍 (5)
      • 객체지향 프로그래밍 (0)
      • 테스트코드 (2)
      • 디자인패턴 (1)
      • 도메인 주도 설계 (4)
      • 아키텍처 (0)
    • 개발환경 (3)
      • Docker (2)
      • Git (1)
      • 클라우드 (0)
    • CS지식 (14)
      • 알고리즘 (0)
      • 자료구조 (1)
      • 데이터베이스 (0)
      • 네트워크 (11)
      • 운영체제 (0)
      • 코딩테스트 (2)
    • 프로젝트들 (5)
      • 졸업작품 (3)
    • Life (14)
      • 계획 (0)
      • 회고 (12)
      • 독후감 (1)
    • 수학 (0)
      • 통계학 (0)
      • 선형대수학 (0)
  • 홈
[HTTP 완벽가이드] 09. 웹 로봇

[HTTP 완벽가이드] 09. 웹 로봇

웹 로봇은 사람과의 상호작용 없이 연속된 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램이다. 많은 로봇이 웹 사이트에서 다른 웹 사이트로 떠돌아다니면서, 콘텐츠를 가져오고, 하이퍼링크를 따라가고, 그들이 발견한 데이터를 처리한다. 이러한 종류의 로봇들은 그들의 동작 방식에 따라 '크롤러', '스파이더', '웜', '봇' 등 다양한 이름으로 불린다. 크롤러와 크롤링웹 크롤러는 웹 페이지를 한 개 가져오고, 그 다음 페이지가 가리키는 모든 웹 페이지를 가져오는 일을 재귀적으로 반복하는 방식으로 웹을 순회하는 로봇이다. 이러한 로봇을 크롤러라고 부른다. HTML 하이퍼링크들로 만들어진 웹을 따라 '기어다니기(crawl)' 때문이다.  어디에서 시작하는가: '루트 집합'크롤링을 시작하기 전, 크롤러에게 출발..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 11. 17.
  • textsms
[HTTP 완벽가이드] 08. 통합점: 게이트웨이, 터널, 릴레이

[HTTP 완벽가이드] 08. 통합점: 게이트웨이, 터널, 릴레이

여러 종류의 리소스에 접근하는데 HTTP가 어떻게 쓰이는지 알아보고, 다른 프로토콜이나 애플리케이션 간 통신에 HTTP를 어떻게 사용하는지 알아보도록 하자. 주요 키워드게이트웨이: 서로 다른 프로토콜과 애플리케이션 간의 HTTP 인터페이스다.애플리케이션 인터페이스: 서로 다른 형식의 웹 애플리케이션이 통신하는데 사용한다.터널: HTTP 커넥션을 통해서 HTTP가 아닌 트래픽을 전송하는데 사용한다.릴레이: 일종의 단순한 HTTP 프락시로, 한 번에 한 개의 홉에 데이터를 전달하는데 사용한다.게이트웨이HTTP의 확장과 인터페이스는 필요에 의해 발전해왔다.웹에 더 복잡한 리소스를 올려야 할 필요가 생기면서 모든 리소스를 한 개의 애플리케이션으로만 처리할 수 없어졌다. 이러한 문제를 해결하기 위해 리소스를 받기..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 11. 3.
  • textsms

Zustand 분석 1 - 상태 관리 코드를 살펴보자

Zustand는 크게 3 가지로 분석해볼 수 있다. 1. state 관리를 위한 vaniila.ts와 react.ts2. mutate를 위한 middleware3. 최적화를 위한 shallow 이번 섹션에서는 1번인 상태 관리 코드를 우선적으로 살펴보고자 한다. 상태 관리 코드는 2가지 파일에 나눠서 관리 중이다. 첫 번째는 vanilla.ts 파일이고, 두 번째는 react.ts 파일이다.react.ts 코드는 JS로 관리하는 상태관리 코드를 `useSyncExternalStore`라는 훅을 통해 리액트의 고유 상태로 넣어주는 코드이다. 때문에, vanilla.ts 파일을 자세히 살펴보면 react.ts 파일을 해석하는 데 오래 걸리지 않는다. `vanilla.ts`이 파일을 살펴보면 크게 2가지 함수..

  • format_list_bulleted 프론트엔드 개발/React
  • · 2024. 10. 24.
  • textsms
취뽀 후기 2024년도 상반기와 하반기 절반을 보내며...

취뽀 후기 2024년도 상반기와 하반기 절반을 보내며...

벌써 10월이 끝나가고 있다... 원래는 여름방학 때, 회고를 쓰려고 했는데 바쁘기도 하고 상반기에 딱히 한 일이 많지 않았기도 하고, 회고 쓸 시간에 공부를 하려고 하다보니 회고를 미루고 미루다가 지금에야 쓰게 되었다.  #1. 졸업작품12월 달부터 고민했던 졸업작품... 결국 개발자의 개발 시간을 측정해주는 VSCode의 Extension을 개발하였고, 이를 시각화해주는 웹 서비스를 구현했다. 사실 이 졸업작품의 의의는 없고, "VSCode Extension은 어떻게 구현할까?"에 대한 단순 호기심으로 인해 서비스 기획을 시작하게 되었다.  거의 혼자 졸업작품을 하면서 CI/CD, 백엔드, Docker의 개념을 익힐 수 있었다. #2. 카카오테크 부트캠프종강 전 후로, 여러 부트캠프에 지원을 했었다..

  • format_list_bulleted Life/회고
  • · 2024. 10. 21.
  • textsms
[HTTP 완벽가이드] 07. 캐시

[HTTP 완벽가이드] 07. 캐시

웹 캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치이다.웹 요청이 캐시에 도착했을 때, 캐시된 로컬 사본이 존재한다면 문서는 원 서버가 아닌 그 캐시로부터 제공된다. 캐시의 장점불필요한 데이터 전송을 줄여 네트워크 비용을 줄일 수 있다.네트워크 병목을 줄여준다.원서버에 대한 요청을 줄여준다.캐시는 물리적 거리로 인한 페이지 요청 지연 시간을 줄여준다.불필요한 데이터 전송복수의 클라이언트가 자주 쓰이는 원 서버 페이지에 접근 시, 서버가 같은 문서를 클라이언트에게 각각 한 번씩 전송한다면?똑같은 바이트들이 네트워크를 통해 계속 반복해서 이동하게 된다.  캐시를 이용하면, 첫 번째 서버 응답은 캐시에 보관되어 중복해서 트래픽을 주고 받는 낭비를 줄일 수 있다. 대역폭 병목캐시는 네트워크 ..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 10. 18.
  • textsms
[HTTP 완벽가이드] 06. 프락시

[HTTP 완벽가이드] 06. 프락시

웹 프락시 서버는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP 메시지를 정리하는 중개인처럼 동작한다. 웹 중계자웹 프락시 서버는 클라이언트 입장에서 트랜잭션을 수행하는 중개인이다.프락시가 없을 때 ➡️ 프락시 서버와 통신프락시가 있을 때 ➡️ HTTP 서버와 직접 통신HTTP 프락시 서버는 웹 서버인 동시에 클라이언트이다. HTTP 클라이언트의 요청을 받고, 요청을 서버로 보내기도 하기 때문이다.  1) 개인 프락시와 공유 프락시프락시 서버는 하나의 클라이언트가 독점적으로 사용할 수도 있고, 여러 클라이언트가 공유할 수도 있다. 2) 프락시 대 게이트웨이 프락시: 같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결게이트웨이: 서로 다른 프로토콜을 사용하는 둘 이상을 연결 실질적으로 프락시와..

  • format_list_bulleted CS지식/네트워크
  • · 2024. 10. 13.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 14
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (83)
    • 프로그래밍 언어 (1)
      • Typescript (1)
      • Javascript (0)
    • 프론트엔드 개발 (15)
      • React (8)
      • Next.js (1)
      • 개발환경 (4)
    • 백엔드 개발 (5)
      • Node.js&Nest.js (5)
    • 프로그래밍 방법론 (12)
      • 함수형 프로그래밍 (5)
      • 객체지향 프로그래밍 (0)
      • 테스트코드 (2)
      • 디자인패턴 (1)
      • 도메인 주도 설계 (4)
      • 아키텍처 (0)
    • 개발환경 (3)
      • Docker (2)
      • Git (1)
      • 클라우드 (0)
    • CS지식 (14)
      • 알고리즘 (0)
      • 자료구조 (1)
      • 데이터베이스 (0)
      • 네트워크 (11)
      • 운영체제 (0)
      • 코딩테스트 (2)
    • 프로젝트들 (5)
      • 졸업작품 (3)
    • Life (14)
      • 계획 (0)
      • 회고 (12)
      • 독후감 (1)
    • 수학 (0)
      • 통계학 (0)
      • 선형대수학 (0)
최근 글
인기 글
최근 댓글
태그
  • #테스트코드
  • #MFA
  • #ci/cd
  • #마이크로 프론트엔드
  • #항해플러스
  • #React
  • #항해99
  • #http
  • #HTTP 완벽가이드
  • #항해
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바