이메일 인증 코드 발송 로직 및 구현
인증 코드 발송 처리 흐름
시스템은 사용자에게 이메일 인증 코드를 전송하기 전, 여러 단계의 제한 조건을 검사하여 과도한 요청을 방지합니다.
1. 첫 번째 수준의 요청 제한 확인
해당 전화번호에 대해 최근 5분 내에 이미 요청이 있었는지를 확인합니다. Redis의 Set 자료구조를 이용하며, 키는 "limit:first_level:{전화번호}", 값은 "1"로 저장됩니다.
Boolean firstL ...
8월 7일 06:50에 게시됨
EasyExcel 범용 내보내기 도구(주석 없음, 다중 스레드 지원)
기본 클래스 설명
=======
ExcelExportHandler(내보내기 유틸리티 클래스)
DataQuery(일반 데이터 조회)
DataProcessor(함수 매개변수)
SpringContextUtil(빈 객체 가져오기)
코드
====
ExcelExportHandler
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.PageUtil;
import cn.hutool ...
8월 5일 13:53에 게시됨
Guava Table을 활용한 다차원 데이터 모델링
Table의 차원 확장 전략Guava의 Table은 행과 열의 교차점에 값을 저장하는 2차원 자료구조다. 실무에서는 단순한 2차원 구조로는 부족한 경우가 많다. 예를 들어 시간, 지역, 제품 카테고리, 매출 지표 등 여러 기준으로 데이터를 분석해야 할 때가 있다.이런 상황에서 Table을 중첩하거나 Map과 결합하여 마치 다차원 배열처럼 활용할 수 있다. 물론 실제로는 2차원 구조 ...
8월 5일 09:55에 게시됨
RBAC 권한 모델의 개념과 Java 구현
권한 관리의 중요성과 RBAC의 역할
백엔드 시스템에서 권한 관리는 핵심 구성 요소로, 개인 블로그의 인증부터 기업 시스템의 다중 역할 제어까지 확장 가능한 설계가 필요합니다. RBAC(Role-Based Access Control)는 가장 보편화된 권한 모델로, 대부분의 백엔드 시스템에 적용됩니다. 본문은 RBAC의 핵심 논리, 작동 원리, Java SSM 프레임워크 구현 방식을 설명합니다.
...
8월 4일 21:36에 게시됨
Java 접근 제어자와 내부 클래스
7.2.1 접근 범위
Java에서는 public, protected, private 같은 수식어를 자주 볼 수 있습니다. 이 수식어들은 접근 범위를 제한하는 데 사용됩니다.
public
public으로 선언된 class, interface는 다른 모든 클래스에서 접근할 수 있습니다:
//package abc;
public class Hello {
public void hi() {
}
}
위의 Hello 클래스는 public이므로 다른 패키지의 클래스 ...
8월 4일 20:13에 게시됨
JSP 내장 객체 이해하기
JSP(JavaServer Pages)는 웹 애플리케이션 개발을 위한 서버 측 스크립팅 언어로, 동적인 웹 페이지를 쉽게 생성할 수 있도록 지원합니다. JSP 컨테이너는 각 JSP 페이지마다 여러 개의 미리 정의된 Java 객체를 제공하는데, 이를 내장 객체(Implicit Objects)라고 합니다. 개발자는 이러한 내장 객체를 별도의 선언 없이 즉시 사용할 수 있어 개발 생산성을 높일 수 있습 ...
8월 4일 14:21에 게시됨
Spring-MCP와 LangChain4j의 MCP 통합 비교 가이드
1. 통합 방식 비교 분석
방식장점단점적합한 사용 시나리오
Spring AI MCP Boot Starter
Spring Boot 네이티브 지원으로 스프링 생태계와 원활한 통합; 표준화된 설정과 자동 도구 등록 제공
Spring Boot 버전 의존성 (예: 3.x), 유연성 낮음; 디버깅 도구 부족
엔터프라이즈급 Java 애플리케이션, 빠른 MCP 통합 필요 시
LangChain4j MCP 통합
다양한 전송 프로토콜 ...
8월 4일 04:04에 게시됨
텐센트 Kona SM 스위트: 자바 생태계 국가 암호 보안 솔루션 완벽 분석
텐센트 Kona SM 스위트: 자바 생태계 국가 암호 보안 솔루션 완벽 분석
무료 다운로드 링크 TencentKonaSMSuite 텐센트 Kona SM 스위트는 SM2, SM3 및 SM4 알고리즘과 TLCP/GMSSL, TLS 1.3(RFC 8998) 및 TLS 1.2 프로토콜을 지원하는 Java 보안 공급자 집합입니다.
소개: 규정 준수 요구사항에서 기술 구현까지
금융, 정부 등 핵심 분야의 정보 시스템 구축에서 국산 암 ...
8월 4일 02:03에 게시됨
Java에서의 열거형 사용법
열거형란?
Java에서 열거형(enumeration)은 일련의 상수를 표현하기 위해 사용되는 특수한 유형입니다. 열거형은 코드를 더 명확하게 만들고 유지보수하기 쉽게 합니다. 열거형은 단순한 상수뿐만 아니라 필드, 메서드, 생성자도 포함할 수 있습니다.
팁: 열거형은 클래스의 일종입니다.
열거형 정의
간단한 열거형 예제:
package CoreJava;
public enum Day {
MONDAY ...
8월 4일 00:26에 게시됨
RocketMQ 네이티브 API 사용법
일반 메시지
생산자
단방향 전송
메시지를 한 방향으로만 전송하며, 전송 성공 여부를 확인할 수 없습니다.
// 생산자 그룹 지정하여 생산자 생성
DefaultMQProducer producer = new DefaultMQProducer("oneway-producer-group");
// 네임서버 주소 설정
producer.setNamesrvAddr("127.0.0.1:9876");
// 생산자 시작
producer.start();
// 토픽 지정 ...
8월 3일 19:36에 게시됨