Windows netsh를 활용한 WSL2 포트 프록시 설정 가이드

윈도우 netsh interface portproxy 설정 및 관리 방법을 정리한다. 모든 명령은 관리자 권한의 PowerShell 또는 명령 프롬프트에서 실행해야 한다. 1. 포트 프록시 등록 외부에서 윈도우 호스트의 특정 포트로 들어오는 접속을 WSL 내부 IP와 포트로 연결한다. 명령어: netsh interface portproxy add v4tov4 listenport=[외부포트] listenaddress=0.0.0.0 connectport=[내부포트] connectaddress=[WSL_IP] 인자 설명: listenport: 외부에서 접속할 때 사용할 포트 번호 listenaddress:... Continue Reading →

Windows Gemini CLI 한글 깨짐 방지를 위한 터미널 인코딩 설정

Gemini CLI 사용 중 쉘 출력에서 한글이 깨지는 현상은 기본 인코딩이 UTF-8이 아닌 CP949(한국어 확장 완성형)로 설정되어 있기 때문임. 이를 해결하기 위해 터미널 환경을 UTF-8(CP65001)로 변경하는 방법을 기술함. 0. 증상 Windows Powershell에서 gemini cli를 사용하는 경우. gemini가 shell 명령어를 사용해 받는 메세지는 인코딩이 깨져서 보인다. 단순히 화면에서만 깨져서 보인다면 문제가 없으나, gemini도 깨진 글자로 인식한다.... Continue Reading →

Git Worktree 정리

브랜치 전환 없이 병렬 개발하기, 그리고 Claude Code에서의 활용 Part 1. Git Worktree 1.1 개념 Git worktree는 하나의 git 저장소에서 여러 브랜치를 동시에 서로 다른 디렉토리에 체크아웃할 수 있게 해주는 git 기본 기능임. Git 2.5(2015년)에 도입됨 기존 방식에서 브랜치를 전환하려면 아래와 같은 과정을 거쳐야 함 git stash # 작업 중인 변경사항 임시 저장 git checkout... Continue Reading →

[Vim] 코드 사이를 순간이동하는 ‘마크(Mark)’ 활용법

Vim에서 긴 코드를 수정할 때 마우스 휠 대신 마크(Mark) 기능을 사용하면 작업 효율이 비약적으로 상승함. 1. 마크(Mark)란? 문서 내 특정 위치에 **'보이지 않는 북마크'**를 남기는 기능. 알파벳을 이용해 위치를 저장하고 단축키로 즉시 복귀할 수 있음. 2. 기본 사용법 위치 기억하기 (Marking) m + 알파벳: 현재 위치를 해당 알파벳으로 기억 (예: ma) 위치로 이동하기 (Jumping) '... Continue Reading →

Python function keyword-only and positional-only

기본 문법 def function(positional_only, /, flexible, *, keyword_only): pass / 앞: 위치 전용 - 순서대로만 /와 * 사이: 자유 - 둘 다 가능 * 뒤: 키워드 전용 - 이름=값으로만 키워드 전용 (*) def connect(*, host: str, port: int): pass connect(host="localhost", port=8080) # ✓ connect("localhost", 8080) # ✗ 위치 전용 (/) def pow(x, y, /): return x ** y pow(2, 3) # ✓ pow(x=2, y=3) # ✗... Continue Reading →

Google ADK와 Pydantic: 에이전트 초기화의 내부 구조

Google ADK(Agent Development Kit)에서 커스텀 에이전트를 설계할 때, 부모 클래스의 생성자인 super().__init__에 정의된 멤버 변수들을 모두 전달하는 구조를 가진다. 일반적인 상속 구조와는 다른 이 메커니즘의 핵심은 Pydantic에 있다. 1. Pydantic 기반의 필드 주입 ADK의 BaseAgent는 Pydantic의 BaseModel을 상속받아 구현되었다. 파이썬의 표준 클래스와 달리, Pydantic 기반 클래스는 클래스 바디에 선언된 타입 어노테이션을 참조하여 생성자 인자를 동적으로... Continue Reading →

Vim 단축키

기본 모드 모드 전환 방법 키설명iInsert 모드 (커서 위치)IInsert 모드 (줄 맨 앞)aInsert 모드 (커서 다음)AInsert 모드 (줄 맨 뒤)oInsert 모드 (아래 새 줄)OInsert 모드 (위에 새 줄)EscNormal 모드로 돌아가기Ctrl+[Normal 모드로 (Esc 대체)vVisual 모드 (문자 단위)VVisual 모드 (줄 단위)Ctrl+vVisual Block 모드:Command 모드 이동 (Motions) 기본 방향키 키설명h왼쪽j아래k위l오른쪽w다음 단어 시작W다음 단어 시작 (공백 기준)e다음 단어 끝E다음... Continue Reading →

IntersectionObserver를 활용한 TOC(Table of Contents / 목차) 구현

개요 IntersectionObserver API를 사용하면 스크롤 이벤트 없이도 효율적으로 요소의 가시성을 감지할 수 있다. 이 특성을 활용하여 문서의 목차(TOC)를 구현하고, 현재 읽고 있는 섹션을 자동으로 하이라이트하는 기능을 만들 수 있다. IntersectionObserver란? IntersectionObserver는 타겟 요소와 상위 요소 또는 뷰포트 사이의 교차 영역 변화를 비동기적으로 관찰하는 API다. 스크롤 이벤트를 직접 다루는 것보다 성능이 우수하며, 코드도 더 간결하게 작성할... Continue Reading →

CSS Display와 Spacing 완벽 가이드

"Claude 생성 문서" Display 속성의 기본값 display 속성의 기본값은 요소마다 다릅니다. Block 요소 (display: block) <div>, <p>, <h1>~<h6>, <ul>, <ol>, <li> <header>, <footer>, <section>, <article> <form>, <table> Inline 요소 (display: inline) <span>, <a>, <strong>, <em>, <b>, <i> <code>, <small> Inline-block 요소 <img>, <button>, <input>, <select>, <textarea> 핵심: <div>는 기본값이 display: block이므로, 따로 지정하지 않아도 block으로... Continue Reading →

임베디드 기사 실기 기출문제 확장판 (2015-2023년)

임베디드 기사 실기 기출문제 확장판 (2015-2023년) 본 문서는 2015년부터 2023년까지의 임베디드 기사 실기 기출문제를 주제별로 분류하고, 내용을 검증·수정·확장한 자료입니다. 📋 목차 메모리 관련 컴파일러 및 링커 주소 지정 및 데이터 표현 리눅스 파일 시스템 부팅 및 시스템 초기화 소프트웨어 개발 방법론 네트워크 프로그래밍 커널 관련 프로세스 및 스레드 동기화 기법 메모리 관리 디바이스 드라이버 UML... Continue Reading →

WordPress.com 제공.

위로 ↑

워드프레스닷컴으로 이처럼 사이트 디자인
시작하기