전체 글 262

원-핫 인코딩과 레이블 인코딩: 범주형 데이터 변환 기준과 실습

1. 범주형 데이터를 숫자로 바꿔야 하는 이유머신러닝 모델의 연산은 행렬 곱, 거리 계산, 미분으로 구성된다. 세 연산 모두 실수 입력을 전제하므로 "사과", "서울", "A형" 같은 문자열은 모델에 직접 투입할 수 없다. 따라서 범주형 데이터(categorical data)는 학습 전에 반드시 수치 벡터로 변환된다.변환 방식은 크게 두 가지다.레이블 인코딩(Label Encoding): 각 범주에 고유한 정수를 부여한다. 열 수는 그대로다.원-핫 인코딩(One-Hot Encoding): 범주마다 열을 만들고, 해당하는 하나의 열만 1, 나머지는 0으로 채운다.선택 기준은 취향이 아니라 두 가지 질문으로 결정된다.해당 변수에 순서(서열) 가 존재하는가?사용하는 모델이 숫자 값을 어떻게 소비하는가? (거리..

머신러닝의 동작 구조 - 결정함수란? (feat. 악성코드 탐지 예시)

1. 결정함수란 무엇인가1️⃣ 정의결정함수는 입력값을 출력값에 대응시키는 규칙이다. 형식적으로는 입력 공간 X에서 출력 공간 Y로 가는 사상으로 표기한다.f : X → YX : n차원 특징 공간, 입력은 특징 벡터 x = (x1, x2, ..., xn)Y : 출력 공간. 분류 문제라면 {정상, 악성}, 회귀 문제라면 실수 집합 선형 분류기의 경우 결정함수는 다음 형태를 갖는다.f(x) = sign(w1*x1 + w2*x2 + ... + wn*xn + b) 여기서 w는 가중치, b는 편향이다. 학습이 결정하는 대상은 이 w와 b이며, 이를 모델 파라미터라고 한다.입력과 출력의 관계를 연결한다는 의미에서 매핑 함수(Mapping Function) 라는 용어도 동일한 대상을 가리킨다.2️⃣ 일반 프로그램의 함..

systemctl disable과 mask의 차이: 서비스 비활성화 수준 구분하기

1. disable과 mask의 동작 범위시스템 서비스를 비활성화하는 방법은 부팅 자동 실행만 막는 방식과 시스템 전역에서 실행 자체를 차단하는 방식으로 나뉜다. systemctl disable과 systemctl mask는 기능적으로 비슷해 보이지만 차단 범위가 다르다.1️⃣ systemctl disable의 동작 범위disable은 부팅 타깃(예: multi-user.target.wants/)에 등록된 심볼릭 링크만 제거한다. 서비스 정의 파일 자체는 그대로 남아 있기 때문에 사용자가 systemctl start 명령으로 직접 실행하거나, 타이머·소켓·다른 서비스의 Requires=, Wants= 관계에 의해 언제든 구동될 수 있다.2️⃣ systemctl mask의 동작 범위mask는 /etc/sy..

인프라 가용성 아키텍처: Hot/Warm/Cold 분류 체계와 Standby 메커니즘

IT 인프라 및 시스템 엔지니어링 환경에서 시스템의 상태를 Hot, Warm, Cold로 분류하는 기준은 비즈니스 연속성 확보(BCP)와 직결된다. 이 분류는 장애 발생 시 가용성을 복구하는 대기 상태 수준과 데이터 접근 빈도에 따른 스토리지 계층화를 정의하는 핵심 척도다.1. Hot, Warm, Cold 분류 체계1️⃣ 기본 상태 및 핵심 지표 비교시스템 가용성과 데이터 관리 관점에서 Hot, Warm, Cold는 복구 목표 시간(RTO, Recovery Time Objective)과 복구 시점 목표(RPO, Recovery Point Objective), 그리고 투입 리소스 비용에 따라 명확히 구분된다.구분Hot (핫)Warm (웜)Cold (콜드)시스템 상태실시간 가동 중 (상시 On)기본 인프라 ..

Windows 11 메모장의 세션 상태 자동 저장 메커니즘과 TabState 캐시 구조 분석

Windows 11의 메모장은 과거 Windows 10 이전 버전과 근본적으로 다른 동작 방식을 갖는다. 저장하지 않고 창을 닫아도 다음 실행 시 편집하던 내용이 그대로 복원되는데, 이는 Windows App SDK(WinUI 3) 기반으로 재설계된 메모장이 세션 상태 자동 저장(Tab State Persistence) 메커니즘을 탑재했기 때문이다.이번 포스팅에서는 해당 메커니즘의 동작 원리를 알아보고, 실제 캐시가 저장되는 TabState 디렉터리의 바이너리 구조를 분석해 보기로 한다. 먼저 이 메커니즘의 핵심 개념인 텍스트 버퍼에 대해 알아보고, 이어서 세션 자동 저장의 4단계 동작 흐름, TabState 캐시 파일의 내부 직렬화 구조, 마지막으로 미저장 데이터 복구 방법 순으로 정리한다.1. 텍스트..

보안이슈#6. AI 시대 DDoS 위협의 진화 — 볼류메트릭에서 L7·암호화 계층 공격으로

최근 보안뉴스가 발행한 '2026 DDoS 대응 솔루션 리포트'는 최근 DDoS 위협 지형이 크게 달라졌음을 보여준다.리포트가 인용한 KISA 통계, Akamai·Netscout의 분석, 국내 실무자 대상 설문을 종합하면 공통된 방향이 드러난다. 공격은 네트워크 계층을 넘어 애플리케이션 계층으로 이동했고, 암호화 트래픽 속에 숨어들었으며, AI가 공격과 방어 양쪽의 판을 바꾸고 있다. [2026 DDoS 대응 솔루션 리포트] AI 시대 DDoS 공격의 진화... 어떻게 대응할까DDoS 공격은 가장 오래된 사이버 공격 방식 중 하나면서 지금도 꾸준히 모습을 바꿔가며 진화 발전하고 있는 것이다.www.boannews.com위 리포트를 바탕으로 무엇이 달라졌고 무엇을 방어해야 하는지 정리해 본다.1. DDoS..

PC를 껐다 켜는 것과 재부팅하는 것은 뭐가 다를까: Windows Fast Startup과 커널 초기화

PC를 사용하다가 문제가 생겼을 때 가장 빠른 해결책으로 "그냥 껐다 켜"라고 많이 얘기한다. 그런데 사실은 "껐다가 다시 켜는" 것만으로는 문제가 해결이 되지 않을 가능성이 있다. "종료 후 시작"과 "재부팅" 두 동작은 표면적으로 동일하게 전원이 꺼졌다 켜지는 것처럼 보이지만 현대 운영체제에서 이 둘은 커널 상태 처리와 프로세스 초기화 측면에서 명확히 다르게 동작한다. 이번 글에서는 Windows의 Fast Startup을 중심으로, 종료(Shutdown)와 재시작(Restart)이 시스템 및 프로세스 오류 해소 관점에서 어떤 차이를 만드는지 알아보자.1. 종료와 재부팅의 기본 개념1️⃣ 두 동작의 정의전원 관리 관점에서 두 동작은 다음과 같이 구분된다.종료(Shutdown) 후 시작: 시스템 전원을..

코드사인과 연대서명: 소프트웨어 신뢰와 다중 검증 체계

소프트웨어를 배포할 때 그 소프트웨어가 누구에 의해 만들어졌고, 배포 과정에서 변조되지 않았으며, 정당한 절차를 거쳐 승인되었는지 보증하는 것은 보안의 기본이다.이번 글에서는 소프트웨어의 신원과 무결성을 보증하는 코드사인, 그리고 복수 인가자의 협업으로 승인을 완성하는 연대서명에 대해 알아보기로 한다.두 개념 모두 서명의 대상인 "바이너리"에 대한 이해가 선행되어야 하므로, 바이너리가 무엇인지부터 정리하고 들어가자.1. 바이너리와 서명의 기초 개념1️⃣ 소프트웨어 바이너리소프트웨어 바이너리는 컴퓨터가 직접 실행할 수 있는 기계어(machine code)로 컴파일된 파일이다. 사람이 읽고 이해할 수 있는 소스 코드(source code)와 대비되는 개념이다.개발자가 작성한 C, C++, Java 같은 소스..

윈도우 시스템 파일의 구조

윈도우 운영체제는 부팅, 인증, 프로세스 관리, 설정 저장 등의 핵심 기능을 특정 디렉터리에 배치된 시스템 파일들에 의존한다.이 파일들의 위치와 역할을 이해하는 것은 시스템 관리, 침해 대응, 디지털 포렌식의 기초가 된다.윈도우 시스템 파일이 저장되는 위치와 대표 파일들의 기능을 알아보자.1. 윈도우 시스템 파일의 기본 배치 원리윈도우의 시스템 파일은 대부분 운영체제가 설치된 드라이브(일반적으로 C:)의 Windows 디렉터리 하위에 집중되어 있다.이 디렉터리는 커널, 드라이버, 시스템 라이브러리, 서비스 실행 파일, 설정 데이터를 포함하며, 운영체제 동작의 근간을 이룬다.1️⃣ 핵심 디렉터리 구조윈도우 시스템 파일이 위치하는 핵심 디렉터리는 다음 세 가지로 구분된다.🔵 C:\Windows\System..

[ML 스터디 4주차] 고유값과 고유 벡터 - 특성방정식과 정규화

행렬은 벡터에 곱해지면 그 벡터의 크기와 방향을 함께 바꾸는 선형 변환으로 작동한다.그런데 어떤 행렬을 곱해도 방향은 바뀌지 않고 크기만 변하는 특별한 벡터가 존재한다.이 벡터를 고유 벡터, 그 크기 변화의 배율을 고유값이라 부른다. 고유값과 고유 벡터는 PCA(주성분 분석)를 비롯한 머신러닝 기법의 수학적 토대이므로 그 값이 어떻게 계산되어 나오는지 이해해 둘 필요가 있다.1. 고유값과 고유 벡터의 정의1️⃣ 기본 관계식행렬 A에 대해 어떤 벡터 v가 존재하여, A를 곱해도 방향은 바뀌지 않고 크기(스칼라 배수)만 변하는 경우가 있다.이때의 관계식은 다음과 같다.Av = λv여기서 λ(람다)는 고유값(eigenvalue), v는 고유 벡터(eigenvector)다.이 식의 의미는 선형 변환 A를 적용해..