TIL(20240618) [Spring:@Component와 @Autowired, 알고리즘:조합]
📌 Spring 팀 프로젝트에 들어가기 앞서서, 스프링 빈 등록에 대해 복습을 하고 넘어가려고 한다. 아직 개념정리가 확실히 되어있지 않다고 느껴서 이 부분을 정확하게 이해하고 넘어가기 위함이다! 💡 스프링 빈을 등록하는 방법 컴포넌트 스캔(@Component)과 자동 의존관계(@Autowired) 설정 @Component 컴포넌트 스캔 ...
📌 Spring 팀 프로젝트에 들어가기 앞서서, 스프링 빈 등록에 대해 복습을 하고 넘어가려고 한다. 아직 개념정리가 확실히 되어있지 않다고 느껴서 이 부분을 정확하게 이해하고 넘어가기 위함이다! 💡 스프링 빈을 등록하는 방법 컴포넌트 스캔(@Component)과 자동 의존관계(@Autowired) 설정 @Component 컴포넌트 스캔 ...
📌 Spring 💡 Service 통합테스트 🚩 통합테스트와 단위테스트의 차이점 통합테스트는 모듈을 통합하는 과정에서 모듈간의 호환성을 확인하기 위한 테스트이며, 단위테스트는 하나의 모듈(하나의 기능)을 독립적으로 진행하여 확인하는 테스트 이다. (모듈: 애플리케이션에서 작동하는 기능 또는 메서드를 의미함) 🚩 통합테스트와 단위테스트의 장...
📌 Spring 💡 Service 단위테스트 JUnit5 스프링부트 단위 테스트 작성 예시(Controller & Service)
📌 Spring 💡 Controller MockMvc 테스트 코드 Controller 테스트 코드를 작성하기 앞서서 Controller테스트에서는 무엇을 체크해야 할까? 라는 생각이 들었고, 무작정 테스트코드를 작성하기 보다는 Controller의 책임범위, 어떤것을 테스트 하면 좋을지에 대해서 정리를 하고 시작한다면 효율적으로 진행할 수 있을 것...
📌 Spring ✨들어가기전 : 단위 테스트를 하기 위해서 Mockito를 이용하여 다른 계층과 의존관계를 단절 시켜 주어야 한다. 그래서 아래와 같은 의존성을 추가해야한다. // build.gradle dependencies { testImplementation 'org.mockito:mockito-core:4.8.0 } ...
📌 Spring ✨ 들어가기전 어플리케이션의 로직은 크게 핵심기능/부가기능으로 나누어짐 1) 핵심기능(종단관심사): 해당 객체가 제공하는 고유의 기능 2) 부가기능(횡단관심사): 핵심기능을 보조하는 기능 💡 AOP 란? AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍으로 관점...
📌 코딩테스트1️⃣ : 최대공약수와 최소공배수 🔒 문제 : 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 ...
📌 Spring 💡 뉴스피드 프로젝트 : 페이지네이션 Pageable 페이지네이션 10개씩 페이지네이션하여, 각 페이지 당 뉴스피드 데이터가 10개씩 나오게 합니다. 정렬 기능 생성일자 기준 최신순 좋아요 많은 순 기간별 검색 기능 예) ...
📌 Spring 💡 뉴스피드 프로젝트 : 시연영상 준비 전체적 흐름 유저 아이디 2개 필요 ❤ 서비스가 달성하고자 하는 목표 : 문화컨텐츠 리뷰를 작성한 게시물을 통해서 사용자들의 정보공유 및 소통 창구 ❤ 핵심기능 소개 인증 인가, 리프레시 토큰을 통해 회원과 비회원을 구별하여 사용자 경험을 향상시키는 것 1) 이메일 인증 2) ...
📌 Spring 💡 뉴스피드 프로젝트 : 이메일 인증 및 회원가입 구현 수정 이전에 구현했던 부분들에 문제가 있음을 감지했다. 그래서 다음과 같이 수정을 해보았다. 사실 DB에 이메일 인증 관련해서 email과 code를 저장하고 싶었지만 일회성 같은 느낌이라 .. Redis로 구현하는 방법도 있었지만 아직 내가 Redis구현 방법에 대해서 정확...