네트워크는 거대하다. 인터넷에 연결된 모든 컴퓨터가 통신을 해야 하니, 충분히 커야 할 수 밖에 없다. IPv4의 주소의 크기는 2^32는 이므로 단순히 계산하면 40억(4,294,967,296)의 컴퓨터에게(정확하게는 네트워크 인터페이스이지만 그냥 컴퓨터라고 하겠다.)유일한 IP 주소를 줄 수 있다.매우 거대하기 때문에 국가, 회사, 학교는 이 네트워크를 작은 단위로 나누어서 사용한다. 이 작은 네트워크를 서브넷이라고 한다. 같은 서브넷에 있는 컴퓨터들은 같은 접두사를 가진다. 예를들어 192.16.0.xxx 와 같은 식이다. 이렇게 같은 서브넷에 있는 컴퓨터들은 단순한 스위치로 직접 통신 할 수 있다. 같은 서브넷에 있는 컴퓨터들은 물리적으로 다른 컴퓨터와 직접 이어져 있다고 보면 된다. 서브넷간의 통신은 라우터가 개입한다. A-서브넷에 있는 컴퓨터는 B-서브넷에 있는 컴퓨터와 물리적으로 떨어져 있기 때문에 직접 패킷을 라우팅 할 수 없기 때문이다.
원문 처음 리눅스 시스템을 사용한 1998년부터 netstat를 사용했다. 20년이 훨씬 지난 툴이지만 대부분의 리눅스 배포판에 기본으로 설치되어 있고, 어떤 환경에서도 실행 할 수 있기 때문에 지금도 사용하고 있다.netstat는 network statistics의 줄임말이다. 용어그대로 네트워크의 상태를 모니터링하기 위한 도구로 사용한다. 송/수신 연결 정보, 라우팅 테이블, 송/수신 포트, 패킷통계 모니터링이 일반적인 용도다. netstat의 기본 사용법과 유용한 사례를 살펴보려한다.
AWS는 다양한 운영체제를 지원한다. 이들 운영체제는 AMI(Amazon Machine Image)형태로 제공된다. 좀 더 자세히 말하자면 다양한 버전의 리눅스 배포판과 윈도우즈 운영체제를 지원한다고 보는게 적당하겠다.(독자적인 운영체제를 포함한 어플라이언스가 있기는 하지만 얘들은 논외로) Amazon Linux는 AWS에서 공식적으로 관리하는 운영체제다. AWS에 최적화된 운영체제라 할 수 있겠다. AWS 클라우드 최적화된 애플리케이션 패키지를 제공하는 독자적인 (extras)저장소, 인스턴스를 재 부팅하지 않고도 커널보안 및 버그패치를 적용 할 수 있는 Kernel Live Patching기능등을 사용 할 수 있다.
ORM(Object-relation mapping)은 객체지향 프로그래밍 언어를 사용해서 서로 다른 시스템간에 데이터를 호환성있게 변환하기 위해서 사용하는 프로그래밍 기술이다. ORM을 사용 할 경우 실실적으로 프로그래밍 언어에서 사용 할 수 있는 가상 객체 데이터베이스를 생성한다. 이 가상 객체 데이터베이스는 클래스(혹은 스트럭처)와 맵핑된다. 결과적으로 개발자는 객체를 다루는 것처럼 데이터를 다룰 수 있으며, 데이터베이스를 코드에 자연스럽게 녹여낼 수 있게 된다.
"조건부 날인 증서 혹은 결제대금예치제도"라고 하는 에스크로(escrow)는 서로를 신뢰할 수 없는 구매자와 판매자간에 상거래가 원할하게 이루어질 수 있도록 중계하는 매매보호서비스다.조건부 날인 증서 대리인이라고 하는 신뢰할 수 있는 제 3자가 중간에서 돈이나 재산을 수령하고 있다가 계약이 완료되면 이를 지급할 것을 보증하는 계약이다. 이 단어는 옛 프랑스단어인 escroue 에서 파생됐는데, 종이 조각이나 양피지 두루마리를 의미한다.
클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해서 온디맨드로 제공을하고 사용한 만큼만 비용을 지불하는 서비스다. 온디맨드는 "고객의 요구가 있다면, 언제 어디서나 고객 중심에서 요구사항을 해결해 주는 것" 을 의미한다. 사용자는 장소에 상관없이 인터넷만 연결되어 있다면 클라우드로 부터 IT 자원을 생성 할 수 있다. 여기에서 IT 자원이라하면 컴퓨팅 파워, 스토리지, 데이터베이스, 로드밸런서, 도메인서비스 등을 의미한다.
원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하기 마련이다.
위 동영상을 분석해서 정리한다. 영상에서 PAYCON 쇼핑 플랫폼은 NHN TOAST 클라우드를 기반으로 하고 있다. 나는 AWS를 사용하고 있기 때문에 클라우드를 기반으로 새로운 아키텍처를 제안하려 한다. TOAST에 비해서 AWS에서 제공하는 서비스가 훨씬 다양하기 때문에 더 많은 부분이 클라우드 서비스로 대체되는 그림이 나올 것이다.당연하지만 나는 PAYCO 쇼핑 개발과는 1도 상관이 없기 때문에 많은 부분을 일반화해서 설명할 것이다. 내용 중에 개인 의견이 들어갈건데, 굳이 개인 의견이라는 걸 나타내진 않을 것이다.
출처 Status Code는 클라이언트의(Mozilla, Chrome, Curl ...등) HTTP 요청이 성공적으로 완료되었는지를 알려준다. 응답은 "정보응답", "성공응답", "리다이렉트", "클라이언트 에러", "서버에러"의 5개 카테고리로 구성된다. HTTP Status Code는 3자리의 숫자로 표현한다. 첫번째 숫자로 응답 클래스를 확인 할 수 있다. 1xx(정보) 2xx(성공) 3xx(리다이렉션) 4xx(클라이언트에러) 5xx(서버 오류) 을 널리 사용한다.
19 POSTS HERE
AWS VPC Subnet 관리
네트워크는 거대하다. 인터넷에 연결된 모든 컴퓨터가 통신을 해야 하니, 충분히 커야 할 수 밖에 없다. IPv4의 주소의 크기는 2^32는 이므로 단순히 계산하면 40억(4,294,967,296)의 컴퓨터에게(정확하게는 네트워크 인터페이스이지만 그냥 컴퓨터라고 하겠다.)유일한 IP 주소를 줄 수 있다.매우 거대하기 때문에 국가, 회사, 학교는 이 네트워크를 작은 단위로 나누어서 사용한다. 이 작은 네트워크를 서브넷이라고 한다. 같은 서브넷에 있는 컴퓨터들은 같은 접두사를 가진다. 예를들어 192.16.0.xxx 와 같은 식이다. 이렇게 같은 서브넷에 있는 컴퓨터들은 단순한 스위치로 직접 통신 할 수 있다. 같은 서브넷에 있는 컴퓨터들은 물리적으로 다른 컴퓨터와 직접 이어져 있다고 보면 된다. 서브넷간의 통신은 라우터가 개입한다. A-서브넷에 있는 컴퓨터는 B-서브넷에 있는 컴퓨터와 물리적으로 떨어져 있기 때문에 직접 패킷을 라우팅 할 수 없기 때문이다.
netstat 13가지 사용팁
원문 처음 리눅스 시스템을 사용한 1998년부터 netstat를 사용했다. 20년이 훨씬 지난 툴이지만 대부분의 리눅스 배포판에 기본으로 설치되어 있고, 어떤 환경에서도 실행 할 수 있기 때문에 지금도 사용하고 있다.netstat는 network statistics의 줄임말이다. 용어그대로 네트워크의 상태를 모니터링하기 위한 도구로 사용한다. 송/수신 연결 정보, 라우팅 테이블, 송/수신 포트, 패킷통계 모니터링이 일반적인 용도다. netstat의 기본 사용법과 유용한 사례를 살펴보려한다.
AWS Amazon Linux 2 에 Docker 설치하기
AWS는 다양한 운영체제를 지원한다. 이들 운영체제는 AMI(Amazon Machine Image)형태로 제공된다. 좀 더 자세히 말하자면 다양한 버전의 리눅스 배포판과 윈도우즈 운영체제를 지원한다고 보는게 적당하겠다.(독자적인 운영체제를 포함한 어플라이언스가 있기는 하지만 얘들은 논외로) Amazon Linux는 AWS에서 공식적으로 관리하는 운영체제다. AWS에 최적화된 운영체제라 할 수 있겠다. AWS 클라우드 최적화된 애플리케이션 패키지를 제공하는 독자적인 (extras)저장소, 인스턴스를 재 부팅하지 않고도 커널보안 및 버그패치를 적용 할 수 있는 Kernel Live Patching기능등을 사용 할 수 있다.
Golang 에서의 ORM (GORM)
ORM(Object-relation mapping)은 객체지향 프로그래밍 언어를 사용해서 서로 다른 시스템간에 데이터를 호환성있게 변환하기 위해서 사용하는 프로그래밍 기술이다. ORM을 사용 할 경우 실실적으로 프로그래밍 언어에서 사용 할 수 있는 가상 객체 데이터베이스를 생성한다. 이 가상 객체 데이터베이스는 클래스(혹은 스트럭처)와 맵핑된다. 결과적으로 개발자는 객체를 다루는 것처럼 데이터를 다룰 수 있으며, 데이터베이스를 코드에 자연스럽게 녹여낼 수 있게 된다.
에스크로(escrow)
"조건부 날인 증서 혹은 결제대금예치제도"라고 하는 에스크로(escrow)는 서로를 신뢰할 수 없는 구매자와 판매자간에 상거래가 원할하게 이루어질 수 있도록 중계하는 매매보호서비스다.조건부 날인 증서 대리인이라고 하는 신뢰할 수 있는 제 3자가 중간에서 돈이나 재산을 수령하고 있다가 계약이 완료되면 이를 지급할 것을 보증하는 계약이다. 이 단어는 옛 프랑스단어인 escroue 에서 파생됐는데, 종이 조각이나 양피지 두루마리를 의미한다.
클라우드 컴퓨팅에 대한 소개
클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해서 온디맨드로 제공을하고 사용한 만큼만 비용을 지불하는 서비스다. 온디맨드는 "고객의 요구가 있다면, 언제 어디서나 고객 중심에서 요구사항을 해결해 주는 것" 을 의미한다. 사용자는 장소에 상관없이 인터넷만 연결되어 있다면 클라우드로 부터 IT 자원을 생성 할 수 있다. 여기에서 IT 자원이라하면 컴퓨팅 파워, 스토리지, 데이터베이스, 로드밸런서, 도메인서비스 등을 의미한다.
최적의 작업을 위한 터미널 환경 구성
원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하기 마련이다.
PAYCO 쇼핑 마이크로서비스 아키텍처 전환기
위 동영상을 분석해서 정리한다. 영상에서 PAYCON 쇼핑 플랫폼은 NHN TOAST 클라우드를 기반으로 하고 있다. 나는 AWS를 사용하고 있기 때문에 클라우드를 기반으로 새로운 아키텍처를 제안하려 한다. TOAST에 비해서 AWS에서 제공하는 서비스가 훨씬 다양하기 때문에 더 많은 부분이 클라우드 서비스로 대체되는 그림이 나올 것이다.당연하지만 나는 PAYCO 쇼핑 개발과는 1도 상관이 없기 때문에 많은 부분을 일반화해서 설명할 것이다. 내용 중에 개인 의견이 들어갈건데, 굳이 개인 의견이라는 걸 나타내진 않을 것이다.
HTTP Status Code
출처 Status Code는 클라이언트의(Mozilla, Chrome, Curl ...등) HTTP 요청이 성공적으로 완료되었는지를 알려준다. 응답은 "정보응답", "성공응답", "리다이렉트", "클라이언트 에러", "서버에러"의 5개 카테고리로 구성된다. HTTP Status Code는 3자리의 숫자로 표현한다. 첫번째 숫자로 응답 클래스를 확인 할 수 있다. 1xx(정보) 2xx(성공) 3xx(리다이렉션) 4xx(클라이언트에러) 5xx(서버 오류) 을 널리 사용한다.