read: fail

타입스크립트로 즐기는 스도쿠: 타입 체커가 실수를 잡아내다

타입스크립트를 이용해 스도쿠 타입을 정의하고, 이를 통해 스도쿠 게임을 하면서 타입 체커가 오류를 감지하게 하는 실험입니다. 복잡한 타입 레벨 프로그래밍 기법을 사용하여 도메인 특화 데이터 구조를 모델링하고 검증하는 방법을 탐구합니다. 이는 타입스크립트의 표현력을 보여주는 흥미로운 예시이지만, 실제 사용에는 다소 비현실적일 수 있습니다.

프랙 매거진 제71호 요약

프랙 매거진의 최신호에서는 현대 기술의 문제점과 해커들의 중요성에 대해 다룹니다. 최신 기술이 미개발 상태임에도 불구하고 사람들이 이를 서두르고 있으며, 이로 인해 우리의 능력과 필요에 대한 이해가 점점 흐려지고 있습니다. 하지만, 해커들은 새로운 장벽을 허물고, 우리의 아이디어와 문화적 유산을 자유롭게 하며, 세상을 원하는 모습으로 변형시킬 수 있는 힘을 가지고 있습니다.

Foone, AI 회사 라벨이 붙은 저질 NUC 발견하다

Foone이 전자 폐기물에서 발견한 저질 NUC는 실패한 AI 스타트업의 흔적을 담고 있습니다. 이 스타트업은 헬스케어 관련 AI 프로젝트를 부실한 하드웨어에서 시도했으나 실패한 것으로 보입니다. Foone은 이러한 시도에 대해 회의적이며 비꼬는 태도를 보였습니다.

알고리즘의 갈루아 이론 (2010)

올해 9월에 무료로 진행되는 가상 접근성 포럼이 돌아옵니다! 모든 분들이 참여할 수 있는 이 행사에 등록하려면 제공된 링크를 사용하세요. 행사에 대한 자세한 정보도 확인할 수 있습니다.

Srcbook: 오픈 소스 TypeScript 노트북

Srcbook은 TypeScript 및 JavaScript 노트북 애플리케이션으로, 재현 가능한 프로그램과 아이디어를 생성, 실행, 공유할 수 있습니다. 오픈 소스로 제공되며, Node.js를 기반으로 합니다. 로컬에서 웹 인터페이스를 통해 실행되며, 설치와 사용이 간편합니다.

웨이랜드 화면 캡처 프로토콜 개발 과정

2021년 10월, 새로운 웨이랜드 프로토콜 확장인 ext-screencopy-unstable-v1이 개발되었습니다. 이 프로토콜은 기존의 wlr-screencopy 프로토콜에서 누락된 전체 손상 추적커서 캡처 기능을 추가했습니다. Simon Ser의 관심과 개선 덕분에 최종적으로 ext-image-copy-capture-v1으로 명명되어 통합되었습니다.

샘플링의 모든 것 | utf9k

트레이싱 데이터는 서버에 도달하지 않는 요청, 서비스의 샘플링 정책, 에이전트의 제한, 상위 서비스의 결정 등 여러 단계에서의 샘플링과 근사치 계산으로 인해 현실을 완벽하게 반영하지 못합니다. 그러나 이 데이터는 전반적인 상황을 이해하는 데 충분히 유용합니다.

JavaScript의 WeakMap은 순회 가능해야 한다

JavaScript의 WeakMap이 순회 가능해야 하는 이유를 설명하는 글입니다. ES6에서 도입된 WeakMap은 원래 순회 불가능하게 설계되었지만, WeakRefFinalizationRegistry의 등장으로 이제 순회 가능한 WeakMap을 구현할 수 있게 되었습니다. 저자는 언어 자체에서 제공하는 순회 가능한 WeakMap이 사용자가 구현한 것보다 월등히 우수하다고 주장합니다.

미니트맨 III 핵미사일의 유도 시스템과 컴퓨터에 대한 이해

미니트맨 III 미사일은 현재 미국의 유일한 육상 기반 대륙간 탄도미사일로, 400개의 미사일이 발사 준비 상태입니다. 이 미사일은 13,000km 거리의 목표물에 200미터의 정확도로 탄두를 전달할 수 있는 정밀 유도 시스템을 갖추고 있습니다. 이 기술적 성과는 놀랍지만, 핵 억제라는 목적은 도덕적 논란을 일으킵니다.

소스그래프의 변화

소스그래프가 그들의 주요 개발 저장소를 비공개로 전환했습니다. 이는 회사를 선택한 주된 이유였던 개방적 문화에 큰 타격을 주었습니다. 또한, 이로 인해 공학 블로그에 있던 링크들이 깨지게 되었고, 저자는 이를 보존하기 위해 참조 자료를 자신의 저장소로 옮기는 작업을 진행했습니다.

닫힌 루프 벤치마크의 함정

