은로그

[우테코] 우아한테크코스 지원 [+2024 입학 설명회]
https://www.woowacourse.io/ 기다리던 우아한테크코스 6기가 지원이 시작되어 백엔드 코스에 지원하게 되었습니다. 우아한테크코스가 무엇인지 더 자세히 알고 싶다면, 우아한테크코스 2024 입학 설명회를 시청하면 많은 도움이 될 것 같습니다. 우테코의 신청 이유는 몰입을 제공하는 문화 소통하며 배우는 협업 위주 학습 현장 경험을 가진 경력 개발자의 리뷰(피드백) 수정하며 단계별로 성장해 나가는 학습 기회 를 경험할 수 있다는 장점이 매우 컸습니다. 우테코는 개발자로서의 성장을 원하는 학생들이 가고 싶어 하는 부트캠프인 만큼, 인적 교류(소통을 위한 학습)와 함께 자라기 과정에서 많은 것을 배울 수 있을 것 같아 꼭 참가하고 싶었습니다. 이번 6기에서도 프리코스를 진행할 수 있기에 저는 매..

[협업프로젝트] SwaggerUI + Spring RestDocs 로 API 문서화하기
SwaggerUI VS Spring REST Docs 팀 프로젝트 스택 결정 시 API 문서화를 도와주는 프레임워크에 Spring Rest Docs와 Swagger가 언급되었고, 두 가지 스택 중 한 스택을 결정하기로 하였다. 다음은 어떤 스택을 사용할지에 대해 서로 공부해서 소통하기로 한 결과를 표로 정리한 내용이다. 주요 특징 Spring Rest Docs Swagger 주 용 도 테스트 기반 API 문서화 API 스펙 정의 및 시각적 문서화 문서화 방식 테스트 케이스를 사용하여 API를 호출하고 문서화 API 스펙을 정의하고 자동으로 시각적 문서를 생성 테스트 기반 문서화 예 (JUnit, REST Assured, MockMvc 등을 사용) 아니요 문서 형식 다양한 형식을 지원 (HTML, Asci..

[Spring] Security 테스트 적용기 02 (+ Oauth2.0, jwt)
Spring Security 테스트 적용기 02 OAuth 2.0 또는 JWT와 같은 보다 복잡한 인증 메커니즘을 사용하는 경우, @WithMockUser와 @WithUserDetails만으로는 충분하지 않을 수 있다. OAuth 2.0 및 JWT와 같은 토큰 기반 인증 방식은 다른 방식으로 테스트해야 한다. 일반적인 방식으로 Spring Security Test 프레임워크에서 지원하는 @WithSecurityContext 애노테이션을 사용하여, 커스텀한 @WithMockUser 애노테이션을 만들고 OAuth 2.0 인증을 가정하는 테스트를 작성할 수 있다. 테스트 코드 작성에 도움을 주는 애노테이션들을 정리하고, @WithSecurityContext 어노테이션을 사용하여 @WithMockOAuth2Us..

[Spring] Security 테스트 적용기 01
Spring Security는 어떻게 테스트를 할 수 있을까? Spring Security와 관련된 기능을 테스트하려면 인증 정보를 미리 주입해야 한다. 테스트를 진행할 때 초록빛을 보기 위한 가장 간단한 방법은 테스트 전에 SecurityContext에 직접 Authentication을 주입하는 경우이다. class UserServiceTest { @BeforeEach void setUp() { UserDetails user = createUserDetails(); SecurityContext context = SecurityContextHolder.getContext(); context.setAuthentication(new UsernamePasswordAuthenticationToken(user, ..

[Java] Java 11 vs Java 17, JDK 17 정리
JDK 11 vs JDK 17 팀 프로젝트 진행 시 JDK11과 JDK17 버전 중 어떤 것을 사용할지 고민한 결과 그동안 많이 접해온 Java 11의 익숙함과 더 많은 정보 량을 가진 Java 11을 결정하기로 하였다. 고민하는 과정에서 공부한 Java 11, Java 17의 변경내용과 JDK17의 중요 업데이트 항목 중 하나인 record 클래스를 정리해보려고 한다. JDK 17까지의 주요 업데이트 JDK 11 Type Features Content 패키지 Jigsaw 모듈 시스템 모듈을 만들고 해당 모듈은 외부에서 호출할 수 있는 API를 제공하여, 언어레벨에선 직접적으로 해당 모듈에 접근이 불가능 패키지 New Garbage Collector, ZGC 추가 새로운 Garbage Collector ..