read: fail

사용자 데이터를 보유하지 않음으로써 유출을 방지하는 Matter의 접근법

Matter의 사용자 개인 정보 보호 접근법의 기원에 대해, 사용자의 긍정적 경험을 기록하게 함으로써 행복을 증진시키려는 아이디어에서 시작된 이야기입니다. 사용자 데이터를 서버에 저장하지 않고, 모든 개인 데이터를 사용자의 기기에만 남기기로 결정했습니다. 이는 데이터 유출로부터 사용자를 보호하고, 미래의 통제력에 대응할 수 있는 방법입니다.

리눅스 재단, 오픈 소스 Valkey 커뮤니티 출범

리눅스 재단이 Redis의 대안으로 오픈 소스 인메모리 데이터 스토어 Valkey를 출범시켰습니다. AWS, Google Cloud 등 주요 업계 참여자들의 지원을 받으며, 오픈 소스 BSD 3-clause 라이선스 하에 프로젝트를 계속 진행할 예정입니다. Valkey는 커뮤니티 주도와 오픈 거버넌스 모델을 따르며, Redis 기술의 혁신적인 작업을 계속 이어갈 것입니다.

ZK 증명서를 이용한 '백만장자 문제' 해결하기

백만장자 문제는 자신이 백만장자임을 증명하는 동시에 정확한 자산액이나 자산이 보관된 은행 정보를 공개하지 않는 방법에 관한 것입니다. 이 문제의 해결책으로 제로 지식(ZK) 프로토콜이 제시되었으며, 이는 은행 서류 뿐만 아니라 모든 종류의 인증서와 데이터베이스에도 적용될 수 있습니다. 특히, 인터넷 상에서 실제 인간과 AI/봇을 구별하는 문제에도 ZK 증명이 유용하게 활용될 수 있음을 보여줍니다.

Amazon RDS 성능 인사이트를 최대한 활용하기 위해 PostgreSQL 드라이버를 해킹한 사례

Knock 팀은 Amazon Aurora PostgreSQL 데이터베이스의 성능 문제를 개선하기 위해 노력했습니다. 그들은 Amazon RDS 성능 인사이트를 사용하여 가장 성능이 낮은 트랜잭션을 식별하고자 했으나, 모든 트랜잭션 성능이 단일 COMMIT 문에 묶여 있었습니다. Postgrex PostgreSQL 드라이버를 수정하여 COMMIT 문에 SQL 주석을 추가함으로써, 가장 비용이 많이 드는 트랜잭션을 나열하도록 강제했습니다. 이러한 변경을 통해 팀은 데이터베이스 성능을 최적화할 수 있는 세부적인 통찰력을 얻었습니다.

리눅스 텍스트 조작을 통한 Spotify 노래 정보 포매팅

이 기사에서는 AwesomeWM 상태 바에 현재 재생 중인 Spotify 노래를 'Wild World by Yusuf/Cat Stevens'처럼 인간이 읽을 수 있는 형식으로 표시하는 모듈을 만드는 방법에 대해 설명합니다. sed, cut, tr, awk와 같은 다양한 터미널 명령어를 사용하여 원하는 정보를 추출하고 포맷하는 과정을 단계별로 안내합니다. 리눅스 터미널 명령어를 활용하여 데이터를 처리하고 포맷하는 방법을 배우는 것은 맞춤형 시스템 도구 및 스크립트를 만드는 데 유용한 기술입니다.

쿠버네티스를 멀리한 이유 - 분산 시스템을 운영하지 않는 나의 이야기

한 개발자가 쿠버네티스 기반의 환경을 구축했지만, 높은 비용, 복잡한 설정, 예상과 다른 가용성 문제로 인해 전통적인 단일 기계 설정으로 돌아갔습니다. 이 경험은 쿠버네티스의 도입 전 실제 필요성과 사용 사례를 신중히 평가해야 한다는 중요한 메시지를 전달합니다.

기술 독립 | 데릭 시버스

데릭 시버스의 '기술 독립'은 특정 회사나 소프트웨어에 의존하지 않고, 자신만의 개인 서버와 서비스를 설정하여 자립할 수 있는 방법을 단계별로 설명합니다. 이를 통해 연락처, 캘린더 관리, 이메일 발송 및 설정, 간단한 웹사이트 제작, 파일 공유 등을 자신의 서버에서 직접 관리할 수 있게 됩니다. 또한, 개인 정보 보호와 독립성을 높이는 추가 팁도 제공합니다.

프로그래머가 도전해볼 만한 소프트웨어 프로젝트 목록

새로운 지식 탐색에 관심 있는 프로그래머를 위한 프로젝트 아이디어! 창의적인 분야 탐색부터 미지의 데이터 구조 구현, 분산 해시 테이블 작성, 과학 계산기 개발에 이르기까지 다양한 도전 과제를 소개합니다. 이것은 단순한 포트폴리오 구축을 넘어서는 여정입니다.

Flatpak 권한 설문 조사

Flatpak 권한 설문 조사에서는 Flathub의 인기 있는 앱 대부분이 우려되는 권한을 가지고 있음을 밝혔습니다. 특히, 네트워크 공유샌드박스 탈출을 가능하게 하는 권한이 대부분의 앱에 부여되어 있으며, 거의 모든 앱이 넓은 권한을 나타내는 '보안' 뱃지를 가지고 있습니다. 이는 Flatpak의 보안 모델의 효과에 대한 의문을 제기합니다.

어디서나, 단 한 번만: 모든 곳의 컴퓨터를 위한 함수 작성하기

