본문 바로가기

전체 글30

<비전공자도 이해할 수 있는 AI 지식>을 읽고 박상길 님께서 최근에 집필하신 책이다. 박상길 님은 파이썬 알고리즘 인터뷰의 저자이다. 파이썬 알고리즘 인터뷰을 너무 즐겁게 봐서, 큰 고민 하지 않고 바로 구매했다. 추가로, 파이썬 알고리즘 인터뷰와 동일하게 정진호 님이 일러스트로 참여했다. 정말 그림이 내용을 이해하는데 큰 도움이 된다. 정진호 님이 최근에 참여하신 자동차 인터페이스 디자인 책을 빠른 시일 내에 읽어보려고 한다. 책은 다른 AI 관련 도서와 달리 수식과 이론에 집중하지 않는다. 자율주행, 기계번역 등의 기술의 탄생 배경과 역사를 중심으로 설명하여, 어떻게 AI가 우리의 실생활에 활용되고 있는지 알려준다. AI 도서 중 이렇게 쉽고, 재밌고, 자세히 알려준 책은 보지 못한 것 같다. 아마 현업에서 AI 관련 업무를 하시고 계셔서 그런 .. 2022. 7. 12.
[HTTP] HTTP란? (+07/26 내용 일부 수정) HTTP(HyperText Transfer Protocol) HTTP는 애플리케이션 레이어(L7)에서 데이터를 주고받기 위한 프로토콜이며, TCP 기반에서 동작한다. (RFC 2616을 참고) HTTP는 프로세스 간 통신(IPC)이라고도 말할 수 있다. 우리가 사용하고 있는 브라우저는 하나의 프로세스이다. 그래서 브라우저가 서버로 정적 파일(html, css, 이미지 등)을 받아 오는 과정은 프로세스 간 통신이라고 말할 수 있다. (IPC, Inter Process Communication) 브라우저가 서버로 부터 이미지를 받아오는 상황을 가정해보자. 서버는 TCP 소켓을 80번 포트(TCP 포트)에 바인딩되고 있을 것이다. 이후 브라우저의 클라이언트 TCP 소켓이 서버에.. 2022. 7. 11.
[TCP] 혼잡 제어(Congestion Control) 호스트의 상황을 넘어 네트워크 상황으로 TCP의 각 호스트는 Send Buffer, Receive Buffer을 가지고 있다. 송신 호스트의 Send Buffer는 수신 호스트의 Receive Buffer 여유 공간에 영향을 받는다. Receiver Buffer의 정보는 TCP 헤더의 Window Size에 담겨 보내진다. 여기에 네트워크의 혼잡 상태를 추가로 적용한 예시를 확인해보자. 상황 1 네트워크 상황이 좋아 최대 100개의 패킷을 보낼 수 있다. 하지만 수신자의 Receive Buffer의 여유 공간은 50 패킷 정도이다. 이때 송신자는 최대로 50개의 패킷만 보낼 수 있다. 상황 2 상황 1과 반대로 네트워크 상황이 좋지 않아 최대 30개의 패킷만 보낼 수 있다. 여전히 수신자의 Receive.. 2022. 7. 7.
[TCP] 파이프 라이닝(Pipelining) Pipelining 패킷을 전송 후 피드백(응답)을 받기 전까지의 시간을 RTT(Round Trip Time)라고 한다. 만약 패킷을 전송하고 응답받을 때까지 다른 패킷을 보내지 않는 다면 RTT 동안 네트워크를 사용하지 않아 성능적인 이슈가 발생한다. 이를 해결하기 위한 방법이 Pipelining이다. Pipelining이란 특정 크기만큼의 패킷을 한 번에 전송 후 피드백을 받는 방법이다. 구현 방법에는 Go-Back-N과 Selective Repeat이 있다. Go-Back-N Go-Back-N은 윈도우 사이즈를 N으로 지정하여, 패킷의 전송을 실패한 경우 N개의 패킷을 모두 다시 전송하는 방법이다. 패킷 전송이 실패되는 경우는 패킷에 타임아웃이 발생한 경우이다. (*참고. 수신자 측은 이미 받은 패.. 2022. 7. 6.
<타입스크립트 프로그래밍>을 읽고 점점 타입스크립트를 사용하지 않고 자바스크립트를 개발하는게 어색해지고 있다. 심지어 자바스크립트에 Type Annotation을 적용하려는 제안이 tc39의 stage1 단계에 있다. (관련 링크) 타입스크립트를 사용하면 컴파일 시점에 정적으로 타입을 검사할 수 있어 코드의 안정성이 올라가고, IDE에서 자동 완성을 사용할 수 있어 개발 생산성이 크게 증가한다. 이렇게나 좋은 타입스크립트를 막상 공부하려면 어려운 게 사실이다. 필자는 학습을 깊게 하고 싶은 주제는 강의보다는 책을 선호한다. 책을 알아보다 많은 사람들이 타입스크립트의 이펙티브 시리즈인 이펙티브 타입스크립트을 추천했다. 책을 구매하여 읽다보니 개념서가 아닌 문제집 느낌을 받았다. 뭔가 개념원리를 풀지 않고 쎈을 바로 푼 느낌이랄까? 그래서 .. 2022. 7. 5.
<쓸 만한 인간>을 읽고 영화배우 박정민을 처음 본 영화는 파수꾼이다. 출연진으로 이제훈, 조성하 등 연기를 잘하는 배우가 많았지만, 박정민은 영화 속 "백희"라는 인물을 인위적이지 않고 자연스럽게 표현하여 연기를 정말 잘한다고 느꼈다. 이 책도 박정민의 연기와 다르지 않다고 생각한다. 어렵고 일상생활에서 자주 쓰지 않는 단어를 나열하여 보기에만 그럴싸한 글이 아니라, 자기의 이야기를 명확하고, 자연스럽게 이야기한다. (종종 개그 포인트가 있다. 정말 웃기다.) 책은 여러 개의 에피소드로 구성되어 있다. 각 에피소드에서는 "어차피 끝내는 전부 다 잘될 겁니다"라고 긍정적인 말을 강조하고 있다. 혹자는 "다 잘될 거야"라는 부류의 말을 현실적이지 않고, 무책임하다고 거부감이 든다고 말할 수 있다. 하지만, 저자는 동시에 버티고 버.. 2022. 6. 22.