전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
이번 포스팅에서는 라우팅에 대해 공부한 내용을 정리해 보려고 한다. 라우터(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 앞단의 리버스 프록시 역할을 하며, 캐싱이나 라우팅 등에도 사용이 된다. 이전 포스팅..
내가 이번에 읽은 책 (김윤나 저) 내가 온라인 독서모임을 하면서 알게 된 책이다. 언어와 일상 이라는 주제로 여러 권의 책들을 읽었고 이 책 역시 내가 혼자서 골랐다면 절대 고르지 않았을 책이었을텐데, 다른 사람들과 같이 읽고 나서 너무나도 만족을 했던 책이라서 이번에 짧게 리뷰를 적어 보려고 한다. 말하기는 우리가 어렸을 때 부터 너무나도 많이 해왔던 행동이어서 익숙하고 자연스럽다고 생각할지도 모른다. 나도 마찬가지다. 말을 못한다고 생각한 적은 없이 살아왔던 것 같고, 실제로도 '말을 잘 한다'는 이야기를 심심치 않게 듣고는 했었다. 하지만, 나도 때로는 말을 하고 그 당시에는 느끼지 못했지만, 시간이 지난 이후 내가 했던 말을 후회한 적이 정말 많았다. 그리고 어렸을 때는 말을 청산유수처럼 잘 하..
이번 포스팅에서는 TCP/IP에 대해서 공부한 내용을 정리해 보려고 한다. 지난 포스팅에서 IP 주소에 대해서 공부를 했었다. 네트워크 안에 있는 모든 컴퓨터(노드라고도 한다)는 고유한 IP 주소를 가지고 있다. IP 주소는 2진수 32개로 이루어져 있고 우리는 2진수가 익숙하지 않으므로 10진수로 표현해서 0.0.0.0 ~ 255.255.255.255 의 형태로 IP 주소를 표현한다. 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응시켜야 할 때가 있는데 이 때 사용하는 프로토콜을 ARP(Address Resolution Protocol)라고 한다. TCP/IP 4계층에서 3계층(네트워크 계층)의 IP 주소를 2계층(데이터 링크 계층)의 MAC 주소로 대응시킬 때 사용한다. arp -a 명령어를..
이번 포스팅에서는 템플릿 프로그래밍에 대해서 정리해 보려고 한다. 첨부한 이미지는 포큐 아카데미의 C++ 강의 내용 화면이다. 템플릿이란 Java나 C#에서 제네릭(generic) 메서드/클래스와 비슷하다. 컴파일 도중 모든 코드를 만들어 준다. STL 컨테이너 또한 템플릿이라고 볼 수 있다. 템플릿이 가진 첫 번째 장점은 코드를 자료형마다 중복으로 작성하지 않아도 된다는 점이며, 두 번째로는 컴파일러가 미리 코드를 만들어 주기 때문에 런타임에서 돌리면 느린 함수들을 컴파일 시에 미리 호출해서 최종 결과만 상수로 뽑아서 쓸 수가 있다. 함수 템플릿 예를 들어 두 수를 더하는 Add 함수가 있다고 가정해 보자. int를 더할 수도 있고, float를 더할 수도 있고, double을 더할 수도 있다. // ..
은 90년대에서 2000년대까지 대한민국에서 유학 열풍을 일으키는데 큰 공헌을 한 책 중 하나임에 분명하다. 나 역시도 유학에 대한 고민을 하던 시절에 이 책을 알게 되었던 것 같다. 몇 달 전인가 클럽하우스에 홍정욱씨가 질문을 받는 방이 있어서 들어가서 듣다가 생각이 참 멋있는 분인 것 같아 궁금해서 책을 사게 되었다. 글을 흡입력 있게 정말 잘 쓰시는 것 같다. 하루 이틀 정도만에 금방 다 읽어 버렸다. 이 책은 현재 사업가로 활발하게 활동하시는 홍정욱씨가 중고등학교 시절부터 대학시절, 그리고 사회 초년생 시절까지 하셨던 크고 작은 도전들, 그리고 성취들에 대해 이야기하는 책이다. J. F. 케네디를 동경하며 그 분이 나온 고등학교를 입학했고, 그 이후로 계속해서 도전을 하며 누구보다 치열하고 후회없..
DevOwen
오웬의 개발 이야기