본문 바로가기

전체 글

(90)
Mybatis일때 Controller에서의 페이징처리 페이징 처리는 다음과 같은 과정으로 이루어집니다:컨트롤러에서 클라이언트의 page 파라미터를 받아 서비스 계층에 전달합니다.서비스 계층에서 pageNumber를 이용해 offset을 계산하고, 매퍼에 offset과 pageSize를 전달하여 데이터를 조회합니다.MyBatis 매퍼에서는 SQL 쿼리에서 LIMIT과 OFFSET을 사용해 페이징 처리를 합니다.Thymeleaf 뷰에서 현재 페이지와 총 페이지 수를 이용해 이전/다음 페이지로 이동할 수 있는 링크를 생성합니다.이 과정을 통해 클라이언트에 필요한 데이터만 전송하여 성능을 최적화할 수 있습니다. Spring Boot와 MyBatis를 사용하여 `board` 테이블에 대한 페이징 처리 예제를 작성해 보겠습니다. 이 예제에서는 `board` 테이블을 ..
자주 사용한 애너테이션 정리 ### @Slf4j `@Slf4j`는 Lombok 라이브러리에서 제공하는 애너테이션으로, 클래스에 로깅 기능을 추가합니다. 이 애너테이션을 사용하면 `log` 객체를 생성할 필요 없이 로깅을 간편하게 사용할 수 있습니다. ```java @Slf4j public class MyClass {     public void myMethod() {         log.info("This is an info message");     } } ``` ### @RequiredArgsConstructor `@RequiredArgsConstructor`는 Lombok에서 제공하는 애너테이션으로, `final` 필드나 `@NonNull` 애너테이션이 붙은 필드에 대해 생성자를 자동으로 생성해줍니다. 주로 의존성 주입을 위..
MySQL 5.0과 MySQL 8.x에서 CHARSET과 COLLATE 차이 테이블 이관 전 버전 확인이 되지 않았었다.MySQL 5.0에서 MySQL 8.x로 테이블을 이관해서 확인하는데에는 문제가 없지만, MySQL 8.x에서 MySQL 5.0으로 테이블을 이관하면 글자가 깨지는 문제점을 확인했다. MySQL 5.x 버전에서 테이블을 생성할 때 유의할 점은 MySQL 8 버전 이상에서 지원되는 `utf8mb4` 문자 집합과 `utf8mb4_unicode_ci` 콜레이션을 사용하지 않는 것입니다. MySQL 5.0에서는 `utf8` 문자 집합과 `utf8_general_ci` 콜레이션을 사용해야 합니다. ### 스키마 생성 스크립트 아래는 MySQL 5.0에 맞게 작성된 스키마 생성 스크립트입니다. ```sql CREATE DATABASE base DEFAULT CHARACTE..
MySQL max_allowed_packet 변수 조정하기 : feat. 사진 업로드 실패 ### MySQL max_allowed_packet 변수 조정하기 MySQL 서버에서 `max_allowed_packet` 변수를 조정하여 더 큰 패킷을 처리할 수 있도록 설정하는 방법을 알아보겠습니다. 이는 특히 큰 데이터를 처리할 때 유용합니다. #### 1. MySQL 설정 파일 수정 먼저 MySQL 설정 파일인 `my.ini` 파일을 수정합니다. 1. `my.ini` 파일을 엽니다. (보통 `C:\ProgramData\MySQL\MySQL Server 5.7\my.ini`에 위치) 2. `max_allowed_packet` 변수를 찾습니다. 기본값은 다음과 같습니다:    ```ini    max_allowed_packet=4M    ``` 3. 이 값을 원하는 크기로 변경합니다. 예를 들어, 1..
Spring Boot에서 하나의 JAR 파일로 빌드하고, 각기 다른 포트로 'admin'과 'user' 컨트롤러를 구분하기 Spring Boot 애플리케이션을 하나의 JAR 파일로 빌드하고, 각기 다른 포트에서 'admin'과 'user' 컨트롤러를 구분하여 노출하는 방법을 알아보겠습니다. 이를 위해 '@Profile' 애너테이션을 사용하여 특정 프로파일에서만 활성화되는 컨트롤러를 정의하겠습니다. #### 1. 프로젝트 설정 먼저 Gradle 설정 파일 'build.gradle'을 작성합니다: '''groovy plugins {     id 'org.springframework.boot' version '2.7.17'     id 'io.spring.dependency-management' version '1.0.15.RELEASE'     id 'java' } group = 'com.example' version = '0...
CKA 30% 할인 쿠폰 적용 방법 https://devopscube.com/에서 이벤트를 자주함 2024.06.24 기준도 30%할인(30COMTECHIES)쿠폰 적용됨 해당 내용 캡처 사진 첨부 1. 배너 REDEEM NOW 버튼 클릭 2. 화면에서 목록 중 필요한 시험의 Redeem Discount 버튼 클릭- Use Code 30COMTECHIES at checkout 하라는 내용으로 쿠폰 30COMTECHIES를 쿠폰으로 입력하면됨  3. The Linux Foundation에서 시험 접수  4. Enroll Today 클릭 5. 쿠폰 입력 후 적용 전 화면 6. 쿠폰 입력 후 적용 후 화면 이후 결제 정보 입력하고 시험 응시 관련 정보를 입력하면 된다. 근데 너무 비싸276.5 달러 = 384,207원그만한 가치를 지니는지 의문..
클러스터 k3s, 패키지 매니저 Helm 설명 ### 요약- **K3s**: 경량화된 Kubernetes 배포판으로, 리소스 사용량이 적고 설치가 간편합니다. 소규모 클러스터나 Edge Computing 환경에서 유용합니다.- **Helm**: Kubernetes 용 패키지 매니저로, 애플리케이션의 설치, 업그레이드, 롤백 등을 간편하게 할 수 있습니다. Helm Chart를 통해 애플리케이션을 패키징하여 관리합니다.이 두 도구를 결합하면, K3s 클러스터에서 Helm을 사용해 애플리케이션을 손쉽게 배포하고 관리할 수 있습니다. K3s는 클러스터 환경을 제공하고, Helm은 그 위에서 애플리케이션의 라이프사이클을 관리하는 역할을 합니다. 참고.클러스터란 여러 컴퓨터(노드)가 협력하여 하나의 시스템처럼 동작하는 구조를 말합니다. Kubernetes 클..
쿠버네티스를 이용해 nextCloud 설치하기 Ubuntu 서버에 쿠버네티스 클러스터 K3s를 이용해 NextCloud를 설치하는 단계별 가이드입니다.### 요약이 가이드는 Ubuntu 서버에 K3s를 설치하고, Helm을 사용하여 NextCloud를 설치하는 방법을 설명합니다. K3s는 경량 Kubernetes 배포판으로 설치와 운영이 간편하며, 특히 리소스가 제한된 환경에서 유용합니다. NextCloud는 Helm 차트를 사용하여 간편하게 배포할 수 있습니다.### 1. 시스템 준비#### A. 시스템 업데이트먼저 시스템을 최신 상태로 업데이트합니다:```bashsudo apt-get update && sudo apt-get upgrade -y```#### B. 필요한 패키지 설치K3s 설치를 위해 필요한 패키지를 설치합니다:```bashsudo..