read: fail

Conda의 YAML 주석을 악용하는 방법: 실제로는 Python 표현식

Conda의 meta.yaml 파일에서 Python 표현식을 평가하는 '셀렉터'를 사용하여 임의 코드 실행이 가능함을 발견했습니다. 이 기능은 보안 위험을 수반하지만, 동시에 레시피 개발자가 빌드 로직을 비결정적으로 만들고 복잡한 로직과 I/O를 포함할 수 있는 유연성을 제공합니다.

네, 루비는 빠르지만...

루비의 YJIT는 성능 향상을 제공하지만, 크리스탈 코드는 최적화된 루비 코드보다 훨씬 더 뛰어난 성능을 보여줍니다. 크리스탈은 LLVM 백엔드 덕분에 복잡한 최적화 없이도 빠른 속도를 자랑합니다. 루비/크리스탈 통합 사용이 성능과 타입 안정성 면에서 큰 이점을 제공한다는 점을 강조합니다.

고도로 기밀 데이터를 위한 에어갭 넥스트클라우드

5월 22일에 열리는 웨비나에서는 고도로 기밀 데이터를 보호하기 위한 에어갭 넥스트클라우드 환경 구축에 대해 배울 수 있습니다. 다양한 위협 프로필에 맞는 네 가지 에어갭 설정을 발견하고, 견고한 기반을 위한 설정 방법과 유지 관리 최선의 방법을 이해하세요.

어도비 포토샵 소스 코드의 역사

어도비 포토샵 1.0.1 버전의 소스 코드가 컴퓨터 역사 박물관에 의해 공개되었습니다. 이 코드는 1980년대 후반 토마스와 존 놀 형제에 의해 개발되었으며, 애플 매킨토시용 파스칼로 작성되었습니다. 초기 포토샵의 인터페이스와 도구들을 볼 수 있는 스크린샷도 포함되어 있습니다.

AI 생성 콘텐츠의 새로운 이름, 'Slop'

AI 생성 콘텐츠 중 원치 않는 것들을 'slop'이라고 부르는 새로운 용어가 등장했습니다. 이는 스팸 메일에 대한 용어인 'spam'과 유사합니다. 예를 들어, 마이크로소프트가 오타와 푸드뱅크를 여행 가이드에서 관광지로 잘못 소개한 것이 'slop'의 전형적인 예입니다. 이러한 콘텐츠를 공유하는 것은 무례한 행위로 간주됩니다.

Shepherd와 Goblins를 통한 분산 시스템 데몬, NLnet 지원으로 진행

Spritely Goblins의 큰 약속은 네트워킹을 더 쉽고 안전하게 만드는 것입니다. 이 문서는 Guix를 객체-능력 운영 체제로 만들기 위한 첫 단계로 GNU Shepherd 시스템 레이어를 Guile Goblins로 포팅하는 흥미로운 프로젝트를 발표합니다. 이 프로젝트는 NLnet 재단의 지원을 받아 진행됩니다.

TCP_NODELAY가 항상 문제다

마크 브루커는 AWS에서 데이터베이스와 서버리스 기술을 다루는 엔지니어입니다. 분산 시스템에서 지연 문제를 디버깅할 때, 그는 TCP_NODELAY 활성화 여부를 가장 먼저 확인합니다. 이는 Nagle의 알고리즘을 비활성화시켜, 지연 시간에 민감한 애플리케이션의 성능을 향상시킬 수 있습니다.

Dafny 고급 사용자: 타입 파라미터 모드 - 변이성과 카디널리티 보존

이 문서는 Dafny 프로그래밍 언어에서 타입 파라미터의 변이성(variance)카디널리티 보존(cardinality preservation) 모드를 설명합니다. 변이성은 타입이 있는 언어에서 흔히 볼 수 있는 개념이며, 카디널리티 보존은 검증 맥락에서 발생하는 문제입니다. 또한, Dafny의 내장 타입 생성자에 대한 설명도 포함되어 있어, 이 주제에 대한 흥미로운 통찰을 제공합니다.

더 많은 제약이 필요합니다

데이터 모델의 불변성은 명시적으로 강제되어야 하며, 이는 스칼라 제약, 다중 열 제약, 이전/이후 제약 등 다양한 방법으로 적용될 수 있습니다. 데이터베이스는 마지막 방어선으로, 제약 위반은 코드 버그를 나타냅니다. Postgres와 같은 데이터베이스 도구를 사용하여 불변성을 명확히 강제함으로써 신뢰성 있는 기반을 마련할 수 있습니다.

bash_tls: Bash 스크립트로 구현한 최소한의 TLS 1.2 클라이언트

bash_tls는 순수 Bash 스크립트로 구현된 TLS 1.2 클라이언트입니다. 단일 암호화 스위트 TLS_RSA_WITH_AES_128_GCM_SHA256을 지원하며, 서버 이름 표시 기능도 제공합니다. 사용법은 간단하며, 특별한 의존성 없이 bash, GNU bc, sha256sum만 있으면 됩니다.

