read: fail

스레드가 Async/Await를 능가하다

스레드async/await의 차이점을 다룬 이 글에서는, 대부분의 프로그래밍 언어에서 async/await가 나쁜 추상화라고 주장하며, 스레드가 더 나은 해결책이라고 설명합니다. 또한, 미래의 언어 설계는 async/await를 채택하기보다는, 자연스러운 동시성을 제공하는 스레드 기반의 모델을 개선해야 한다고 강조합니다.

암호학에서의 '속임수 없는 숫자'

암호학에서 '속임수 없는 숫자'는 해시나 암호 함수에서 악의적 목적으로 선택되지 않았음을 보여주기 위해 사용됩니다. 예를 들어, π의 자릿수나 소수의 제곱근 같은 수가 포함됩니다. 그러나 이러한 투명한 상수 사용이 암호 알고리즘에 숨겨진 약점이나 백도어가 없다는 것을 보장하지는 않습니다.

Chawan: 터미널용 웹 브라우저

Chawan은 터미널에서 웹사이트를 표시하고 탐색할 수 있는 텍스트 모드 웹 브라우저입니다. HTML5, CSS 레이아웃, 기본 자바스크립트 등을 지원하며, 여러 텍스트 기반 웹 브라우저와 비교되기도 합니다. 이 도구는 POSIX 호환 운영 체제와 Nim 컴파일러가 필요합니다.

LuaJIT을 위한 BPF 기반 프로파일러 구현

이 글은 LuaJIT 언어를 위한 제로-인스트루멘테이션 BPF 기반 프로파일러 구현에 대해 설명합니다. LuaJIT은 고성능 JIT 컴파일 버전의 Lua 스크립팅 언어로, OpenResty와 같은 웹 프레임워크에서 자주 사용됩니다. 프로파일러는 최소한의 스택 정보를 수집하여 사용자 프로그램에 전달하는 OpenTelemetry eBPF 프로파일러를 사용하여 구축되었습니다.

시각 장애가 없다는 이유로 hCaptcha 접근성 계정에서 차단당하다

hCaptcha 서비스는 시각 장애인 사용자를 위한 오디오 캡챠 옵션을 제공하지 않고, 대신 특별 계정을 통해 캡챠를 우회할 수 있게 합니다. 하지만, 저자는 접근성 우회 기능을 제대로 사용하지 못해 계정이 차단되었습니다. 이 사례를 통해, 저자는 의도적으로 접근성을 제한하는 회사를 신뢰하지 말 것을 경고합니다.

Gotraceui 소개

Gotraceui는 Go 프로그램 실행 추적을 시각화하는 도구로, Nixpkgs와 NixOS에서 사용할 수 있습니다. 최신 버전은 불안정 채널에 있으며, 새로운 버전이 Nixpkgs에 반영되기까지는 시간이 걸릴 수 있습니다. 또한, GitHub에서 제공되는 비공식 Flatpak도 있지만, 설치 시 주의가 필요합니다.

C보다 n배 빠른 Arm 에디션

블로그 포스트에서는 A64 명령어 세트를 최적화하는 과정을 다룹니다. 기본 C 구현부터 시작하여 다양한 최적화 기법을 탐구하며, 컴파일러 최적화가 SIMD 기반 접근 방식보다 우수할 수 있음을 발견했습니다. 이 과정에서 컴파일러의 능력과 하드웨어를 이해하는 것이 성능을 극대화하는 데 중요함을 강조합니다.

IPv6에서도 NAT는 필수적일 수 있습니다

IPv6 NAT는 종종 바람직하지 않게 여겨지지만, IPv6 접두사 위임과 서브네팅 문제를 해결하는 데 유용할 수 있습니다. 특히 여러 가상 머신이나 컨테이너를 가진 랩톱과 같은 장치에서 IPv6 주소를 효율적으로 할당하고 관리하는 것이 어려울 때 그렇습니다. 이러한 복잡한 로컬 네트워크를 가진 사용자의 필요에 의해 IPv6 NAT의 사용이 더욱 증가할 것으로 예상됩니다.

ChatGPT의 성능 저하

GPT-4 모델을 사용하여 비즈니스 피드백을 분석하던 작가는 2024년 11월 13일부터 모델의 성능이 갑자기 저하되었다고 보고합니다. 이로 인해 작가는 타사 제공자에 의존하지 않고 자체 호스팅 LLM 솔루션을 모색하고 있습니다. 이 문제가 다른 사용자들에게도 발생했는지 궁금해하고 있습니다.

텍스트 중심 프로그래밍 환경의 미해결 문제

Emacs Lisp와 Electron에서 텍스트 중심 애플리케이션을 계속 개발하는 것은 우리가 이 유형의 애플리케이션을 위한 좋은 고급 프로그래밍 시스템을 만들지 못했다는 것을 보여줍니다. 이러한 환경의 사용은 프로그래머의 선호가 아니라, 더 나은 대안의 부재 때문일 수 있습니다.

iOS 18의 비활성 재부팅 기능 역공학

