Develop 33

[Springboot] Gmail SMTP 서버 연결하기

✅ Gmail SMTP용 앱 비밀번호 생성 방법 (2025년 기준 최신 방법)Gmail SMTP를 사용하려면 **앱 비밀번호(App Password)**를 설정해야 한다.앱 비밀번호는 Google이 보안 강화를 위해 제공하는 특별한 16자리 비밀번호로,SMTP 인증을 위해 일반 비밀번호 대신 사용해야 함.📌 1. 2단계 인증(2FA) 활성화앱 비밀번호를 사용하려면 먼저 2단계 인증을 활성화해야 해.Google 계정 보안 설정으로 이동"2단계 인증"을 클릭화면 안내에 따라 2단계 인증 설정 진행본인 휴대폰으로 인증받거나, 다른 인증 옵션을 설정할 수 있음.2단계 인증이 활성화되면, 앱 비밀번호를 생성할 수 있음.📌 2. 앱 비밀번호 생성2단계 인증을 설정한 후, 앱 비밀번호를 생성할 수 있어.앱 비밀번..

Develop/Spring 2025.03.07

플랫폼별 분석과 아키텍처의 차이점

아키텍처와 플랫폼은 서로 연관이 있지만 개념적으로 구분할 필요가 있습니다.플랫폼별 분석과 아키텍처의 차이점플랫폼 분석은 주로 웹, 모바일, 데스크톱 등 애플리케이션이 실행되는 환경에 대한 분석을 의미합니다.각 플랫폼의 특징, 장단점, 기술 스택, 사용자 경험 등이 포함됩니다.예: 웹은 접근성이 뛰어나지만 푸시 알림이 제한적, 모바일은 네이티브 기능 활용이 가능하지만 유지보수 비용이 증가 등.아키텍처 분석은 애플리케이션의 구조와 구성 요소의 상호 작용에 대한 분석을 의미합니다.클라이언트-서버, 마이크로서비스, 모노리식 아키텍처 등 개발 방식과 데이터 흐름을 설계하는 데 중점을 둡니다.예: 웹과 모바일을 모두 지원하려면 백엔드를 RESTful API 기반으로 설계해야 함, 확장성을 위해 마이크로서비스 아키텍..

[Spring]대용량 데이터 엑셀 다운로드 구현하기

[기존].jsp에서 ExcelForm을 따로 만들고 스크립트에서 ajax를 사용하여 Json형식으로 Contoller에서 데이터를 불러온 후에 성공하면 ExcelController에 data를 던져서 다운로드를 구현하였다. >> [변경]기존 방식으로 Excel 다운로드를 구현하려고 할 때, Ajax 요청을 사용하여 데이터를 불러온 후 , 데이터를 을 통해 다시 excelController에 전달하는 방식은 소규모데이터에 적합할 수 있지만 대용량 데이터를 처리할 때는 몇가지 비효율성이 발생할 수 있다.*Json은 대용량 데이터를 처리하기에 적합하지 않음  문제점1. 브라우저 메모리 사용 증가JSON 데이터를 불러오면 모든 데이터가 브라우저 메모리에 저장된다. 대용량 데이터를 JSON형식으로 다루면, 클라이..

Develop/Spring 2024.10.30

[JSTL]JSTL 기초 및 설명 + Thymeleaf

