Kinesis Data Streams에 데이터가 들어올 때 이에 대한 이벤트를 트리거 하여 Lambda를 통해 DynamoDB에 로그 데이터를 쌓는 방식으로 로깅 시스템을 구현 하려 하는데 어떤 지표에 유의해야 할 지, 그리고 Lambda의 성능을 어떻게 높일 수 있을
로깅 시스템을 개발하며 Kinesis를 이용하고 있는 기존의 레거시 시스템을 어떻게 더 개선할 수 있을까 고민하다가 aws summit 2022에서 발표한 데이터 분석 실시간으로 처리하기: Kinesis Data Streams vs MSK 영상을 발견해 영상에서 설명한
캐시는 자주 접근하는 데이터를 임시적으로 저장하는 메모리 버퍼이다.캐시를 이용하면 데이터를 가져오기 위해 데이터 소스로부터 여러 번 요청하지 않아도 되어 성능을 향상시켜 준다는 장점이 있다. 캐시의 예시로는 웹 브라우저 캐시가 있는데 이를 통해 처음 요청된 객체를 저장
무결성(Integrity)란 데이터의 정확성, 일관성 및 유효성이 유지되는 특성을 말한다.데이터가 정확하고 완전해야 한다.즉, 개발자가 의도한 상태로 존재해야 한다.무결성에는 제약 조건이 존재한다.pk(기본키)는 NULL이 올 수 없으며 unique 해야 한다.개체 식
CustomOneToOneField가 왜 필요 했는지, 그리고 어떤 특성을 가지고 있는지 알아보기 전에 OneToOneField가 무엇인지 잠시 알아보자.OneToOneField는 장고에서 사용되는 개념적인 필드이다. OneToOneField는 unique=True 속
데이터베이스의 검색 속도 향상에는 index가 사용된다. 이 index는 어떤 일을 하는지, 그리고 어떻게 사용해야 검색 속도를 향상시킬 수 있는 지를 알아본다.보통의 테이블은 id를 pk로 갖는다. id는 정수로 구성되며 1씩 증가하는 값이기 때문에 id를 이용해 테
이 글은 헤드 퍼스트 디자인 패턴을 읽고 정리한 것입니다.커맨트 패턴은 객체 지향 디자인 패턴을 통해 요청을 하는 객체와 요청을 받고 실행하는 객체를 분리한 패턴으로 요청자(invoker)와 수신자(receiver)가 decoupling 되어 있다.클라이언트가 comm
ORM(Object-Relational-Mapper)은 관계형 데이터베이스 테이블에 저장된 데이터를 객체로 자동 전송하는 코드 라이브러리이다.그렇다면 Object-Relational Mapping은 뭘까?Object-Relational-Mapping은 raw 쿼리를 사
이 글은 헤드퍼스트 디자인 패턴을 읽고 정리한 것입니다. 상속만으로 해결할 수 없는 것 Subclassing을 통해 클래스를 상속하면 complie time에 해당 클래스의 행동이 static 하게 고정 된다. 즉, 자식 클래스의 행동이 고정 되어 부모 클래스와 같은
Compile time은 컴퓨터 프로그램 또는 코드를 CPU가 이해할 수 있는 즉, machine-readable 코드로 변환하는 단계를 의미한다.이 과정은 compiler에 의해 실행 된다. \- Compiler를 사용하는 언어: C, Java...compile 중
WITH 구문 서브 쿼리를 사용해 임시 테이블이나 뷰처럼 사용 가능하다. 별칭을 지정할 수 있다. DB는 WITH 구문을 인라인 뷰나 임시 테이블로 여긴다. 서브쿼리 > SELECT문 내에 SELECT 문이 또 쓰인 쿼리 인라인 뷰 > 서브 쿼리가 FROM 절 내에
이 글은 헤드퍼스트 디자인 패턴(한빛 미디어, 에릭 프리먼 외)를 읽고 정리한 것입니다. 옵저버 패턴이란? > 옵저버 패턴은 한 객체의 상태가 바뀌면 해당 객체에 의존하는 다른 객체에 연락이 가고, 자동으로 내용이 갱신되는 방식의 "일대다 의존성"을 정의하는 패턴이다
이 글은 장고 Docs를 참고해 작성했습니다.앱을 사용하다 보면 여러 사람이 동시에 같은 row를 조회하게 되는 경우가 생길 수 있다. 가령 고객에게 DB에 있는 상품권을 지급하는 경우 여러 유저가 동시에 상품권을 조회하게 된다면 같은 상품권을 조회하게 될 수 있다는
이 글은 헤드퍼스트 디자인 패턴(한빛 미디어, 에릭 프리먼 외)를 읽고 정리한 것입니다.전략 패턴이란?알고리즘군을 정의하고 캡슐화 하여, 각각의 알고리즘군을 수정해서 쓸 수 있도록 만드는 전략이다. 이를 통해 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경하는 것이
CloudFront를 사용하면 한 번 요청한 객체에 대해서 캐싱을 해 전 세계에서 사용자와 가장 가까운 지역에 캐싱되어 있던 객체를 사용자에게 제공 한다. 그렇다면, 파이썬 코드로 어떻게 Cloudfront Invalidation을 실행할 수 있는지 알아보자. 그리고
이 글은 Udemy의 AWS Certified Solutions Architect Associate Practice Exams를 공부하며 정리한 것입니다. 만약 어떤 회사가 Windows Server용 IIS(인터넷 정보 서비스)를 사용하는 웹 응용 프로그램을 가지고
만약 어떤 회사에서 고객의 기밀 데이터를 보호하기 위해 authentication token을 통해 EC2 인스턴스에 대해 특정한 프로필 자격 증명(credentials)을 사용해서만 RDS 데이터베이스에 액세스할 수 있도록 하도록 설정해야 한다고 하자. 만약 이 회사
여러 상황에 따른 Solutions architecture로서의 해결책에 대해 알아 보도록 한다.어떤 회사에서 자주 접근하는 데이터를 S3에 저장하려고 하는 데 이 때 객체의 삭제 또는 생성이 일어날 경우 S3 버킷이 SQS에 알림을 보내도록 설정하고 싶다. 이 알림은
이 글은 모범 사례로 배우는 Django 테크닉에 관한 명서 "Two Scoops of DJango"(대니얼 로이 그린펠드, 오드리 로이 그린펠드 저, 2016)를 읽고 요약 정리하여 작성한 것입니다. 이 책을 읽고 새로웠던 것, 기존에 잘 알지 못했던 것을 위주로 작
Cloudfront에 signed cookie로 access 하기 람다 concurrent invocation limit 1000개까지 가능