read: fail

우분투 MATE와 Xubuntu에서 6년 된 .deb 설치 버그 수정

2018년, 작성자는 우분투 MATE 18.04에서 구글 크롬 설치 시 문제를 발견했습니다. GDebi 패키지 설치 프로그램이 .deb 패키지 설치 중 사라졌습니다. 이 문제의 원인은 GDebi가 pkexec를 실행할 때 발생했으며, 이 버그는 2017년에 처음 도입되었습니다. 최근에 수정이 이루어져 우분투 24.10에 적용되었고, 곧 22.04와 24.04로 백포트될 예정입니다.

KDE 개발자 이메일 관리 방법

이메일을 할 일 목록으로 취급하며, '받은 편지함 제로'를 목표로 합니다. KDE 관련 이메일은 개인 이메일과 섞이지 않도록 별도의 계정에서 관리합니다. Thunderbird와 같은 데스크톱 이메일 클라이언트를 사용하여 자동으로 이메일을 분류하고, 긴급한 이메일부터 처리합니다. 이메일을 효율적으로 처리하여 실제 작업에 집중할 수 있는 방법을 제시합니다.

범위 지정 전파자(Scoped Propagators)

새로운 프로그래밍 모델인 범위 지정 전파자(Scoped Propagators, SPs)는 기존 환경과 사용자 인터페이스 내에서 동적 행동과 상호작용을 추가할 수 있게 해줍니다. 이 모델은 노드 간의 매핑을 통해 계산을 표현하며, 설계 시점에 노드 유형을 알 필요 없이 인터랙티브 행동을 노드에 추가할 수 있습니다. SPs는 게임 예제를 통해 다양한 행동을 결합하는 방법을 보여줍니다.

마이크로소프트의 잊혀진 유닉스 운영 체제, 제닉스(Xenix) 탐험기

1983년, MS-DOS 2.0은 두 개의 180 KiB 플로피 디스크에 담겼지만, 제닉스(Xenix) 운영 체제는 16개의 360 KiB 플로피 디스크가 필요했습니다. 당시 10 MiB 하드 드라이브 업그레이드 비용은 $2500였으며, 제닉스는 고급 장비를 위한 전문가용 운영 체제로 간주되었습니다. 이 비디오에서는 제닉스의 설치 과정과 초기 게임 탐험까지 다루며, 향후 네트워킹 기능 탐색을 계획하고 있습니다.

파이썬에서의 프록시 객체

파이썬의 프록시 객체는 다른 객체를 대신하여 투명하게 호출과 속성 접근을 전달하는 역할을 합니다. 이들은 __getattr__ 같은 메소드를 재정의하여 속성 접근을 제어하고, 예를 들어 Flask-SQLAlchemy에서는 세션과 연결 처리를 추상화하기 위해 사용됩니다.

k3s 쿠버네티스 클러스터의 고가용성 구축: Keepalived, Galera, Longhorn 사용법

이 글에서는 3노드 ARM 클러스터에서 단일 제어 플레인 노드의 단일 실패 지점을 해결하기 위해 Galera, Keepalived, Longhorn을 사용하여 고가용성을 달성하는 방법을 설명합니다. Keepalived는 HA-IP를 제공하고, Galera는 멀티마스터 MySQL 클러스터를, Longhorn은 지속적인 볼륨을 위한 블록 스토리지를 제공합니다.

큰 숫자 라이브러리 최적화하기

개발자가 재미로 구현한 큰 숫자(bignum) 라이브러리의 성능을 향상시키기 위해 여러 방법을 탐구했습니다. 특히, 숫자를 30비트 청크로 처리하여 연산 효율을 크게 높였고, Karatsuba 알고리즘을 도입하여 더 큰 숫자에 대한 곱셈 성능을 59% 개선했습니다. 그러나 아직 추가 개발이 필요한 부분이 많습니다.

Bufstream: 카프카보다 10배 저렴한 비용

Bufstream은 카프카와 호환되면서 운영 비용이 10배 저렴한 큐 시스템입니다. 데이터 품질과 거버넌스를 강화하고, AWS나 GCP 프로젝트에서 데이터를 외부로 보내지 않고 운영됩니다. 이로 인해 클라우드 경제성이 최적화되며, 사용자는 비용을 대폭 절감할 수 있습니다.

파이썬에서의 프록시 객체

파이썬의 프록시 객체에 대한 내용을 불러오는 도중 네트워크 오류가 발생했습니다. 페이지를 새로고침하거나 인터넷 연결을 확인하고, 문제가 지속될 경우 지원팀에 연락해 보세요.

대규모 시계열 인덱싱

대규모 시계열 인덱싱에 관한 블로그 포스트에서는 메트릭 플랫폼, 기존 인덱싱 서비스, 그리고 차세대 인덱싱 서비스의 개선을 다룹니다. 새로운 설계는 검색 엔진에서 사용되는 역 인덱스에서 영감을 받아 모든 태그를 무조건 인덱싱하며, 이는 쿼리 시간의 99% 감소와 비용 50% 절감을 이끌었습니다.