JSTL(JavaServer Pages Standard Tag Library)은 JSP(JavaServer Pages)에서 자주 사용하는 기능을 제공하는 표준 태그 라이브러리이다. JSTL을 사용하면 동적인 웹 페이지를 쉽게 개발할 수 있으며, JSP 코드의 가독성과 유지보수성을 높여준다. JSTL은 여러 가지 기능 모듈로 나뉘며, 그 중에서 가장 일반적으로 사용되는 것이 c: 태그이다.  💻  JSTL c: 태그 c: 태그는 JSTL의 기본 태그 라이브러리로, 조건문, 반복문, 데이터 출력 등을 처리하는 다양한 태그를 제공 c:if : 조건문을 처리하는 태그 Welcome, ${user.name}!c:choose, c:when, c:otherwise : 여러 조건을 처리할 때 사용하는 태그 (s..

[Spring]빌드도구 Maven과 Gradle의 차이

Maven과 Gradle은 빌드 도구로, 프로젝트의 빌드, 테스트, 배포 등의 작업을 자동화하는 역할을 하지만, 두 도구는 동작 방식과 설정 방법, 성능 측면에서 차이가 있다.Maven 설정방식XML기반 설정 파일인 pom.xml을 사용 org.springframework.boot spring-boot-starter-web 2.5.0 빌드속도XML 설정 파일 기반으로 빌드를 수행하며, 빌드 시 매번 모든 작업을 다시 수행하는 경향이 있다.빌드 속도 : 상대적으로 느릴 수 있다.병렬 빌드 : Maven 3.0 이후부터 병렬 빌드를 지원하지만, 성능 최적화는 Gradle에 비해 제한적이다.의존성 관리중앙 저장소(Maven Central)를 기본으로 사용하며,..

Develop/Spring 2024.10.18

[Spring]Filter와 Interceptor의 개념 및 차이

개발을 하다보면 공통적으로 처리해야할 것들이 많은데, 이러한 공통적인 업무에 관련된 코드를 페이지 마다 작성한다면 중복코드가 많아지게 되고 프로젝트 단위가 커질수록 서버에 부하를 줄 수 있으며, 소스 관리가 되지 않을 수 있다. 이에 따라 Spring에서는 공통적으로 여러작업을 처리함으로써 중복된 코드를 제거할 수 있는 다음과 같은 기능들을 지원하고있다. 1. Filter2. Interceptor3. AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)* Spring에서 사용되는 위의 3가지 기능들은 모두 어떠한 행동을 하기 전에 먼저 실행하거나, 실행한 후에 추가적인 행동을 할 때 사용하는 기능들이다. 먼저 Filter와 Interceptor의 개념과 차이점을 알아보고 In..

Develop/Spring 2024.10.17

[JAVA] JVM이란? 개념과 구조

Java Virtual Machine의 줄임말로, 자바 프로그램을 실행하기 위한 가상 환경이다.Java 는 OS에 종속적이지 않다는 특징을 가지고 있는데 OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. >> 이것이 바로 JVM (즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터) 자바 프로그램은 JVM 위에서 실행되며, JVM은 하드웨어와 운영체제에 독립적인 실행 환경을 제공한다. JVM은 자바 바이트코드를 읽고 이를 실행하며, 이를 통해 자바가 플랫폼 독립성을 갖게 된다.  주요 기능바이트코드 실행: 자바 컴파일러가 생성한 바이트코드를 실행하여 자바 프로그램이 실행될 수 있도록 한다.메모리 관리: JVM은 메모리를 효율적..

Develop/Java 2024.10.16

[Spring] Validator의 주요개념과 적용 방법

입력 데이터의 유효성 검증을 담당하는 기능 으로, 사용자로부터 입력된 값이 특정 조건을 만족하는지 확인하는 역할을 한다. Spring Framework에서 제공하는 Validator는 주로 폼 데이터나 요청 데이터의 유효성을 검증할 때 사용된다.  Spring Validator의 주요 개념- Spring에서는 Validator 인터페이스를 제공하여 사용자 정의 검증 로직을 구현할 수 있다.- 이 인터페이스는 다음 두 가지 메서드를 포함한다.supports(Class clazz): 해당 클래스가 이 Validator에서 검증 가능한지 여부를 결정validate(Object target, Errors errors): 검증 로직을 구현하는 메서드로, 실제 검증이 이 메서드에서 이루어진다. 검증이 실패하면 Er..

Develop/Spring 2024.10.02

[JPA]VM Options 설정하기

VM options는 Java 가상 머신(JVM)의 동작을 제어하는 설정이다.이 옵션은 프로그램을 실행할 때 JVM의 메모리 관리, 성능 조정, 디버깅 기능 등을 설정하는데 사용된다. JPA를 사용하는 애플리케이션에서 JVM 옵션을 설정하는 경우가 많습니다. 예를 들어, 메모리 사용량을 조정하거나, JPA 구현체(예: Hibernate)의 로그 레벨을 조정하는 데 VM 옵션을 사용할 수 있다.  일반적인 VM 옵션의 예시-Dspring.profiles.active=local (dev, prod) 역할 : 활성화할 Spring 프로파일을 설정 설명:  local 프로파일이 활성화되어 로컬 개발 환경에 맞는 설정이 적용됨 예시:- dev: 개발 환경에서 사용 (`-Dspring.profiles.active=..

Develop/JPA 2024.09.23