read: fail

1993년 마이크로소프트의 야심 찬 프로젝트, Microsoft At Work

1993년 마이크로소프트가 발표한 Microsoft At Work(MAW)는 윈도우를 사무기기와 통합하려는 야심 찬 계획이었습니다. 이 프로젝트는 윈도우 기반의 팩스기와 프린터 등을 포함한 '통합 커뮤니케이션' 플랫폼을 목표로 했으나, 실제로는 성공적이지 못했고 1990년대 중반에 대부분 포기되었습니다.

사용자 입력 처리 방법 3가지 (2022)

사용자 입력을 처리하는 전통적인 방법은 여전히 이벤트와 콜백에 기반을 두고 있습니다. 이 문서에서는 이벤트 리스너, 폴링, 프로세스 지향 접근법 등 세 가지 다른 접근법을 탐구합니다. 특히, 프로세스 지향 접근법은 사용자 상호작용을 모델링하기 위해 동시에 통신하는 프로세스를 사용하며, 이벤트의 장점을 유지하면서 콜백의 문제점을 개선할 수 있는 매력적인 대안으로 제시됩니다.

gf: 리눅스용 GDB 프론트엔드

gf는 GDB 디버거를 위한 그래픽 사용자 인터페이스를 제공하는 GDB 프론트엔드입니다. 소스 뷰, 중단점 목록, 호출 스택 등의 기능을 포함하며, 리눅스와 BSD 계열에서 빌드할 수 있습니다. 플러그인 지원과 광범위한 사용자 설정 옵션을 통해 더욱 강력한 디버깅 환경을 제공합니다.

jank, 게으른 시퀀스, 디스트럭처링 및 루프 도입

jank는 게으른 시퀀스, 디스트럭처링, 그리고 루프를 새롭게 도입했습니다. 특히, 게으른 시퀀스는 요소별로 구현되었으며, 청크 시퀀스 구현이 진행 중입니다. 또한, clojure.core에서 52개의 새로운 함수/매크로가 추가되었으며, 이는 전체 함수의 약 10%에 해당합니다. 이러한 변화는 jank의 사용성과 확장성을 크게 향상시킬 것입니다.

1980년대 Depraz 마우스를 위한 USB 어댑터

Depraz 마우스는 1980년대 초반에 사용된 스타일리시한 장비로, Blit 컴퓨터 터미널과 같은 시스템에서 사용되었습니다. 이 마우스를 현대 컴퓨터에 연결하기 위해, 저자는 Arduino Pro Micro를 사용하여 어댑터를 제작했습니다. 또한, 이 마우스는 사용감이 좋고 버튼 느낌이 만족스러워 정기적으로 사용할 계획입니다.

디렉토리 관리를 위한 pushd와 popd 사용법

pushdpopd 명령어를 사용하면 여러 디렉토리 간에 효율적으로 이동할 수 있습니다. pushd는 현재 디렉토리를 스택에 추가하고 새 디렉토리로 작업 디렉토리를 변경합니다. 반면, popd는 스택의 최상위 디렉토리를 제거하고 이전 디렉토리로 돌아갑니다.

24H2에서 NT 커널을 공격하는 새로운 버그와 KASLR에 대한 사이드 채널

Windows 11 버전 24H2의 NT 커널에는 여러 취약점이 발견되었습니다. 이 취약점들은 모든 프로세스에서 이용될 수 있으며, KASLR을 우회하는 새로운 방법도 개발되었습니다. 이러한 발견은 기존 코드에 소소한 변경을 적용할 때 발생할 수 있는 위험성을 강조합니다.

런타임에서 열거형을 반사적으로 구성하기

런타임에서 열거형을 반사적으로 구성하는 것은 많은 도전과 위험을 수반합니다. 열거형은 고정된 컴파일 시간 상수 집합을 유지하기 위해 사용되며, 이를 변경하면 코드의 가정이 깨질 수 있습니다. 그러나 Minecraft Forge에서 보듯이 적절히 사용하면 작동할 수 있습니다. Java 21에서는 이러한 반사 작업을 더 어렵게 만드는 fieldFilterMap을 도입합니다.

리눅스 커널 코덱 드라이버에 러스트 도입하기

비디오 재생은 현대 소비자 기기에서 중요한 기능입니다. 비디오 데이터의 압축 및 해제는 복잡하고 오류가 발생하기 쉬운 작업입니다. 리눅스 커널의 V4L2 코덱 라이브러리는 코덱 알고리즘을 추상화하지만, 메타데이터 파싱은 여전히 도전적입니다. 러스트는 보안성과 신뢰성을 향상시킬 수 있으며, 점진적으로 러스트 코드를 도입하는 것이 제안되었습니다.

EndBASIC 콘솔을 LCD로 포팅하기

EndBASIC 콘솔이 128x128 해상도의 1.44인치 LCD 디스플레이로 포팅되었습니다. 이 과정에서 텍스트와 그래픽의 분리, 더블 버퍼링과 손상 추적 기술이 도입되었으며, 자체 폰트 렌더링 코드도 개발되었습니다. 이 모든 과정은 Rust의 정적 디스패치와 철저한 단위 테스트를 통해 신속하게 해결되었습니다.

