read: fail

DuckDB 최적화 도구: 조용한 MVP

DuckDB의 쿼리 최적화 도구는 분석 데이터베이스 시스템에서 중요한 역할을 하며, 수동으로 최적화된 쿼리보다 30배 이상 빠른 성능을 제공합니다. 이 최적화 도구는 쿼리 작업을 재정렬하고 삽입, 삭제하여 더 효율적인 쿼리 계획을 생성합니다. 필터 푸시다운, 조인 순서 최적화, TopN 최적화 등의 규칙이 성능 향상에 기여합니다.

순서 없는 RISC-V 벡터 유닛의 구현

RISC-V 아키텍처에 순서 없는 벡터 유닛을 구현하는 과정을 다룬 기술 문서입니다. 이는 프로세서의 성능 향상에 중요한 역할을 할 수 있습니다.

TypeScript에서 Effect 활용하기: 비동기 및 오류 처리 간소화

TypeScript 라이브러리인 Effect는 함수형 프로그래밍 기법을 사용하여 효과와 오류를 관리합니다. 이 블로그 포스트는 Effect를 사용하여 간단한 날씨 앱을 만드는 과정을 설명하며, 타입 안전성, 오류 처리, 통합 검증 등의 장점을 제공하지만, 복잡성과 학습 곡선이 증가하는 단점도 있습니다.

화웨이, 72TB SSD-테이프 하이브리드 저장 장치 개발

화웨이가 SSD와 테이프 저장을 결합한 새로운 하이브리드 저장 장치인 MED를 개발했습니다. 이 첫 세대 MED 장치는 최대 72TB의 데이터를 저장할 수 있으며, SSD는 활성 데이터를 처리하고 테이프 저장소는 보관 데이터를 위해 사용됩니다. 이 기술은 데이터 센터와 클라우드 제공업체가 저장 공간을 효율적으로 관리하는 데 도움을 줄 것입니다.

PGP 대신 사용할 수 있는 대안들

PGP를 사용하지 말고, 더 나은 도구들을 사용하자고 주장하는 글입니다. 소프트웨어 배포 서명에는 Sigstoreminisign을, Git 태그/커밋 서명에는 SSH 서명을 추천합니다. 파일 전송, 백업 암호화, 애플리케이션 데이터 보호에는 각각 Magic Wormhole, Tarsnap, Tink를 사용할 것을 제안합니다.

웹 서비스를 위한 프로그래밍 언어, Gliimly

Gliimly는 웹 서비스를 위한 프로그래밍 언어로, 서비스 지향적, 모델링, 선언적, 함수형이며 정적 타입을 지원합니다. 매우 간단하고, 메모리 안전, 고성능을 자랑하며, 산업 표준의 무료 오픈 소스 라이브러리를 활용하고 확장 가능합니다.

장고의 핵심에 대한 생각

장고가 20년 동안 지속된 비결은 정기적인 출시 일정, API 안정성 정책, 그리고 장고 펠로우십 프로그램 덕분입니다. 하지만 핵심 기능 추가는 유지 관리 부담을 증가시키며, 제3자 패키지 생태계가 장고의 진정한 힘이자 비밀 요소라고 주장합니다. 이 생태계를 더 잘 활용하고 홍보해야 한다는 의견이 제시되었습니다.

매크로를 이용한 타입 시스템 구현

이 글에서는 매크로를 사용하여 타입 언어(단순 타입 람다 계산법)를 무타입 대상 언어(Racket)로 변환하면서 타입 정보를 보존하고 타입 오류를 검사하는 방법을 소개합니다. 특히, checked-λchecked-app 매크로가 함수 정의와 호출 사이트에서 타입이 일치하는지 확인하는 핵심 역할을 합니다. 이 기술은 Racket의 매크로 시스템의 강력함유연성을 보여줍니다.

프로메테우스 3.0 발표

새롭게 발표된 프로메테우스 3.0은 현대적인 새 사용자 인터페이스, UTF-8 지원, Remote Write 2.0, OTLP 지원, 그리고 네이티브 히스토그램 등 다양한 기능을 제공합니다. 이 업데이트는 성능 향상과 더 나은 호환성을 목표로 합니다.

30년 전 비디오 포맷, VQA를 탐구하다

VQA (Vector Quantization Animation)는 1990년대 초반 PC 게임에서 사용된 비디오 포맷으로, Westwood Studios의 게임인 Command & Conquer에서 주로 사용되었습니다. 이 기술은 효율적인 압축을 가능하게 하여 당시 제한된 하드웨어에서도 비디오 재생을 실현했습니다. VQA는 벡터 양자화, 슬라이딩 윈도우 압축 등의 기술을 활용했으며, 초기 2000년대까지 사용되다가 더 표준화된 코덱으로 대체되었습니다.

파워 ISA 시스템에서 음악 제작: 포팅의 모험

