• development • go • security • Hun Jang
Go 1.27에서 정식(GA) 표준 라이브러리로 채택된 encoding/json/v2와 encoding/json/jsontext의 구문·의미 분리 아키텍처를 정리한다. 중복 키·UTF-8·대소문자·nil 슬라이스 등 v1과의 6가지 기본 동작 차이와 점진적 마이그레이션 방법을 살펴본다.
• development • go • security • Hun Jang
Explore Go 1.27's newly stable encoding/json/v2 and encoding/json/jsontext packages, how separating syntax from semantics enables up to 10x faster unmarshaling, and the 6 default behavior changes from v1.
• go • development • software • Hun Jang
Go 1.24에서 10년 만에 전면 개편된 런타임 맵 구현체 'swissmap'의 아키텍처를 분석한다. 버킷 오버플로우 연결 리스트와 포인터 체이싱의 한계를 짚고, H1/H2 7비트 핑거프린트 분할, 64비트 SWAR(SIMD) 8슬롯 제어 바이트 병렬 비교, 오픈 어드레싱 탐사 시퀀스, Go GC와의 조화 및 로컬 Python 검증 시뮬레이터를 정리한다.
• go • development • software • Hun Jang
Go 1.24+의 testing/synctest 패키지와 격리된 동시성 버블(Bubble) 아키텍처를 해부한다. 실제 벽시계(Wall-Clock) 의존 time.Sleep의 Flaky 테스트 문제, durably blocked 고루틴 상태 감지와 0ms 순간 시간 가속, synctest.Wait() 결정론적 동기화, 6개 검증 시뮬레이터를 정리한다.
• go • development • Hun Jang
긴 줄에서 Scanner.Scan이 멈추는 이유를 재현한다. Err 검사, Buffer 설정과 별도 바이트 길이 제한을 9개 사례로 검증하고 Reader 전환·재시도의 경계를 정리한다.
• go • development • Hun Jang
Reproduce Scanner failures on long lines. Test Buffer configuration, Err checks, and application byte limits across nine scenarios, with cautions for retries and bufio.Reader alternatives.
• go • development • Hun Jang
Go encoding/json의 float64 변환으로 큰 정수 ID가 달라지는 문제를 재현한다. UseNumber·int64 비교와 12개 입력 검증 사례로 정확한 파싱 계약을 정리한다.
• go • development • Hun Jang
Reproduce rounded IDs in Go JSON decoding. Compare UseNumber with typed int64 fields and validate 12 boundary cases, including overflow, missing IDs, and trailing data.
• go • software • development • security • Hun Jang
Go의 eMudhra 인증서 보안 대응을 바탕으로 도구 버전과 배포 바이너리를 구분하고, go version -m·govulncheck로 재빌드와 배포를 확인하는 방법을 정리한다.
• go • linux • development • Hun Jang
Nagle과 delayed ACK의 차이, Go의 기본값, 애플리케이션 버퍼를 구분하고 Linux 소켓 옵션을 직접 확인한다.
• go • development • tts • Hun Jang
Stop unnecessary TTS work after an HTTP client disconnects. Learn how to propagate r.Context, apply context.WithTimeout, verify cancellation, and handle the boundary to a real synthesis engine.
• go • development • tts • Hun Jang
Go HTTP 서버에서 클라이언트가 연결을 끊어도 TTS 작업이 계속되는 이유를 정리한다. r.Context와 context.WithTimeout을 작업 함수까지 전달하는 실행 예제, 취소 검증 방법, 실제 엔진 연동 시 주의점을 설명한다.
• go • web • development • software • Hun Jang
CLI 명령을 PTY로 감싸 WebSocket으로 브라우저에 실시간 스트리밍하는 경량 서버. Go 단일 바이너리, 멀티탭, 분할 패널, 에이전트 모드, 파일 업로드, 모바일 지원까지.
• development • go • Hun Jang
Golang에서 C 언어의 fgetc(stdin)처럼 키 입력 즉시 문자를 읽는 방법을 소개합니다. term.MakeRaw를 이용한 즉각적인 입력 처리로 콘솔 애플리케이션과 게임 개발에 활용해보세요.
• go • deep research • Hun Jang
Go 언어의 성능 향상과 생태계 발전을 중심으로, 다양한 산업 분야에서의 영향력과 경쟁 언어(Rust, Java, Python 등)와의 비교 분석
• development • go • Hun Jang
Go 언어를 다루는 개발자들을 위한 깊이 있는 팁을 공유합니다. 특정 패키지의 사용법, 코딩 노하우, 실수할 수 있는 부분들에 대해서 간결하게 정리합니다.
• development • go • Hun Jang
Go 언어를 다루는 개발자들을 위한 깊이 있는 팁을 공유합니다. 특정 패키지의 사용법, 코딩 노하우, 실수할 수 있는 부분들에 대해서 간결하게 정리합니다.
• development • go • Hun Jang
Go 언어를 다루는 개발자들을 위한 깊이 있는 팁을 공유합니다. 특정 패키지의 사용법, 코딩 노하우, 실수할 수 있는 부분들에 대해서 간결하게 정리합니다.
• go • development • Hun Jang
Golang으로 개발한 패키지를 binary로 배포할 때 Build 옵션 설정