목록분류 전체보기 (112)
Shine's dev log
face_recognition은 얼굴 인식이나 신원 인증에 사용하는 파이썬 라이브러리이다. face_recognition 라이브러리를 포함한 파이썬 파일을 pyinstaller를 통해 exe로 변환하고 싶어서 변환을 했는데 아래와 같은 오류가 떴다. 대충 살펴보면 뭐 face_recognition_models/models/ 경로에 shape_prediction_68_face_landmark.dat 데이터 파일이 없다는 그런 오류이다. 해결법) 우선 shape_prediction_68_face_landmark.dat 와 같은 데이터 파일들을 다운받아야 한다. 파이썬 프로젝트에서 라이브러리 폴더에 가서 face_recognition_models 폴더에 있는 4개의 데이터 파일을 복사해놓는다. 나는 파이썬 프..
1. local 네트워크 보통 컴퓨터의 cmd에서 ipconfig 명령어를 통해 IP 주소를 확인해보면, 192.168.~ 이렇게 시작하는 경우가 많을 것이다. 하지만, 네이버에 IP 주소 확인이라고 검색해보면 나오는 IP주소는 위의 주소와 다르게 나온다. 같은 컴퓨터로 똑같이 IP 주소를 검색했는데 다르게 나오는 이유는 무엇일까? 보통 사용자들이 사용하는 네트워크는 local 네트워크를 사용한다. 아래 그림에서 라우터 오른쪽에 있는 subnet을 local 네트워크라고 칭하는데, 그 속에서는 자체적인 IP 주소를 사용한다. 원래 IP 주소는 겹치면 안되지만, local 네트워크 속에서는 다른 local 네트워크와 같은 IP주소를 써도 상관 없다. 예를들어, 110동 901호에 사는 사람과 112동 90..
1. IP 주소 일반적으로 IP 프로토콜에서는 호스트들을 구분하기 위해 IP 주소를 사용한다. 이때까지 가장 많이 쓰인 IPv4 주소의 경우, 32bit로 이루어져 있으며, 4개의 바이트를 . 으로 구분하여 표시한다. IP 주소는 아래와 같이 크게 두가지 파트로 나눌 수 있다. 1) subnet part - 라우터를 통하지 않고도 서로 물리적으로 닿을 수 있는 네트워크를 나타내는 bit들 - 네트워크 구조에서 라우터를 제거해보면 어느부분이 subnet인지 알 수 있음 2) host part - subnet part 하위의 bit들 2. CIDR (Classless Inter Domain Routing) IP 주소를 표현하는 방식에는 class를 활용하는 방법과 활용하지 않는 방법이 있다. 우선 class..
1. IP 프로토콜 다양한 프로토콜이 뒤섞여있는 다른 layer와는 다르게 network layer는 IP 프로토콜이 거의 유일하다고 볼 수 있다. 과거에는 network layer에 다양한 프로토콜이 존재하였으나 시간이 흐르고, 결국 살아남은 프로토콜은 IP(Internet Protocol) 하나뿐이다. IP의 특징으로는 크게 비신뢰성(unreliability)와 비연결성(connectionlessness)가 있다. 비신뢰성은 IP 프로토콜이 전송하는 데이터가 정확하게 갔는지 확인하지 않는 것이고, 비연결성은 데이터 전송 이전에 미리 설정과정을 거치지 않는 것이다. 따라서 신뢰성있는 통신을 하기 위해서는 상위 레이어의 TCP와 같은 프로토콜을 활용해야 한다. 2. IP header IP 프로토콜의 pa..
1. Network layer TCP/IP 프로토콜 스택에서 Transport layer 아래에 위치하며, 컴퓨터 네트워크의 핵심이라고 볼 수 있는 Network layer에 대하여 알아보자. 2. Network layer의 핵심 기능 Network layer의 핵심 기능은 크게 두가지가 있다. 1) Forwarding - data plane이 담당 - 패킷이 들어왔을 때, 내보내는 액션을 취하는 기능 2) Routing - control plane이 담당 - 들어온 패킷을 어디로 보낼지 판단하는 기능 - 라우터가 길을 판단하기 위해서는 라우터끼리 메시지로 길을 그려야 함 (Routing protocol) 3. Data plane & Control plane 1) Data plane - 적용 범위가 라우..
1. congestion control congestion control은 네트워크 상의 혼잡을 줄이기 위해 패킷의 전송량을 조절하는 것이다. 혼잡이 발생하는 이유는 라우터의 버퍼가 유한하기 때문이다. 이로인해 패킷 delay나 loss가 일어날 수 있기 때문에 congestion control이 꼭 필요하다. 아래 그림에서 라우터의 input link로 들어가는 패킷의 양이 증가함에 따라 output link로 나가는 패킷의 양은 그래프와 같이 나타난다. 그래프에서 가장 최대값 지점을 찾는 과정이 congestion control이라고 보면 된다. 2. cwnd (congestion window) congestion window (혹은 flight size)는 sender가 ack을 받기 전에 보낼 수..