2026/03/24 4

엑셀 VBA 암호화 해제 코드

엑셀을 사용하다 보면 과거에 설정해둔 VBA(Visual Basic for Applications) 프로젝트 비밀번호를 잊어버려 곤란한 경우가 종종 있습니다.외부 프로그램 설치 없이, 오직 VBA 코드만으로 VBA 프로젝트 암호 잠금을 무력화하는 방법에 대해 알아보겠습니다. 해당 코드는 이전에 어디선가 검색해서 알아낸 코드인데, 정확하게 출처를 찾지 못했습니다.개인 정리 차원에서 포스팅하니, 혹시 원본 코드 작성자 분이나, 해당 코드가 문제가 될 경우 댓글 주시면 조치하도록 하겠습니다. 작동 원리: 메모리 후킹(Memory Hooking)이 코드는 단순히 암호를 찾아내는 방식이 아닙니다.엑셀이 암호 입력창을 띄우려고 할 때, 윈도우 API를 사용하여 "암호가 맞다"는 신호를 강제로 보내도록 메모리를 일..

[Oracle] 정규식(Regex)으로 문자열에서 숫자만 추출 & 제거하는 방법

데이터 정제(Cleaning) 작업을 하다 보면 010-1234-5678 같은 연락처에서 하이픈(-)을 제거하고 숫자만 남기거나, 주소에서 번지수를 제외한 텍스트만 추출해야 하는 경우가 많습니다.오라클의 REGEXP_REPLACE 함수를 사용하면 복잡한 REPLACE 중첩 없이 한 줄의 쿼리로 해결할 수 있습니다.1. 기본 함수 구조: REGEXP_REPLACE정규표현식을 지원하는 치환 함수입니다.SQL REGEXP_REPLACE(대상문자열, '패턴', '치환할문자')2. 문자열에서 "숫자만" 추출하기숫자가 아닌 모든 문자를 찾아 공백('')으로 치환하여 없애버리는 원리입니다.정규식 패턴: [^0-9] 또는 [^[:digit:]]^: 패턴의 시작 부분에서 사용되면 'NOT(부정)'을 의미합니다. 즉, 숫..

[Oracle] "아차!" 하는 순간 필요한 데이터 복구 전략: Flashback Query 활용법

데이터베이스를 다루다 보면 누구나 한 번쯤 실수로 WHERE 절을 빼먹고 UPDATE를 날리거나, 중요한 데이터를 DELETE 하는 아찔한 경험을 하곤 합니다.오라클에서는 이런 상황을 대비해 특정 과거 시점의 데이터를 조회할 수 있는 강력한 기능인 Flashback Query를 제공합니다.1. Flashback Query란?오라클의 Undo 데이터를 활용하여, 현재 시점이 아닌 과거 특정 시점의 테이블 상태를 마치 스냅샷을 찍듯 조회하는 기능입니다. 별도의 백업 복원 과정 없이 SQL만으로 빠르게 데이터를 확인할 수 있다는 것이 가장 큰 장점입니다.2. 과거 데이터 조회하기 (AS OF TIMESTAMP)가장 일반적으로 사용하는 방법은 AS OF TIMESTAMP 구문을 사용하는 것입니다.특정 시간 기준..

AI와 대화하는 기술: 콘텍스트 윈도우

콘텍스트 윈도우의 기본 개념콘텍스트 윈도우 정의우리는 AI와 대화하면서 종종 이상한 경험을 합니다. 분명히 앞에서 설명한 내용을 AI가 기억하지 못하는 경우입니다. 이런 현상의 핵심 원인은 바로 콘텍스트 윈도우입니다. 콘텍스트 윈도우는 AI가 한 번에 처리할 수 있는 정보의 총량을 의미합니다. 쉽게 말하면 AI의 작업 메모리라고 생각하면 이해가 빠릅니다. 하지만 인간의 기억과는 다르게 제한된 범위 내에서만 작동합니다. 이 범위를 벗어나면 이전 정보는 자동으로 삭제됩니다. 따라서 긴 대화를 진행할수록 초기 정보는 점점 사라집니다. 이런 구조는 효율성을 높이지만 정확성을 희생할 수 있습니다. 우리는 이 구조를 이해해야 더 좋은 결과를 얻을 수 있습니다.토큰의 개념 이해AI는 우리가 사용하는 문장을 그대로 이..