본문 바로가기

TIL

(48)
231213_TIL 오늘한일 Filter 공부 Spring 프레임워크에서의 "Filter"는 주로 웹 애플리케이션에서 HTTP 요청 및 응답을 처리하고 수정하는 데 사용됩니다. 이러한 Filter는 Servlet API의 일부이며, Spring은 이를 활용하여 다양한 작업을 수행할 수 있도록 지원합니다. 여기에서 Spring에서 Filter가 나온 이유에 대해 설명하겠습니다: HTTP Request 및 Response 처리: Filter는 일반적으로 HTTP 요청이 서블릿에 도달하기 전이나 후에 실행됩니다. 이를 통해 개발자는 요청 및 응답을 조작하고 수정할 수 있습니다. 예를 들어, 요청 데이터의 변조, 헤더의 추가 또는 제거, 응답의 압축 등과 같은 작업을 Filter에서 처리할 수 있습니다. Cross-cutting ..
231212_TIL 오늘한일 JPA 공부 "RawJPA"는 JPA(Java Persistence API)를 좀 더 직접적이고 미세한 수준에서 다루기 위한 라이브러리 또는 프레임워크일 것으로 추측됩니다. 그러나 제가 지식을 마지막으로 업데이트한 시점인 2022년 1월까지는 특정한 "RawJPA"라는 라이브러리나 프레임워크에 대한 상세한 정보를 제공할 수 없습니다. JPA는 자바에서 객체와 관계형 데이터베이스 간의 매핑을 위한 API로, Java EE(Enterprise Edition) 및 Java SE(Standard Edition)에서 사용됩니다. JPA는 객체를 데이터베이스 테이블에 매핑하고, 객체 간의 관계를 유지하며 데이터베이스 조작을 추상화하는데 사용됩니다. 만약 "RawJPA"가 실제로 존재한다면, 이는 JPA를 ..
231211_TIL 오늘 한일 -과제 최종 완성후 리뷰 깃허브 주소: https://github.com/guncow0603/BackOffice GitHub - guncow0603/BackOffice Contribute to guncow0603/BackOffice development by creating an account on GitHub. github.com KPT [KEEP] 팀원들과의 소통이 원활했다. 저번에 구현에 실패했던 것들을 이번 프로젝트에서 구현에 성공(발전중) 적극적인 태도(자기의 기능 구현이 완료되면 다음 기능으로 확장) 새로운 동적 쿼리문을 작성할 수 있는 QueryDsl 적용을 했다. [PROBLEM] 기능 구현 계획 순서를 잘못잡아서 스텝이 꼬여 기능 구현에 실패했다.(Refresh Token) G..
231208_TIL 오늘한일 과제 맡은 기능 구현하기 관리자 로그인과 댓글 관련 기능들 구현 및 수정 Controller 댓글과 관련된 API를 처리하는 Spring Boot 컨트롤러입니다. 댓글 생성, 조회, 수정, 삭제에 대한 엔드포인트가 정의되어 있습니다 // 컨트롤러: 댓글 관련 API를 처리하는 컨트롤러 클래스 @RestController @RequestMapping("/api/posts/{postId}/comments") @RequiredArgsConstructor public class CommentController { private final CommentService commentService; // 댓글 생성 API // requestDto 댓글 생성 요청 DTO // userDetail 현재 인증된 사..
231206_TIL 오늘한일 팀 과제 시작(백 오피스 프로그램 만들기) 나는 댓글 구현을 맡았다. CommentController package com.example.backoffice.domain.comment.controller; import com.example.backoffice.domain.comment.dto.CommentRequestDto; import com.example.backoffice.domain.comment.dto.CommentResponseDto; import com.example.backoffice.domain.comment.service.CommentService; import org.springframework.web.bind.annotation.*; import java.util.List;..
231130_TIL 오늘한일 테스트 코드 정리 Assertions Assertions.assertThat(??).isEqualTo(??); Assertions는 org.assertj.core.api.Assertions 클래스다. ?? 안에는 타입형 객체가 들어간다. isEqualTo()로 사용자가 생각하는 값을 비교한뒤 그게 맞는지 검사하는 테스트다. assertThat의 장점은 오류가 났을때 기대값과 실제값을 둘 다 보여줘서 뭐가 틀린지 명확하게 보여줘서 오류 찾는 시간을 단축시킨다. Assertions.assertThat(??).isInstanceOf(??); ?? 안에는 타입형 객체가 들어간다 이 메소드는, assertThat으로 테스트할 대상을 넣고, isInstanceOf는 앞의 테스트대상의 인스턴스니? 를 뭍는다..
231129_TIL 오늘한일 알고리즘 문제풀기 spring 공부 단위 테스트란 무엇일까? 개발자는 단위 테스트를 작성하여 프로그램을 테스트 할 수 있습니다. 단위 테스트는 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법입니다. 단위 테스트는 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점이 있습니다. 자바 프로그래밍 언어 용 단위 테스트 프레임워크인 JUnit5를 다뤄보겠습니다. Before - After @BeforeEach void setUp() { System.out.println("각각의 테스트 코드가 실행되기 전에 수행"); } 각각의 테스트 코드가 실행되기 전에 수행되는 메서드를 만들어 준다. @AfterEach void tear..
231128_TIL 오늘한일 카카오 로그인 구현하기 소셜 로그인 탄생 배경 모든 웹 사이트에서 회원가입 과정을 거치는 것은 사용자에게 부담이 됩니다. 매번 번거로운 회원가입 과정을 수행해야 할 뿐 아니라, 웹 사이트마다 다른 아이디와 비밀번호를 기억해야 합니다. 웹 사이트를 운영하는 측에서도 회원들의 개인정보를 지켜야하는 역할이 부담이 됩니다. 바이러스와 백신의 관계 처럼, 발전하는 해킹 기술을 막기 위해 보안을 강화하는 노력이 지속적으로 필요하기 때문이죠. 이런 문제를 해결하기 위해 OAuth 를 사용한 소셜 로그인이 등장합니다. OAuth탄생 배경 "A" 서비스에서 카카오의 정보(리소스)를 가져오기 위해서는 카카오의 ID PW를 직접 입력 받아서 "A" 서비스에 저장해서 필요할때마다 불러와서 사용을 해야했는데. 이렇게 ..