Microsoft PlayReady - 클라이언트 신원 완전 탈취

보안 연구원들이 PlayReady 클라이언트의 개인 ECC 키를 추출하는 두 가지 공격 시나리오를 발견했습니다. 이 키들은 라이선스 서버와의 통신 및 신원 확인에 사용됩니다. 이로 인해 공격자가 보안 제한을 우회할 수 있으며, Windows 소프트웨어 기반 DRM 구현에서 더 이상 깨뜨릴 것이 없다고 합니다.

Git 저장소 보안 강화를 위한 gittuf 프로젝트

gittuf 프로젝트는 Git 저장소의 보안을 강화하기 위해 키 관리, 보안 정책 강제, 버전 관리 계층의 공격 방어 등을 목표로 합니다. 이 프로젝트는 현재 알파 상태이며, OpenSSF의 샌드박스 프로젝트로 참여 중입니다. 보안 강화정책 준수 검증을 위한 중요한 단계를 제공합니다.

Rustls, 이제 Nginx와 호환 가능

Rustls TLS 라이브러리가 이제 Nginx에서 OpenSSL 호환 레이어를 통해 사용할 수 있게 되었습니다. 이를 통해 사용자는 OpenSSL에서 Rustls로 쉽게 전환할 수 있으며, 메모리 안전성과 성능 향상에 큰 기대를 모으고 있습니다. 또한, Let's Encrypt는 올해 말 Rustls로의 전환을 계획 중입니다.

datatype99: C99를 위한 대수 데이터 타입

datatype99는 순수 C99에서 안전하고 직관적인 대수 데이터 타입을 제공합니다. 외부 도구 없이 표준 C99 컴파일러만 있으면 되며, 타입 안전성, 이식성, 예측 가능성을 갖추고 있습니다. 실시간 스트리밍 소프트웨어인 OpenIPC에서 사용되어 그 안정성이 입증되었습니다.

자바스크립트의 'await 이벤트 호라이즌'

자바스크립트의 Promise 주변에는 'await 이벤트 호라이즌'이라는 경계가 있습니다. 이 경계를 넘어서면 실행 흐름이 돌아올 수 없게 되며, 이로 인해 리소스 누수가 발생할 수 있습니다. AbortSignal과 명시적 리소스 관리가 도움이 될 수 있지만, 근본적인 문제를 해결하지는 못합니다. 제너레이터 함수를 통해 구조화된 동시성을 달성할 수 있으며, 이는 중요한 코드 경로를 명확하게 따를 수 있게 해줍니다.

UTC, TAI, 그리고 UNIX 시간

UTC, TAI, UNIX 시간에 대해 알아보세요. TAI는 1955년부터 계속 측정된 실제 시간을 나타내며, UTC는 지구의 회전을 맞추기 위해 윤초를 포함합니다. UNIX 시간은 1970년부터 초를 세는 시간 체계입니다. 이 시간 체계들의 차이점과 문제점을 이해하면 시간에 대한 흥미로운 통찰을 얻을 수 있습니다.

GADT를 사용한 고차 함수 컴파일 방법

이 문서는 컴파일러고차 함수를 구현하는 방법에 대해 설명합니다. 특히, 'defunctionalization'이라는 기법을 중점적으로 다루며, 이는 GADT라는 데이터 타입을 사용하여 람다 함수를 제거하는 방식입니다. 이 기법은 프로그램을 더 효율적으로 만들어 줍니다.

소비자 기기의 메모리 오류

최근, 소비자 기기에서 발생하는 메모리 오류에 대한 관심이 높아지고 있습니다. 이러한 오류는 다양한 검색 옵션을 통해 더 자세히 조사할 수 있으며, 미디어, 투표 또는 내장 요소가 있는 콘텐츠를 찾을 수 있습니다. 사용자, 언어, 날짜 범위별로 필터링하는 기능도 제공됩니다.

Automerge 2.2: 리치 텍스트 지원 업데이트

Automerge가 리치 텍스트 지원을 발표했습니다. 이제 실시간 및 비동기 리치 텍스트 편집이 가능해졌으며, ProseMirror 바인딩을 통해 쉽게 통합할 수 있습니다. 이 업데이트는 동시 편집과 병합을 정확하게 처리하기 위해 HTML과는 다른 방식으로 리치 텍스트를 표현합니다.

모든 오류 메시지는 어느 정도 나쁘다

오류 메시지가 왜 항상 부정적인가에 대해 설명하는 글입니다. 오류 메시지가 사용자의 마음을 읽을 수 있다면, 그것은 더 이상 오류 메시지가 아닐 것입니다. 때로는 문제를 해결할 명확한 방법이 없거나 사용자의 의도가 명확하지 않기 때문에, 오류 메시지는 필연적으로 부족함을 가집니다.