Peony의 기록 창고 🌼
article thumbnail
[Test] Junit5로 Repository 테스트 코드를 작성해보자.
SpringBoot/Test 2024. 7. 3. 15:19

어노테이션@DataJpaTest @ActiveProfiles("test") @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)@DataJpaTest: JPA 관련 컴포넌트만 로드하여 테스트를 수행. 일반적으로 인메모리 데이터베이스를 사용하여 빠르게 테스트를 실행한다.@ActiveProfiles("test"): 테스트 환경 설정@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE): 기본적으로 @DataJpaTest는 인메모리 데이터베이스를 사용.replace = AutoConfigureTestDatabase.Replace.NONE 를 해주..

[Test] 통합 테스트 VS 단위 테스트
SpringBoot/Test 2024. 7. 2. 15:54

이번 프로젝트를 리팩토링하면서 꼭 해보자 했던 것이 바로 테스트 코드 작성이었다. 이전에 통합 테스트를 해본 적은 있지만, 단위 테스트는 제대로 경험해본 적이 없었다. 시간에 쫓기다 보니 단위 테스트를 작성할 기회가 없었고, 중요하다는 것을 알았지만 항상 뒤로 미루다 작성하지 않았었다. 이번에는 단위 테스트를 통해 프로젝트의 안정성과 품질을 한층 더 높여보려고 단위 테스트란 무엇인지, 코드는 어떻게 짜는지에 대해 알아보려고 한다. 단위 테스트 (Unit Test)란?단위 테스트(Unit Test)는 소프트웨어 테스트의 한 유형으로, 소프트웨어의 개별 구성 요소 또는 모듈이 예상대로 작동하는지 검증하는 과정이다. 여기서 "단위"는 보통 메서드, 함수, 또는 클래스와 같은 소프트웨어의 가장 작은 테스트 가능..

article thumbnail
KDT 유데미 부트캠프 - 풀스택 개발 과정(JAVA) 6주차 학습 일지

학습 내용저번주 금요일 부터 시작한 미니 프로젝트..! 지난주에는 프로젝트 기획, 디자인, 역할 분담까지 진행했었다. 일단 우리 프로젝트의 전체적인 기획은 아래와 같다.타겟 : 컴퓨터 견적을 맞추고 싶은데(구매), 조언을 구할 사람이 없는 분 / 컴퓨터에 대해 잘 알고있어 도움을 주고 싶은 분서비스 : 인터넷에서 견적을 맞추는 과정에 있어서 도움을 드리는 서비스목적 : 컴퓨터 구매를 원하는 사람들 중에 어떤 부품이 좋은지 잘 모르는 사람들을 위한 게시판우리 게시판의 주요 기능 : 게시판의 추천 내용이나 각종 정보를 담은 글 ● 컴포넌트 구성게시글 리스트 컴포넌트(PostList): 게시글 아이템 목록을 띄워주고, 작성 버튼을 누르면 게시글 모달 컴포넌트 띄우기.게시글 아이템 컴포넌트(PostItem): ..

article thumbnail
KDT 유데미 부트캠프 - 풀스택 개발 과정(JAVA) 5주차 학습 일지

5주 차에는 취업 특강과 팀 프로젝트가 주된 내용이었다. 학습 내용월, 화, 수 : 취업 특강,목요일 : 리액트 수업 과제였던 to do list app 코드 풀이, 웹 브라우저 저장소, JSON금요일 : 팀 프로젝트 : 리액트를 통해 게시판 만들기 (기획, 역할분담) Browser StoragelocalStorage : 영구 저장소session Storage : 임시 저장소두 저장소 모두 사용하는 방법이 같다.두 저장소는 문자열 키와 문자열 값을 한 쌍으로 저장한다. keyvalueidlongleenum1234 제공 메서드xxxStorage.setItem(key, value) : 새로운 항목을 저장 또는 기존 항목 변경xxxStorage.getItem(key) : 기존 항목의 값 반환xxxStorage..

article thumbnail
KDT 유데미 부트캠프 - 풀스택 개발 과정(JAVA) 4주차 학습일지

4주 차에는 소플의 처음 만난 리액트3장부터 종장까지의 내용을 학습하며 실습을 진행하였다.학습 내용Chap03. JSX 소개A syntax extension to JavaScriptJavaScript and XMLcreateElement()의 역할{}(중괄호) 와 사용법Injection Attack 방어/ 가독성 증가/ 간결한 코드Chap04. 엘리먼트 렌더링엘리먼트의 정의리액트 엘리먼트 개념과 특징type, props, children불변성root DOM nodeChap05. 컴포넌트와 props컴포넌트의 개념props의 개념과 특징Pure 함수함수/클래스 컴포넌트상속컴포넌트의 이름컴포넌트와 렌더링컴포넌트 합성/추출Chap06. State와 생명주기State 개념과 특징생명주기componentDidM..

