오늘 GeekNews는 한쪽에서는 Linux 커널의 오래된 API 정리와 I/O 성능 튜닝처럼 아주 실무적인 이야기가, 다른 한쪽에서는 VPN/연령 게이트와 핑거프린팅 같은 웹 보안·프라이버시 이슈가 눈에 띄었습니다. 여기에 Codex 확장, Emacs 회귀, iOS 핑거프린팅 앱처럼 개발자 도구와 생산성에 직접 연결되는 소식들도 많았습니다. 특히 epoll과 io_uring 비교, 그리고 Linux의 strncpy 제거는 시스템 개발자라면 꼭 짚고 넘어갈 만한 내용입니다.

Linux의 epoll과 io_uring 비교

준비 상태 기반 I/O와 완료 기반 I/O의 차이를 실제 리버스 프록시 사례로 보여줍니다.

핵심 내용
TinyGate 리버스 프록시는 처음엔 워커 구조를 쓰다가 epoll로 바꿔 성능을 끌어올렸고, 이후 한계를 넘기 위해 io_uring으로 다시 설계했다고 합니다. epoll은 “읽을 수 있는 상태”를 알려주는 모델이라 이후의 read()/write() 호출이 여전히 필요하지만, io_uring은 완료 통지 중심이라 더 낮은 오버헤드와 좋은 확장성을 기대할 수 있습니다.
실서비스에서 I/O 모델을 바꾸는 일은 단순한 최적화가 아니라 아키텍처 재설계에 가깝습니다. 고성능 네트워크 서버, 프록시, 게이트웨이를 다루는 개발자라면 어떤 지점에서 epoll이 한계가 되고 io_uring이 답이 되는지 감을 잡는 데 도움이 됩니다.


Linux, 6년·360개 이상 패치 끝에 strncpy API 제거

오래된 문자열 복사 API가 커널에서 마침내 퇴장했습니다.

핵심 내용
Linux 7.2에서 커널 내부의 strncpy 사용이 사라지며, 오랫동안 “언젠가 제거할” 대상이 실제로 정리되었습니다. strncpy()는 길이 제한 때문에 안전해 보이지만, NUL 종료가 직관적이지 않아 오히려 버그의 원인이 되기 쉬웠고, 이를 걷어내는 데 6년과 360개가 넘는 패치가 필요했습니다.
이 뉴스는 단순한 API 변경이 아니라, 안전하지 않거나 오해를 부르는 관용구를 제거하는 장기적인 정리 작업의 사례입니다. 커널처럼 보수적인 코드베이스에서도 레거시를 치우는 데 이렇게 많은 시간이 든다는 점은, 우리 코드에서도 “익숙함”보다 “명확함”이 중요하다는 걸 보여줍니다.


영국, ‘연령 게이트’ 검토로 가구 내 VPN 제한 논의 확대

연령 인증이 우회 수단 차단으로 번지며 프라이버시 논쟁이 커지고 있습니다.

핵심 내용
영국은 16세 미만 소셜미디어 금지와 맞물려, VPN을 통해 연령 제한을 우회하는 문제를 어떻게 막을지 검토하고 있습니다. 여기서 핵심은 단순한 “청소년 보호”가 아니라, 연령 인증 체계가 가구 단위 또는 기기 단위의 광범위한 통제로 확대될 수 있다는 점입니다.
개발자 관점에서는 인증이 늘어날수록 데이터 수집 범위와 우회 방지 로직이 복잡해지고, 그만큼 보안·프라이버시 리스크도 커진다는 점을 읽어야 합니다. 특히 플랫폼, 인증, 네트워크 정책을 다루는 팀이라면 규제 대응이 기술 아키텍처에 어떤 흔적을 남기는지 주의할 필요가 있습니다.


Loupe - 네이티브 iOS 앱이 볼 수 있는 기기 핑거프린팅 표면을 보여주는 iOS 앱

내 기기가 앱에 얼마나 많이 드러나는지 직접 확인하게 해주는 도구입니다.

