일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- s3
- Spring Boot
- MSA
- QueryDSL
- 백엔드
- Redis
- orm
- sqs
- codedeploy
- CICD
- bootcamp
- DynamoDB
- goorm
- aws
- 스터디
- ec2
- spring
- Docker
- codebuild
- 자격증
- 개발자
- rds
- goorm x kakao
- jpa
- serverless
- CodeCommit
- backenddeveloper
- mapping
- 오블완
- 티스토리챌린지
- Today
- Total
목록2024/12 (18)
gony-dev 님의 블로그
AWS SES(Simple Email Service)말 그대로 간단히 이메일을 보내는 서비스이다.SMTP 인터페이스나 AWS SDK로 사람들에게 메일을 보낸다.메일을 받기 위해서는 S3나 SNS, Lambda와 통합할 수 있다.Amazon OpenSearch Service해당 서비스는 Amazon ElasticSearch의 후속작이라고 생각하면 된다.DynamoDB에서는 PK나 인덱스를 통해서만 데이터를 쿼리할 수 있었다.하지만 OpenSearch 사용 시 일부만 매칭이 되어도 모든 필드를 검색할 수 있다.OpenSearch는 두 가지 모드로 클러스터를 프로비저닝할 수 있다.Managed Cluster물리적 인스턴스가 프로비저닝Serverless Cluster서버리스 상태로 프로비저닝Cognito나 IA..
지난 번에는 Maven에서 Gradle로 프로젝트를 변경하는 과정을 진행해보았다.이번에는 내가 맡은 account-service 모듈을 리팩터링하는 과정을 살펴보겠다. piggymetrics 레거시 코드들의 특징은 다음과 같다.전체적으로 Lombok을 사용하지 않아 코드로 직접 구현하는 귀찮은 과정을 진행하였고, 오류 발생 시 클라이언트에게 반환하는 Exception도 제대로 구현되어 있지 않는 등 수정할 부분들이 많아 보였다.(오히려 좋아)하나씩 뜯어 고쳐보겠다.AccountControllerController 클래스의 코드 리팩터링 부분은 다음과 같다.1. 패키지별 API의 분리2. 원시 Mapping 사용이들을 수정하면 다음과 같아진다.@RequiredArgsConstructor@RestContro..
암호화전송 중 암호화는 TLS 또는 SSL이라고 부른다.(TSL는 SSL의 가장 최근 버전)데이터 전송 전에 암호화가 되고 받은 후에 해독되는 원리로 작용한다.이는 네트워크와 서버의 소통을 위해 사용된다.TLS 인증서가 암호화를 지원한다.전송 중 암호화를 하는 이유?데이터를 전송할 때 공공 네트워크를 사용하는 경우도 있고, 데이터가 여러 다른 서버를 통해 지나가기 때문에 중간자 공격을 방어할 필요가 있기 때문이다."중간자 공격"은 중간의 서버가 데이터를 받고 서버로 전송 중인 패키지를 관찰해버리는 것을 말한다.이러한 이유로 우리는 HTTPS나 TLS, SSL을 원한다!TLS를 이용한 데이터 전송암호화와 해독을 위한 키는 어딘가에서 관리가 일어나고, 서버가 이 키에 대한 접근을 할 수 있어야 함을 나타낸다..
지난 시간에는 스프링 데이터 JPA와 Querydsl의 기능을 비교하고,사용자 정의 리포지토리를 만들어 Querydsl을 상속받는 인터페이스를 구현보았다.이번에는 마지막 강의 정리로 복잡한 실무 환경에는 알맞지 않지만 스프링 데이터에서 제공하는 기능들을 살펴보겠다.인터페이스 지원 - QuerydslPredicateExecutorQuerydslPredicateExecutor는 인터페이스는 스프링 데이터 JPA에 Querydsl을 사용하기 위해 제공되는 기능이다.이를 사용하기 위해서는 사용하고 있는 인터페이스에 상속하면 된다!MemberRepository.javapublic interface MemberRepository extends JpaRepository, MemberRepositoryCustom, Q..
구름x카카오 부트캠프 프로젝트를 진행하던 도중, 의존성 주입을 하고 실행 테스트를 해보는 과정에서 난데 없는 오류가 발생하여 삽질을 하였기에 이를 기록해보겠다. 다음은 account-service 모듈 실행 오류이다.📌 Trouble"Failed to determine a suitable driver class"라는 말과 함께 오류가 발생하였다.내용을 보면 알겠지만 import하는 데이터베이스의 url을 표시하라는 문구이다.하지만 나는 mongoDB를 사용하기 때문에 이에 관한 설정은 해놓은 상태이다. 그럼에도 오류가 발생하는 이유가 뭘까?하나씩 살펴보도록 하자.먼저 account-service에 대한 설정은 다음과 같다.build.gradleapplication.yml위의 application.yml..
지난 시간에는 Repository를 통해 순수 JPA를 만들고 이를 Querydsl과 비교하는 시간을 가졌다.이번에는 Spring Data JPA를 이용한 방법과 Querydsl과의 차이를 알아보는 시간을 가져보도록 하겠다. 스프링 데이터 JPA 리포지토리로 변경이제 우리는 JpaRepository를 상속받은 인터페이스를 통해 제공되는 메서드로 간단한 쿼리를 조회할 수 있다! MemberRepositorypublic interface MemberRepository extends JpaRepository { // select m from Member m where m.username = ? List findByUsername(String username);}문득 코드를 보면 이런 생각을 할 수도..
지난 번에는 MSA 환경을 적용해보기 위해 MSA의 구조와 작동 원리를 학습하고 간단한 실습을 진행해보았다.이제 본 프로젝트에 적용하기 위해 한 단계씩 나아가보도록 하자! 프로젝트를 진행하기 위해서는 사전 작업이 필요하다.본 "piggyMetrics" 프로젝트를 살펴보면 maven으로 작업한 것을 볼 수 있는데 우리는 이것을 gradle로 변경할 계획이다.Why Gradle?단순히 Gradle로만 작업을 해왔다기에는 개발자로서의 체면이 서질 않는다.Gradle이 더 편하다고 듣고 적용을 해왔지만 확실한 이유를 알고 싶어서 짚고 넘어가기로 하였다. 1. Maven과 GradleMaven과 Gradle은 빌드 관리 도구로 사용된다.소스코드 파일을 독립적인 형태로 변환하여 컴퓨터에서 실행할 수 있도록 한다.빌..
카카오 x 구름 부트캠프의 회고록 2회차이다!지난 시간에는 간단한 프로젝트의 소개와 MSA를 사용하는 이유에 대해 알아보았다.MSA는 서비스의 수평적 확장과 독립성을 위해 사용하는 아키텍쳐로 팀 간의 협력을 용이하게 하고, 유지보수에 특화되어 있다는 특징이 있었다.이번 시간에는 Spring에서 MSA를 사용하기 위해 필요한 요소들을 알아보도록 하자!1. Spring Cloud MSA ComponentSpring Cloud GatewayURL 주소에 대해 여러 세부 경로에 따라 각각의 스프링부트 어플리케이션에 분배하는 역할을 수행한다.Spring Cloud Eureka Server모니터링 서버로 Eureka Client 설정을 해둔 서버를 Eureka Server에 명시한다.모니터링 기능과 함께 Sprin..
금일부터 카카오 x 구름 부트캠프 1회차 프로젝트 회고록을 작성하려고 한다.아직 개발에 완전히 익숙하지 않기 때문에 글을 작성하며 배운 내용을 복습해 보일 예정이다. 프로젝트 주제는 다음과 같다.협업을 통한 실시간 버그 해결 프로젝트는 실제 시장에서 사용되는 소프트웨어를 클론 코딩하여 디버깅과 최적화를 수행하는 것을 목표로 합니다.이 프로젝트를 통해 학생들은 백엔드 시스템에서 발생하는 버그와 성능 문제를 발견하고 해결하는 방법을 학습하며, 배포 및 유지보수 과정을 포함한 소프트웨어 개발 전 과정을 경험합니다.팀 협업을 기반으로 문제를 해결하며, 에러 보고서와 해설지를 작성해 서로의 작업을 평가하고 개선합니다.우리는 깃허브에서 적합한 프로젝트를 찾았고, piggyMetrics라는 프로젝트를 최적화하기로 하..
STS(Security Token Service) BasicSTS는 최대 1시간까지 임시 보안 자격 증명을 얻어 AWS 리소스에 바로 액세스할 수 있는 서비스이다.STS 요소들을 알아보자.(까만 부분이 시험 출제 높음)AssumeRole | 가장 핵심적인 계정이나 교차 내 역할을 추정하도록 한다.AssumeRoleWithSAML | 사용자가 SAML로 로그인한 경우, 사용자에게 임시 보안 인증을 부여한다.AssumeRoleWithWebIdentity | 사용자가 신분 제공자로 로그인하면 역할을 반환한다.- 요즘에는 Cognito 자격증명 풀을 사용한다.GetSessionToken | 사용자나 AWS 루트 계정에 MFA가 있는 경우를 말한다.GetFederationToken | 연합된 사용자의 임시 자격 ..