Lobsters · 최신 글

전체 출처

Wild 0.11.0 공개: Wasm 기본 지원과 링커 스크립트 확장

Lobsters

Rust로 작성한 링커 Wild 0.11.0이 Wasm 기능을 기본 활성화하고 GNU 링커 스크립트와 Mach-O 지원을 넓혔습니다. Linux 커널 모듈 링크가 가능해졌으며, 기본 스레드 수를 32개로 제한해 Linux 파일시스템의 inode 뮤텍스 경합을 줄입니다.

소프트웨어가 느린 이유는 느린 언어가 아니라 나쁜 설계다

Lobsters

언어를 C나 Rust로 바꿔도 대부분의 프로그램은 I/O 대기나 이미 최적화된 라이브러리 때문에 크게 빨라지지 않는다고 주장합니다. 프로파일링으로 병목을 찾고 쿼리 수를 줄이거나 작업을 비동기화하는 등 설계를 바꾸는 편이 효과적이라는 조언입니다.

JIT 컴파일러를 단계적으로 만들기

Lobsters

이 논문은 작은 Scheme 계열 언어를 확장하며 AOT 컴파일과 JIT 컴파일을 함께 구현하는 교육 과정을 제안합니다. Rust와 x86-64를 사용해 실행 메모리 버퍼, REPL의 지속 상태, 첫 호출 시점의 타입 특수화를 다루며 컴파일러 수업 두 차례에 적용했습니다.

UB는 괜찮다고 생각하는 사람들에게

Lobsters

C++의 정의되지 않은 동작(Undefined Behavior, UB)은 단순히 실행 결과를 예측하기 어렵다는 뜻이 아닙니다. GCC와 Clang의 어셈블리 예제로 UB가 함수의 명령어를 없애거나 예상 밖의 메모리 쓰기와 충돌로 이어질 수 있음을 보여주고, 댓글에서는 그 사례의 범위와 실용적인 대응을 두고 논쟁합니다.

C++26 표결 완료, 부결됐습니다

Lobsters

C++26 국제 표준안이 회원국 표결에서 부결됐습니다. 찬성률은 정회원 투표 기준에 못 미쳤고 반대표 비율은 허용치를 넘었습니다. Lobsters 댓글에서는 계약(contracts) 기능을 둘러싼 이견이 원인으로 거론되지만, 이후 절차는 불확실하다는 의견이 나옵니다.

로그에 무엇이 담기는지 알아두세요

Lobsters

버그 보고서에 첨부하는 로그에는 화면에 보인 문구, 사적인 메시지, URL의 인증 토큰 등 민감한 정보가 들어갈 수 있습니다. 글쓴이는 로그 전송을 기본적으로 끄고 내용을 명확히 알리며, 꼭 필요한 정보만 수집하라고 개발자에게 요구합니다.

증분 계산 그래프

Lobsters

Yabu의 인터랙티브 타입 검사와 컴파일을 빠르게 하려고 계산을 의존성 그래프로 묶고 결과를 메모이제이션하는 방법을 설명합니다. 입력이 바뀌면 의존 경로를 red-green 방식으로 검증해 실제 값이 달라진 계산만 다시 실행합니다.

인도 정부 사이트 156곳, 폐기된 eMudhra 인증서 계속 사용

Lobsters

eMudhra 인증서 폐기 뒤에도 인도 정부 사이트 156곳이 폐기된 TLS 인증서를 계속 제공했다고 글쓴이가 조사했습니다. 브라우저마다 폐기 확인 방식이 달라 접속 차단 여부도 다르며, 별도로 키 노출 사고의 영향으로 emSign G3 루트 인증서 신뢰가 중단돼 약 3만 건의 인증서를 교체해야 합니다.

“Rust보다 빠르다”는 주장 반박: Tov의 악의적 벤치마크

Lobsters

Tov의 벤치마크가 Rust보다 빠르다고 주장하지만, 세 사례에서 비교 코드와 선택한 자료구조가 서로 달랐다고 비판합니다. 개선한 Rust 코드에서는 Tov와 비슷하거나 더 나은 성능이 나왔지만, 댓글은 동적 디스패치와 해시 함수의 선택에 따라 비교의 의미가 달라진다고 지적합니다.

macOS의 gcc 바이너리 들여다보기

Lobsters