핵심 내용
Loupe는 공개 iOS API에서 읽을 수 있는 값을 모아, 앱이 실제로 어떤 기기 정보를 접할 수 있는지 보여주는 앱입니다. 이름, 이메일 같은 명시적 식별자 없이도 여러 작은 값이 결합되면 사용자 재식별이 가능하다는 점을 시각적으로 드러냅니다.
모바일 앱 개발자에게 이건 단순한 호기심이 아니라, 수집 가능한 데이터와 수집해선 안 되는 데이터의 경계가 얼마나 얇은지 상기시켜 줍니다. 프라이버시 설계, SDK 통합, 광고/분석 도구 검토 시 이런 관점이 점점 더 중요해집니다.


opencodex — Codex에서 아무 LLM이나 쓸 수 있는 로컬 프록시

코딩 에이전트의 모델 종속성을 풀어주는 로컬 번역기입니다.

핵심 내용
opencodex는 Codex와 LLM 프로바이더 사이에서 프로토콜을 실시간 변환해, OpenAI 모델뿐 아니라 다른 모델도 사용할 수 있게 해주는 로컬 프록시입니다. 스트리밍, 도구 호출, 추론 토큰, 이미지 같은 요소까지 양방향으로 다루는 점이 핵심입니다.
이런 도구는 AI 개발 환경에서 “모델”보다 “워크플로우”가 더 중요한 시대가 왔음을 보여줍니다. 특정 벤더에 종속되지 않고, 이미 익숙한 CLI/에이전트 인터페이스를 유지하면서 모델만 유연하게 바꾸고 싶은 팀에 특히 유용합니다.


Show HN: TownSquare, 웹사이트를 위한 작은 존재감 레이어

페이지에 누가 있는지 보여주는 아주 얇은 실시간 대화 레이어입니다.

핵심 내용
TownSquare는 콘텐츠 중심 웹사이트에 “현재 접속 중인 사람들의 존재감”을 더해, 같은 페이지에 있는 사용자끼리 짧게 대화할 수 있게 만드는 도구입니다. 계정이나 복잡한 추천 알고리즘 없이, 지금 그 자리에 있는 사람들만 드러내는 즉시성에 초점을 맞춥니다.
개발자 입장에서는 커뮤니티 기능을 거대한 소셜 플랫폼처럼 만들지 않아도 된다는 점이 흥미롭습니다. 실시간 UI, WebSocket, 경량 상태 공유 같은 기술을 이용해 “읽기만 하던 웹”에 작은 상호작용 층을 얹을 수 있다는 가능성을 보여줍니다.


Show GN: date-light — 3.11KB TypeScript 날짜 유틸리티 라이브러리

무거운 날짜 라이브러리 대신, 필요한 함수만 가볍게 쓰는 선택지입니다.

핵심 내용
date-light는 locale, timezone, duration, plugin 같은 큰 기능이 필요 없을 때 쓸 수 있는 작은 날짜 유틸리티입니다. 런타임 의존성 없이 39개 함수만 제공하고, TypeScript 타입과 ESM/CJS 엔트리포인트까지 갖춘 점이 특징입니다.
프론트엔드에서는 날짜 처리 라이브러리가 생각보다 번들 크기와 유지보수 비용을 크게 만들 수 있습니다. 이런 초경량 대안은 “기능 과잉”을 줄이고, 실제 필요한 범위만 깔끔하게 가져가려는 팀에 실용적인 힌트가 됩니다.


Show GN: 모두의 사과문

사고가 나기 전, 사과문을 먼저 써보는 재미있는 보안 실험입니다.

핵심 내용
보안 사고가 빈번한 현실을 반영해, 사고 발생 전에 미리 사과문을 만들어보는 서비스입니다. 유머러스한 접근이지만, 실제로는 보안 커뮤니케이션과 사고 대응 시나리오를 사전에 준비하는 습관을 떠올리게 합니다.
개발팀이나 스타트업에서는 장애 대응보다 공지 작성이 더 늦어지는 경우가 많습니다. 이런 도구는 가볍게 웃고 넘길 수 있으면서도, “사고 대응은 기술만이 아니라 커뮤니케이션”이라는 점을 다시 생각하게 만듭니다.


파비콘에 웹사이트를 저장한 실험

favicon을 초소형 저장소처럼 다루는, 아주 괴상하고 매력적인 웹 실험입니다.

