전체 글

I'm still working on it. We must be better.
·리팩토링/1. CS
파일 전송 프로토콜 (FTP)FTP는 File Transfer Protocol의 약자로, 네트워크를 통한 클라이언트와 서버 간 파일 전송을 위해 설계된 프로토콜이다. FTP의 가장 큰 특징은 데이터 전송을 관리하기 위해 control channel과 data channel의 두 가지 채널을 사용한다는 것이다. Control ChannelControl channel은 클라이언트와 서버 간의 지속적인 연결을 유지하는 데 사용된다. 해당 채널을 통해 모든 FTP 명령과 응답이 전송된다. 이는 client가 server에 로그인하고, 파일 리스트를 요청하고, 다양한 명령을 실행하는 데 사용된다.특징TCP port 21번 사용FTP 명령과 응답 모두 평문 형태로 보내지기 때문에 debugging과 logging ..
IPv4를 보완하는 IPv6IPv6가 등장하게 된 것은 90년대 인터넷의 대중적인 사용으로 인한 IPv4 주소가 부족해진 것에 있다. IPv4는 2의 32승, 약 42억 개의 주소를 제공할 수 있지만 그 중 E 클래스에 해당하는 240부터 255로 시작하는 실험용 주소, 사적 IP를 위한 주소를 제외하고 남는 IP 주소는 제한적이다. 이러한 IPv4의 제약을 해결하기 위해 내부 망에서는 사적 IP 주소를 사용하다 공인망에 접속할 때는 공인 IP 주소를 사용하는 NAT, 할당된 IP 주소를 다시 쪼개는 subnetting, IP 주소의 자동 분배와 수거를 담당하는 DHCP 등의 방법을 사용했지만 2000년대에 들어설 무렵엔 이미 IPv4의 주소 부족이 임박했었다. 이로 인해 IPv4의 32-bit를 확장한..
AWS Lambda사전 환경설정 없이도 코드를 실행할 수 있는 serverless 컴퓨팅 서비스오직 필요할 때만 코드를 실행하고 자동으로 규모를 확장/축소한다.AWS 서비스와 SaaS 애플리케이션, 혹은 Amazon API Gateway의 HTTP Call 이벤트에 따라 코드를 실행하는 Event-driven 실행 모델이다. 주요 특징Scalability : 실행 중인 인스턴스가 각 이벤트에 대응하도록 자동 스케일링을 지원한다.Pricing : function의 요청 수와 ms 단위로 측정한 코드 실행 시간에 기반하여 측정Languages Supported : Node.js, Python, Ruby, Java 등 다양한 언어 지원Statelessness : 각 요청을 독립적으로 처리 Performance..
영어는 이미지영어는 뜻으로 이해하는 게 아니라 이미지로 이해하는 것. > 특히 low-level, 즉 근원에 가까운 이미지(= prototype)로 받아들여야 한다. > 그래서 단어가 주는 impression, characteristics, property, attribute 등에 집중해야 한다. 영어는 유의어만 존재한다. > 영어에 동의어란 없다. (동의어 is fxxking bullshit!) > 단어의 맥락과 유사한 유의어만 존재한다는 사실을 명심해야 한다. 영어 발음bottle을 발음하더라도 "브ㅏ를~" 처럼 흘리듯이 발음하는 것과 "보틀" 같이 consonants를 살려 발음하는 것 모두에 숙련되어야 한다.단어의 품사에 따라 발음/기능/강세가 달라지는 것에 민감해야 한다.
AWS CloudFormation개요CloudFormation은 완전 관리형 AWS 서비스로, YAML, JSON 등의 코드 템플릿을 이용하여 클라우드 인프라를 구축하는 Infrastructure as Code(IaC)와 선언 방식을 지원한다. 예시미국 리전에 배포할 거야SSH와 HTTP에 대해 모두 허용하는 보안 그룹을 추가해 줘로드 분배를 위해 로드 밸런서와 오토 스케일링 그룹을 사용할 거야 위 같은 방식은 사용할 서비스를 선언할 수 있어 간단하고, 비용/시간적으로 경제적 / 생산적이고, 버전 관리하기가 쉽다. 더보기Infrastructure as Code (IaC)"인프라로써의 코드(IaC)"는 DevOps와 현대 클라우드 컴퓨팅의 핵심으로, 기계어로 정의된 파일을 통해 컴퓨터 인프라를 관리하고 환..
Access Point(AP)란?Access Point(AP)는 유선과 무선을 연결하는 접근점으로 무선랜 구성의 핵심이다. 그동안 배웠던 이더넷 방식으로 구성된 유선 네트워크는 IEEE 802.3 표준을 사용하는 반면, 무선 통신은 IEEE 802.11 표준을 사용한다. 따라서 AP 방식을 사용하기 위해선 IEEE 802.3 표준과 IEEE 802.11 표준을 동시에 이해해야 한다. IEEE 802.11무선 랜의 통신 방식 - CSMA/CAIEEE 802.11 표준은 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)이다.즉 이더넷의 CSMA/CD 방식과 같이 전송 전에 미리 Carrier를 감지해서 현재 통신이 일어나고 있는지 확인하고, 통신이 없..
English is Stress-based LanguageThe difference between stress and accentstress : specific qualities to specific syllablesaccent : a distingtive way of pronouncing a languageSyllablea unit of pronunciation having one vowel sound, with or without surrounding consonants,forming the whole or a part of a wordChunkinga 'piece' or 'part of something'the process of grouping things together into larger m..
Cross-Zone Load Balancing단일 리전 내 여러 가용 영역에 걸쳐 ec2 인스턴스가 분배된 경우, 각 AZ의 로드 밸런서는 자신이 맡은 AZ 내의 ec2 인스턴스들에 대해 요청을 균등하게 분배한다. 예를 들면, 단일 리전 내 가용 영역 A, B가 존재하고 각각  ec2 인스턴스 2개, 8개를 실행 중이라고 가정하자.그러면 1차적으로 각 가용 영역의 로드밸런서는 전체 트래픽 100% 중 50%를 분배 받고, 자신이 보유한 각 인스턴스에 다시 이를 균등 분배한다. 이 경우, 가용 영역 A의 인스턴스들은 최소 25%의 로드 밸런서 트래픽을, 가용 영역 B의 인스턴스들은 6.25%의 트래픽을 부담하게 된다. 위와 같은 로드 분배의 불균등함을 해결하기 위한 방법이 바로 Cross-Zone Load..
고가용성(High-Availability)과 확장성(Scalability)클라우드의 로드 밸런서(Load Balancer) 개념을 다룰 때 가장 많이 언급되는 것이 고가용성과 확장성이다.언뜻 보면 동일해보이지만 약간의 차이점을 띈다. 일단 확장성은 수직 Vertical 확장성과 수평 Horizontal 확장성으로 분류된다. 수직 확장성은 현재 사용 중인 인스턴스의 크기를 키우는 것으로, t2.micro를 t2.large로 바꾸는 것이 그 예이다.이 방식은 주로 데이터베이스 같이 시스템 distribution이 요구되지 않는 프로그램에 유효하다. 수평 확장성은 가용 영역 내에 동일한 기능을 수행하는 인스턴스의 수를 늘리는 것으로, distribution 시스템을 의미하며 현대 웹 애플리케이션의 대다수를 차..
AWS Systems Manager (SSM)EC2와 온프레미스 시스템의 규모를 관리할 수 있는 서비스사용 중인 인프라의 상태를 한 눈에 확인 가능하여 문제를 찾기 쉽게 만든다.AWS CloudWatch와 Config와 통합되어 있어 연계도 쉽다.SSM 에이전트가 설치된 모든 인스턴스에 대한 동작을 관리하며, 이를 보장하기 위해 IAM role을 설정해야 한다. SSM - DocumentsJSON 혹은 YAML 형식으로 지정 가능하며, parameter와 action을 정의한다.State Manager, Patch Manager, Automation 등에 적용 가능하다. SSM - Run CommandSSM의 document(= script)를 실행하여 명령을 실행하는 기능여러 인스턴스에 걸쳐 명령어를 ..
G+
IT 이모저모