본문 바로가기
반응형

FullStack/21. Java49

[Java] 다양한 싱글톤 생성 방법 디자인 패턴 중 자주 사용하는 싱글톤에 대해서, 해당 생성 방식에 따른 차이점을 정리하였다. 1. 빠른 생성 디자인 패턴 책에서 많이 사용되고 있는 예제이며, 클래스가 로딩되는 시점에서 싱글톤 클래스를 생성하여 사용되는 간단하면서 명확한 예제 단점 프로그램에서 해당 클래스를 사용하지 않아도 싱글톤을 객체가 생성 객체 생성 시점에서 발생하는 예외에 대한 처리 불가 public class EagerSingleton { private static final EagerSingleton instance = new EagerSingleton(); private EagerSingleton(){ // todo exception~ } public static EagerSingleton getInstance() { ret.. 2021. 5. 10.
[Java] Exception getMessage, getLocalizedMessage Java의 Exception의 메시지를 가져올 수 있는 방법은 getMessage와 getLocalizedMessage 가 존재합니다. Exception에서 상속받고 있는 Throwable 클래스에 정의되어 있습니다. getMessage 예외의 이름을 반환 getLocalizedMessage 기본적으로 getMessage를 다시 호출하도록 되어 있으며, 예외 클래스를 구현할 때 예외 이름과 별도로 추가적으로 표현하거나, 로케일의 적용이 필요한 경우 재정의 하여 사용 public class MyException extends Exception { ResourceBundle message = ResourceBundle.getBundle("com.nakanara.message"); @Override publi.. 2021. 3. 31.
[Java] AES-256 암호화 AES(Advanced Encryption Standard) 암호화는 대칭키를 쓰는 블록 암호화 방식이다. 암호화 Key에 값에 따라 AES-128, AES-192, AES-256으로 생성된다. secretKey키의 길이에 따라서 AES-256, 24bit일 경우 AES-192, 16bit의 경우 AES-128로 암화화 되므로 주의해야 한다.입력을 받은 값으로 암호화를 할 경우 해당 자리수만큼의 값을 채우거나, 제거하는 방법 필요 import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.apa.. 2021. 3. 12.
[Java] Log Tail 기능 컨테이너로 서버를 운영하면서 로그 확인의 불편하여, 로그백을 이용해서 기록되고 있는 로그를 웹으로 보여주기 위한 기능 구현 요청하는 곳에서 로그 읽기를 시작할 위치와 함께 요청 요청 전 해당 파일을 위치 파악 후 사용하여 Tail 기능으로 사용 byte단위까지 판단하기에는 너무 깊게 들어가는 것 같아서 라인 단위로 읽어가는 가는 방식으로 구현 로그파일이 UTF-8의 경우 RandomAccessFile를 이용하여 읽는 경우 한글 깨짐이 발생하여 인코딩 처리 LogTail.java import java.io.*; /** * 파일의 현재 위치와 현재 위치부터 지정된 라인을 읽을서 전달하도록 */ public class LogTail { // 파일 명 private String fname; // 기본 읽을 라인.. 2021. 3. 9.
반응형