일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SW봉사
- 코딩교육봉사
- 정보처리산업기사
- 프로그래머스
- softeer
- java
- 자바
- 코딩봉사
- 시나공
- SQL
- 백준 알고리즘
- kotlin
- 문제풀이
- 스프링
- 소프티어
- 백준알고리즘
- 공부일지
- programmers
- 알고리즘
- 데이터베이스
- MYSQL
- 회고
- 파이썬
- 1과목
- C++
- 코틀린
- CJ UNIT
- 백준
- python
- BFS
- Today
- Total
목록Application (141)
JIE0025
✅ 이메일 전송 구현 이메일 전송에 사용가능한 서비스는 여러가지가 있다. 대표적으로는 AWS Email Service도 존재하지만 이번 마이버디 프로젝트에서는 Spring boot 내부의 SMTP를 도입하였다. ✅ Why SMTP ? 왜 Spring boot의 SMTP를 사용했는가? 내부 SMTP는 애플리케이션에서 이메일을 보낼 수 있는 가장 간단한 방법이다. Spring boot에서는 JavaMailSender인터페이스가 존재한다. 이 인터페이스를 통해 이메일 전송에 기본적인 설정이 되어 있고, SMTP 서버를 통해 이메일이 전송된다. SMTP의 장점 1. 안정성 : 이메일 전송을 위한 표준 프로토콜이라서 안정성이 높다. 2. 보안 : 이메일 전송에 TLS/SSL과 같은암호화 기술을 적용이 가능, 데이..
✅ 의문 FE가 API 요청 응답 기능테스트를 진행하며 발생하는 로그를 확인했는데, GET '/api/v1/amenities?state=%EA%B2%BD%EA%B8%B0 이렇게 로그가 찍힌걸 확인되었다. POSTMAN으로 테스트했을 때에도 나는한글로 GET '/api/v1/amenities?state=경기 이렇게 보냈었기 떄문에 로그에서도 한글로 나올 줄 알았는데, 전혀 다른 문자열이 들어오고 있어서 잘 들어오고 있는게 맞는지 체크가 필요했다. 알아보니 해당 문자열은 한글이 인코딩된 값이었다. ✅ 인코딩 ?URL 인코딩, URL 디코딩은 컴퓨터에 여러 언어를 사용하다보니 생긴 문제를 해결하기 위해서 나온 것 인코딩된 값을 통해 컴퓨터가 더 명확히, 편하게 읽는다고 한다. param으로 한글을 보내고 있는..
Description: The dependencies of some of the beans in the application context form a cycle: answerController defined in file [/Users/kimchangha/Desktop/projects/Section5/pre-project/new/seb42_pre_024/backend/build/classes/java/main/com/codestates_pre024/stackoverflow/answer/controller/AnswerController.class] ┌─────┐ | answerService defined in file [/Users/kimchangha/Desktop/projects/Section5/pre..
✅ 선행 학습 https://velog.io/@cada/%ED%86%A0%EA%B7%BC-%EA%B8%B0%EB%B0%98-%EC%9D%B8%EC%A6%9D%EC%97%90%EC%84%9C-bearer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C 토근 기반 인증에서 bearer는 무엇일까? 본 글은 MDN - HTTP 인증, Veloport님의 게시글을 참고하여 작성되었습니다. 자세하게 알고싶으신 분은 해당 링크를 참고해주세요.토큰 기반 인증인증 타입마치며토큰 기반 인증은 쿠키나 세션을 이 velog.io ✅ 상황 로그인 요청을 날리고, AccessToken과 RefreshToken이 정상적으로 돌아오는 것을 확인했다. ✅ 의문 JWT 토큰 인증을 구별하기 위해 Be..
✅ 문제 요약 통합테스트에서 데이터베이스 이슈 : 각각은 잘 동작하지만 전체 동작시 실패 해결방안으로 @DirtiesContext를 사용했으나, 해당 어노테이션을 사용하면 전체 DB를 초기화하며 빌드 속도가 너무 느리다는 단점이 생겼음 개선 이전 : 총 테스트시간이 2sec, 242ms https://jie0025.tistory.com/385 [Trouble shooting] 통합테스트에서 데이터베이스 이슈 : 각각은 잘 동작하지만 전체 동작시 실패 JIE0025 [Trouble shooting] 통합테스트에서 데이터베이스 이슈 : 각각은 잘 동작하지만 전체 동작시 실패 본문 프로젝트 - FLAG/에러 [Trouble shooting] 통합테스트에서 데이터베이스 이슈 : 각각은 잘 동작 jie0025.t..
통합테스트를 진행하기 위해서는 몇가지 고려할 점이 있다. 데이터베이스 서버를 작동시켜야한다. 테스트가 끝나고 데이터가 지워지지 않기 때문에 다음 테스트시에 해당 데이터를 어떻게 처리할지 데이터베이스 초기화를 진행할지 해당 데이터로 다음 테스트를 진행할지 테스트 순서는 어떻게 정해줄건지 등등 어디까지 검증할것인가? package com.FlagHome.backend.domain.category.integration; import com.FlagHome.backend.domain.category.controller.CategoryController; import com.FlagHome.backend.domain.category.dto.CategoryPostDto; import com.FlagHome.back..
컨트롤러 슬라이스 테스트와 마찬가지로 슬라이스 테스트이므로 서비스 로직이 잘 돌아가는지만 확인하면 되어서 4가지 테스트만 만들어주었다. package com.FlagHome.backend.domain.category.service; import com.FlagHome.backend.domain.category.entity.Category; import com.FlagHome.backend.domain.category.repository.CategoryRepository; import com.FlagHome.backend.global.util.CustomBeanUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test..
컨트롤러 단에서 서비스/레포지토리를 거치지 않는, 컨트롤러 자체를 위한 테스트 코드이다. 이 경우, 컨트롤러에 요청이 잘 들어오고 응답이 잘 거치면 되는지 테스트해주면 되기 때문에 CRUD 네가지를 체크해주었다. package com.FlagHome.backend.domain.category.controller; import com.FlagHome.backend.domain.category.dto.CategoryPatchDto; import com.FlagHome.backend.domain.category.dto.CategoryPostDto; import com.FlagHome.backend.domain.category.dto.CategoryResultDto; import com.FlagHome.back..
내가 해볼 수 있는 거의 모든 테스트코드를 적은 것 같다. 일단 첫번쨰는 엔티티를 검증하는 도메인테스트! 엔티티에 대해 값의 추가와 수정만 있으므로 3가지 테스트를 제작했다. package com.FlagHome.backend.domain.category.entity; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; import java.util.ArrayList; public class CategoryTest { public Category activityC..
✅ 문제 통합테스트코드를 두개 작성했다. 각각의 테스트는 정상적으로 동작하지만, 클래스 단위로 동작시 자꾸 테스트가 실패했다. ✅ 원인 분석 통합테스트는 데이터베이스까지 반영이 되는것을 확인하면서 진행하는 테스트이기 때문에 테스트가 넘어가게되면 따로 데이터베이스를 처리해주지 않는한, 이전 테스트에서 저장한 데이터가 남아있나보다. 이 경우 @BeforeEach 혹은 @AfterEach에서 데이터베이스를 비워주는 작업이 필요해보인다! ✅ 수리 💻 Stack Overflow의 추천 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) https://stackoverflow.com/questions/34617152/how-to..