macOS의 /usr/bin/gcc는 별칭이 아니라 실행 파일이며, 선택된 개발자 도구 경로에서 clang을 찾아 실행하는 래퍼입니다. 글은 바이너리 분석으로 이 호출 과정을 추적하고, GCC와 혼동을 부르는 이름과 도구 경로 선택에 관한 사용자 경험을 짚습니다.

UUIDv7은 생각만큼 많은 속성을 보장하지 않습니다

Lobsters

UUIDv7은 생성 시각을 담고 대체로 정렬되지만, 정확한 시각이나 엄격한 단조 증가를 보장하지 않습니다. 시계가 역행할 때 Python 구현의 타임스탬프가 실제 시각보다 계속 앞서가는 사례를 보이고, 구현별 보장과 전제 조건을 확인하라고 제안합니다.

Header Accordions: HTTP/3 서버를 겨냥한 QPACK 증폭 공격

Lobsters

QPACK 헤더 압축을 처리하는 HTTP/3 구현 10종 가운데 7종에서 작은 요청이 서버의 메모리 고갈이나 CPU 고정으로 이어지는 취약점이 발견됐습니다. 공통 원인은 압축된 크기만 제한하거나 디코딩 후에야 크기를 검사하는 데 있으며, 글은 필드별 누적 크기를 디코딩 과정에서 제한해야 한다고 설명합니다.

Garmin, Connect 개발자 API 프로그램 개편하고 다시 개방

Lobsters

Garmin이 7개월간 신규 신청을 막았던 Connect API 프로그램을 개인, 스타트업, 엔터프라이즈 3단계로 개편했습니다. 개인과 스타트업은 무료로 활동·건강 데이터와 FIT 파일에 접근하며, 1,000명을 넘는 엔터프라이즈는 협의된 월간 활성 사용자 요금을 내고 2027년 4월부터 비용을 부담합니다.

DuckDB 2.0.0 LTS “Cinnamon Teal” 출시

Lobsters

DuckDB 2.0.0 LTS는 비동기 I/O, VARIANT, 트리거, 확장 가능한 SQL 파서와 에이전트 모드를 추가한 기능 중심 릴리스입니다. 지원 기간은 2027년 10월까지이며, 데이터베이스 파일의 하위 버전 호환성과 운영 전 테스트 등 마이그레이션 조건도 함께 안내합니다.

Node.js, 2026년 10월 21일 보안 릴리스

Lobsters

Node.js 26.x, 24.x, 22.x에서 발견된 취약점을 해결하는 보안 업데이트가 배포됩니다. 최고 심각도는 세 릴리스 라인 모두 HIGH이며, Brotli 디코더의 범위를 벗어난 쓰기 취약점은 원격 코드 실행으로 이어질 수 있습니다.

Firefox 보안 패치 테스트, 최소 일주일간 비공개로 유지

Lobsters

Firefox 보안팀이 sec-high와 sec-moderate 취약점 수정 테스트를 수정 패치와 분리하고, 수정 사항이 포함된 버전 출시 후 최소 일주일 동안 공개하지 말라고 요청했습니다. 보안 승인 절차는 바뀌지 않으며, 공지의 댓글은 AI를 이용한 자동 취약점 악용을 배경으로 추정합니다.

Google의 Rust 스타일 가이드

Lobsters

Google의 Rust 스타일 가이드는 포맷뿐 아니라 API 설계와 코드 구조까지 다룹니다. 대규모 코드 변경과 장기적인 유지보수를 고려해 일관된 관례를 제시하며, 라이브러리 코드와 애플리케이션 코드에 서로 다른 수준의 권고를 적용합니다.

ZLS 0.17.0 공개

Lobsters

Zig 언어 서버 ZLS 0.17.0이 공개됐습니다. 심볼 이름 변경 때 별칭을 따라가지 않도록 동작을 조정했으며, Zig 0.17 개발 과정에서 깨진 빌드 시스템 연동 기능 일부는 아직 회귀 문제를 겪고 있습니다.

Firefox Local Mode: 로컬 파일을 HTTPS 출처로 불러오기

Lobsters

Firefox 153의 Local Mode는 로컬 폴더를 사용자 지정 HTTPS 출처에 연결해 웹 페이지를 시험하는 기능입니다. DevTools를 열어 둔 동안에만 작동하며, Secure Context에서만 허용되는 Web API를 로컬 파일로 시험할 수 있습니다.