핵심 내용
개발자가 HTML 데이터를 이미지 RGB 채널에 넣어 파비콘에 저장하는 실험을 했습니다. 바이트를 픽셀에 매핑해 초소형 저장 공간처럼 활용하는 방식인데, 웹이 가진 제약을 역으로 창의적인 저장 매체로 바꿔버린 셈입니다.
이런 실험은 실무에서 바로 쓰기보다는, 브라우저·이미지 포맷·인코딩 방식에 대한 이해를 넓혀줍니다. 프론트엔드와 웹 플랫폼을 깊게 다루는 사람이라면 “어디까지 가능하나”를 탐색하는 재미를 느낄 수 있습니다.


아직도 Emacs를 쓰는 사람이 있나요?

에디터 취향은 도구 문제가 아니라 작업 환경의 문제라는 걸 보여줍니다.

핵심 내용
작성자는 VSCode와 IntelliJ로 옮겨갔다가, 원격 Linux VM 환경에서 다시 Doom Emacs로 돌아오게 된 과정을 공유합니다. 현대적인 UI와 편리한 설정에도 불구하고, 원격 개발·키보드 중심 워크플로우·LSP 통합에서는 Emacs가 여전히 강점이 있다는 이야기입니다.
이 글은 에디터 논쟁보다 “내 작업 환경에 무엇이 잘 맞는가”를 묻습니다. 특히 원격 개발, 서버 접속, 텍스트 중심 작업이 많은 개발자라면 도구 선택이 생산성과 얼마나 밀접한지 공감할 수 있습니다.


Windows 11 새 Media Player, RAM 3.5배 더 쓰고 인기 동영상 코덱은 유료화

기본 앱의 교체가 성능과 라이선스 부담으로 이어지는 사례입니다.

핵심 내용
Windows 11의 새 Media Player가 기존 Windows Media Player보다 유휴 RAM을 훨씬 더 많이 사용한다는 테스트 결과가 나왔습니다. 여기에 인기 코덱의 유료화 이슈까지 겹치면서, 단순한 UI 업그레이드로 보기 어려운 논란이 되고 있습니다.
개발자에게 중요한 건 “기본값의 품질”이 사용자 경험을 크게 좌우한다는 점입니다. 앱 크기, 메모리 사용량, 코덱 라이선스 같은 요소는 결국 플랫폼 신뢰도로 이어지기 때문에, 클라이언트 앱을 만드는 팀도 항상 예민하게 봐야 합니다.


아이들을 생각하라: 모든 인터넷 트래픽에 Real ID를 강제하는 방법(2023)

성인 인증이 인터넷 전체의 실명 추적으로 확장될 수 있다는 경고입니다.

핵심 내용
이 글은 성인 인증을 명분으로 한 신분증·문서 업로드가 중앙화된 데이터베이스로 이어질 수 있고, 결국 인터넷 전반의 실명 추적 장치가 될 수 있다고 경고합니다. 저마찰 대안으로 ICRA PICS, RTA Header 같은 방식도 언급되지만, 현실에서는 더 강한 인증 수단이 채택되기 쉽다는 지점이 문제입니다.
정책과 기술의 결합은 언제나 의도와 다른 방향으로 확장될 수 있습니다. 인증 시스템, 신원 확인, 연령 게이트를 설계하는 개발자라면 개인정보 최소 수집과 오남용 가능성까지 함께 고려해야 합니다.


SMPTE, 표준 라이브러리 무료 공개

미디어 표준 문서 접근성이 크게 좋아졌습니다.

핵심 내용
미디어 기술 표준 기관인 SMPTE가 전체 Standards 카탈로그를 무료로 공개했습니다. published standards뿐 아니라 recommended practices, engineering guidelines, disclosure documents까지 접근 범위가 넓어졌습니다.
표준 문서 접근성은 실제 구현자에게 큰 차이를 만듭니다. 비디오, 방송, 스트리밍, 코덱, 미디어 파이프라인을 다루는 개발자에게는 문턱이 낮아진 만큼 구현 검증과 상호운용성 확인이 훨씬 수월해질 수 있습니다.


도서관에서 재봉틀을 빌리는 핀란드 모델

도서관이 정보 공간을 넘어 지역 커뮤니티 인프라로 확장되고 있습니다.

핵심 내용
핀란드 공공도서관은 책 대출을 넘어 팟캐스트 스튜디오, 3D 프린팅, 스포츠 장비, 재봉틀까지 제공하는 커뮤니티 허브로 진화하고 있습니다. 인구 규모 대비 촘촘한 도서관 네트워크가 이런 확장을 가능하게 한 배경입니다.
이 사례는 디지털 제품에도 시사점이 큽니다. 사용자에게 단일 기능만 제공하는 대신, 주변 활동까지 흡수하는 플랫폼이 어떻게 충성도를 만들고 공공성을 높이는지 보여주기 때문입니다.