신뢰할 수 있는 HTTP: 웹훅을 이용한 두 장군의 문제 해결

이 기사는 분산 시스템 간의 신뢰할 수 있는 통신을 보장하는 도전에 대해 설명합니다. 특히, 웹훅을 사용하여 최소 한 번의 전달 보장을 제공하는 방법과 생산자와 소비자 양쪽에서 처리 보장을 신중하게 고려해야 한다는 점을 강조합니다.

3년간의 Rust 게임 개발 경험과 Rust를 떠나는 이유

Rust로 게임을 개발하며 겪은 지속적인 문제점개발 흐름의 방해, 그리고 복잡성 증가 등을 경험한 한 개발자가 Rust를 떠나기로 한 결정에 대해 설명합니다. Rust의 안전성과 정확성이 게임 개발에서 필요한 빠른 프로토타이핑과 반복에 장애가 될 수 있다는 점을 지적하며, 이러한 이유로 새로운 엔진 'Comfy'로의 전환을 고려하고 있습니다.

Ubuntu 24.04 LTS로의 업그레이드를 아직 하지 말아야 할 이유

Ubuntu 24.04 LTS가 출시되었지만, 공식 업그레이드는 아직 활성화되지 않았습니다. 이전 버전에서 직접 업그레이드할 경우 시스템이 복구 불가능해질 수 있는 주요 버그가 있습니다. Ubuntu 개발자들이 문제를 해결하고 업그레이드를 다시 테스트할 때까지 기다리는 것이 좋습니다.

휴먼거스에 액티비티펍 추가하기

휴먼거스 프로젝트에 액티비티펍 지원을 추가하여 이제 Honk 클라이언트로 커밋을 팔로우할 수 있게 되었습니다. 이를 통해 별도의 메일링 리스트나 인프라 없이도 프로젝트에 대한 연동된 댓글과 상호작용이 가능해졌습니다. 전반적으로, 액티비티펍 지원은 기존 코드를 활용하여 비교적 쉽게 추가되었으나, ForgeFed 생태계는 아직 성숙 중입니다.

동시성을 활용한 요청 패치로 재미와 이익을 얻다

이 문서는 requests 라이브러리의 인증서 검증 사용 시 성능 문제를 다룹니다. 인증서 검증이 활성화된 경우, SSL_CTX_load_verify_locations() 함수의 느린 실행으로 인해 성능 차이가 최대 500%까지 발생합니다. 이 문제를 해결하기 위해 Requests 라이브러리에 풀 리퀘스트가 제출되었으며, 이는 인증서 검증의 성능을 향상시키는 방안을 제안합니다.

Sonic: 고성능 암호화폐 거래 네트워킹 라이브러리

Talos가 개발한 Sonic암호화폐 거래 플랫폼을 위한 고성능 네트워킹 라이브러리입니다. 이 라이브러리는 주문서 업데이트 수신 후 거래 결정을 거래소에 전송하는 시간인 tick-to-trade 지연 시간을 줄이는 데 중점을 두고 있습니다. Sonic은 Go 언어로 개발되었으며, 100 마이크로초 미만의 일관된 최대 지연 시간을 유지할 수 있습니다.

SQLite를 이용한 고가용성 검색 엔진 구축

SQLite의 FTS4FTS5 확장 기능을 통해 고가용성 검색 엔진을 구축할 수 있습니다. 이 글에서는 rqlite 분산 데이터베이스와 결합하여 Google Cloud Platform에서 3노드 rqlite 클러스터를 구축하고, 500만 개의 Apache 로그 레코드를 인덱싱하는 방법을 소개합니다. 이를 통해 효율적인 검색 성능을 실현할 수 있습니다.

Pharo - Pharo 12 출시

Pharo 12 버전이 출시되었습니다! 이번 버전은 새로운 브레이크포인트 시스템, 도구 개선, 시스템 향상, 그리고 가상 머신 개선 등 다양한 업데이트가 포함되어 있습니다. Pharo는 순수 객체지향 프로그래밍 언어로, 간결함과 즉각적인 피드백에 중점을 둔 강력한 환경을 제공합니다.

Heed v0.20: LMDB 키-값 저장소를 위한 가장 안전하고 유지보수가 잘 되는 Rust 래퍼

Heed v0.20은 LMDB를 위한 Rust 래퍼로, 타입이 완전히 정의되어 있으며 최소한의 오버헤드를 가집니다. 이번 릴리스에서는 80개 이상의 PR과 이슈를 해결하여 라이브러리의 안전성과 사용성을 향상시켰습니다. 주요 변경 사항으로는 환경 열기의 안전성 강화, LMDB의 거의 모든 기능 지원, 사용자 정의 키 비교 함수 지원 등이 있습니다.

VueJS와 Gleam의 실험적 통합, Vleam

Vleam은 Vue 프로젝트Gleam 프로그래밍 언어를 점진적으로 통합할 수 있는 도구 모음입니다. 이는 대규모 애플리케이션을 처리하는 데 도움을 주며, TypeScript가 JavaScript 애플리케이션에 도움을 준 것과 유사합니다. Vleam은 Vite 플러그인, Vue API 바인딩, LSP를 포함하며, Neovim과 VSCode에서 사용 가능합니다.