[SpringBoot] AWS S3 설정하기
카테고리 없음 2024. 6. 10. 15:44

의존성 받아오기//S3 implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.1.1") implementation("io.awspring.cloud:spring-cloud-aws-starter-s3:3.1.1") AWS Credentials Provider 구성하기스프링 클라우드 AWS에서 AWS Credentials Provider를 구성할 수 있는 방법은 3가지가 있다.기본 자격 증명 제공자 - `DefaultCredentialsProvider``StsWebIdentityTokenFileCredentialsProvider - EKS 권장사용자 지정 Aws 자격 증명 공급자 - Custom AwsCredentialsPr..

article thumbnail
KDT 유데미 부트캠프 - 풀스택 개발 과정(JAVA) 3주차 학습 일지

학습 내용6/3 월요일 : 객체(속성, 메서드), 클래스, 표준 내장 객체, 예외처리, BOM , window객체, location 객체6/4 화요일 : location객체, history객체, DOM(돔트리)6/5 수요일 : 동적 속성 , 커스텀 데이터 속성, 이벤트 버블링, 이벤트 캡쳐링, 기본 이벤트를 제거 하는 방법​6/7 금요일 : 리액트의 장/단점, 프레임워크와 라이브러리의 차이, 컴포넌트(재사용 가능한 화면요소), MPA와 SPA, AJAX, XML, JSON, 자바스크립트 과제이번주 과제 : 자바스크립트로 TodoList를 만들어보자. 이번 주에 겪은 시행착오/ 어려운점자바 스크립트 과제를 하며 어떤 기능을 하는지 알고만 넘어갔던 메소드들을 막상 작성하려니 생각보다 어려웠다. 자바스크립트에..

article thumbnail
[KDT 유데미 부트캠프] 풀스택 개발 과정(JAVA) 1,2주차 학습 일지

1주차, 2주차 학습 내용1주차에는 프론트의 기본인 HTML과 CSS를 배우고, 자기소개 페이지를 만들어보았다.2주차에는 자바스크립트를 배웠다. 자바스크립트의 자료형과, 여러 연산자, 자료형 변환 등 기본 문법을 학습하고, 조건문, 반복문을 배우고, 함수, 객체까지 학습했다. 다양한 실습들을 하면서 학습을 진행했는데, 아래는 제일 인상깊었던 실습 예제이다.  이번 주에 겪은 시행착오/ 어려운점아직까지는 학과 전공 수업 때 배운 내용들이라 크게 어려운점은 없었다.  앞으로 적용해야겠다고 느낀 점실습 코드를 작성해보라고 하셨을 때는 이미 아는 내용을 실습 하는 것이기도 했어서 크게 어려움이 없었다. 하지만, 강사님이 작성해주신 코드를 보면 종종 내가 작성한 코드보다 더 읽기 쉬운 코드로 작성해주실 때가 있었..

article thumbnail
《한 권으로 배우는 도커 & 쿠버네티스》

이 책은 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축, 관리, 사용 방법까지 구체적으로 설명되어있는 책이다.1장 실습환경 구축하기에서는 우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등 실습에 필요한 환경 구축을 안내하고 있다. 다만, 책에 안내되어 있듯이 모든 실습을 따라가려면 램 16GB 정도가 필요하다.2장부터 6장에 걸쳐 도커의 개념, 설치, 기초와 도커를 활용한 django와 Flask 실행을 다루고 있고, 7장부터 10장까지는 쿠버네티스의 기본 구조, 실습환경 구축, 기초, 웹서비스 배포를 다루고 있다. 11장은 CI(Continuous Integration)/ CD(Continuous Delivery)를 위해 깃허브 액션과 ArgoCD를 설명하고 있고, 12장은 쿠버네티..

article thumbnail
Jwt.parserBuilder() Deprecated
프로젝트/Trouble Shooting 2024. 5. 23. 11:46

JWT 토큰 로직을 짜는 중 Gradle: io.jsonwebtoken:jjwt-api:0.12.5 버전에서Jwt.parserBuilder() Deprecated가 되었다고 뜬다.parserBuilder -> parser()setSigningKey(key) -> verifyWith(key)parseClaimsJws(token) -> parseSignedClaims(token)로 바꿔준다. 아래 코드는 다음과 같이 변경하면 된다. Jwts.builder() .expiration(new Date(now + REFRESH_TOKEN_EXPIRE_TIME)) .signWith(this.key) .compact();