일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- serverless
- spring
- QueryDSL
- 스터디
- nosql
- Cache
- 개발자
- data
- codebuild
- codedeploy
- CICD
- goorm x kakao
- bootcamp
- aws
- Redis
- CodeCommit
- 자격증
- backend
- DynamoDB
- Docker
- backenddeveloper
- orm
- mapping
- 티스토리챌린지
- goorm
- s3
- jpa
- MSA
- Spring Boot
- 오블완
- Today
- Total
목록backenddeveloper (27)
gony-dev 님의 블로그

학과 프로젝트를 마치고 보수 작업을 이어나가기 위해 클래스별로 하나씩 살펴보던 와중, 엔티티 클래스에서 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..

AWS SAMSAM은 Serverless Application Model의 약자로서버리스 어플리케이션을 개발하고 배포하기 위한 프레임워크이다.코드를 작성하고 SAM 프레임워크와 호환되는 YAML 형식의 구성 파일을 사용하게 된다.YAML 파일은 CloudFormation의 모든 항목을 지원하기에 SAM YAML 코드에서 출력, 매핑, 파라미터 리소스 등을 계속 사용할 수가 있다.SAM은 내부적으로 CodeDeploy를 사용하여 람다 함수를 배포할 수 있으며, API 게이트웨이, DynamoDB를 로컬에서 실행하는 데 도움을 준다. RecipeSAM은 레시피로 구성되며, 이는 템플릿 맨 위에 SAM 템플릿임을 나타내는 변환 헤더를 추가한다.그런 다음 코드를 작성하는데 CloudFormation을 사용하는 ..

AWS CodeDeployCodeDeploy는 어플리케이션 배포를 자동화해주는 배포 서비스이다.온-프레미스 서버, 람다 함수, ECS 서비스, EC2 인스턴스에 새로운 어플리케이션 버전을 배포한다.배포가 실패하거나, 알람이 트리거되면 자동으로 롤백을 시작할 수가 있다!appspec.yml인 파일을 사용하여 배포 방식을 정의할 수가 있다.CodeDeploy - EC2/On-preises Platform우리는 CodeDeploy를 사용하여 두 종류의 배포를 할 수 있다.하나는 in-place 배포, 다른 하나는 블루/그린 배포이다.CodeDeploy를 할 때는 CodeDeploy 에이전트를 타깃 인스턴스에 배포해야만 한다. 그 에이전트가 인스턴스 업데이트를 수행하기 때문이다.우리는 배포 속도도 정의할 수 있..

Querydsl에 대한 초기 설정을 하였지만기초도 모르면 무용지물이다. 오늘은 querydsl을 사용하여 기본 문법에 대해 작성을 해보겠다.JPQL vs. Querydsl작성 전에 우리가 querydsl을 사용하는 이유에 대해 알아보자.JPQL을 사용해도 될텐데 왜 굳이 querydsl을 사용하는 것일까?사실 이 두 가지 프레임워크에는 차이점이 있다.JPQL과 달리 querydsl은 select절에서 문법이 틀려도 틀릴수가 없다.왜? 컴파일링을 통해 오류를 다 잡아내기 때문이다!! 그 덕에 우리는 편하게 코드를 작성하고 재빨리 오류를 찾아 수정할 수 있다."여러 Repository에서 JPAQueryFactory를 필드로 선언할 텐데 이에 대한 동시성 문제는 괜찮을까?" 라고 생각할 수 있다.하지만 괜찮..

지금까지 섹션 24까지 진행하면서 우리는 AWS 리소스를 생성하고, AWS 프로그래밍 방식을 배우고, Beanstalk로 AWS에 코드를 배포하기도 하였다.하지만 이 모든 작업을 수동으로 하였는데, 이런 경우에 실수가 발생할 수 있다.우리는 이제 자동으로 AWS에 배포되는 방법을 배우고자 한다.CICDCICD에서 우리는 다음 사항들을 배울 것이다.AWS CodeCommit | 코드를 저장AWS CodePipeline | 코드에서 Elastic Beanstalk까지 파이프라인을 자동화AWS CodeBuild | 코드를 빌드하고 테스트AWS CodeDeploy | EC2 인스턴스에 코드를 배포AWS CodeStar | 하나의 장소에서 소프트웨어 개발 활동들을 관리AWS CodeArtifact | 소프트웨어 ..