코딩 공부/web & Java130 [Spring] Pageable PageablePageable은 Spring Framework (특히 Spring Data)에서 페이징 처리를 쉽게 하기 위해 제공하는 인터페이스입니다. 즉, "어떤 페이지를, 몇 개씩 가져올지 알려주는 정보"라고 이해하면 됩니다. 이러한 페이징을 개발하기 위해서는 page 관련 쿼리를 파라미터로 받아서 직접 처리하는 방법이 있었지만 Spring 프로젝트에서는 효과적으로 페이징을 처리할 수 있게 방법이 있습니다.🏷️ 의존성// jpa를 사용 안하는 경우implementation 'org.springframework.data:spring-data-commons'// jpa를 사용하는 경우implementation 'org.springframework.boot:spring-boot-starter-dat.. 2025. 4. 8. [Spring] BCryptPasswordEncoder BCryptPasswordEncoder 스프링 시큐리티(Spring Seurity) 프레임워크에서 제공하는 클래스 중 하나로 비밀번호를 암호화하는 데 사용할 수 있는 메서드를 가진 클래스입니다.🏷️ 특징BCryptPasswordEncoder는 BCrypt 해싱 함수(BCrypt hashing function)를 사용해서 비밀번호를 인코딩해주는 메서드와 사용자의 의해 제출된 비밀번호와 저장소에 저장되어 있는 비밀번호의 일치 여부를 확인해 주는 메서드를 제공합니다.PasswordEncoder 인터페이스를 구현한 클래스입니다.생성자의 인자 값(verstion, strength, SecureRandom instance)을 통해서 해시의 강도를 조절할 수 있습니다.🏷️ 의존성// securityimplemen.. 2025. 4. 4. [Java] Comparable과 Comparator Comparable과 Comparator자바에 익숙해지기 위해 프로그래머스를 풀던중 정렬 관련에 대해 코딩할 때, Comparator와 Comparable에 대해 알게 되었고 이해와 정리가 필요하다는 생각을 하게 되어 정리하려고 합니다. Arrays.sort()을 호출하여 정렬하는데 사실 이 정렬기능은 Comparable의 구현에 의해 정렬된 것입니다. 정렬을 하려면 '기준'이 필요한데, Comparator와 Comparable은 모두 인터페이스로 객체를 비교할 수 있도록 만들게 하고, 이것을 사용하려고 하면 인터페이스니 선언된 메소드를 반드시 구현을 해야 합니다. public interface Comparator { int compare(T o1, T o2);}public interface Compar.. 2025. 4. 4. [Java] Stream StreamJava 8부터 추가된 기술로 람다를 활용해 배열과 컬렉션을 함수형으로 간단하게 처리할 수 있는 기술입니다. 기존의 for문과 Iterator를 사용하면 코드가 길어져서 가독성과 재사용성이 떨어지며 데이터 타입마다 다른 방식으로 다뤄야 하는 불편함이 있었습니다. 하지만 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드를 정의해 놓아서 데이터 소스에 상관없이 모두 같은 방식으로 다룰 수 있으므로 코드의 재사용성이 높아지게 됩니다. 스트림에 대한 내용은 아래와 같이 크게 세 가지로 나눌 수 있습니다.생성하기 : 스트림 인스턴스 생성가공하기 : 필터링(filtering) 및 맵핑(mapping) 등 원하는 결과를 만들어가는 중간 작업(intermediate operation.. 2025. 4. 2. [JPA] CRUDRepository와 JPARepository 공부를 하다보니 CrudRepository와 JpaRepository 2개의 Repository 인터페이스에서 비슷하게 사용하는 것을 보고 차이점이 무엇인지 궁금해져서 찾아보게 되었습니다. 이 인터페이스는 둘 다 Spring Data JPA가 제공하는 인터페이스로, 두 인터페이스 모두 데이터 액세스 계층의 코드를 간결하게 만들기 위해 제공되지만, 제공하는 기능 및 상속 관계에 차이가 있습니다. 🏷️ CrudRepository@Repository public interface UserRepository extends CrudRepository { // ... }CRUDRepository는 기본 CRUD(Create, Read, Update, Delete) 작업을 지원합니다. 그래서 주로 기본 CRUD .. 2025. 4. 1. [Mockito] ArgumentMatchers 및 any,eq ArgumentMatchers ArgumentMatchers는 메소드 호출 시 특정 인자값과 일치하는지, 혹은 특정 조건을 만족하는지를 확인하는 데 사용되는 도구입니다. Mockito는 여러 가지 Argument Matchers를 제공하며, 사용자는 이를 활용하여 원하는 조건에 맞는 인자를 검증할 수 있습니다.🏷️ ArgumentMatchers.any() Mocking 된 메소드를 설정하기 위한 방법은 여러 가지가 있는데, 첫 번째는 메소드에 "고정된 값"을 사용합니다.doReturn("...").when(userAccountService).getUserInfo("...");위와 같이 doReturn()이나 do()에 사용된 문자열처럼 고정된 값을 사용할 수 있습니다. 하지만 모든 테스트가 고정된 값만.. 2024. 10. 21. 이전 1 2 3 4 ··· 22 다음