본문 바로가기

코딩 공부213

[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.
[Docker] Docker 기본 명령어 Docker  기본 명령docker에서 자주 사용하는 명령어를 정리해 보려고 합니다.🏷️ System 정보 명령어# Docker 버전 및 상세정보 확인docker version # Docker 버전 및 빌드 버전을 한줄로 간단하게 확인docker -v # Docker의 시스템 전체 정보 확인docker system info # 서버로 부터 실시간 이벤트를 받음docker system events# 도커 디스크의 사용량 확인docker system df # 도커 허브에 로그인docker login -u [ID] # id에 id값 입력🏷️ Image 관련 명령어✅ Image 리스트 출력 명령어# docker의 image 목록을 확인docker images# 또는 - 위의 커맨드와 아래의 커맨드는 동일함d.. 2025. 4. 7.
[Docker] Docker Compose Docker Compose어떠한 서비스를 개발할 때 여러 개의 컨테이너가 필요한 경우, docker run 명령어를 컨테이너마다 여러 번 실행해야 해서 번거롭고 복잡해집니다.예를 들어,웹 서버 (React, Vue, Next.js 등 프론트엔드)백엔드 서버 (Spring Boot, Node.js, Django 등)데이터베이스 (MySQL, PostgreSQL, MongoDB 등)위와 같이 총 3개의 컨테이너를 실행해야 하는 상황이라면, 각각의 설정을 매번 입력해야 합니다. 이럴 때 docker-compose.yml 파일 하나에 모든 설정을 정의해 두고, docker compose up 명령한 줄로 모든 컨테이너를 실행할 수 있게 도와주는 도구가 바로 Docker Compose입니다.즉, 여러 개의 컨테이.. 2025. 4. 5.
[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.