RDS란? Relational Database Service 의 약자로 관계형 데이터베이스를 제공하는 서비스이다. 유저가 인스턴스를 깔고 DB를 깔지 않아도 인프라를 자동화 시켜주고 엔드포인트를 제공해준다. AWS에서 말하는 RDS 데이터 베이스를 간편하게 설정이 가
개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 반복하게되면 공통부분에 상당히 많은 부분이 소요가 됩니다.이러한 기능을 자동화 한다면 개발에 집중하고 핵심 로직에 대한 고민을 할 수 있습니다.실무에서 일하며 일일히 빌드와 테스트, 배포과정을 개발자가 직접한다는
RDS를 처음에 생성할 때 외부 접속을 해주고 싶었다.하지만 처음 생성할 때는 public을 열지 못하고 생성 후 수정에 들어가서 public으로 수정을 해야한다.(여기까지 성공적)외부에서 rds 접속하는 세팅1\. public open 수정2\. 보안그룹 - 인바운드
Vault는 HashiCorp에 의해서 개발된 크로스플랫폼 패스워드 및 인증 관리 시스템이다. 공개되면 안되는 비밀번호, API 키, 토큰 등을 저장하고 관리한다.https://www.vaultproject.io/ 에서 개발했다.사용자명, 엔드포인트, 비밀번호
평소에 하던 querydsl 세팅이 되질 않는다.터미널 에러 메세지를 보니 entityFactory가 주입이 되질않는다.Spring boot 3버전 부터는 querydsl 세팅이 변경되었다고 한다.build.gradle해준뒤 다시 querydsl config 파일을 만
젠킨스 설치 $ brew install jenkins 젠킨스 실행, 중지, 재시작 $brew services [start/stop/restart] jenkins localhost:8080으로 접속가능! (EC2경우 Spring과 포트 겹치기때문에 조정해야한다.)
Postgresql 자주쓰는 명령어(RDS) 접속 $ psql --host=[rds public 주소] --port=[port] --username=[username] --dbname=[db이름] --password 여기서 password 는 인자가 없다. SQ
문제 발생 > Github 코드 리뷰를 하다가 @ConfigurationProperties 를 사용한 부분에서 @Data라는 코드를 보게 되었다. @Data구조 Lombok의 @Data는 해당 기능들을 모두 가지고 있다. 특히 @Setter를 가지고있다. 기본적
H2 인메모리 데이터베이스를 통해서ddl-auto : create를 활용하여 테스트를 하고 있던 도중 갑자기 해당 오류가 뜨면서 테스트는 통과하였지만 마음에 안드는 문구가 잔뜩 나왔다. 처음에는 dialect가 잘못되었나...? 혹시 뭐가 잘못되었지 서버는 잘돌아가는데
실제 객체와 비슷하지만 테스트에 필요한 기능만 가지는 가짜 객체를 만들어서 애플리케이션 서버에 배포하지 않고도 스프링 MVC 동작을 재현할 수 있는 클래스를 의미합니다.여기서 저는 @RestControllerAdvice 적용한 부분을 테스트 해보기 위해 해당 테스트 코
Amazon ElastiCache는 인 메모리 데이터베이스 캐싱 시스템을 제공하여 애플리케이션이 데이터를 검색 할 수있는 성능, 속도 및 중복성을 향상시키는 클라우드 캐싱 서비스입니다.Memcached 와 Redis 로 나뉘어진다.두개 다 이미 존재하는 서비스이지만 A
삭제에는 두가지 방법의 삭제가 있다.물리 삭제논리 삭제물리 삭제 같은 경우는 @DeleteMapping 으로 들어와서 row 자체를 삭제 시키는 형식이며 데이터를 즉시 말소시켜야하거나 더이상 데이터의 필요성을 못 느낄때 사용하는 방식입니다.논리삭제는 row를 삭제하는
FE는 Netlify를 사용하고 BE는 AWS EC2를 사용하고 있었따.Netlify 같은 경우 https로 설정이 되어있었고 AWS EC2의 엔드 포인트 같은 경우 http로 설정이 되어있었다.현재 백엔드는 DNS를 사용하지 않고 위의 이야기처럼 엔드 포인트를 사용하
@Data getter, setter, toString, hasCode, equals, constructor 등을 자동으로 생성해준다. 해당 코드에 @RequiredArgsConstructor가 포함되어있다. 또한 @RequiredArgsConstructor @NoA
문제 발생 프론트가 업무가 많아짐에 따라 가격과 날짜 같은 경우 내가 보기 좋은 형식으로 프론트에게 주고 싶어졌다. FE는 결국 화면에 중요하게 시간을 사용해야하므로 BE인 내가 사용하기 좋은 포맷으로 포맷팅을 해주고싶었다. 1. Formatter Spring에는 다
토이프로젝트에서 AWS SES 서비스를 구현하던 도중 테스트 코드에 ACCESS_KEY와 PRIVATE_KEY가 작성된 채로 자리를 옮겨 작업을 하다가 실수로 커밋을 해버렸다... (바로 다음 커밋에서 지웠지만....의미가 없지....ㅠㅠ 1주일 내내 스트레스 받는 최
에러가 나진 않지만 매우매우 불편한 로그가 나를 반겼다.대충 읽어보면 2023-04-02T18:00:14.921+09:00 INFO 52154 --- \[ restartedMain] .RepositoryConfigurationExtensionSupport : Spr
기존 코드빈 값에 대한 validation@NotNull: 제한된 CharSequence , Collection , Map 또는 Array 는 null이 아닌 한 유효하지만 비어 있을 수 있습니다.@NotEmpty: 제한된 CharSequence , Collection
@RequestBody로 받아오는 Dto에서 바인딩되지 않는 오류가 발생하였다.현재 Dto는 모두 @Data처리가 되어있다.하지만 왜 우리의 Dto에 바인딩이 되지 않을까? 일단 내가 알고있는 지식으로 저번 편에 이어 JAVA객체가 JSON으로 변환될때는 JACKSON
일단 테이블과 자바의 클래스를 연결해주는 어노테이션이다.근데 최근 어노테이션 기능에 대해서 전체적으로 다시 공부해보는 중인데 신기한 사실을 발견하고 주의할 점이 있을 듯하여작성을 해보려고한다!기본 생성자는 필수다(파라미터가 없는 public 또는 protected 생성
팀원에게 코드리뷰를 하던 도중평소에 나는 리포지토리 인터페이스를 작성할때 Jpa Repostiory 와 CustomRepository(Querydsl)을 사용하기위해 두가지를 상속 받았다.하지만 처음보는QuerydslPredicateExecutor 를 발견하게되었고 팀
문제 발생 해당 시리즈 10번에 글을 썼지만 조금 부족하다는 느낌이 들어서 새롭게 정리를 하려고한다. 크게 3가지를 보려고하는데 통합테스트와 단위테스트의 차이 TDD와 BDD의 차이 Mockito 와 BDDMockito 차이(추가 사용법) 이렇게가 앞으로 내가 테
수상한 녀석을 발견 일본을 4박 5일 다녀온 이후 밀렸던 코드 PR을 확인했다. 그 코드 리뷰하면서 몰랐던 것이나 다르게 작성해야하는 코드 몇개를 발견하였다. 그래서 공부를 하면서 정리를 하려고 한다. OncePerRequestFilter란? 흔히 Filter 와
상품 상세 페이지 조회를 짜던 팀원이 좋아요 여부를 Long likeMemberId 로 넘기는 코드를 보았다.또한 상세페이지 한번에 10개의 쿼리문이 나가는 현상을 발견해서 다른 팀원이 issue로 올렸다.바로 물어 보았다.Coodori: 혹시 likeMemberId
현재 상황은 상품 상제 조회할때 쿼리가 10개가 나갔다.그리고 한번의 최적화 후 4개로 줄어들었다.1\. item view 증가를 위해 itemId를 통한 item 탐색update 문dto 조회문 item url 조회문 그리고 현재 Repository 하나의 메소드에서
현재 팀원이 refactoring을 거친 상품 상세 페이지의 커밋된 코드를 보다가 생각하게되었다.추가로 현재 로직에서의 Entity 조회와 Dto조회에 대해서 고민을 하다가 작성을 한다.(JPA 2편에서는 선 Entity를 추천했지만 우아한 테크에서는 조회시에는 Dto
1년만에 프로젝트를 꺼내서 다시본적이 있는가...? 저는 지금이라구요....
리팩토링 포인트 잡고 미리 예방하는 포인트 잡아보자
기존 프로젝트를 개선해보자 그리고 궁금한 점도 해결해보자