iOS 18에서 새롭게 발견된 'inactivity_reboot' 기능은 3일간의 비활성 상태 후 자동으로 장치를 재부팅합니다. 이 기능은 Secure Enclave Processor (SEP) 가 마지막 잠금 해제 시간을 추적하고, 3일을 초과하면 재부팅을 시작하도록 설계되었습니다. 이는 도난 방지 및 법 집행 저지에 효과적인 보안 조치로 평가받고 있습니다.

Mirror: 예시 기반 프로그래밍 언어

Mirror는 예시 기반 프로그래밍만을 허용하는 새로운 프로그래밍 언어입니다. 사용자는 입력과 출력 예시를 제공하고, 시스템은 이를 만족하는 코드를 생성합니다. 이 언어는 숫자, 불린, 문자열, 리스트, 딕셔너리 같은 기본 타입을 지원하며, LLM을 사용하여 자바스크립트 코드를 생성합니다. GitHub에서 브라우저 기반 플레이그라운드를 통해 Mirror 코드를 작성하고 결과를 볼 수 있습니다.

Go에서 파이썬 사이드카를 활용한 머신러닝

Go 개발자들이 머신러닝 모델을 어딌리케이션에 통합하는 다양한 방법을 소개합니다. 가장 간단한 방법은 REST API를 통해 제공되는 인터넷 LLM 서비스를 사용하는 것입니다. 또한, 파이썬과 JAX를 사용하여 로컬에서 Gemma LLM 모델을 실행하고 Flask 기반 API로 노출하는 방법도 설명합니다.

CSS 스타일시트 요약: UI 요소 및 컴포넌트 스타일 정의

이 문서는 다양한 UI 요소에 대한 CSS 스타일을 정의합니다. 'cdx-button', 'vector-icon', 'uls-menu' 등의 클래스에 대한 스타일이 포함되어 있으며, 특히 언어 선택기와 관련된 스타일이 눈에 띕니다. 이 스타일시트는 시각적 요소에 중점을 두고 있습니다.

NFS 클라이언트의 잠금 손실과 SunOS의 SIGLOST 신호

NFS (Network File System)는 네트워크 잠금 프로토콜을 사용하는데, 이 때문에 클라이언트가 잠금을 잃어버리는 문제가 발생할 수 있습니다. 특히 NFS 서버가 재부팅될 때 발생하는데, 이는 '잠긴 NFS 잠금'으로 이어질 수 있습니다. Sun의 초기 NFS 구현은 이 문제를 SIGLOST 신호를 보내어 처리했습니다.

CPython의 가비지 컬렉터와 애플리케이션 성능에 미치는 영향

CPython은 주로 참조 카운팅을 사용하여 사용하지 않는 객체의 메모리를 회수합니다. 그러나 순환 참조를 처리하기 위해 가비지 컬렉터(GC)에 의존합니다. GC는 힙의 젊은 세대 객체 수가 임계값(파이썬 3.12 기준 2000)을 초과할 때 트리거됩니다. 이해와 최적화를 통해 파이썬 애플리케이션의 성능을 향상시킬 수 있습니다.

어셈블리 코드를 위한 AI 모델

어셈블리 코드를 사람이 읽을 수 있는 소스 코드로 역컴파일하는 것은 역공학에서 중요한 도전 과제입니다. 최근 RevEng.AI에서 개발한 AI 모델은 기존의 규칙 기반 역컴파일러보다 더 인간적인 소스 코드와 유사한 역컴파일 코드를 생성할 수 있습니다. 이러한 AI 기반 역컴파일은 맬웨어 분석, 레거시 코드 유지 관리, 취약점 연구 등에 필수적입니다.

FreeBSD에서의 스캔 작업

이 글에서는 1998년에 출시된 Canon CanoScan LiDE 25 USB 스캐너를 FreeBSD 시스템에서 사용하는 방법을 소개합니다. 필요한 패키지 설치 후, simple-scan GUI 도구를 통해 문서를 성공적으로 스캔하였습니다. 스캐너 사용에 대한 경험을 공유해 보세요!

shebanger: 쉘 스크립트를 쉬뱅 라인 시리즈로 변환하기

shebanger는 쉘 스크립트를 여러 쉬뱅 라인으로 변환하는 CLI 도구입니다. 이 도구는 원본 스크립트를 base-64로 인코딩하고, 분할하여 쉬뱅 라인만 있는 스크립트를 생성합니다. 이 스크립트들을 순서대로 실행하면 원본 test.sh 스크립트가 재구성되어 실행됩니다.

VictoriaLogs v1.0.0 출시

VictoriaLogs의 새 기능인 저장된 검색을 사용하면 자주 사용하는 검색 쿼리에 빠르게 접근할 수 있습니다. 이 기능은 특정 기준에 따라 결과를 정기적으로 필터링해야 할 때 유용합니다. 팀원과 검색 쿼리를 공유하거나 과거의 검색 결과를 신속하게 검색하는 데 도움이 됩니다.