윤준영, 더불어 성장하는 개발자    카테고리    태그

8주차 강의 복습

AWS

  • 클라우드 컴퓨팅 플랫폼으로, 네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등의 다양한 서비스를 제공
  • 직접 콘솔 사이트 내에서 서버를 확장 가능하고 정교한 어플리케이션 구축을 지원

Elastic Compute Cloud

  • 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공하는 서비스
  • 클라우드 컴퓨팅 파워의 규모를 자유자재로 변경 가능
  • 인스턴스라고 불리는 가상 머신으로 제공

Lambda(Serverless Computing)

  • 어플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행하는 서비스
  • 사용자는 서버에 대한 걱정 없이 코드만으로 서비스를 실행할 수 있음
  • 서버 및 운영체제 유지보수, 용량 프로비저닝1 및 자동 확장, 코드 모니터링 및 로깅과 같은 컴퓨터 리소스의 모든 관리를 자체적으로 수행
  • 추천 사용 환경
    • 코드를 계속 실행시키기 보다는 특정한 시기에만 실행시키는 경우
    • 서버를 생성하지 않고 간단한 코드를 실행시키고 싶은 경우
    • 특정 기간 또는 특정 주기로 코드를 실행시켜야 하는 경우
    • 트리거가 실행될때만 코드를 실행시키고 싶은 경우
  • 단점
    • 최대 코드 용량은 250MB, 최대 15분의 실행시간
    • 함수 호출시 Cold Start를 하게 되고, 초기 지연시간이 발생

S3

  • 정적 파일(사진, 비디오, 문서, 코드) 스토리지 서비스
  • 사용자는 URL을 통해 파일을 사용할 수 있음
  • HTTP 프로토콜과 연동되어 정적 사이트를 호스팅하는데 사용가능

VPC

  • 클라우드 가상 네트워크 구축 서비스
  • IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성

ELB

  • VPC 내에서 하나의 형태로 존재하는 서비스로 서버가 종료되지 않도록 알아서 관리하는 로드 밸런서 제공
  • 로드 밸런싱을 통해 트래픽 분산, 자동 확장 등의 다양한 기능을 제공

Route53

  • AWS의 DNS 도메인 관리 및 설정 서비스
  • 도메인 이름을 구매 및 관리하고 도메인에 대한 DNS 설정을 자동으로 구성
  • AWS 내의 다른 서비스 인프라와 효과적으로 연결할 수 있음

CloudFront

  • 데이터, 동영상, 애플리케이션 API를 전세계 고객에게 전송하는 고속 글로벌 콘텐츠 전송 네트워크(CDN) 서비스
  • S3, EC2, ELB, Route53등과 같은 서비스와 통합되어 운영
  • 리소스를 요청한 사용자의 위치와 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도가 빠름
  • 기존의 EC2를 여러 리전에 걸쳐 리소스를 제공하는 것보다 저렴

RDS

  • 관계형 데이터베이스를 이용할 수 있는 서비스
  • DB 설정, 패치, 백업 등 시간 소모적인 관리 작업을 AWS에서 처리
  • 제공하는 DB는 Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle

DynamoDB

  • 어떤한 규모든지 균일하게 10ms 미만의 응답속도를 제공하는 key-value 형태의 NoSQL 데이터베이스 서비스
  • 관계형 데이터베이스와 같이 데이터를 저장 및 검색하고, 어떤 수준의 요청 트래픽이라도 처리할 수 있음

Clean Code

  • 단순하고 직관적인 코드를 클린 코드
  • 주 목적은 가독성을 높임으로써 이해하기 쉬운 코드를 작성하는 것

분명한 의도

  • 변수의 존재 이유, 기능, 사용법 등이 변수/함수/클래스명에 드러나야 함 (주석이 없어도 되게)
  • 의미를 함축하거나 독자(프로그래머)가 사전지식을 가지고 있다고 가정하면 안됨

그릇된 정보 방지

  • 중의적으로 해석될 수 있는 이름 지양
  • 개발자에게 특수한 의미를 가지는 단어(list 등)을 변수명에 붙이지 않음

의미있는 구분

  • 해당 요소와 관련 없는 단어(a1, a2..), 숫자로 구분하지 않음
  • 클래스 이름에 info, Data와 같은 불용어 붙이지 않게
  • 발음하기 쉬운 이름 사용
  • 검색하기 쉬운 이름 사용
  • 독자가 한번 더 생각해 변환해야 할만한 변수명 쓰지 않기

클래스 이름

  • 명사 혹은 명사구를 사용 (Customer, WikiPage, Account…)
  • Manager, Processor, Data, Info와 같은 단어 지양
  • 동사는 사용하지 않음

메서드 이름

  • 동사 혹은 동사구 사용 (postPayment, deletePayment, save…)
  • 접근자, 변경자, 조건자는 get, set, is로 시작 (should, has 포함)



  1. 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말함 

WebSocket에 대한 고찰

🇨🇦 캐나다 단기어학연수 0주차

Comments powered by Disqus.

바로가기