일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- DynamoDB
- mapping
- spring
- Docker
- Redis
- 개발자
- serverless
- bootcamp
- codedeploy
- 스터디
- codebuild
- 티스토리챌린지
- ec2
- rds
- aws
- goorm
- 자격증
- Spring Boot
- sqs
- QueryDSL
- orm
- MSA
- s3
- 오블완
- backenddeveloper
- CodeCommit
- 백엔드
- jpa
- goorm x kakao
- CICD
- Today
- Total
목록2024/12 (18)
gony-dev 님의 블로그
AWS Step FunctionsStep Function은 워크플로우를 상태 머신으로 모델링 하게 해준다.워크플로우 당 하나의 상태 머신을 가질 수 있다!JSON 형식으로 쓰이며, 워크플로우를 시각화하고 수행할 수 있다.워크플로우를 시작하기 위해 SDK API 호출을 사용할 수도 있고, API Gateway나 CloudWatch Event를 이용할 수 있다. 옆에 보이는 여러 박스들을 태스크라고 부르는데, 이 태스크 안에서 일어나는 상태들을 알아보자!태스트 상태는 상태머신에 어떠한 작업을 실행할 때 사용한다.람다 함수 호출AWS Batch 작업 호출ECS 태스크를 실행하고 완료되기까지 대기DynamoDB에 항목을 직접 삽입 등등태스크는 실행 중인 하나의 활동일 수도 있다.이 활동에는 Amazon ECS ..
지난 시간에는 querydsl을 이용하여 원하는 프로젝션 대상에 따라 결과를 효율적으로 반환하는 방법을 배웠다.이번에는 동적 쿼리와 성능 최적화를 통한 조회에 대해 배워보겠다. 순수 JPA 리포지토리와 QuerydslEntityManager와 Querydsl로 동일한 쿼리를 작성했을 때를 비교해보자!다음은 리스트 전체를 조회하는 "findAll()"과 username에 따른 결과를 조회하는 "findByUsername()"을 각각 순수 JPA와 Querydsl로 구현해놓은 것이다.public List findAll(){ return em.createQuery("select m from Member m", Member.class).getResultList();}public List findAll_Qu..
2024.12.06 - [DBMS] - [Redis] Connection Mode-1이전 글에서 Connection Mode의 다음 모드들을 알아보았다.1. Redis Standalone(default)2. Master/Slave3. Redis Sentinel이번 포스트에서는 미처 다루지 못한 Redis Cluster를 알아보고,모드들의 조합들이 어떤 이점을 취하는지 알아보자! 1. Redis ClusterRedis Cluster는 RedisConnection의 확장이라고 생각하면 된다.대규모 데이터 처리를 위한 "수평적 확장"을 사용하며, 데이터를 여러 노드에 분산 저장하는 역할을 한다.노드 간 자동 복제를 통해 데이터 안정성을 유지시키고, 일부 노드 장애 시에도 데이터 접근이 가능하다.이전 포스트에서..
Redis는 통상적으로 4가지의 모드가 존재한다.1. Redis Standalone(default)2. Master/Slave3. Redis Sentinel4. Redis Cluster각각의 모드는 뚜렷한 특징을 띄며, 모드를 조합하여 시스템의 요구사항을 만족시킬 수 있다.1. Redis Standalone우리가 흔히 프로젝트를 할 때 사용하는 모드로, 하나의 redis 서버만을 다룬다.@Beanpublic LettuceConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(); return new LettuceConnectionFactory(..
Amazon CognitoCognito는 사용자에게 자격 증명을 부여해서 웹, 모바일 어플리케이션과 상호작용하게 한다.Cognito의 두 가지 하위 서비스:앱 사용자를 위한 로그인 기능API Gateway와 ALB를 통합Cognito Identity Pools (Federated Identity):AWS의 리소스에 바로 액세스할 수 있도록 임시 AWS 자격증명을 제공한다.Cognito 사용자 풀과도 통합 된다.Cognito와 IAM를 비교하면 IAM에 이미 사용자가 있더라도, Cognito는 AWS 외부에 자리한 웹/모바일 어플리케이션 사용자를 위한 것이다.Cognito User Pools(CUP)1. User Features웹/모바일 어플리케이션을 사용하는 유저들을 위한 서버리스 데이터베이스를 생성한다..
학과 프로젝트를 마치고 보수 작업을 이어나가기 위해 클래스별로 하나씩 살펴보던 와중, 엔티티 클래스에서 sonarlint가 한 가지 이슈를 발견했다. 실행 과정에는 Exception이 발행할 만큼의 문제는 아니지만, 충돌 가능성이 충분히 일어날 만해서 글을 끄적여 본다.이는 내가 만들었던 엔티티 클래스이다. 여러분도 찾아 보시길 바란다.@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@Table(name = "MEETING")public class Meeting extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name =..
CDK BasicCDK는 프로그래밍 언어를 사용하여 클라우드 인프라를 정의한다.얼핏 CloudFormation과 비슷할 수 있지만 언어를 사용하여 정의한다는 것에 큰 차이를 둔다. 즉 상향이라는 것이다.코드는 cloudFormation 템플릿에 컴파일되며, 이를 통해 유연성이 높아지고 프로그래밍 언어를 사용할 수 있다.이렇게 하면 인프라와 어플리케이션 런타임 코드를 함께 배포할 수가 있게 된다.람다 함수ECS/EKS의 도커 컨테이너에 사용하면 좋다.CDK in a DiagramCDK CLI로 합성하여 CloudFormation으로 만들 수 있다. CDK vs. SAMSAM서버리스에 중점을 두고 있다.템플릿을 JSON이나 YAML 형식에 작성한다.람다를 사용해서 빠르게 시작할 수 있다.CloudFormat..
지난 시간에는 querydsl을 사용하기 위한 기본 문법들을 알아보았다.이번 섹션에는 배운 문법들을 토대로 결과를 효율적으로 반환하는 방법들을 알아보자!프로젝션과 결과 반환1. Basic프로젝션은 일전의 JPA에서도 나오는 용어로 조회를 할 때 "조회하고 싶은 대상을 지정"하는 기능을 의미한다.매번 entity 전체를 반환하는 것이 아니라 필요한 값만 가지고 오고 싶을 때 사용한다.프로젝션은 대상에 따라 조회하는 방식이 다르다.프로젝션 대상이 하나면, 타입을 명확히 지정할 수 있다.프로젝션 대상이 둘 이상이면, "Tuple"이나 "Dto"로 조회를 할 수 있다.❗️주의할 점❗️Tuple로 조회를 할 때, Repository 계층 내부에서 사용하는 것은 문제가 없지만, 그 이상의 레벨, 즉 controll..