느린 호흡은 뇌 기능과 위험 행동을 조절함

호흡 패턴이 판단과 선택에까지 영향을 준다는 흥미로운 연구입니다.

핵심 내용
의도적으로 긴 날숨을 포함한 호흡이 위험 선택 과제에서 행동을 바꾸고, 보상 정보에 대한 민감도를 높였다는 연구입니다. fMRI와 생리 측정을 통해 호흡이 단순한 이완 수단이 아니라 인지 과정에 관여할 수 있음을 보여줍니다.
개발자 실무와 직접적인 관련은 적어 보이지만, 장시간 집중 작업과 스트레스 관리 측면에서는 충분히 참고할 만합니다. 고강도 업무 환경에서 작은 생리적 리듬 조절이 판단 품질에 영향을 줄 수 있다는 점이 흥미롭습니다.


Alice는 기다림을 싫어합니다

평균이 좋아도 사용자는 “기다림” 자체를 더 길게 느낍니다.

핵심 내용
서비스의 평균 응답 시간이나 MTTR이 좋아 보여도, 사용자는 긴 요청과 장애를 사건 단위로 체감하기 때문에 실제 경험은 전혀 다를 수 있다는 이야기입니다. 운영 지표는 통계로 보이지만, 사용자에게는 초와 분 단위의 기다림이 곧 제품 품질입니다.
이 글은 SLO/SLI를 설계할 때 평균만 보지 말고 꼬리 지연과 체감 시간을 함께 봐야 한다는 점을 상기시킵니다. 실서비스 운영, 장애 대응, UX 성능 최적화 모두에 직결되는 중요한 관점입니다.


F-15 Strike Eagle II 리버싱 프로젝트, DOS 테스트 파일럿 모집

고전 게임을 소스 코드 수준으로 되살리는 장기 리버스 엔지니어링 프로젝트입니다.

핵심 내용
1989년 게임 F-15 Strike Eagle II의 바이너리를 리버스 엔지니어링해 C 소스로 재구성하는 프로젝트가 테스트 단계에 들어갔습니다. 실행 파일의 코드와 데이터를 대부분 C로 옮겼고, 실제 플레이 테스트로 안정성을 확인하려는 상황입니다.
이런 작업은 단순한 복원이 아니라, 오래된 시스템과 게임 엔진을 이해하는 살아 있는 사례입니다. 레거시 바이너리 분석, 에뮬레이션, 아카이빙에 관심 있는 개발자라면 기술적 난이도와 보존 가치 모두에서 의미 있는 소식입니다.


화이트/컬러가 아니라 “보여줄 수 없는 색”의 세계

화면의 색역 바깥에 있는 현실을 다시 생각하게 합니다.

핵심 내용
실제 세계에는 sRGB나 Display-P3로는 표현하기 어려운 색이 있으며, 특히 일부 cyan 계열은 일반 디지털 화면에서 재현이 매우 어렵습니다. 화면은 실제 스펙트럼을 그대로 복사하는 게 아니라 인간 시각의 일부를 흉내 내는 시스템이기 때문입니다.
UI, 이미지 처리, 색 보정, 디자인 시스템을 다루는 개발자라면 색공간과 색역의 한계를 이해하는 게 중요합니다. “화면에 보이는 것”이 “현실의 색”과 다르다는 사실은 렌더링과 출력 파이프라인의 한계를 정확히 짚게 해줍니다.


기타 주목할 소식

  • Show GN: 다시 풀기 v2 - 틀린 문제 비슷한 유형 문제 출제 생성기 — 오답 복습을 자동화하는 교육용 AI 도구
  • Show GN: opencodex — Codex에서 모델 선택의 자유를 넓히는 로컬 프록시
  • Show GN: 모두의 사과문 — 보안 사고 대응 문구를 미리 준비하는 유쾌한 실험

오늘의 한 줄 정리: 성능과 보안, 그리고 개발자 도구의 선택권을 둘러싼 “기본값” 논쟁이 특히 강했던 하루였습니다.
매일 아침 GeekNews 소식을 릿치 블로그에서 만나보세요.