전체 글 330

[IT] 단방향 해시(SHA-256)와 대칭키 암호화(AES-256) 사용법과 차이점 정리

개발을 하다 보면 “이 데이터는 복호화가 필요할까?” 라는 질문을 자주 마주하게 된다.이 질문에 대한 답에 따라 선택되는 기술이 바로단방향 해시 (SHA-256)대칭키 암호화 (AES-256)이번 글에서는✔ 개념✔ Java 사용법✔ 실무에서의 선택 기준✔ 비교 정리까지 한 번에 정리해본다. 1️⃣ 단방향 해시란? – SHA-256✅ 개념단방향 해시는 입력값을 고정 길이의 해시값으로 변환하는 함수다.원본 데이터 복원 ❌ (단방향)동일 입력 → 항상 동일 결과입력이 조금만 바뀌어도 결과는 완전히 달라짐✅ 주 사용처비밀번호 저장데이터 무결성 검증전자서명 전처리* Java에서 SHA-256 사용 예 *import java.security.MessageDigest;public class Sha256Util { ..

💻 IT/📌 기타 2026.01.10

[IT] CDC(Change Data Capture)란?데이터 변경만 추적하는 실시간 연계 핵심 기술

오늘은 CDC(Change Data Capture)에 대해서 정리해보겠습니다. 1. CDC란 무엇인가? CDC(Change Data Capture)란 데이터베이스(DB)에서 발생하는 변경 사항(INSERT, UPDATE, DELETE)만을 실시간 또는 준실시간으로 감지하고 전달하는 기술이다. 기존 배치 방식처럼 전체 데이터를 반복 조회하지 않고, 실제로 바뀐 데이터만 처리하기 때문에 성능과 효율성이 뛰어나다. 2. CDC가 필요한 이유 전통적인 배치 방식은 다음과 같은 한계가 있다.전체 데이터 스캔으로 인한 DB 부하실시간성 부족데이터 규모 증가 시 처리 시간 급증CDC는 이러한 문제를 해결한다.항목배치방식CDC처리 대상전체 데이터변경 데이터반영 시점주기적실시간/준실시간시스템 부하높음낮음확장성낮음높음..

💻 IT/📌 기타 2026.01.08

[IT] KCB와 한국신용정보원, 같은 곳일까? 차이점 정리

신용조회나 본인인증, 금융 시스템 연계를 하다 보면 KCB, 한국신용정보원이라는 이름을 자주 보게 된다.이름도 비슷하고 신용정보를 다루다 보니 같은 기관으로 오해하기 쉬운데, 전혀 다른 역할을 한다. KCB (코리아크레딧뷰로)란? KCB는 민간 신용평가회사(CB사)다.✔ 주요 역할개인·기업 신용점수 산정금융사에 신용평가 정보 제공휴대폰 인증, 본인확인 서비스개인 신용관리 서비스 제공 (올크레딧)✔ 특징은행, 카드사, 보험사에서 대출 심사·한도 산정 시 활용우리가 흔히 보는 **“KCB 신용점수”**의 주체비슷한 회사로는 NICE평가정보가 있음👉 즉, 신용점수를 실제로 계산해주는 곳 한국신용정보원이란? 한국신용정보원은 공공기관으로, 금융위원회 산하에 있다.✔ 주요 역할전국 금융기관의 신용정보를 중앙..

💻 IT/📌 기타 2026.01.05

[JAVA] ArrayIndexOutOfBoundsException이란?

자바에서 ArrayIndexOutOfBoundsException은 **배열의 인덱스 범위를 벗어나 접근했을 때 발생하는 런타임 예외(RuntimeException)**이다.배열은 생성 시 크기가 고정되며, 인덱스는 항상 0부터 length - 1까지만 유효하다. ArrayIndexOutOfBoundsException 발생 원인 1️⃣ 반복문 조건 실수 (가장 흔한 경우)for (int i = 0; i ✅ 올바른 코드for (int i = 0; i 2️⃣ 음수 인덱스 접근int[] arr = {10, 20, 30};System.out.println(arr[-1]); // ❌배열 인덱스는 음수 불가다. 3️⃣ 계산된 인덱스 값 오류int idx = arr.length;System.out.println(..

💻 IT/📌 Java 2026.01.04

[JAVA] BigDecimal 사용시 NumberFormatException이 발생하는 이유

Java에서 금액이나 정밀한 수치 계산을 할 때 BigDecimal을 자주 사용합니다.그중에서도 new BigDecimal(String) 생성자는 정확한 값 표현이 가능해 실무에서 가장 권장되는 방식인데,의외로 NumberFormatException을 자주 만나게 됩니다.왜 이런 에러가 발생하는지, 그리고 어떻게 예방해야 하는지 정리해보겠습니다. BigDecimal(String) 은 매우 엄격하다BigDecimal(String) 생성자는 “숫자로 해석 가능한 문자열만” 허용합니다.조금이라도 숫자 형식이 아니면 즉시 NumberFormatException이 발생합니다. 자주 발생하는 원인들 1️⃣ 문자열에 공백이 포함된 경우new BigDecimal("123 "); // ❌new BigDeci..

💻 IT/📌 Java 2026.01.03

[DB] 오라클(Oracle)에서 공백·탭·전각 스페이스 정리하기

데이터를 다루다 보면 문자열 앞뒤 공백뿐 아니라, 중간에 여러 개의 공백, 탭(tab), 개행(line break), 그리고 눈에 잘 보이지 않는 전각 공백( )까지 섞여 있는 경우가 많습니다.이런 공백 문제는 조회나 비교, 조인(join) 시 예기치 않은 에러나 미스매치를 만들기 때문에 데이터 정제 단계에서 반드시 처리해주는 것이 좋습니다.이 글에서는 오라클에서 공백 문자들을 확인하고, 한 번에 정리하는 방법을 정리합니다. 공백이 포함된 데이터를 확인하는 방법 데이터에 어떤 공백이 포함되어 있는지 먼저 확인해야 합니다. 공백 문자는 눈에 잘 보이지 않기 때문에 아래 쿼리로 탐지하는 것이 좋습니다. 1. 일반 스페이스 존재 여부SELECT *FROM table_nameWHERE col LIKE '% ..

[BATCH] 배치 작업에서 On-Demand란 무엇인가?

배치 프로그램을 운영하다 보면 “이 작업은 On-Demand로 돌려주세요”라는 표현을 종종 듣습니다.그렇다면 여기서 말하는 On-Demand(온디맨드)는 정확히 어떤 의미일까요?이번 글에서는 배치 작업에서 쓰이는 On-Demand의 개념과 특징, 활용 예시까지 정리해보겠습니다. On-Demand의 기본 의미 On-Demand란 말 그대로 “요청이 있을 때만 실행되는 방식”을 의미합니다. 일반적인 배치가 정해진 스케줄(예: 매일 02:00)에 맞춰 자동으로 구동되는 것과 달리, On-Demand 배치는 누군가의 요청 또는 특정 이벤트가 발생해야 실행됩니다. 스케줄 배치 vs On-Demand 배치 구분 스케줄 배치(Scheduled) On-Demand 배치 실행 방식정해진 시간에 자동 실행요청이 있어..

💻 IT/📌 기타 2025.11.23

[JAVA] GC overhead limit exceeded 오류 완벽 정리

GC overhead limit exceeded 오류는 자바 개발자라면 한 번쯤 겪게 되는 대표적인 메모리 이슈다.대용량 엑셀 처리나 JSON 파싱, 대규모 컬렉션 작업을 하다 보면 종종 발생하는데, 이름만 봐서는 무슨 문제인지 직관적으로 이해하기가 쉽지 않다.이 글에서는 해당 오류가 발생하는 원인부터 해결 방법, 그리고 실무에서 자주 발생하는 케이스까지 한 번에 정리해본다. GC overhead limit exceeded 란 무엇인가? 이 오류는 JVM이 GC(가비지 컬렉션)에 너무 많은 시간을 쓰면서도, 실제로 회수되는 메모리는 거의 없을 때 발생한다.JVM 내부 기준은 다음과 같다.최근 5번의 GC 중 98% 이상의 시간이 GC에 사용되었고그 결과 전체 힙의 2% 이하만 회수된 경우즉,“계속 청소..

💻 IT/📌 Java 2025.11.20

[DB] DB 인덱스 — 조회만이 아니라 INSERT에도 영향을 준다?

오늘은 데이터베이스의 인덱스에 대해서 정리해보겠습니다!데이터베이스에서 인덱스(Index) 하면 대부분 “조회 속도를 빠르게 해주는 기능”이라고 알고 있죠.맞습니다. 하지만 인덱스는 조회용으로만 존재하는 게 아닙니다.INSERT, UPDATE, DELETE 같은 쓰기 작업에서도 인덱스가 동작하고, 성능에 영향을 미칩니다. 인덱스란? 인덱스는 테이블의 특정 컬럼 값을 빠르게 검색하기 위해 따로 정렬해 둔 구조(B-Tree 등) 입니다.도서관에서 책 제목 순으로 만든 색인(index)과 비슷한 개념이에요. Unique Index vs Non-Unique Index 구분 Unique Index Non Unique Index 중복 허용불가능가능데이터 무결성보장됨보장되지 않음사용 목적중복 방지 + 조회 속..

[IT] WAS란? IT에서 말하는 WAS란?

종종 IT 분야에서 일을 하다보면 WAS라는 용어를 많이 듣는데요, 오늘은 WAS에 대해서 정리해보겠습니다. 💻 IT에서 말하는 WAS란? WAS(Web Application Server, 웹 애플리케이션 서버)는 웹 서버와 애플리케이션(비즈니스 로직) 사이에서 동작하는 서버입니다. 즉, 단순히 HTML 파일을 보여주는 웹 서버(Apache, Nginx 등)와 달리, 사용자의 요청에 따라 프로그램을 실행하고, 데이터를 처리해 결과를 돌려주는 역할을 합니다. WAS가 하는 일WAS는 단순한 페이지 전달이 아니라 “서비스”를 제공합니다. 예를 들어 로그인, 주문, 결제 같은 기능은 모두 WAS가 처리합니다.기능 설명기능설명비즈니스 로직 실행로그인, 주문, 결제 등 핵심 기능 수행DB 연동데이터베이스에 연..

💻 IT/📌 기타 2025.11.08