본문 바로가기

Cloud/AWS17

13장 서브클래싱과 서브타이핑 13장 읽고 나눈 이야기 상속과 합성의 차이를 여기서 많이 이해한 듯. 합성은 확실히 퍼블릭 인터페이스를 공유하니까 더 유연하다. 상속 대신 처음에는 인터페이스로 협력을 구축하고, 겹치는게 많으면 이전 장에서 봤던 것처럼 공통 구현을 가진 추상 클래스로 올리는 게 합리적이라고 생각함. Collection에서 ArrayList를 사용하더라도 선언은 List로 사용하는 편이 좋다. 정말 변동 가능성이 크고 유연한 설계가 필요한 부분에만 서브타이핑을 적용하는게 좋다고 생각한다. 타입계층 구현의 핵심 타입 : 적용 가능한 오퍼레이션 종류와 의미 타입의 사용 효과 : 코드의 의미를 명확하게 전달, 개발자의 실수 방지 객체의 타입 정의 : 수신 가능한 메시지를 정의 서브타입이 슈퍼타입에 속할 수 있는 이유는 행동이.. 2024. 2. 1.
S3 정적 웹 호스팅 작업 순서 버킷 생성 파일 업로드 정적 파일 호스팅 권한 설정 1. 버킷 생성 이름 : 유니크한 이름 리전 : ap-northeast-2 ACL 비활성화 모든 퍼블릭 액세스 차단 비활성화, 경고 확인 버전 관리 비활성화 기본 암호화 활성화 2. 파일 업로드 gpt가 만들어준 html과 css 파일이다. 이 녀석들로 호스팅을 해본다. 파일을 S3 루트 디렉터리에 업로드했다. 3. 정적 파일 호스팅 속성 탭의 맨 밑에 정적 웹 사이트 호스팅 메뉴가 있다. 활성화하면 엔드포인트가 생성된다. 4. 권한 설정 엔드포인트에 다른 사람들도 접근할 수 있도록 설정한다. 권한 탭에서 버킷 정책 편집을 클릭, 정책 생성기에서 정책을 만든다. 모든 객체에 대해 접근을 허용할 것이므로 Principal에 *를 둔다. ARN .. 2024. 1. 17.
json 데이터를 S3에 업로드하는 API 만들기 : With AWS API Gateway, Lambda, S3 Upload 참고 자료 https://www.youtube.com/watch?v=13SswprYsHQ → 이 영상에서는 http api gw 사용했는데, rest api gw와 통합하기 위해 아래 문서 참고해서 고침 https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/getting-started-lambda-non-proxy-integration.html#getting-started-new-api https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/api-gateway-payload-encodings.html Role 생성 entity type : AWS service .. 2024. 1. 17.
S3에 파일 업로드, 다운로드하는 public API 만들기 Upload API 참고 자료 https://youtube.com/watch?v=7T5VbMEJStQ https://repost.aws/knowledge-center/api-gateway-upload-image-s3 버킷 생성 이름, 리전 지정 버저닝 허용 암호화 허용 다른 설정은 모두 default Role 생성 및 연결 Role 생성 Trust : AWS Service Use case : API Gateway Permission : AmazonAPIGatewayPushToCloudWatchLogs Role name : api-gateway-s3-role Role에 Policy 생성 및 연결 생성한 Role 콘솔 → Add Permissions → Create Inline Policy Service :.. 2024. 1. 17.
[AWS Session 기록] Key Value NoSQL과 키 디자인 패턴 (feat. Dynamo DB) 서버리스 아키텍처를 구성하던 중 서버리스 데이터베이스인 DynamoDB를 알게 되었다. 인물 퀴즈 백엔드 API에 적용하고자 DynamoDB에 대해서 조사해보았는데, 안타깝지만 내가 원하는 사용 패턴과 DynamoDB의 접근법이 달라서 도입할 수 없었다. 어쨌든 DynamoDB를 조사하면서 이 서비스가 어떤 장점이 있고, 어떤 유즈 케이스에 도입하면 좋을지, 키를 어떻게 설계해야할지 알아본 내용을 정리한다. DynamoDB란? DynamoDB는 AWS가 제공하는 서버리스 기반의 NoSQL 데이터베이스이다. Key Value 스키마를 제공한다. Key Value는 조인 연산이 필요한 RDS의 스키마보다 더 유연하고 빠른 조회를 지원한다. (NoSQL과 RDS 스키마는 그 기반이 다르다. CPU 최적화 vs.. 2024. 1. 17.
[AWS Session 기록] 2200만 사용자를 위한 채팅 시스템 아키텍처 - 서호석 솔루션즈 아키텍트, AWS / 변규현 SW 엔지니어, 당근마켓 :: AWS Summit Korea 2022 당근마켓의 마이크로서비스 도입 초기 모놀리틱 시스템 구성 Ruby on Rails, PostreSQL 한대 Amazon ECS 현재 마이크로서비스 구성 GO, Nodejs, Python, Java, Kotlin Amazon EKS 마이크로서비스 도입의 장점 API 중심 개발 : 모놀리식은 유저와 직결되는 기능에 초점을 맞추지만, 마이크로서비스는 사내 개발자에게 제공할 API도 설계 코드 복잡도 : 모놀리스는 한 서버에서 모든 기능을 구현하므로 코드 복잡도가 크지만, 마이크로서비스는 코드 복잡도가 낮은 여러 서비스로 구성하므로 코드 관리가 쉬움 빌드 시간 : 서비스가 크지 않으므로 이슈 트래킹이나 배포에 걸리는 시간이 비교적 짧다 왜 당근마켓은 마이크로서비스 도입을 선택했는가? Main DB에 채팅 데이터.. 2024. 1. 17.