본문 바로가기

Programming/Java23

JAVA 중복 처리 방지 방법 JavaScript에서 중복 실행이 방지가 안되어 있다면, JAVA에서 해주면 된다.시스템적으로 볼때 JavaScript에서 방지하는게 더 효율적이라고 생각 되지만,타사의 화면과 우리의 Backend를 연결하다보면 어쩔수 없이 JAVA에서 해야 되는 경우가 많다.이번엔 JAVA에서 중복 처리 방지하는 방법에 대해서 알아보자1. 식별자 사용(UUID)고유한 식별자를 생성하여 Request에 포함import java.util.HashSet;import java.util.Set;import java.util.UUID;public class RequestHandler { private Set processedRequests = new HashSet(); public synchronized String.. 2024. 8. 23.
Java 메일 Library 들 JAVA 환경에서 메일을 송수신하는 기능을 쓸수 있는 여러가지 라이브러리들이 있다.여러가지 라이브러리들의 특징을 정리해 보려고 한다.1.JavaMail (Jakarta Mail)JavaMail은 Java에서 쓰는 가장 기본적인 라이브러리이다. 특징SMTP, IMAP, POP3 등 다양한 메일 프로토콜 지원멀티파트 메시지, HTML 메일, 첨부파일 처리 등 다양한 기능 제공SMTP 인증, SSL/TLS 암호화 지원 장점광범위한 기능 제공, 다양한 메일 서비스와 호환 단점설정이 비교적 복잡최신 추가 기능은 부족 사용 예시Properties properties = new Properties();properties.put("mail.smtp.host", "smtp.example.com");properties.p.. 2024. 8. 21.
Velocity 를 이용한 템플릿 작성 사내 이메일이라던지 Noti 메일에 대한 템플릿을 작성하여그 요소값만 넣어주고 메일을 발송하는 시스템을 많이 개발해왔었다.개발을 하면서 그냥 DB에 템플릿을 넣어주는구나만 알고 있었는데이걸 Velocity code 라고 부르는걸 이제서야 깨닫고 좀 더 알아보려 한다. 1.Velocity 란?Apache Velocity 는 텍스트 기반의 템플릿 엔진으로, 웹 페이지 템플릿, 이메일 템플릿, 코드 생성 등 다양한 용도로 활용할 수 있다. Velocity는 주로 Java 애플리케이션과 통합되어 동적인 콘텐츠를 쉽게 생성할 수 있다. Velocity의 특징간결한 문법 : '$', '#' 기호를 사용하여 변수를 참조하고, 조건문, 반복문 등의 구조를 표현할 수 있다.Java와의 통합용이성 : Java 객체의 속성.. 2024. 8. 19.
JAVA 비동기처리 CompletableFuture 많은 사람들이 비동기라고 하면 AJAX를 떠올린다. Java 에서도 비동기로 처리해주는 명령어가 있다.CompletableFuture라는 명령어 인데 이는 비동기 프로그래밍으로 서버의 응답시간을 줄이고, 더 나은 사용자 경험을 제공해준다. Java 8 버전에 도입된 처리 도구로 비동기 작업을 처리하고, 콜백을 사용하여 작업 완료 후의 동작을 정의할 수 있다. 1.CompletableFuture 생성 CompletableFuture.runAsync(Runnable) : 반환값이 없는 비동기 작업을 실행.CompletableFuture.supplyAsync(Supplier) : 반환값이 있는 비동기 작업을 실행. import java.util.concurrent.CompletableFuture;public .. 2024. 8. 5.
원시 타입(Primitive type)과 래퍼 클래스(Wrapper class) Java에서는 데이터 타입을 두 가지로 분류한다원시 타입(primitive type)과 래퍼 클래스(wrapper class).원시 타입과 래퍼 클래스의 종류와 차이점에 대해 알아보자.원시 타입 (Primitive Types):메모리 효율이 높고, 기본적으로 0, 0.0, false 등의 값을 가집니다.메서드를 지원하지 않습니다.byte: 8비트 정수 타입. (-128 ~ 127)short: 16비트 정수 타입. (-32,768 ~ 32,767)int: 32비트 정수 타입. (-2^31 ~ 2^31-1)long: 64비트 정수 타입. (-2^63 ~ 2^63-1)float: 32비트 부동 소수점 타입.double: 64비트 부동 소수점 타입.char: 16비트 유니코드 문자 타입. ('\u0000' ~ .. 2024. 7. 31.
TCP 소켓 통신 TCP 소켓 통신은 네트워크 프로그래밍에서 가장 기본적인 방법이다.TCT)(Transmission Control Protocol) 는 신뢰성 있는 데이터 전송을 보장하는 전송 계층 프로토콜이다.Socket은 네트워크 양쪽 간 통신을 담당하는 엔드포인트이다. 1. TCP 소켓 통신의 개념두 개의 엔드포인트 간에 연결을 설정하여 데이터를 주고 받는다. 연결 지향적: 통신을 시작하기 전에 연결을 설정해야 합니다.신뢰성 보장: 데이터의 순서 보장, 손실 시 재전송 등 신뢰성 있는 통신을 제공합니다.양방향 통신: 데이터 송수신이 동시에 가능합니다. 2.TCP 소켓 통신의 동작방식 소켓 생성: 서버와 클라이언트 모두 소켓을 생성합니다.서버 바인딩 및 리스닝: 서버는 특정 IP 주소와 포트 번호에 소켓을 바인딩한 후.. 2024. 7. 30.
728x90
반응형
LIST