KISA SEED ECB 암복호화 및 문자열 변환 방법

KISA SEED는 한국정보보호진흥원(KISA)에서 개발한 블록 암호 알고리즘으로, 국내에서 널리 사용되는 암호화 방식 중 하나입니다. SEED 알고리즘은 여러 운영 모드를 지원하는데, 그중 ECB(Electronic Codebook) 모드는 블록 단위로 독립적으로 암호화하는 방식입니다. SEED ECB 모드를 사용하여 데이터를 암·복호화하면 byte[] 형태의 결과값을 얻게 되는데, 이를 문자열(String)로 변환하여 저장하거나 전송하는 방법이 필요할 수 있습니다. 이 더 읽기

Kafka 컨슈머를 EKS에서 운영할 때 발생하는 문제와 해결 방법

1. 개요 Kafka 컨슈머를 Amazon EKS 환경에서 운영할 때, Pod가 생성 및 삭제되면서 중복 소비, 메시지 누락, Rebalance 지연 등의 문제가 발생할 수 있습니다. 이 글에서는 Kafka 컨슈머의 동작 방식과 안정적인 운영 방법을 정리합니다. 2. Kafka 컨슈머와 EKS의 배포 방식 EKS에서는 Rolling Update 방식으로 새로운 버전의 Pod를 배포하면 기존 Pod가 더 읽기

Spring Batch 5.1.2에서 HikariCP 연결 문제 해결 방법

Spring Batch 5.1.2를 사용하면서 HikariCP 연결 문제를 경험하는 경우가 많습니다. 특히, 데이터베이스 재시작 또는 세션 종료 후 커넥션이 끊기는 문제가 발생할 수 있습니다. 이 글에서는 이러한 문제의 원인을 분석하고, 해결 방법을 소개하겠습니다. 1. 문제 원인 분석 Spring Batch는 배치 작업을 실행하면서 데이터베이스와 지속적으로 연결을 유지합니다. 하지만 다음과 같은 상황에서 HikariCP의 더 읽기

java: JPS incremental annotation processing is disabled.

IntelliJ 를 사용하고 컴파일(compile) 완료 후 실행 시 java: JPS incremental annotation processing is disabled. 위 같은 상황이 발생한다면 아래 같이 수행해 주면 됩니다. 1.Enable Annotation Processing Check 2.컴파일러 옵션에 추가 발생 사유는 jdk와 lombok간 호환성으로 인해 발생합니다. 참고 : https://abbo.tistory.com/288

스프링 AOP에서의 용어

AOP란 관점지향 이라는 뜻으로   간단하게 말하면 어떤작업을 하기전에 해당 데이터를 미리 처리해주고 해당 작업을 끝내고 후에 데이터를 또 처리를 해줘야 할 때 쓰는 기능이다. 혹은 더 쉽게 설명하자면 쇼핑몰에 접속자 숫자를 카운터 하는 기능을 생각하면되겠다. Joinpoint : 클래스의 인스턴스 생성 시점, 메소드 호출 시점 및 예외 발생 시점 과 같이 더 읽기

spring(스프링) servlet.PageNotFound

우선 뜬 오류를 말씀드리면 난 분명히 servlet.xml에 /ㅁㅁㅁ/ㅁㅁㅁ.do=메소드명 이렇게 매핑을 잘 해놨다.. 다른건 잘되는데 유독 한 메소드만 되지 않았따.. 해당메소드는  public ModelAndView processIdCheck(HttpServletRequest request,Account account){  int flag=0;  account = JoinIdCheck(request);  if(account==null){   flag=1;  }else{   flag=-1;  }    request.setAttribute(“id”, request.getParameter(“id”));  request.setAttribute(“flag”, flag);    return new ModelAndView(); } 이렇게 정이되었었따. 콘솔로 출력할땐 No request handling method with name ‘test’ in class [com.account.controller.AccountController]2012-01-08 21:43:50,447 – Null ModelAndView 더 읽기

스프링 DI개념과 간단한 소스

클래스들의 구조는 다음과 같다. 지금까지 보통 new SeoulServer();를 써서 객체를 생성해서 썼지만, 후에, 요구사항이 변경되면 코드도 엄청나게 수정해야 한다. 스프링을 적용하여 applicationContext.xml에서 설정만 해주면, 외부 설정파일(xml)에서 연관관계에 있는 객체를 넣어주기(주입) 때문에 의존객체를 찾기 위한 코드가 필요하지 않게 된다. 즉, 외부설정에서 객체를 찾아서 쓰기 때문에 코드내에 의존관계를 맺는 코드 생성이 불필요한것이다.<o:p></o:p> <o:p> </o:p> 의존(Dependenty)하는 객체를 외부설정에서 삽입 (Inject)을 해주기 때문에 이 방식을 DI 패턴이라고 부르는 것이다. DI를 적용하게 되면 불필요한 의존관계를 줄이거나 없애버릴 수 있다.<o:p></o:p> 코드 수정없이 객체를 생성..ㅇㅋ?ㅋㅋㅋ // ——————————————————————————–<o:p></o:p> // applicationContext.xml<o:p></o:p> // ——————————————————————————–<o:p></o:p> <?xml version=”1.0″ encoding=”UTF-8″?><o:p></o:p> <beans<o:p></o:p>            xmlns=”http://www.springframework.org/schema/beans“<o:p></o:p>            xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“<o:p></o:p>            xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd“><o:p></o:p> <bean id=”manager” class=”di.ServerManager”></bean><o:p></o:p> <bean id=”server” class=”di.SeoulServer”></bean><o:p></o:p> <o:p> </o:p> </beans><o:p></o:p> <o:p> </o:p> <o:p> </o:p> 더 읽기

Spring Application [applicationContext.xml] 오류

javax.xml.parsers.ParserConfigurationException: Unable to validate using XSD: Your JAXP provider [org.apache.crimson.jaxp.DocumentBuilderFactoryImpl@131f71a] does not support XML Schema. Are you running on Java 1.4 or below with Apache Crimson? Upgrade to Apache Xerces (or Java 1.5) for full XSD support.   이런 당황스런 오류를 발견 하게 되는 경우가 있는데 이것은 자바 1.4의 XML 더 읽기

자바(java) 기초 7편.

Connection Pool *   : Connection을 반드시 연결해야 되는데 Connection을 맺는 시간이 많이 걸린다. *    예> dept를 select ==> 10초가 걸렸다. *         ==> Connection 맺는 시간이 8초. *   ==> 미리 처음에 Connection을 4개 정도를 미리 맺어서 *    특정 클래스(Connection Pool)에 저장한다. *    필요하면 특정클래스에 메소드를 호출해서 Connection을 얻어서 사용한다. *    사용한 후에 반드시 돌려줘야 한다. Connection Pool 더 읽기

자바(java) 기초 6편.

/*1. GUI ( Graphics User Interface )  – 자바의 GUI 구현 2가지 방법  가. AWT   : 무겁다.   : OS자원으로 화면구성.   나. Swing   : 가볍다.   : 자체적인 자원으로 화면구성.  – java.awt 패키지  – 계층구조( 상속관계 )                     Object                       |                    Component          Container                일반 Component(Button, TextField, TextArea, CheckBox,…)              ==> 반드시 Container에 얹혀서 보여진다.           │            더 읽기