네트워크 인증 프로토콜에 대한 MD5 선택적 접두사 공격의 위험 범위

네트워크 인증 프로토콜에 대한 MD5 선택적 접두사 공격에 대응하기 위한 일반적인 대책들이 충분하지 않다는 내용입니다. 타임아웃 감소, TACACS+ 또는 Diameter 프로토콜 사용, 랜덤 긴 공유 비밀 선택, 다중 인증 요소(MFA) 구현, 예상치 못한 Proxy-State 속성 거부 등의 방법이 모두 효과적이지 않으며, 프로토콜 전체의 재설계가 필요할 수 있습니다.

turbopuffer: 객체 저장소에서의 빠른 검색

turbopuffer는 객체 저장소를 활용하여 비용 효율적이고 확장 가능한 새로운 검색 엔진입니다. 기존의 검색 엔진 솔루션보다 비용 효과적이며, SSD/메모리 캐싱을 통해 높은 성능을 제공합니다. 이미 여러 고객사에 의해 도입되어 큰 비용 절감과 성능 향상을 경험하고 있습니다.

증명 가능한 정확하고 안전하며 누출이 없는 시스템

애니쉬 아탈리에의 연구는 하드웨어 보안 모듈(HSM)과 같은 중요한 하드웨어 및 소프트웨어 시스템의 버그와 타이밍 사이드 채널 취약성을 해결하기 위해 정형 검증을 사용하는 새로운 접근 방식을 소개합니다. 이 연구는 정보 보존 정제(IPR) 이론을 도입하고, K2 프레임워크를 통해 여러 HSM을 검증하는 데 적용되었습니다.

gRPC와 HTTP/3의 결합

HTTP/3는 QUIC 기반으로 빠른 연결 설정과 보안 강화를 제공합니다. 이 기술은 gRPC와 결합하여 HTTP/2의 문제를 해결하고, Go 언어를 사용한 실험적 구현을 통해 그 가능성을 탐구하였습니다. 아직 초기 단계이지만, gRPC 생태계에서 HTTP/3의 채택이 가져올 이점은 분명합니다.

One File Linux: ESP에 완벽하게 들어가는 20MB 알파인 메타-디스트로

One File Linux는 설치 없이 바로 부팅할 수 있는 약 20MB 크기의 라이브 리눅스 디스트로입니다. USB 드라이브가 필요 없으며, UEFI 펌웨어를 사용해 직접 부팅합니다. macOS FileVault, dm-crypt와 같은 디스크 암호화와도 호환됩니다. 특히 USB를 사용할 수 없는 상황에서 리눅스를 실행해야 할 때 유용합니다.

파이썬의 무작위성을 줄이기

파이썬으로 게임 프로토타입을 개발하던 중 무작위성에 의존하는 버그를 만났습니다. os.urandomrandom.randint 등의 함수를 모킹하려 했으나, 외부 라이브러리에서도 random 함수를 호출하여 문제가 복잡해졌습니다. 결국, ptrace를 사용하여 getrandom 시스템 호출을 수정하고 결정적인 무작위성을 달성했습니다. 이 과정은 흥미로운 학습 경험이 되었습니다.

2011년, 12-Factor App

12-Factor App은 소프트웨어-서비스(SaaS)를 구축하기 위한 방법론으로, 새로운 개발자의 온보딩 시간을 줄이고, 운영 체제와의 명확한 계약을 통해 환경 간 최대한의 이식성을 제공합니다. 이 방법론은 Heroku 플랫폼에서 수백만 개의 앱 개발 및 배포 경험을 바탕으로 합니다.

부트 로더는 이제 그만: 커널을 사용하세요

GRUB 부트 로더를 대체할 새로운 방안으로, Linux 기반의 사용자 공간 솔루션인 nmbl이 제안되었습니다. 이 방법은 EFI stub에 의해 로드되고, 통합 커널 이미지(UKI)에 패키징되어, 필요한 모든 것을 포함합니다. 이는 코드 중복을 피하고, 보안을 강화하는 효과적인 대안으로 주목받고 있습니다.

TLA+를 이용한 B-트리 모델링

이 기사는 TLA+ 형식 명세 언어를 사용하여 B-트리 데이터 구조를 모델링하는 방법에 대해 설명합니다. 저자는 get, insert, update, delete와 같은 연산을 정의하고, B-트리의 주요 특성을 다루면서 모델의 정확성을 검증하는 과정을 통해 B-트리의 작동 원리를 더 깊이 이해하게 되었다고 합니다.

터미널에서 텍스트 입력이 복잡한 이유

터미널에서 텍스트를 입력하고 편집하는 것은 다양한 프로그램과 도구 간의 일관성 부족 때문에 어려울 수 있습니다. 터미널에는 여러 '모드'가 있으며, 이를 이해하면 텍스트 입력 문제를 해결하는 데 도움이 됩니다. readlinelibedit 같은 라이브러리가 있으며, Emacs에서 영감을 받은 키바인딩이 포함되어 있어 vim 사용자에게 혼란을 줄 수 있습니다.