이번 포스팅에서는 링크드인 COMPTIA 네트워크 강의의 TCP/IP Application 부분 강의를 듣고 정리한 내용을 적어보려고 한다. TCP와 UDP 네트워크 계층 중 전송계층(Transport Layer)은 송신자와 수신자를 연결하는 계층으로, 데이터를 전달한다. 그리고 이 계층에서 데이터를 보내기 위해 사용하는 프로토콜이 TCP와 UDP이다. TCP는 인터넷 상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다. 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리하게 된다. TCP의 특성은 아래와 같다. 연결형 서비스로 가상 회선 방식을 제공한다. 3 Way Handshake 방식으로 연결을 설정하고 4 Way ..
오늘 내가 리뷰를 남길 책은 권여선 작가님의 이라는 단편소설 집이다. 나는 틈틈이 시간이 날 때 서점을 간다. 가끔은 중고 서점을 갈 때도 있다. 그렇게 돌아다니다가 제목과 표지를 보고 끌리는 책이 있으면 보통 그 자리에서 5~10분 정도 읽어본다. 그러면 내가 기대한 내용과 다른 책이 있고, 기대한 내용 만큼의 책이 있고 아주 가끔 기대 이상의 책을 발견하게 된다. 기대한 내용과 다른 경우는 그 자리에서 보통 책을 내려놓는다. 기대한 만큼만 내용이 있으면 그 자리에서 읽을 수 있는 만큼 책을 읽고 사진 않는다. 아주 가끔 낮은 확률로 기대 이상의 책을 발견하면 마치 보물을 찾은 것처럼 기쁘게 그 책을 구매한다. 나에게 이 소설책은 세 번째와 같은 책이었던 것으로 기억한다. 권여선 작가님의 책은 처음이다..
지난 포스팅에 이어서 C++ 최신 버전에서 추가된 문법들에 대해서 공부한 내용을 정리해 보려고 한다. 새로운 자료형 nullptr NULL을 쓰면 가끔 이상한 일이 발생된다. C++에서 NULL은 어떤 타입이 아니라 0이다. 따라서 함수를 호출할 때 적합하지가 않다. 따라서 nullptr가 등장하였다. nullptr는 null 포인터 상수이다. nullptr는 다음과 같이 사용할 수 있다. // Main.cpp Class* myClass = new Class("COMP3200"); const Student* student = myClass->GetStudent("Coco"); if (student != nullptr) { std::cout GetID()
오늘은 바밀로 VM87MAC 밀키 화이트 키보드를 리뷰 해 보려고 한다. (내돈내산 후기) 기존에 키크론 K1V3를 쓰고 있었는데 몇 개의 키가 망가져서 부득이하게 키보드를 바꿔야 하는 상황에 놓이게 되었다. 그래서 여러가지 키보드 군을 살펴보다가 좀 새로운 느낌의 키보드를 사용해 보고 싶어서 이 키보드를 구매하게 되었다. 바밀로는 중국의 키보드 제조 회사이다. 중국산(?)이지만 편견과 다르게 고퀄리티의 기계식 키보드를 잘 만드는 것으로 유명하며, 정말 다양한 색상과 디자인의 키보드 라인업을 가지고 있다. 특히 PBT 재질의 키캡을 사용하고 있고 염료승화 방식을 사용하는 것으로 유명하다. 디테일한 촉감까지 신경쓰기로 유명하고 중국산이지만 가격은 싸지 않은 편이다. 나의 경우 여러가지 모델을 고민하다가 결..
이번 포스팅에서는 라우팅에 대해 공부한 내용을 정리해 보려고 한다. 라우터(router)는 둘 이상의 네트워크와 네트워크 간 데이터 전송을 위한 경로를 설정해 주고 데이터가 해당 경로를 따라 한 네트워크에서 다른 네트워크로 통신할 수 있도록 도와주는 인터넷 접속장비이다. 내부 네트워크는 사용하는 컴퓨터 기종이나 OS, 프로토콜 등을 알 수 있기 때문에 네트워크 최적화를 이룰 수 있지만, 내부 네트워크를 외부 네트워크와 연결할 때는 정보가 제한되는데 이 때 라우터를 통해 두 네트워크를 연결한다. 라우터는 다른 기종간의 네트워크를 연결하는 기능을 하기 때문에 여러 가지 종류의 프로토콜에서 전송하는 패킷을 받아들일 수 있어야 한다. 이렇게 받아들인 패킷을 여러 경로 중 가장 효율적인 경로로 선택하여 흐름제어를..
오늘은 패스트캠퍼스에서 최근에 수강했던 김태곤님의 강의를 듣고 학습했던 내용을 정리해 보려고 한다. 시작하기에 앞서서 이 강의는 패캠에서 어떠한 대가도 제공받지 않고 직접 수강하고 내용을 정리하는 것임을 밝힌다. 정리는 강의 목차 순서대로 정리했다. 1. 정체되지 않는 프론트엔드 개발자의 일하는 방식 프레임워크를 위주로 공부하다 보면.. 따라가기 급급해진다. 내부적인 원리를 이해하지 못하면 남는 것이 없다. React, Vue는 컴포넌트 기반 개발이라는 공통점 ⇒ 이를 잘 알고 있으면 새로운 기술도 어렵지 않게 배울 수 있다. Homebrew → 패키지 매니저 for Mac VirtualBox → IE 환경 테스트 Frontend Developer : 어플리케이션이 사용자와 맞닿은 접점을 책임지는 사람 ..
이번 포스팅에서는 STL 알고리즘에 대한 간단할 설명 및 C++ 최신 문법에서 추가된 키워드, 자료형, STL 등에 대해서 알아보고자 한다. STL 알고리즘 STL 알고리즘이란 요소 범위에서 쓸 수 있는 함수들을 의미한다. 따라서 배열 또는 몇몇 STL 컨테이너에서 쓸 수가 있다. 이 때 반복자를 통해 컨테이너에 접근한다. 컨테이너의 크기를 변경하지 않기 때문에 추가 메모리 할당도 없다. 유형별로 다음과 같이 호출하는 include 문이 다르다. #include 변경 불가 순차(sequence) 연산 : find(), for_each() 변경 가능 순차 연산 : copy(), swap() 정렬 관련 연산 : sort(), merge() #include 범용 수치 연산 : accumulate() 예를 들어..
이번 포스팅은 책의 CH04. 스웜을 이용한 실전 어플리케이션 개발 내용을 공부하고 정리한 내용이다. 도커를 사용하여 어플리케이션을 개발하는 흐름을 이해하고 스웜을 이용한 배포에 초점을 맞추어서 자세한 코드를 다 확인하면서 가지는 않음을 미리 명시한다. 아키텍처 구성 간단한 TODO App을 만들어 보려고 한다. 대략적인 아키텍처는 다음과 같다. 데이터베이스로는 MySQL, API는 Restful API(예제 코드는 Go 언어 기반), 웹 어플리케이션(Vue / React), Nginx 프록시 서버 이렇게 네 가지로 크게 구분해서 구성 요소를 생각해 볼 수 있다. Nginx의 경우 어플리케이션 프론트엔드 서버 및 API 앞단의 리버스 프록시 역할을 하며, 캐싱이나 라우팅 등에도 사용이 된다. 이전 포스팅..