이 글은 분산 네트워크 상에서 계산 작업을 분배하는 모든 곳의 컴퓨터에 대해 소개합니다. Rust, JavaScript, Python으로 작성된 함수를 WebAssembly (Wasm) 컴포넌트로 컴파일하고 워크플로우에서 실행하는 방법을 보여줍니다. EveryCLI 도구를 사용하여 함수를 호출하는 워크플로우를 실행하는 과정도 설명합니다. 흥미로운 점은, 이 시스템이 이전에 계산된 결과를 캐싱하여 불필요한 재실행을 방지한다는 것입니다.

새롭고 오는 프로그래밍 언어 목록

새롭게 등장하고 있는 프로그래밍 언어들에 대한 소개입니다. Cakelisp, 42, Sidef 등 다양한 언어가 개발자들에게 새로운 선택지를 제공하며, 각각의 언어는 컴파일 시간 코드 생성, 음악 제작, 웹어셈블리 컴파일 등 특별한 기능을 갖추고 있습니다. 프로그래밍 세계에 새로운 바람을 일으키고 있는 이 언어들에 대해 알아보세요!

Postgres C 코드에서 메모리 누수 찾기

이 글에서는 Postgres의 WAL Sender 프로세스에서 발생한 메모리 누수를 찾기 위해 저자가 Valgrindsanitizer를 사용해 본 경험과, 결국 bcc 도구 모음memleak 프로그램을 통해 누수 원인을 정확히 찾아낸 과정을 소개합니다. memleak 도구는 실행 중인 프로세스의 메모리 할당 스택을 추적하여 메모리 누수를 효과적으로 식별하는 강력한 방법을 제공합니다.

네트워크 스위치를 죽인 범인은? 허브리스 버그 이야기

허브리스 운영 체제에서 발견된 버그가 네트워크 스위치 작동을 멈추게 했습니다. 이 버그는 메모리 사용 최적화를 위한 작업 패킹과 작업 간 메모리 공유를 가능하게 하는 IPC 시스템 간의 상호 작용에서 비롯되었습니다. 허브리스 팀의 빠른 대응과 디버깅 용이성, 그리고 팀의 긴밀한 협력 덕분에 이 복잡한 버그를 신속하게 해결할 수 있었습니다.

텍스트 임베딩 탐색을 위한 간단한 오픈소스 도구, embeviz

embeviz는 텍스트 임베딩을 시각화하는 간단한 오픈소스 도구입니다. Go와 React로 만들어진 이 도구는 사용자가 텍스트를 입력하고, 원격 LLM에서 임베딩을 가져와 2D/3D로 시각화할 수 있게 해줍니다. 오픈소스 도구 개발은 중요한 학습 경험이 될 수 있습니다.

불변의 문제점: 시간이 지나면서 변한다

Oxide에서의 디버깅 여정을 통해, 코드에 내재된 '불변' 가정이 시간이 지나며 문제를 일으킨 사례를 소개합니다. 새 기능 추가로 인해 과거의 가정이 무효화되었지만, 이러한 내재된 불변성은 소스 코드에 명시적으로 표현되지 않아 발견하기 어렵습니다. 이는 시스템이 발전함에 따라 '시한폭탄'이 될 수 있습니다.

두 가지 작은 인터프리터

두 가지 인터프리터의 성능을 직접 비교한 이야기입니다. 바이트코드 인터프리터가 빠를 것이라는 일반적인 생각과 달리, 트리 워킹 인터프리터가 2-3배 더 빠른 결과를 보였어요. 이 흥미로운 결과에 대해 더 알아보고 싶다면, 저자가 제공한 GitHub 소스 코드를 확인해 보세요!

시스템 프로그래머를 위한 가비지 컬렉션

이 문서는 운영 체제의 성능에 민감한 부분과 이를 최적화하는 기술, 특히 리눅스 커널에서 사용되는 락리스(lockless) 데이터 공유 메커니즘인 RCU(Read-Copy-Update)에 대해 설명합니다. 가비지 컬렉션이 수동 메모리 관리보다 느리지 않으며, 처리량과 캐시 성능 측면에서 상당한 이점을 제공할 수 있다는 점을 강조합니다.

Gitroom - 소셜 미디어 및 기사 게시 예약과 저장소 모니터링을 위한 새로운 도구

Gitroom은 Buffer.com, Hypefury, Twitter Hunter와 같은 도구의 대안으로, 소셜 미디어 게시물과 기사를 예약하고, 다른 회원들과 게시물을 교환하거나 구매할 수 있으며, GitHub 트렌딩을 모니터링하는 등의 기능을 제공합니다. NX, NextJS, NestJS 등의 기술 스택으로 구축되었으며, Apache 2.0 라이선스 하에 소스 코드를 제공합니다.

awk 구현체에 대하여

Rob Landley의 toybox 프로젝트는 Linux 명령줄 도구들을 제공하는데, 여기에는 awk 구현체도 포함되어 있습니다. 이 구현체는 wak라 명명되었으며, C99로 코딩되었고 주로 libc를 사용합니다. GitHub에서 확인할 수 있습니다.

내 언어에 라인 프로파일러 추가하기

개발자가 자신의 장난감 프로그래밍 언어 'nodots'의 인터프리터를 프로파일링하고 최적화하기 위해, 코드의 각 줄의 성능을 측정할 수 있는 라인 프로파일러를 추가했습니다. 이 프로파일러는 호출 횟수, 총 시간, 그리고 각 호출당 시간을 추적하여, 성능 통계를 소스 코드 옆에 출력합니다. 비록 메모리 사용량이 높고 코드 변경 시 성능 추적에 한계가 있지만, 작은 코드 섹션의 성능 프로파일을 빠르게 생성하고 소비하는 데 유용한 도구로 평가됩니다.