만들고 운영하며 배운 기술 노트
Flutter, 앱 운영, 서버, 스크래핑, AI까지. 15개 이상의 앱을 실제로 운영하며 얻은 실무 기록.
- C++ 강좌 C++ 템플릿·콘셉트·STL 알고리즘·ranges 실측 강좌 C++ 강좌 5. Apple clang 21 로 실행: 114 줄 템플릿 오류 읽는 법, 콘셉트로 22 줄로, 람다와 지연 평가 ranges, std::sort·stable_sort·qsort 실측.
- C++ 강좌 C++ 스마트 포인터와 이동 의미론, 실측으로 이해하기 C++ 강좌 4. unique_ptr·shared_ptr·weak_ptr, 소멸자 출력으로 보는 순환 누수, std::move 의 정체, noexcept 유무에 따른 vector 복사 횟수와 시간 실측.
- C++ 강좌 C++ 컨테이너·스레드·-O2 성능 실측 비교 C++ 강좌 6. vector·list·deque·map·unordered_map, reserve 와 SSO, ThreadSanitizer 로 잡는 데이터 경쟁, 원자적 연산 대 뮤텍스, -O0 대 -O2 실측.
- C++ 강좌 C++ 함수, 오버로딩, std::vector, 문자열 C++ 강좌 2. Apple clang 21 로 실행: 오버로딩 모호성 에러, 기본 인자, vector 값 전달 복사 비용 실측, push_back 재할당 횟수, ASan 으로 잡는 반복자 무효화.
- C++ 강좌 C++ 클래스, RAII, 0·3·5 의 규칙: 이중 해제를 ASan 으로 추적 C++ 강좌 3. Apple clang 21 로 실행: 생성자와 소멸자, 파일과 잠금의 RAII, 얕은 복사 이중 해제를 ASan 으로 확인, 0/3/5 의 규칙, explicit 과 {} 함정.
- C++ 강좌 C++ 기초: 첫 프로그램, 타입, 참조, std::string C++ 강좌 1. Apple clang 21 로 직접 실행: 5분 만에 첫 컴파일, cout·printf·std::print 속도 실측, 참조와 포인터, const, {} 초기화 축소 변환 에러.
- VB.NET 강좌 VB.NET 프로시저: ByVal·ByRef, AndAlso, Try/Catch 실행으로 익히기 VB.NET Sub·Function, ByVal·ByRef를 .NET 10 출력으로 확인. Select Case 범위, 반복문, And가 낸 NullReferenceException, Catch When, AndAlso 실측.
- VB.NET 강좌 VB.NET LINQ와 컬렉션: .NET 10에서 직접 실행해 본 결과 VB.NET LINQ를 .NET 10에서 실행. Group By … Into·Aggregate와 메서드 구문, 지연 실행 함정, 익명 형식 Key와 동등성, XML 리터럴, List와 HashSet 조회 속도 실측.
- VB.NET 강좌 .NET 10 의 VB.NET: 되는 것과 C# 연동에서 막히는 것 .NET 10 에서 VB.NET 을 검증했습니다. Mac 에서 WinForms 빌드, VB 가 못 쓰는 C# 기능의 실제 BC 오류, Span 런타임 크래시, 오버플로 검사로 약 30% 차이.
- VB.NET 강좌 VB.NET 클래스·상속·인터페이스: .NET 10에서 직접 돌려 본 결과 Overrides와 Shadows 차이를 실제 출력으로 확인하고, BC40003/40004/40005 경고, Implements 절, WithEvents, Using, Structure·Class 실측까지.
- VB.NET 강좌 VB.NET 기초: Option Strict·자료형·Nothing 함정 (.NET 10 실측) VB.NET 기초를 .NET 10에서 실행. Option Strict On의 BC30512, Off일 때 InvalidCastException, 기본 오버플로 예외, /와 \, Nothing=0, 늦은 바인딩 165배.
- VB.NET 강좌 VB.NET Async/Await 실전: Async Sub 함정·교착·WhenAll 실측 .NET 10 VB.NET 비동기를 직접 돌려 봤습니다. 잡히지 않는 Async Sub 예외, .Result 교착 재현, 취소, IProgress, BC36943, WhenAll 실측까지.
- Swift 강좌 Swift struct·class·enum·protocol 실전: 값 타입과 디스패치 함정 Swift 6.4.2로 실행한 중급 강의. 값·참조 타입의 실제 출력, mutating과 let 오류, enum 완전 switch, 프로토콜 확장의 정적 디스패치 함정, some/any, struct·class 배열 -O 실측과 판단표.
- Swift 강좌 Swift ARC·순환 참조·-O 성능 실측 deinit 이 불리지 않는 것과 macOS leaks 로 순환 참조를 증명하고, unowned 크래시, isKnownUniquelyReferenced 로 보는 Copy-on-Write, -O 와 -Onone 차이를 실측합니다.
- Swift 강좌 Swift 함수·클로저·컬렉션: 실행하고 시간까지 재 보기 인자 레이블과 inout, 변수를 붙잡는 클로저, copy-on-write 를 눈으로 보고 실측, map/filter/reduce 대 for 루프(-O), 실제 swiftc 에러까지 정리합니다.
- Swift 강좌 Swift 오류 처리와 제네릭: throws, 타입 지정 throws, Result, where Swift 6.4.2로 실행한 중급 강의. do/try/catch, try!의 실제 크래시와 사라지는 출력, 타입 지정 throws, Result, 제네릭 제약 위반의 실제 오류, 제네릭 대 any -O 실측과 판단표.
- Swift 강좌 Swift 동시성: async/await·actor·Swift 6 오류 실측 async let 과 태스크 그룹 실측, Swift 5 모드는 통과시키고 Swift 6 은 막는 데이터 경쟁, actor 재진입 함정을 실제 출력으로 확인하고 선택 기준표로 정리합니다.
- Swift 강좌 Swift 기초: let·타입·문자열·옵셔널을 실행 결과로 배우기 let 과 var, 암묵 변환이 없는 타입, 정수 오버플로 크래시, word[0] 이 안 되는 이유, 옵셔널과 강제 언래핑 크래시를 Swift 6.4.2 의 실제 swiftc 출력과 실측으로 확인합니다.
- SQL 강좌 SQL 윈도 함수와 CTE: 실무 보고서 쿼리로 익히기 ROW_NUMBER·RANK·LAG·누적 합계, 그룹별 상위 N개, 재귀 CTE, JSON 함수를 SQLite 에서 실행. 프레임과 NULL 함정, 상관 서브쿼리와의 속도 비교까지 실측.
- SQL 강좌 SQL 트랜잭션과 WAL: database is locked 의 세 가지 원인 BEGIN/COMMIT/ROLLBACK 실제 오류, INSERT 1만 건 자동 커밋 대 트랜잭션 1개 실측, 롤백 저널과 WAL, database is locked 원인별 해결.
- SQL 강좌 SQL JOIN·GROUP BY·서브쿼리: 합계가 틀리는 함정과 실측 SQL 강좌 3. SQLite 3.51 로 INNER/LEFT JOIN, 합계를 3배로 만드는 행 폭발, HAVING 과 WHERE, COUNT(*) 와 COUNT(열), 서브쿼리 대 JOIN 속도 실측.
- SQL 강좌 SQL INSERT·UPDATE·DELETE 와 제약 조건, 직접 깨뜨려 보기 SQL 강좌 2. SQLite 3.51 에서 INSERT/UPDATE/DELETE, NOT NULL·UNIQUE·CHECK·FOREIGN KEY 의 실제 오류, WHERE 없는 UPDATE 를 ROLLBACK 으로 되돌리기.
- SQL 강좌 SQL 인덱스와 EXPLAIN QUERY PLAN: 100만 행 실측 EXPLAIN QUERY PLAN 읽는 법, 100만 행에서 인덱스 유무 실측, 복합 인덱스 열 순서, SQLite 가 인덱스를 안 쓰는 네 가지 패턴을 실제 실행 결과로 정리.
- SQL 강좌 SQL 기초: SELECT·WHERE·ORDER BY 와 NULL 함정 SQL 강좌 1(초급). SQLite 3.51 로 5분 만에 첫 테이블을 만들고 WHERE·ORDER BY·LIMIT, = NULL 이 0건인 이유, 타입 친화성의 함정, 100만 행 실측까지 실행 결과로 설명.
- 커맨드라인 강좌 셸 변수·따옴표·종료 코드: bash 와 zsh 차이를 직접 실행해 확인 변수, 따옴표, $?, set -euo pipefail, if/for/while, 함수를 macOS 의 bash 3.2 와 zsh 5.9 에서 모두 실행. 실제 에러 메시지와 strict 모드가 놓치는 경우까지.
- 커맨드라인 강좌 튼튼한 셸 스크립트: 잠금·trap·로그와 cron 함정 strict 모드, mkdir 잠금, 정리용 trap, 시각이 찍힌 로그, --dry-run 을 갖춘 템플릿을 kill -9 와 SIGTERM 으로 직접 검증. cron 에서 깨지는 이유도 재현.
- 커맨드라인 강좌 셸 프로세스·잡·시그널: 종료 코드 130/137/143 읽는 법 ps·kill·trap·백그라운드 잡·wait·nohup 을 bash 3.2 와 zsh 5.9 에서 실행. kill -INT 가 안 먹는 이유, 남는 자식 프로세스, xargs -P 실측까지.
- 커맨드라인 강좌 파이프와 리다이렉션 입문: grep·sort·uniq로 로그 집계 표준 입력·출력·에러, >·>>·2>&1·파이프를 직접 만든 2만 줄 로그로 연습. uniq·cut 이 조용히 틀리는 경우, sort 로 파일이 비는 함정, 셸 루프와의 속도 차이 실측.
- 커맨드라인 강좌 find·xargs·sed·awk 실전: macOS BSD와 GNU 차이 정리 공백 있는 이름에도 안전한 find + xargs, 직접 만든 접근 로그로 sed·awk 한 줄 명령, 리눅스용 답이 맥에서 조용히 실패하는 BSD·GNU 차이를 모두 실제로 실행해 확인.
- 커맨드라인 강좌 터미널 기초: 경로, 파일 다루기, 공백 들어간 파일명 함정 macOS 터미널에서 pwd·ls·cd·mkdir·cp·mv·rm 을 실제로 실행. 진짜 에러 메시지, rm -r 새 폴더 가 엉뚱한 폴더를 지운 사례, cp 와 mv 속도 차이 실측, 연습 문제까지.
- 파이썬 강좌 파이썬 GIL 실측: 스레드·프로세스·asyncio 언제 무엇을 CPU 작업과 I/O 대기를 스레드·프로세스·asyncio 로 워커 1~8개 실측. 맥 spawn 에서 죽는 이유, Lock 으로 고치는 경쟁 상태, 이벤트 루프를 510ms 멈춘 블로킹 호출과 판단표까지.
- 파이썬 강좌 파이썬 프로파일링 실측: 진짜로 빨라진 최적화만 느린 단어 카운터를 timeit·cProfile·tracemalloc 으로 재며 4.39초에서 31ms 까지 단계별로 개선. 속성에 str += 하면 제곱이 되는 함정과, 실측해 보니 효과 없던 최적화 팁까지.
- 파이썬 강좌 파이썬 이터레이터·제너레이터: 메모리 실측과 한 번만 도는 함정 __iter__/__next__ 직접 구현부터 제너레이터, yield from, itertools 까지. 두 번째 루프가 빈 결과를 내는 함정과 390 MiB 대 0.3 KiB 메모리 실측을 담았습니다.
- 파이썬 강좌 파이썬 함수: 스코프·기본 인수 함정·클로저를 실행 결과로 *args·**kwargs, / 와 *, 가변 기본 인수 함정, LEGB 와 UnboundLocalError, 루프 속 lambda, 3.11 의 match, 함수 호출 비용까지 실제 실행 결과로 정리.
- 파이썬 강좌 파이썬 데코레이터와 컨텍스트 매니저: wraps·lru_cache·with 실전 타이밍·재시도·캐시 데코레이터를 직접 만들고, functools.wraps 가 없으면 무엇이 깨지는지, lru_cache 로 fib 가 3만 배 빨라지는 실측, with 와 ExitStack 까지.
- 파이썬 강좌 파이썬 자료형과 가변성: 이름·복사·is 와 == 를 실행 결과로 0.1+0.2 가 0.3 이 아닌 이유, 리스트 별칭과 [[0]*3]*3 함정, copy 와 deepcopy, is 와 ==, 실제 트레이스백과 실측 비용까지 파이썬 3.9·3.11 로 확인.
- 학습 로드맵 신입 개발자를 위한 프로그래밍 기초 학습 로드맵 신입 개발자에게 보내는 한 장짜리 학습 안내. 첫 언어 고르기, 기초가 몸에 붙는 공부법, 터미널·Git·SQL 과 파이썬·자바·PHP·Dart·Swift·C#·VB.NET 등 강좌를 초급부터 읽는 순서.
- PHP 강좌 PHP 보안 실습: XSS·CSRF·세션을 PHP 8.5 에서 직접 공격해 보기 출력 위치별 XSS, 빈 토큰을 통과시킨 CSRF 검사, 실제 Set-Cookie 로 본 세션 고정, bcrypt 와 argon2id 실측, 코드가 실행된 업로드까지.
- PHP 강좌 PHP 8.5 OPcache·JIT·프로파일링 실측: 무엇이 진짜 빨라지나 CLI 에선 OPcache 가 오히려 느렸고 서버 요청은 35 배 빨라졌다. JIT 는 계산 4.5 배, 문자열 작업 8%. 900 배 느린 문자열 연결과 제너레이터 메모리까지 실측.
- PHP 강좌 PHP PDO와 SQLite: SQL 인젝션을 직접 재현하고 고치기 이어 붙인 SQL에 실제 페이로드를 넣어 전체 행이 나오는 모습과 prepared statement 수정을 PHP 8.5에서 실행. fetch 모드, IN, LIKE 이스케이프, 예외 메시지, 1만 건 INSERT 실측.
- PHP 강좌 PHP 객체지향: 클래스·인터페이스·enum과 8.5 신기능 실측 readonly 클래스, trait 충돌, static과 self, backed enum, 프로퍼티 훅, 8.5 파이프 연산자를 PHP 8.5.6에서 실행한 진짜 에러와 객체·배열 메모리 실측으로 정리.
- PHP 강좌 PHP 함수·폼·내장 서버: 실행 결과로 배우는 기초 PHP 8.5 로 직접 확인. 타입·이름 있는 인자·유니언 타입 함수, 클로저, php -S 와 curl 로 GET/POST 폼, htmlspecialchars 없는 XSS, ?? 와 require.
- PHP 강좌 PHP 기초: 자료형·== 와 ===·문자열·배열을 실행 결과로 PHP 8.5 로 직접 실행해 확인. PHP 8 에서 바뀐 0 == "a", strict_types 의 TypeError, 한글 strlen 과 mb_strlen, 배열 키 변환과 foreach & 함정.
- JavaScript 강좌 JS 성능·메모리·숫자: jsc 로 잰 함정과 실측값 JavaScript 강좌 6: 2^53 넘는 ID, 53 배 느린 BigInt, += 문자열 함정(2ms 대 564ms), 구멍 난 배열, JIT 단계별 31→5ms, Map 과 WeakMap 누수.
- JavaScript 강좌 자바스크립트 객체와 배열: map·reduce·복사 함정 자바스크립트 강좌 3. map/filter/reduce, 스프레드와 구조 분해, 얕은 복사 함정, sort() 에서 100 이 9 앞에 오는 이유, 한글 정렬, reduce 안 스프레드의 O(n²) 를 jsc 로 실측.
- JavaScript 강좌 자바스크립트 함수: this 와 클로저를 jsc 로 실행하며 이해하기 자바스크립트 강좌 2. 함수 선언과 화살표 함수, this 가 정해지는 네 규칙, 클로저, 반복문 var 함정, TDZ ReferenceError, 메모이제이션 실측까지 jsc 로 실행.
- JavaScript 강좌 JS 클래스·프로토타입·모듈: jsc 로 직접 돌려 본 동작 JavaScript 강좌 4: 프로토타입 체인, class 와 함수의 차이, #private, this 를 잃는 TypeError, 순환 import, 객체당 40B 대 249B 실측.
- JavaScript 강좌 자바스크립트 기초: 타입·== 와 ===·NaN 을 jsc 로 실행하며 자바스크립트 강좌 1. 맥 기본 jsc 로 5분 만에 실행, let/const/var 오류, typeof null, == 와 === 실행표, 0.1+0.2, "12,000원" 파싱과 부가세 올림 함정까지 실측.
- JavaScript 강좌 JS Promise·이벤트 루프: 실행 순서를 찍고 시간을 쟀다 JavaScript 강좌 5: jsc 로 찍은 마이크로태스크와 setTimeout 순서, 조용히 사라지는 미처리 rejection, all 과 allSettled, await 311ms 대 124ms.
- 자바 강좌 Java 가상 스레드 JDK 26 실측: 한계·피닝·경쟁 상태 sleep 작업 10만 개를 가상 스레드와 플랫폼 스레드로 실측. macOS 에서 죽는 지점, CPU 작업에 효과 없는 이유, JEP 491 이후 피닝, 경쟁 상태와 구조적 동시성까지 다룬다.
- 자바 강좌 자바 스트림·람다·Optional: 지연 평가와 병렬 함정 실측 peek로 보는 지연 평가, toMap 중복 키 예외, for·stream·parallelStream 워밍업 후 실측, Optional 오용, 람다 속 검사 예외, Java 24 gatherer까지 JDK 26에서 실행.
- 자바 강좌 Java JIT·GC·메모리를 JDK 26 에서 실측하기 JIT 워밍업으로 349µs 가 46µs 로, -Xint 는 약 20 배 느림. GC 4 종을 실제 로그로 비교하고, 힙 절반에서 나는 OOM 과 static Map 누수를 jcmd 로 추적한다.
- 자바 강좌 자바 컬렉션 성능 실측: ArrayList·HashMap·ArrayDeque (JDK 26) ArrayList와 LinkedList, HashMap과 TreeMap, ArrayDeque와 Stack을 JDK 26에서 워밍업 후 실측. 박싱 비용, 초기 용량, ConcurrentModificationException까지.
- 자바 강좌 Java 클래스·record·인터페이스·sealed 기초 (JDK 26) OpenJDK 26에서 직접 돌린 Java 초급 강좌. 캡슐화, equals만 구현해 HashSet에 중복이 들어가는 버그, record, 인터페이스와 추상 클래스 선택 표, sealed switch 누락 에러.
- 자바 강좌 Java 기초: 타입·문자열·==와 equals 차이 (JDK 26 실행) OpenJDK 26에서 직접 돌린 Java 초급 강좌. int 오버플로, 정수 나눗셈, double과 BigDecimal, ==와 equals, Integer 캐시(127과 128), 실제 javac 에러.
- HTTP·웹 기초 HTTP 상태 코드와 리다이렉트, curl 로 직접 확인하기 HTTP 강좌 2. php -S 라우터로 2xx~5xx 를 돌려주고, 301/302/303 과 307/308 에서 POST 가 어떻게 되는지 curl -L 로 확인. 404 와 410, 200 으로 나가는 치명적 오류, 루프 실측.
- HTTP·웹 기초 HTTP 성능: keep-alive·gzip·HTTP/2·CORS 실측 연결 재사용과 매번 연결, gzip 레벨, HTTP/1.1 과 HTTP/2 를 curl·Python·php -S 로 실측. curl 반복문 함정과 CORS 프리플라이트에서 서버가 실제로 받는 것까지 확인.
- HTTP·웹 기초 HTTPS·TLS·인증서, openssl 과 curl 로 직접 읽기 TLS 핸드셰이크, 인증서 체인, SNI, HSTS 를 실제 openssl s_client·curl 출력으로 설명. 연결 시간 내역을 실측하고 curl (60) 오류를 전부 재현해 고치는 법까지 정리.
- HTTP·웹 기초 HTTP 헤더, 쿠키, 세션을 curl 과 PHP 로 확인하기 HTTP 강좌 3. EUC-KR 한글 깨짐을 바이트 단위로 재현하고, Set-Cookie 속성을 curl 쿠키 jar 로 확인. 조용히 버려지는 Secure 쿠키, PHP 세션, 세션 고정과 실측.
- HTTP·웹 기초 HTTP 캐시 강좌: ETag·Cache-Control·304 실측 php -S 로 ETag 와 Cache-Control 을 직접 구현하고 304 로 줄어드는 바이트와 시간을 실측. 매번 바뀌는 ETag, 1초 안에 바뀐 파일에 304 가 오는 함정, no-cache 오해, CDN 주의점까지.
- HTTP·웹 기초 HTTP 기초: curl -v 출력을 한 줄씩 읽어 보기 HTTP 강좌 1. python http.server 를 로컬에 띄우고 curl -v 를 한 줄씩 읽습니다. 메서드, 상태 코드, 헤더, curl 종료 코드, 실측한 요청 시간까지.
- Git 강좌 Git 되돌리기 총정리: reset·revert·restore·reflog·stash restore, reset 의 --soft/--mixed/--hard 차이, reflog·fsck 복구, merge revert, stash 함정, 커밋이 정말 사라지는 조건까지 실출력으로 확인했다.
- Git 강좌 Git 원격 저장소: push·pull·fetch와 거부된 push 해결법 로컬 bare 저장소로 오프라인 재현. fetch와 pull의 차이, non-fast-forward로 거부된 push, upstream 추적, pull.rebase 선택법, clone 크기 실측까지.
- Git 강좌 Git rebase·cherry-pick 실전: 이력을 안전하게 고치는 법 rebase 와 merge 를 실제 그래프로 비교하고, 에디터 없는 대화형 rebase, cherry-pick, force push 로 동료 커밋이 사라지는 장면까지 실출력으로 정리했다.
- Git 강좌 Git 내부 구조 실측: 객체·packfile·gc·bisect blob 해시를 손으로 계산하고 cat-file 로 트리·커밋을 읽고 plumbing 으로 커밋을 만든다. gc 와 대용량 파일을 실측하고 bisect 로 300개 중 8번 만에 범인을 찾는다.
- Git 강좌 Git 브랜치·병합·충돌, 직접 일으켜서 해결해 보기 브랜치 만들기와 전환, fast-forward와 병합 커밋의 차이, 실제 CONFLICT를 한 줄씩 해결하는 순서까지. Git이 출력한 오류와 힌트는 모두 실제 출력이고, 해결 순서를 하나씩 확인합니다.
- Git 강좌 Git 기초: init·add·commit과 .gitignore 직접 해 보기 첫 커밋까지 5분. 작업 트리·스테이징·저장소의 차이, status/diff/log 읽는 법, .gitignore가 안 먹는 이유, 비밀번호를 커밋했을 때의 진짜 대처법을 실제 출력으로 설명합니다.
- Dart 강좌 Dart 레코드·패턴·sealed 클래스, 실행과 측정으로 이해하기 레코드, 구조 분해, switch 식, 가드, sealed 클래스를 Dart 3.11 에서 실행. 실제 망라성 에러, jsonDecode 와 맵 패턴 JSON 파싱, AOT 메모리·속도 실측까지.
- Dart 강좌 Dart 성능 실측: JIT 대 AOT, 워밍업, 메모리 Dart 3.11 실측. hello world 가 dart run 339ms 대 exe 17ms, JIT 워밍업 19.5→4.8ms, List<int> 76MB 대 Uint8List 9.5MB, += 문자열 1,974ms.
- Dart 강좌 다트 함수와 컬렉션: 지연 Iterable 과 실제 오류 다트 강좌 2. 이름 있는·required 매개변수, 클로저, collection if/for, where/map 지연 평가, ConcurrentModificationError, Set 과 List 검색 속도 실측.
- Dart 강좌 Dart 클래스·mixin·확장 메서드: Dart 3.11 실행 검증 생성자와 const, extends·implements·with 차이, mixin 실행 순서, 확장 메서드의 정적 디스패치 함정, ==/hashCode, Dart 3 클래스 수식어를 실제 에러와 함께.
- Dart 강좌 다트 기초: 타입·final 과 const·널 안전성을 실행 결과로 다트 강좌 1. dart run 으로 5분 만에 첫 프로그램, var/final/const 실제 오류, ~/ 정수 나눗셈, 문자열 보간, ? ! ?? late 와 dart analyze 진단 코드, 시작 시간 실측.
- Dart 강좌 Dart 비동기·Stream·Isolate 실측: 354ms 멈춤을 18ms로 이벤트 루프 실행 순서, Future.wait 610→303ms, try/catch 를 빠져나가는 미대기 Future, Stream 오류, Isolate.run 으로 UI 멈춤 해결까지 Dart 3.11 실측.
- C 언어 강좌 C 정의되지 않은 동작: -O0과 -O2 결과가 다른 이유 C 강좌 5강. 부호 있는 오버플로, 사라지는 루프, strict aliasing, 초기화 안 된 변수, 지워진 NULL 검사를 -O0·-O2로 실행하고 UBSan 보고와 비용까지 실측.
- C 언어 강좌 C 문자열·구조체·버퍼 오버플로: ASan으로 직접 잡아 보기 C 강좌 4강. NUL 종료 문자, strcpy·strncpy·snprintf 함정, offsetof로 잰 구조체 패딩, 스택 버퍼 오버플로를 세 가지 빌드로 잡아 본 실행 기록과 고친 코드.
- C 언어 강좌 C 포인터와 malloc: 해제 후 사용·이중 해제·메모리 누수 C 강좌 3. Apple clang 21 로 실행: & 와 *, malloc/free, 해제 후 사용과 이중 해제의 ASan 보고, macOS leaks 로 누수 찾기, realloc 확장 방식 실측.
- C 언어 강좌 C 성능·Makefile·lldb: 캐시 순서 실측과 크래시 추적 C 강좌 6강. 행/열 순회 54배 차이, 구조체 배열 대 배열 구조체, 헤더 의존성을 챙기는 Makefile과 함정 세 가지, lldb의 bt·frame variable로 크래시 원인 찾기까지 실제 실행.
- C 언어 강좌 C 제어문·함수·배열: off-by-one 을 ASan 으로 잡기 C 강좌 2. Apple clang 21 로 실행: if·반복문·함수·배열, = 와 == 경고, 배열이 포인터가 되는 원리와 sizeof 함정, 범위 밖 쓰기를 ASan 으로 찾기.
- C 언어 강좌 C 언어 기초: 첫 프로그램, 자료형, printf, 경고 읽기 C 강좌 1. Apple clang 21 로 직접 실행: 5분 만에 컴파일, -Wall -Wextra 경고 읽기, int 크기와 오버플로, printf 서식 실수, 정수 나눗셈.
- AI·LLM TF-IDF·BM25 검색 엔진 직접 만들기: 블로그 글 86개로 실측 Python 표준 라이브러리만으로 역색인, TF-IDF, BM25를 구현하고 형태소 분석기 없이 문자 바이그램으로 한국어를 검색했다. 블로그 글 86개로 MRR, k1·b 효과, 속도를 재고 임베딩과 나눠 쓰는 기준도 정리했다.
- AI·LLM 옛 블로그 글 개인정보·저작권 점검: 이미지 85개를 뺀 기록 2021년 글 67편을 다시 공개하기 전에 본문과 이미지를 점검했다. 컴파일러 경로 속 Windows 계정 이름, 예제 데이터의 실명, 퍼온 것 같은 그림. 확인 방법과 유지·교체·삭제 기준.
- AI·LLM 퍼셉트론에서 신경망까지: 순수 파이썬으로 XOR 실측 퍼셉트론은 AND·OR 는 배우지만 XOR 은 끝내 못 푼다. 손으로 짠 역전파 신경망은 풀지만, tanh 은닉 2개는 시드 100개 중 59번 실패했다. 실패의 정체, 기울기 검사, 두 개의 달 정확도까지 실측했다.
- AI·LLM 나이브 베이즈 텍스트 분류기를 표준 라이브러리로: 블로그 글 86개 실측 Python 표준 라이브러리만으로 다항 나이브 베이즈를 약 70줄로 만들어 블로그 글 86개의 카테고리를 맞혔다. LOO 정확도 84.9%, 평활화 없이 전부 0이 되는 모습, 언더플로 실측, 한국어 조사와 바이그램 비교.
- AI·LLM 파이썬 표준 라이브러리만으로 선형 회귀: 경사 하강법이 발산하는 순간 실측 numpy 없이 선형 회귀를 닫힌 형태 해, 배치 GD, 미니배치, SGD 네 가지로 구현했다. 학습률이 크면 발산하는 손실 값과 스케일링 없이 140,538 에포크가 걸린 실측, SGD 의 seed 의존성까지 담았다.
- AI·LLM k-means 표준 라이브러리로 직접 구현: 지역 최솟값·k-means++·k 고르기 파이썬 표준 라이브러리만으로 k-means 를 짜고 조건마다 200번 실행. 최선의 결과에 도달한 건 무작위 초기화 79번, k-means++ 127번. 빈 클러스터, 스케일링, 블로그 글 군집화까지 실측.
- AI·LLM AI 에이전트 18개로 2021년 글 67편을 병렬 보강한 방법 2021년에 쓴 강좌 글 67편을 AI 서브 에이전트 18개로 검증된 한·영·일 글로 보강했다. 공통 브리프에 넣은 것, 웨이브 나누는 법, 모두가 통과한 검증 도구, 빌드·배포를 한 번으로 모은 병합, 사람이 확인한 것까지 정리했다.
- AI·LLM AI 에이전트의 첫 진단이 틀렸을 때: 로그가 잡아낸 6건 AI 코딩 에이전트가 자신 있게 틀린 6건. MySQL 접속 한도, PHP include 깊이, robots.txt 순서, CDN, 휴대폰 그림, 셸 루프까지, 그것을 드러낸 로그와 측정을 정리했다.
- 웹·SEO Pillow로 OG 이미지 카드 자동 생성: 한·일 제목 줄바꿈 처리 글마다 1200×630 og:image 를 빌드할 때 Pillow와 Noto 글꼴로 만든 기록. 제목 크기 맞추기, 일본어 줄바꿈 실패 세 번, 캐시, 메타 태그 연결까지.
- 서버·인프라 MySQL 1226 max_connections_per_hour: 공유 호스팅 대처법 Python cron은 MySQL 1226(시간당 500 연결)으로 실패했는데 localhost로 붙는 PHP API는 시간당 약 1,500 연결에도 멀쩡했다. 한도는 user@host 단위. 같은 서버 작업은 localhost로 연결하고 재시도는 좁게.
- 앱 출시·운영 iOS·Android 공용 공유 링크 하나와 버튼별 클릭 집계 아이폰은 App Store, 안드로이드는 Google Play로 보내고, 카카오톡·X 미리보기에는 OG 카드를 주며, 어느 공유 버튼에서 왔는지 기록하는 PHP 스마트 링크 설계.
- 웹·SEO 앱 API가 같이 도는 서버에서 WordPress 파일 안전하게 지우기 앱 백엔드도 함께 운영하는 공유 호스팅에서 WordPress 잔재 21개를 지운 기록. 지우기 전 꼭 볼 것, 되돌릴 수 있는 '옮긴 뒤 삭제' 절차, 410 Gone을 돌려주는 .htaccess.
- 웹·SEO 3개 언어 블로그를 411줄짜리 Python 정적 사이트 생성기로 만들기 Hugo 대신 직접 만든 이유와, hreflang·noindex 옛 글·광고 자리·JSON-LD·안전한 증분 FTP 배포를 어떻게 처리하는지.
- 서버·인프라 PHP에서 prepared statement로 바꾸면 JSON 타입이 바뀐다 mysqli의 query()를 prepared statement로 바꾸면 json_encode에서 "7"이 7이 된다. PHP 8.5 + MariaDB 11.8 실측과, 구버전 Flutter 앱이 죽는 이유.
- 서버·인프라 LiteSpeed .htaccess로 한글 URL 리라이트하기: 실측으로 확인한 것 패턴은 인코딩 전일까 후일까, 공백은 어떻게 쓸까, 301은 쿼리스트링을 남길까. 운영 중인 LiteSpeed에 요청 23번을 보내 확인한 결과와 안전한 실험 방법.
- 서버·인프라 오래된 PHP의 SQL 인젝션·XSS를 출력 1바이트도 안 바꾸고 고치기 10년 된 앱 백엔드 PHP 36개 파일, 90곳을 고치고 저장해 둔 실제 응답과 바이트 비교로 무변경을 확인했다. 스캐너가 놓친 두 패턴과 WAF가 있는 환경에서 검증하는 법.
- 서버·인프라 호스팅 계정 이전 후 조용히 깨져 있던 다섯 가지 계정을 옮긴 뒤에도 모든 페이지가 200이었다. 그런데 FTP 루트, 크론 경로, Python venv, 실행 권한, 크론의 '분' 설정이 소리 없이 깨져 있었다.
- Flutter 앱 16개를 8주 만에 최신 Flutter로 옮기며 깨진 것들 2026년 5~7월, 웹뷰 래퍼였던 앱 6개를 네이티브 Flutter로, 오래된 Flutter 앱 10개를 최신으로 바꿨다. 빌드 오류, 심사 반려, 되돌린 변경의 기록.
- 앱 출시·운영 공유 호스팅의 PHP 크론으로 FCM 예약 푸시 보내기 Flutter 앱 8개에 당첨 결과 알림을 5분 주기 PHP 크론과 FCM HTTP v1로 보낸다. 데이터가 나왔을 때만, 하루 한 번, 그리고 200을 믿지 않는다.
- Flutter Dart http 클라이언트는 POST의 301을 따라가지 않는다: 실측과 해결 Flutter 앱의 검색이 서버의 301 때문에 조용히 실패하고 있었다. Dart 3.11과 http 1.6이 리다이렉트 코드마다 어떻게 동작하는지 curl과 비교하고, 검증한 해결법을 정리했다.
- AI·LLM 크론에서 claude -p 돌리기: 격리, JSON 스키마, 빨리 멈추기 정기 실행 161번과 헤드리스 Claude Code 호출 671번에서 배운 것. 격리하는 플래그, 스키마로 검증하는 출력, 그리고 재시도로는 고칠 수 없는 실패.
- 서버·인프라 호스팅 CDN이 API 응답과 301까지 캐시하고 있었다 라우팅을 바꾼 뒤 API URL 4개가 CDN에서 옛 301을 계속 돌려줬다. Hostinger CDN이 무엇을 캐시하는지 헤더별로 실측하고, 속지 않는 검증 방법을 정리했다.
- 앱 출시·운영 앱 개인정보처리방침은 기억이 아니라 매니페스트로 쓴다 스토어 등록 24건이 예시 문구가 남은 템플릿을 가리키고 있었다. 앱 17개의 방침을 pubspec, Info.plist, 병합된 Android 매니페스트로 다시 만든 기록.
- 앱 출시·운영 Flutter 앱 17개의 AdMob 빈도를 자체 서버에서 조절하기 Firebase Remote Config를 141줄짜리 PHP 엔드포인트로 바꾼 이유, 앱 쪽 대비책, 그리고 다시 빌드하지 않고 광고 간격을 바꿨을 때 CTR이 어떻게 움직였는지.
- 웹·SEO 앱스토어 등록 URL을 끊지 않고 WordPress를 정적 사이트로 옮기기 스토어 등록 24건이 WordPress 페이지를 개인정보처리방침 URL로 쓰고 있었다. LiteSpeed에서 등록 URL을 모두 200으로 유지한 채 5분 만에 전환한 기록.
- 서버·인프라 구버전 앱을 멈추지 않고 레거시 PHP API 정리하기 API 폴더 8개, PHP 파일 102개, 깊이가 다른 include 네 가지, 강제 업데이트할 수 없는 앱. 내부 리라이트와 응답 비교로 /api/v1 아래로 옮긴 과정.
- AI·LLM AI 코딩 에이전트에게 운영 서버를 맡겼을 때 실제로 버틴 안전장치 AI 에이전트가 하룻밤에 운영 사이트와 앱 API 8개를 옮겼다. 에이전트가 낸 실수, 그것을 잡아낸 검사, 사람에게 남긴 일을 정리했다.
- C# 강좌 C# LINQ group by·join 심화: 복합 키, ToLookup, CountBy 실측 LINQ group by와 join을 한 단계 깊게. 복합 키, GroupBy와 ToLookup의 차이, null 키, 중복 키 조인, .NET 9 CountBy·AggregateBy까지 .NET 10에서 실행하고 속도와 메모리를 쟀다.
- C# 강좌 C# LINQ 쿼리 구문 vs 메서드 구문: 컴파일러 변환·let·SelectMany from·where·orderby·select가 어떤 메서드 호출로 바뀌는지 직접 출력해 확인. let의 숨은 할당, 다중 from과 SelectMany, 정렬 안정성, .NET 9·10 새 메서드까지 실측.
- C# 강좌 C# 람다식: 2021년 예제를 .NET 10에서 다시 실행해 보니 C# 람다식의 기본(식·문 형식)부터 C# 10 자연 형식, C# 12 기본 매개변수, static 람다, 루프 캡처 함정까지. 2021년 예제의 컴파일 오류와 캡처 비용 실측 포함.
- C# 강좌 C# Func·Action 델리게이트: 2021년 예제 재검증과 호출 비용 실측 Func와 Action의 차이, out 매개변수·Predicate와의 호환 문제, 멀티캐스트 함정, 인터페이스와의 호출 비용 비교까지. 2021년 예제가 컴파일되지 않던 원인도 정리.
- C# 강좌 C# 이벤트 심화: add/remove, async 핸들러, 약한 이벤트 C# 이벤트 심화를 .NET 10에서 검증. 사용자 지정 add/remove, 취소 가능한 EventArgs, 프로세스를 종료시키는 async void 핸들러, 약한 이벤트 패턴, 인터페이스의 이벤트.
- C# 강좌 C# 무명 형식과 무명 메서드: .NET 10에서 다시 확인한 동작 C# 무명 형식의 Equals와 ==의 차이, 읽기 전용 속성, C# 10 with 식, 튜플·레코드로 바꿀 시점과 할당량 실측, delegate { }만 할 수 있는 일까지 .NET 10에서 정리.
- C# 강좌 C# List<T> 내부 동작: Capacity 증가·컬렉션 식·AsSpan 실측 List<T>는 Add할 때 내부 배열을 어떻게 늘릴까. .NET 10에서 Capacity 변화를 직접 찍고, 초기 용량 유무의 시간·할당 차이, 컬렉션 식, CollectionsMarshal.AsSpan의 함정까지.
- C# 강좌 C# 델리게이트 콜백 설계: 진행률·취소·체인의 예외 C# 콜백을 .NET 10에서 설계하는 법. Action과 IProgress<T>, 콘솔에서 Progress<T> 순서가 뒤섞이는 이유, CancellationToken, 체인 중간 예외와 GetInvocationList.
- C# 강좌 C# 프로퍼티 심화: field 키워드, required, 변경 알림 C# 14 field 키워드를 .NET 10에서 컴파일해 본 결과와 기존 코드가 조용히 바뀌는 CS9258 함정, required·init, 계산 vs 캐시, INotifyPropertyChanged, 필드 대비 속도 실측.
- C# 강좌 C# 제네릭: 2021년 예제를 .NET 10에서 다시 검증 C# 제네릭 메서드·클래스·제약 조건을 .NET 10에서 검증. 2021년 예제의 컴파일 오류, 제약 위반 오류 코드, notnull·allows ref struct, INumber<T>, 공변성, ArrayList 박싱 실측까지.
- C# 강좌 C# 컬렉션 고르기: Dictionary·HashSet·FrozenDictionary 실측 Dictionary, HashSet, SortedDictionary, PriorityQueue, FrozenDictionary, ImmutableArray 중 무엇을 쓸까. .NET 10 조회 속도·생성 비용 실측과 판단 그림.
- C# 강좌 C# 레지스트리 읽기·쓰기: .NET 10의 CA1416과 RegistryView C# RegistryKey로 키를 만들고 값을 읽고 쓰는 법을 .NET 10에서 재검증. CA1416 경고와 IsWindows() 가드, 32/64비트 RegistryView, 설정 파일과의 선택 기준.
- C# 강좌 C# LINQ 기초: .NET 10에서 다시 실행한 입문 LINQ 쿼리식의 기본 절을 예제로 정리하고, 2021년 예제를 .NET 10에서 모두 다시 돌렸다. 지연 실행의 함정, 새 LeftJoin 메서드, 반복문과의 속도 차이까지 실측.
- C# 강좌 C# 파일 입출력: using·비동기 API·UTF-8 BOM·Path 함정 실측 File·StreamReader 기본, using 선언, 비동기 API, UTF-8 BOM 실제 바이트, CP949, Path.Combine 함정, ReadAllLines와 ReadLines 속도·메모리 실측.
- C# 강좌 C# 프로퍼티 기초: get/set, 자동 구현, init, 세터 검증 C# 프로퍼티의 get/set 접근자와 value, 자동 구현 프로퍼티, init(C# 9), 식 본문 =>와 { get; } =의 차이, 세터 검증을 .NET 10에서 실행한 출력과 에러 코드로 정리.
- C# 강좌 C# 리플렉션과 애트리뷰트: Invoke 비용 실측과 AOT 경고 Type·MethodInfo로 멤버 조회, 커스텀 애트리뷰트 정의와 읽기, Invoke와 직접 호출·델리게이트 속도 실측, Native AOT에서 나는 IL2026·IL2057 경고와 소스 생성기 대안까지.
- C# 강좌 C# 구조체(struct): 값 복사, 방어적 복사, 박싱 비용 실측 C# 구조체를 .NET 10에서 검증. 값/참조 복사의 실제 출력, readonly·record·ref struct, 경고 없는 방어적 복사 함정, 인터페이스 캐스팅 박싱 할당량 실측과 구조체 선택 기준.
- C# 강좌 C# 메서드: ref·out·params와 오버로딩을 .NET 10에서 다시 검증 C# 메서드 정의·반환·값/참조 전달부터 ref·out·in, C# 13 params ReadOnlySpan, 선택적·명명된 인수, 로컬 함수, 오버로딩 함정까지. 2021년 예제 오류와 params 할당 실측 포함.
- C# 강좌 C# 반복문 while·for·foreach: .NET 10에서 IL과 속도까지 확인 C# while, do-while, for, foreach를 .NET 10에서 다시 실행하고, foreach가 배열·List·Span에서 무엇으로 컴파일되는지, 순회 중 수정 예외, for와 foreach 속도를 실측했습니다.
- C# 강좌 C# 인터페이스: 기본 구현, static abstract, 명시적 구현 (.NET 10) C# 인터페이스를 .NET 10에서 다시 검증. 명시적 구현, C# 8 기본 인터페이스 메서드, C# 11 static abstract 멤버를 컴파일 확인한 예제와 오류 코드, 추상 클래스와의 선택 기준표까지.
- C# 강좌 C# 확장 메서드·partial·중첩 클래스: C# 14 extension 블록까지 C# 확장 메서드의 선택 규칙(CS0121·CS1061), C# 14 extension 블록과 확장 프로퍼티를 .NET 10에서 컴파일한 결과, partial 메서드·프로퍼티·생성자, 중첩 클래스 쓰임새.
- C# 강좌 C# 예외 처리: .NET 10에서 다시 검증한 try·catch·finally C# try·catch·finally 기초부터 예외 필터 when, throw; 와 throw ex; 의 스택 트레이스 차이, using 선언, ThrowIfNull까지. 2021년 예제 검증과 예외 비용 실측 포함.
- C# 강좌 C# 델리게이트와 이벤트: .NET 10에서 다시 검증한 기초 C# 델리게이트·멀티캐스트·event 키워드의 보호, EventHandler<T>, 구독 해제와 메모리 누수, ?.Invoke 스레드 안전까지. 2021년 예제의 경고·예외와 호출 비용 실측 포함.
- C# 강좌 C# break·continue·goto: 중첩 루프 탈출과 goto case 정리 C# 무한 루프와 break·continue·goto를 .NET 10에서 다시 실행하고, 중첩 루프를 빠져나가는 goto·플래그·로컬 함수를 실측 비교하고, switch의 goto case와 컴파일 오류까지 정리했습니다.
- C# 강좌 C# 생성자와 소멸자(종료자): 실행 순서·GC·IDisposable 실측 C# 생성자 체이닝과 정적 생성자의 실제 실행 순서, 소멸자(종료자)가 .NET 10에서 언제 실행되는지, IDisposable·using이 정답인 이유, 종료자 비용 35배 실측까지.
- C# 강좌 C# ArrayList·Hashtable·Queue·Stack: 레거시 컬렉션과 박싱 비용 실측 C# 비제네릭 컬렉션 ArrayList·Hashtable·Queue·Stack을 .NET 10에서 다시 실행. 실행마다 바뀌는 Hashtable 순서, List<int> 대비 박싱 비용 실측, 마이그레이션 방법까지.
- C# 강좌 C# 클래스 상속: override와 new의 차이, 생성자 함정까지 (.NET 10) C# 상속을 .NET 10에서 확인. override와 new(숨기기)의 실제 출력 차이, 경고 CS0108, sealed·abstract, 생성자에서 가상 메서드를 부를 때의 NullReferenceException까지.
- C# 강좌 C# 클래스와 객체: 주 생성자·required·개체 이니셜라이저 (.NET 10) C# 클래스와 객체의 기본을 .NET 10에서 다시 검증했습니다. 필드와 속성, C# 12 주 생성자의 함정(CS9124), C# 11 required, 개체 이니셜라이저와 객체 크기 실측까지.
- C# 강좌 C# 배열(Array): 2021년 예제를 .NET 10에서 다시 실행해 보니 C# 배열 선언·초기화·System.Array 메서드부터 컬렉션 식 [1, 2, 3], ^1·.. 범위, Span, 가변 배열과 2차원 배열의 순회 속도와 Array.Resize 비용 실측까지.
- C# 강좌 C# 접근 제한자 6가지와 file, this: 두 어셈블리로 직접 확인 C# 접근 제한자 6단계와 file(C# 11)을 두 어셈블리로 컴파일해 실제 오류 코드까지 확인했습니다. 기본 접근 수준, protected internal 오해, this의 생성자 체이닝·확장 메서드.
- C# 강좌 WinForms OK·취소 버튼: AcceptButton과 DialogResult WinForms 대화 상자의 OK·취소 버튼을 .NET 10에서 정리. AcceptButton·CancelButton, DialogResult 전달 순서, FormClosing의 e.Cancel로 잘못된 입력 막기.
- Win32 / MFC SetWindowText·GetWindowText: 버퍼 크기, 유니코드, 다른 프로세스 창 GetWindowTextLength로 버퍼 크기 정하기, 2021년 예제의 sizeof 버그, 다른 프로세스 컨트롤은 WM_GETTEXT로 읽는 이유, C# LibraryImport 선언까지.
- Win32 / MFC SendMessage와 PostMessage: 교착 상태, 타임아웃, WM_COPYDATA SendMessage가 멈추는 이유와 PostMessage와의 차이, SendMessageTimeout으로 멈춤 피하기, WM_COPYDATA로 프로세스 간 문자열 보내기, UIPI 차단까지 코드로 정리.
- Win32 / MFC GetKeyState와 GetAsyncKeyState: 반환 비트의 진짜 의미와 대안 GetAsyncKeyState·GetKeyState의 최상위·최하위 비트를 문서 기준으로 바로잡고, 메시지 큐 상태와 물리 상태의 차이, 폴링 대신 WM_KEYDOWN·Raw Input을 쓰는 이유를 정리했습니다.
- Win32 / MFC GetCurrentDirectory·GetModuleFileName: 작업 폴더와 실행 파일 경로 현재 디렉터리는 프로세스당 하나이고 실행 방법·파일 대화상자 때문에 바뀝니다. GetModuleFileName의 MAX_PATH 잘림을 막는 루프와 .NET 경로 API 실측까지.
- Win32 / MFC FindWindow로 창 핸들 찾기: 클래스 이름, 부분 일치, UIPI FindWindow·FindWindowEx로 다른 프로그램의 창 핸들을 찾는 법. 클래스 이름과 제목의 차이, EnumWindows 부분 일치, ANSI 빌드의 한글 제목 함정, UIPI, C# LibraryImport 판까지.
- Win32 / MFC CreateWindow·ShowWindow: 메시지 루프와 DPI까지 갖춘 Win32 창 CreateWindowEx·ShowWindow로 창을 띄우는 전체 코드와 메시지 루프, WM_DESTROY, DPI 인식, ANSI/유니코드 컴파일 오류, C# LibraryImport 판까지 빌드해 정리.
- 정규 표현식 정규 표현식 하위 표현식(그룹): 번호 규칙·이름 그룹·엔진 차이 하위 표현식(그룹)을 .NET·Python·PHP·Dart에서 실측. 수량자 묶기, 그룹 번호 매기는 규칙, 엔진별 이름 그룹 문법, 2021년 IP 패턴의 허점, .NET 밸런싱 그룹까지.
- 정규 표현식 정규 표현식 전후방탐색(lookaround): 5개 엔진에서 직접 돌려 보니 (?=), (?!), (?<=), (?<!) 전후방탐색을 Python·Perl·PHP·JavaScript(Dart)·.NET에서 같은 패턴으로 실측했다. 후방탐색 길이 제한, 탐욕 매칭 함정, 2021년 예제의 오류까지.
- 정규 표현식 정규식 역참조 \1: .NET·Python·PHP·JS에서 다시 검증 정규식 역참조(\1, \k<name>)를 .NET·Python·PHP·JS 계열 엔진에서 같은 입력으로 실행해 검증. 중복 단어·따옴표·태그 짝 찾기, 엔진별 문법 차이, 백트래킹 시간 실측까지.
- C# 강좌 C# 개발 환경 2026: .NET 10 SDK와 dotnet CLI로 시작하기 2026년판 C# 개발 환경 준비. .NET 10 SDK 설치, dotnet new console, 최상위 문, 편집기 선택(VS 2026·VS Code·Rider)을 실제 출력으로 확인합니다.
- C# 강좌 C# 변수·데이터 형식·상수: .NET 10에서 다시 확인한 범위와 함정 C# 변수 선언, 정수·실수 형식의 실제 범위, var, nullable, default, const와 readonly 차이를 .NET 10에서 재검증. 0.1+0.2 결과와 decimal·double 속도 실측 포함.
- C# 강좌 C# 연산자: 오버플로·?? ·음수 %·시프트 함정을 .NET 10에서 확인 C# 산술·관계·논리·비트 연산자를 .NET 10에서 재검증. 오버플로와 checked, ??·??=, 음수 나머지, 정수 나눗셈, 시프트 횟수 마스킹을 실제 출력과 오류 코드로 정리하고 checked 비용도 측정.
- C# 강좌 C# 조건문 if·switch: 패턴 매칭, CS8509, 속도 비교(.NET 10) C# if·else와 switch를 .NET 10에서 재검증. switch 식, 관계·논리·리스트 패턴, 경고 CS8509가 실행 시 의미하는 것, if 사슬과 switch의 속도 실측까지 정리.
- C# 강좌 WinForms 폼·앱을 하나만 띄우기: 정적 인스턴스와 Mutex WinForms에서 폼 하나만 표시하는 정적 인스턴스 패턴과, Mutex로 앱 중복 실행을 막는 방법을 .NET 10에서 검증. Global\·Local\ 범위, 기존 창 앞으로, macOS 실측까지.
- 정규 표현식 정규 표현식이란? 잘하는 일·못하는 일과 .NET 속도 실측 정규 표현식(Regex)이 잘하는 일과 못하는 일, HTML·JSON을 정규식으로 파싱하면 깨지는 실제 예, 백트래킹과 RE2 계열 엔진 차이, Contains와 Regex 속도 실측.
- 정규 표현식 정규식 문자열 찾기: 대소문자·터키어 I·Regex.Escape 평범한 글자로 된 정규식 검색, 대소문자 무시와 문화권 문제(터키어 I 실제 출력), RegexOptions 정리, 사용자 입력을 Regex.Escape로 이스케이프하는 법을 4개 엔진에서 검증.
- 정규 표현식 정규 표현식으로 같은 글자 연속 찾기: (.)\1+ 와 반복 줄이기 같은 글자가 연속되는 부분을 (.)\1+ 로 찾고 줄이는 방법을 .NET·Python·PHP·Dart에서 실측. a+·.+ 와의 차이, ㅋㅋㅋ·이모지 함정, 100만 자 처리 시간까지.
- 정규 표현식 정규 표현식 수량자: 탐욕·게으른·소유 수량자와 역추적 실측 {n}, {n,m}, *, +, ? 수량자를 .NET·Python·PHP·Dart에서 실측. 탐욕·게으른·소유 수량자 차이, a++ 지원 여부, (a+)+b 역추적 폭발 시간까지 정리했습니다.
- 정규 표현식 정규식 메타 문자 정리: ^ $ . 과 줄바꿈 함정, \d 차이 정규식 메타 문자 . ^ $ | ? * + ( ) [ ] { } \ 정리. Multiline·Singleline 실제 출력, $ 가 마지막 줄바꿈 앞에서 일치하는 함정, \d 가 아랍 숫자·전각 숫자에 일치하는지 엔진별 실측.
- 정규 표현식 정규 표현식 문자 집합 [ ]: 범위·부정·\p{L} 4개 엔진 검증 문자 집합 [abc]·범위·부정·이스케이프를 .NET·Python·PHP·Dart에서 실측. 한글 범위 [가-힣], \d·\w가 실제로 잡는 글자, \p{L}, .NET 집합 빼기까지 정리했습니다.
- 알고리즘·자료구조 트리(Tree) 순회: 재귀와 반복, 편향 트리에서 스택이 터지는 깊이 트리 용어와 전위·중위·후위·레벨 순회를 실제 실행 결과로 확인하고, 재귀 순회가 한쪽으로 치우친 편향 트리에서 몇 단계 깊이에 스택 오버플로가 나는지 clang과 ASan으로 실측했습니다. 반복 버전과도 비교합니다.
- 알고리즘·자료구조 스택(Stack) C++ 구현: 오버플로 검사, ASan 결과, 속도 실측 배열 스택과 연결 리스트 스택을 AddressSanitizer로 다시 돌려 찾은 오버플로·언더플로·메모리 누수와 수정 코드, 괄호 검사 예제, std::stack·C# Stack<T> 속도 비교.
- 알고리즘·자료구조 링크드 큐(Linked Queue) C++: 노드 누수, 빈 큐 dequeue, 속도 실측 연결 리스트 큐를 새니타이저와 macOS leaks로 다시 돌려 찾은 노드 5개 누수와 빈 큐 dequeue의 널 역참조, 고친 클래스, 링 버퍼·std::queue·C# Queue<T>와 속도 비교.
- 알고리즘·자료구조 링크드 리스트 C++ 구현: 2021년 코드의 버그 수정과 캐시 비용 실측 단일 연결 리스트를 C++로 구현하며 2021년 코드를 clang·ASan으로 재검증했다. 머리 삭제·없는 값 삭제 크래시와 소멸자 누락 누수를 고치고, vector·C# List<T> 대비 순회 속도를 실측했다.
- 알고리즘·자료구조 힙(Heap): sift-up/down, O(n) 힙 만들기 실측과 PriorityQueue 최소 힙의 삽입·삭제(sift-up/down)와 배열 표현, n번 삽입과 O(n) 힙 구축의 비교 횟수 실측, 힙 정렬 속도, C# PriorityQueue의 불안정성과 C++ priority_queue까지 정리했습니다.
- 알고리즘·자료구조 더블 링크드 리스트 C++: prev/next 갱신 순서 버그와 ASan 검증 이중 연결 리스트를 C++로 구현하며 2021년 코드를 ASan으로 재검증했다. 없는 값 삭제 크래시, prev/next 갱신 순서를 틀리면 생기는 자기 루프와 use-after-free, 노드 메모리 크기 실측까지.
- 알고리즘·자료구조 순환 큐(Circular Queue) C++: 가득 참/빔 구분과 % vs 비트마스크 2021년 순환 큐 코드의 빠진 isFull 검사로 가득 찬 큐가 빈 큐가 되는 버그, 한 칸 비우기와 개수 기반 해법, % 와 비트마스크 인덱스 속도 실측(849ms vs 214ms).
- 알고리즘·자료구조 환형 링크드 리스트 C++: 무한 루프 함정과 요세푸스 문제 원형 연결 리스트를 C++로 다시 구현했다. 2021년 코드의 컴파일 오류·누수·크래시, 순회 종료 조건과 무한 루프 함정, 요세푸스 문제 실행 결과와 점화식 대비 속도 실측, C# LinkedList 활용까지.
- 알고리즘·자료구조 정렬 알고리즘: 버블·삽입·퀵 정렬을 다시 돌려 보니 (C, 실측) 버블·삽입·퀵 정렬의 원리와 C 구현. 2021년 예제를 다시 실행하니 출력 버그가 있었고, 퀵 정렬은 정렬된 입력에서 스택 오버플로로 죽었다. 원인과 고친 코드, 속도 실측.
- 알고리즘·자료구조 순차 탐색 실측: 보초법·SIMD·이진 탐색·HashSet 비교 순차 탐색을 다시 검증했다. 2021년 예제는 C로 컴파일되지 않았고 포인터 주소도 잘려 나왔다. .NET 10에서 for문·Span.IndexOf·이진 탐색·HashSet을 N=100~100만으로 실측.
- 알고리즘·자료구조 탐욕 알고리즘: 거스름돈이 틀리는 조건과 활동 선택 증명 탐욕 알고리즘이 맞는 경우와 틀리는 경우를 DP와 1~2,000 전 금액으로 비교했다. 동전 {4,3,1}은 499개 금액에서 틀렸다. 2021년 예제의 버그 수정과 활동 선택 문제 증명, 판단 기준까지.
- 알고리즘·자료구조 깊이 우선 탐색(DFS): 재귀 한계 실측, 사이클 검출, 위상 정렬 재귀 DFS와 명시적 스택 DFS의 방문 순서 차이, 일직선 그래프에서 C++·C# 재귀가 스택 오버플로로 죽는 N 실측, 3색 사이클 검출과 위상 정렬까지 실제 실행 출력과 함께 정리했다.
- 알고리즘·자료구조 이진 탐색 트리(BST): 2021년 C 코드의 버그와 정렬 입력의 함정 이진 탐색 트리의 탐색·삽입·삭제(자식 둘인 노드 포함)를 clang과 ASan으로 다시 검증해 2021년 코드의 버그를 고쳤고, 정렬된 입력으로 리스트가 된 트리의 검색 시간을 실측했습니다.
- 알고리즘·자료구조 이진 탐색(Binary Search): 2021년 코드를 다시 돌려 보니 정렬된 배열을 반씩 줄여 가며 찾는 이진 탐색. 2021년 예제를 지금 컴파일하니 에러가 났고, 비교 횟수 설명도 1회씩 틀렸다. 실측으로 고친 보강판.
- 알고리즘·자료구조 너비 우선 탐색(BFS): 최단 경로 복원과 방문 표시 버그 실측 큐로 한 겹씩 넓혀 가는 BFS를 C++로 다시 구현했다. 미로 최단 경로 복원, 꺼낼 때 방문 표시하면 생기는 18만 회 중복 삽입, N=10,000에서 인접 리스트와 행렬 비교까지 실측.
- C# 강좌 WinForms 모달·모달리스 폼: ShowDialog와 Show (.NET 10) WinForms 서브 폼을 ShowDialog(모달)와 Show(모달리스)로 여는 차이를 .NET 10에서 정리. DialogResult, 소유자, Dispose, 고DPI 기본값, ShowDialogAsync.
일치하는 글이 없습니다