Go로 만든 모의 데이터베이스가 동시 요청을 처리하는 벤치마크에서 닫힌 루프열린 루프 방식의 차이를 설명합니다. 닫힌 루프 방식은 데이터베이스 성능에 따라 요청률이 결정되어 실제 성능을 왜곡할 수 있습니다. 반면, 열린 루프 방식은 고정된 요청률로 데이터베이스의 진짜 성능을 드러내, 더 현실적인 결과를 제공합니다.

DNS 문제 해결을 위한 PowerDNS로의 마이그레이션

기존 DNS 시스템의 여러 문제점, 예를 들어 언더스코어가 포함된 도메인 이름 불가동일 도메인에 대한 다중 CNAME 레코드 허용 등을 해결하기 위해 오픈 소스 PowerDNS 서버로 전환했습니다. 이 과정에서 DNS 쿼리 가로채기, PowerDNS API를 통한 레코드 관리, 에러 메시지의 사용자 친화적 변환 등 다양한 도전이 있었습니다. 결과적으로 업그레이드된 웹사이트는 이전의 문제들을 해결하였습니다.

Whisperfile 소개

Whisperfile은 Mozilla Ocho가 개발한 고성능 OpenAI Whisper 구현체로, 다양한 운영 체제에서 쉽게 사용할 수 있습니다. 음성 파일을 다채로운 텍스트로 변환하는 방법과 HTTP 서버 설정 방법도 제공합니다.

PostgreSQL이 객체 저장소를 만나다

새로운 pg_lakehouse 확장을 통해 PostgreSQL은 MinIO와 같은 객체 저장 시스템에 저장된 데이터를 쿼리할 수 있습니다. 이를 통해 사용자는 외부 객체 저장소를 PostgreSQL 데이터베이스 내의 네이티브 테이블처럼 다룰 수 있습니다. 이는 데이터의 접근성, 확장성 및 보안을 향상시키며, AI/ML 워크로드를 지원합니다.

파이썬 인터프리터의 진화와 GIL의 종말

파이썬의 Global Interpreter Lock(GIL)은 20년간의 여정 끝에 선택적 GIL 도입과 각 인터프리터별 GIL 구현을 거쳐, 드디어 PEP 703을 통해 제거될 예정입니다. 이 변화는 특히 멀티스레딩 성능 문제에 직면했던 게임 개발자들에게 희소식입니다.

실천에서의 '설계 단계부터의 보안': 개념, 정의, 접근 방식 평가

이 글에서는 '설계 단계부터의 보안'의 의미에 대해 상당한 합의가 있지만, '기본적 보안'의 정의와 유용성에 대해서는 의견이 분분하다고 설명합니다. 제품과 시스템 개발 초기부터 보안을 고려하는 것이 중요하며, 이 원칙들이 소프트웨어, 하드웨어, 정책 등 다양한 분야에서 어떻게 적용되고 있는지를 살펴봅니다.

BASIC으로 만든 특별한 생일 선물

작가는 아버지의 70번째 생일을 위해 1979년산 TRS-80 모델 1 컴퓨터에서 작동하는 'MTS-70'이라는 맞춤형 앱을 개발했습니다. 이 앱은 챗봇, 음악 재생, 날씨 예보, 텍스트 기반 모험 게임, 그리고 바둑 게임 등 다양한 기능을 포함하고 있습니다. 이 프로젝트는 아버지에게 큰 성공을 거두었으며, 작가는 TRS-80 커뮤니티와 Z80 마이크로프로세서의 유산에 대해 새로운 감사의 마음을 가지게 되었습니다.

OpenVMS x86_64를 활용한 철도 모델 관리

이 문서는 OpenVMS V9.2 X86_64를 사용하여 G-스케일 모델 철도 루프에서 RFID 리더를 통해 철도 차량을 식별하고 추적하는 멀티스레드 'C' 어플리케이션 개발에 대해 설명합니다. 또한, RabbitMQ 메시지 브로커를 이용해 블록 및 열차 정보를 배포하고 루프 작동 명령을 수신합니다.

기능 혼란의 디자인

2024년, 한 작가가 'df -h' 명령어로 디스크 공간을 확인하려 하지만, 혼란스럽고 압도적인 결과에 직면합니다. 이는 독립적 개발과 일관된 비전의 부재로 인한 '기능 혼란의 디자인' 때문입니다. 작가는 소프트웨어 개발의 새로운 모델인 '벌집' 모델을 제안하며, 이는 지도력 있는 리더가 디자인을 영감으로 삼아 나아갈 수 있게 합니다.

QUEENCREEK의 수수께끼

자동으로 실행되는 소프트웨어는 때때로 악성 코드에 의해 악용될 수 있습니다. Sysinternals Autoruns 도구를 사용하여, 작성자는 QUEENCREEK라는 의심스러운 항목을 조사했습니다. 이는 Intel에 의해 디지털 서명된 정상적인 프로그램이었지만, 그 실행 방식이 맬웨어 기법을 모방하여 혼란을 줄 수 있습니다. 사용자와 보안 솔루션은 자동 실행되는 프로세스를 주의 깊게 감시할 필요가 있습니다.