Java

· Java
1. 🎯 개요Java에서 AOP(Aspect-Oriented Programming)를 활용하여 로그인 시스템을 구현하는 방법에 대해 알아보겠습니다. AOP를 사용하면 비즈니스 로직과 로깅, 보안 검사 같은 부수적인 기능들을 분리하여 관리할 수 있습니다. 이로 인해 코드의 재사용성과 가독성이 증가하며, 유지보수가 쉬워집니다.2. 🛠️ 필요한 의존성 추가Spring Boot 프로젝트에 AOP를 적용하기 위해, 먼저 pom.xml에 의존성을 추가해야 합니다. AspectJ와 Spring AOP를 사용할 예정입니다. org.springframework.boot spring-boot-starter-aop org.aspectj aspectj..
· Java
🖥️ 1. Java에서의 Deque 소개Deque는 "double ended queue"의 약자로, 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 선형 컬렉션입니다. Java에서는 Deque 인터페이스를 통해 이 구조를 정의하고 있으며, 이는 java.util 패키지 안에 위치해 있습니다.기본 작동 원리Deque 인터페이스는 요소를 두 개의 끝에 추가하거나 제거할 수 있게 해주므로, 스택이나 큐의 기능을 모두 구현할 수 있습니다. 이러한 특성 덕분에 매우 유연한 데이터 구조로서 다양한 상황에서 활용될 수 있습니다.스택처럼 사용할 때는 push(), pop(), peek() 메서드를 사용하고,큐처럼 사용할 때는 addLast(), removeFirst(), peekFirst() 등을 사용합니다.추가 메소..
· Java
📚 Java 컬렉션 정렬 방법Java에서 다양한 컬렉션 타입별로 기본 정렬과 사용자 지정 정렬(커스텀 정렬)을 수행하는 방법을 살펴보겠습니다. 각 데이터 구조의 특성을 이해하고 적절한 정렬 방식을 선택하는 것이 중요합니다.🗂️ 배열기본 정렬Arrays.sort() 메소드를 사용하여 배열의 요소를 자연 순서대로 정렬합니다.import java.util.Arrays;public class Main { public static void main(String[] args) { int[] numbers = {5, 3, 8, 1}; Arrays.sort(numbers); System.out.println(Arrays.toString(numbers)); // 출력: [1..
· Java
개발을 하면서 대충 알고는 있지만 정확히 알지 못한다는 느낌이들어 정리를 해보려고 합니다.🛠️ 빌드(Build), 컴파일(Compile), 및 실행(Run) 이해하기자바 개발 과정에서 중요한 세 가지 단계인 빌드, 컴파일, 실행에 대해 알아보겠습니다.🔨 컴파일(Compile)컴파일은 자바 소스 코드(.java 파일)를 바이트코드(.class 파일)로 변환하는 과정입니다. 이는 javac 컴파일러를 사용하여 수행됩니다.// Hello.javapublic class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); }}컴파일 명령어:javac Hello.java🏗️ 빌드(Bui..
· Java
💡 자바에서 serialVersionUID 사용 이유와 예시자바 직렬화에서 중요한 역할을 하는 serialVersionUID에 대해 알아보겠습니다. 자바 직렬화는 객체를 바이트 스트림으로 변환하는 과정이며, 이는 객체를 파일, 데이터베이스, 메모리 등에 저장하거나 네트워크를 통해 객체를 전송할 때 필요합니다. serialVersionUID는 직렬화된 객체를 역직렬화할 때 클래스의 버전을 확인하는 데 사용되는 고유 식별자입니다.📌 serialVersionUID란?serialVersionUID는 직렬화된 객체가 클래스의 버전과 호환되는지 확인하기 위해 사용되는 고유한 버전 번호입니다. 클래스가 Serializable 인터페이스를 구현하면, JVM은 해당 클래스에 대한 serialVersionUID 값을 ..
· Java
Java에서 엑셀 업로드 기능을 구현하려면 Apache POI 라이브러리를 사용할 수 있습니다. POI는 Microsoft Office 파일 형식 (예: XLSX, XLS)을 조작하기 위한 Java 라이브러리입니다. 다음은 POI를 사용하여 Java에서 엑셀 업로드 기능을 구현하는 방법입니다.0. POI 라이브러리를 다운로드하고 프로젝트에 추가합니다. POI는 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 프로젝트에 추가할 수 있습니다. org.apache.poi poi 5.0.0위 의존성은 POI 라이브러리의 메인 모듈인 poi를 추가하는 것입니다. 만약 필요한 경우, 추가적인 모듈도 의존성에 추가할 수 있습니다. 예를 들어, .xlsx 파일을 처리하기 위해서는 poi..
· Java
자바와 이클립스는 깔려있다는 전제하에 설명을 하겠다. 1. Project 생성 create new Spring Starter Project 선택 내용 입력(Type은 Maven, Packaging은 War, java Version은 11, 나머지는 원하는 이름으로 설정하면 된다.) Spring Boot Version은 꼭 2번대로 해줘야 한다. 3번대로 하게되면 java version이 17번으로 고정이 되어 컴파일이 되지 않는다... 이것때문에 매우 오랜 삽질을 했다. 간단한 테트를 위한 프로젝트 이므로 Spring Web 정보만 추가를 해준다. 2. dependency 추가 수정 시 자동 재기동시켜주는 기능과 jsp 사용을 위한 dependency를 pom.xml에 추가한다. org.springfra..
· Java
자바를 이용해 파일을 다운받을때에 한글이름을 사용하면 다운이 깨지는 현상이 발생한다.크롬으로 테스트 했을때에는 한글이 깨지는 현상만 발생했지만 브라우저 별로 발생하는 현상이 다르다이참에 브라우저별 파일 다운로드 시 인코딩 방법을 알아보자 원인크롬(Chrome) : 파일 다운로드는 되지만 파일명의 특수문자 깨짐익스플로러(Internet Explorer) : 크롬의 문제 + 한글 파일명을 가진 파일은 다운로드 자체가 안됨파이어폭스(Firefox) : 파일에 공백이 있으면 그 공백을 기준으로 뒤쪽 이름은 다 짤려버림. 예를 들어 “테스트 파일.jpg”를 다운로드 해보면 “테스트”라는 이름으로 확장자도 안 붙은 파일이 다운로드 됨 해결방법공통적으로 한글이름은 인코딩하여 넣어주면 된다. 익스플로러나 파이어폭스의 ..
TaeHuiLee
'Java' 카테고리의 글 목록 (4 Page)