공유기 공유기는 1개의 IP 주소를 가지고 여러 대의 기계에서 인터넷을 사용할 수 있게 도와주는 장비이다. 즉, 1개의 IP를 최대 255개의 장비에 IP를 할당해주는 역할을 한다. 그럼 우리가 집에서 사용하는 공유기들의 포트 구성을 살펴보자. 보면 1개의 WAN과 4개의 LAN으로 구성되어 있는 것을 볼 수 있다. 즉, 최대 255개까지 IP를 할당할 수 있는데, 와이파이를 사용하지 않는다고 가정하면 우린느 최대 4개의 포트밖에 사용하지 못하는 것이다. 이러한 이유때문에 회사에서는 스위칭 허브라는 장비를 사용하게 된다. 참고로 이건 팁인데, ipTIME 사고 집에 설치된 랜포트에 랜선을 연결하고(인터넷 전용 회선), 이 회선을 공유기 WAN 포트에 다음 그림과 같이 연결시켜줘야 한다. 그리고 데스크탑과..
Web Proxy Web Proxy는 웹 브라우저와 end server 사이에서 중간자 역할을 하는 프로그램으로, 웹 페이지를 가져오기 위해서 브라우저가 end server에 직접 연결하는 대신에 proxy server에 연결하여 요청을 전달할 수 있다. 그리고 end server가 proxy server에 응답을 하면, proxy server가 응답을 브라우저에 전달을 하는 방식이다. proxy의 역할 Firewall 프록시는 방화벽 외부에 있는 브라우저가 end server에 접근할 때, 프로시를 통해서만 접근이 가능하게 만들어주는 중개자 역할을 할 수 있다. 즉, 이러한 기능을 통해 내부 네트워크는 외부로부터 보호될 수 있다. Anonymizers(익명 처리기) 클라이언트가 직접 서버와 통시하는 경..
플레이그라운드 왼쪽 화면이 API 연습 화면이고, 오른쪽 화면이 API-docs이다. !(느낌표)가 붙은 경우는 필수 입력값이다. 1 단계: 이름으로 조회 (profile) name은 동명이인이 있을 수 있기 때문에 백엔드에서 잘못 만들어진 API이다. mutation - create query (목록 조회) query (상세 조회) 2단계: 게시글 생성되는 게시글 번호(number)가 고유 번호이므로, 상세 조회 시에 number를 입력하여 원하는 값을 반환받게 된다. 하지만, 이 API는 수정하는데 있어서 문제가 있다. mutation - create query - 상세 조회 mutation - update 일반적으로 수정의 경우는 '어떤 게시글을 어떻게 수정해줘'라는 2가지 조건으로 나눠서 하게된다..
JWT는 토큰 기반의 인증이다. 즉, 클라이언트는 인증이 필요한 API를 사용할 때 토큰을 함께 보낸다. 발급받은 JWT를 이용해 인증을 하려면 HTTP 요청 헤더 중에 Authorization 키값에 Bearer + JWT 토큰값을 넣어서 보내야한다. JWT 구조 JWT는 .을 기준으로 헤더.내용.서명으로 이루어져 있다. 헤더 헤더에는 토큰의 타입과 해싱 알고리즘을 지정하는 정보를 담는다. { "typ": "JWT", "alg": "HS256" } 내용 내용에는 토큰과 관련된 정보를 담는다. 내용의 한 덩어리를 claim이라고 부르며, 클레임은 키값의 한 쌍으로 이루어져 있다. 그리고 클레임은 등록된 클레임, 공개 클레임, 비공개 클레임으로 나눌 수 있다. 등록된 클레임은 토큰에 대한 정보를 담는데 사..
memcpy와 memmove 두 함수는 모두 특정 메모리를 다른 메모리로 복사할 때 사용된다. 이번 포스팅에서는 두 함수의 사용법과 차이점에 대해 알아보자. 두 함수 모두 특정 메모리 주소에서 원하는 크기만큼 다른 곳으로 복사시켜 주고, memory.h 또는 string.h 헤더 파일에 포함되어 있다. 그럼 함수의 반환 타입과 인자값에 대해 조금 더 자세히 알아보자. memcpy void* memcpy (void* dest, void* src, size_t size); dest: 복사되는 메모리의 첫번째 주소 src: 복사할 메모리의 첫번째 주소 size: 복사할 크기 (byte) 반환값: 성공시 dest, 실패시 NULL memmove void* memmove (void* dest, void* src,..