음악 제작을 위해 파워 ISA 시스템으로 소프트웨어를 포팅하는 과정을 다룬 글입니다. 저자는 5년 동안 Blackbird Power ISA 시스템을 사용하며, 여러 오디오 소프트웨어를 파워 ISA에서 작동하도록 수정하는 모험을 했습니다. 이 과정에서 다양한 기술적 문제를 해결하고, PowerAudio라는 GitHub 조직을 통해 수정된 소프트웨어를 공유했습니다.

RPython 인터프리터에서의 최종 인코딩

이 게스트 포스트는 RPython 인터프리터 작성에 있어 '초기 인코딩' 대신 '최종 인코딩'을 사용하는 독특한 방식을 탐구합니다. 최종 인코딩은 클래스 계층 구조 대신 인터페이스의 메소드 집합으로 추상 구문 트리(AST)를 표현합니다. 이 방식은 특히 Brainfuck 언어 최적화와 평가에서 더 나은 성능을 보일 수 있습니다.

Plan 9의 역사와 개발 (2023)

Plan 9은 독특한 운영 체제로, 그 역사와 개발 과정은 많은 기술 애호가들에게 흥미로운 주제입니다. 이 시스템은 계속해서 발전하고 있으며, 그 변화를 살펴보는 것은 매우 매력적입니다.

동시성 프로그래밍이 어려운 이유는 무엇일까?

동시성은 컴퓨터 과학에서 도전적인 문제로, 테스트가 어렵고, 조합이 어렵고, 버그가 숨어있기 쉽습니다. 하지만 문제의 핵심은 상태 공간의 폭발적인 증가에 있습니다. 동시 시스템은 예상보다 훨씬 더 많은 상태를 가질 수 있으며, 이로 인해 실행 순서의 가능성이 기하급수적으로 증가합니다.

드림캐스트 리눅스를 다시 불러내다

드림캐스트 리눅스는 게임 콘솔용 초기 유닉스 계열 시스템 중 하나로, 플레이스테이션 2 리눅스보다 약 1년 앞섰습니다. 이 시스템은 드림캐스트와 키보드만 있으면 최소한으로 작동하며, 개발자들이 독립적으로 소프트웨어를 실행할 수 있게 해주는 부트 프로세스를 지원합니다. 최근에는 여러 품질 개선이 이루어졌으며, 관련 정보와 구성 요소는 Github에서 확인할 수 있습니다.

Amazon S3, 기본 버킷 할당량 10,000개로 증가 및 최대 100만 개까지 확장 가능

Amazon S3가 AWS 계정당 기본 버킷 할당량을 100개에서 10,000개로 대폭 증가시켰습니다. 고객은 서비스 할당량 콘솔을 통해 최대 100만 개까지 요청할 수 있습니다. 이 변경으로 고객은 데이터셋별로 새 버킷을 생성하여 보안 정책, S3 복제 등의 기능을 더욱 쉽게 활용할 수 있게 되었습니다.

가족을 위한 리눅스 데스크탑

리눅스 시스템을 유지 관리하는 경험을 공유한 글에서, 저자는 가족 구성원의 특성에 맞게 맞춤 리눅스 설치를 제공하는 것이 중요하다고 강조합니다. 가족들은 시스템 관리에 관심이 없으며, 저자가 모든 설치와 업데이트를 처리함으로써, 각자에게 필요한 환경을 제공합니다.

오픈 소스 프로젝트를 위한 펌웨어 SBoM

오픈 소스 의존성을 포함하는 펌웨어에 대해, 소프트웨어 구성 목록(SBOM)을 오픈 소스 프로젝트로 이동하는 것이 유리합니다. 이를 통해 코드를 작성하는 동일한 팀이 SBOM을 관리할 수 있습니다. CycloneDX 형식의 bom.json 파일을 사용하는 것이 SPDX보다 더 적합하다고 제안됩니다.

컴퓨터 그래픽스 문제 해결을 위한 10가지 아이디어

이 글은 실시간 렌더링 혁신에 유용했던 메타기술이나 개념적 도구들을 공유합니다. 저자는 게임 엔진 개발에 도움이 될 책을 쓰고자 했으나 멘토의 조언을 받고 방향을 틀어, 독자들에게 창의적인 아이디어 생성을 위한 출발점을 제공하고자 합니다.

MinGW와 사이드-바이-사이드 매니페스트

Qt Creator 14가 Python 2 프리티 프린터 지원을 중단하면서 발생한 문제를 다룬 기사입니다. MinGW 8.1과 GDB 8.1을 사용하는 Qt 5.15.x MinGW 키트로 애플리케이션을 디버깅할 수 없게 되었습니다. 해결책으로 GDB를 버전 11.2.0으로 업데이트하고, XML 매니페스트 파일을 이용해 DLL 파일 호환성 문제를 해결하는 방법을 제시합니다.