read: fail

리눅스 파이프의 속도 저하 문제

리눅스 파이프가 예상보다 느린 이유를 탐구한 글입니다. 특히, vmsplice 시스템 호출을 사용하지 않는 경우 최대 8 GB/s의 처리량에 그치는 반면, vmsplice를 사용하면 200 GB/s 이상을 달성할 수 있음을 발견했습니다. 이는 리눅스 커널의 파이프 처리 코드가 고속 처리에 최적화되어 있지 않기 때문입니다.

512바이트 바이너리 시드로 리눅스 시스템 부트스트랩하기: 170단계

이 문서는 512바이트 바이너리 시드를 사용하여 리눅스 시스템을 처음부터 완전히 구축하는 과정을 단계별로 설명합니다. hex0 언어부터 시작하여 GNU 유틸리티, gcc, python 등을 포함한 현대 소프트웨어까지, 모든 것을 소스에서 직접 구축하는 복잡성을 보여줍니다.

파이썬 고급 활용: 코드 생성을 통한 고성능 달성

이 기사에서는 동적 코드 생성이라는 기법을 통해 파이썬 코드의 성능을 향상시키는 방법을 설명합니다. 특히, 자주 호출되는 내부 루프의 성능을 높이기 위해 사용되며, 실제 사례로 Humu에서 데이터 필터링 작업을 거의 2배 가까이 빠르게 처리한 예를 들어 설명합니다. 코드 생성은 파이썬 바이트코드를 직접 생성함으로써 구현되며, 이는 파이썬 컴파일 과정의 오버헤드를 피할 수 있습니다.

CORS와 동일 출처 정책 설명

CORS와 동일 출처 정책은 웹 브라우저에서 교차 출처 자원 접근을 제어하는 관련 시스템입니다. CORS는 기본적으로 읽기를 차단하지만, 암묵적 자격증명을 이용한 요청은 막지 못합니다. API 토큰 같은 명시적 자격증명 사용이 더 안전한 접근 방법입니다.

ChatGPT와 함께하는 프로그래밍

ChatGPT를 사용하면 코드 작성이 매우 효율적이며, 특정 요구사항에 맞는 코드를 제공받을 수 있습니다. 작성자는 기본 사례에서 시작하여 기능을 점진적으로 추가하는 워크플로우를 따르며, 이는 ChatGPT와 잘 맞습니다. 또한, ChatGPT는 프로그래머에게 유용한 도구로 평가되지만, 프로그래머를 완전히 대체할 것이라는 주장에는 회의적입니다.

연락처를 저장하지 않고 WhatsApp을 바로 열기

이 앱은 연락처에 추가하지 않고도 WhatsApp에서 사람들과 직접 채팅할 수 있게 도와줍니다. 번호를 복사하기만 하면 앱이 클립보드를 읽고 WhatsApp으로 리디렉션합니다. 안드로이드와 구글 크롬에서 테스트되었습니다.

‘YOLO’는 유효한 해시 구조가 아닙니다

‘YOLO’ 해시 구조는 암호학 문제를 해결하려는 시도에서 흔히 발생하는 문제점들을 지니고 있습니다. 이 구조들은 애매한 인코딩 문제를 일으키거나 길이 확장 공격에 취약합니다. 전문가들은 HMAC, KMAC, Argon2, scrypt와 같은 표준화된 방법을 사용할 것을 권장합니다.

OSV, C/C++ 취약점 관리 지원 확대 소개

OSV(Open Source Vulnerabilities)는 이제 C 및 C++ 의존성을 가진 소프트웨어의 취약점 관리를 가능하게 하는 취약한 커밋 범위를 포함합니다. 이는 C/C++ 생태계에서 중앙 집중식 패키지 레지스트리의 부재를 해결하고, 보다 정밀한 취약점 매칭을 제공합니다. 최신 OSV-Scanner 릴리스를 사용해 보고 피드백을 제공해 데이터 품질 개선에 도움을 줄 수 있습니다.

큐잉 셸 게임

는 자원에 대한 수요가 공급을 초과할 때 자연스럽게 발생합니다. 예를 들어, 웹 애플리케이션에서 큐를 제거하려고 해도, 그 큐는 시스템의 다른 부분으로 이동할 뿐입니다. 결국, 큐를 완전히 없애는 것은 요청 자체를 줄이는 것이 유일한 해결책입니다.

CardStock.run - 웹에서 빠르고 쉽게 앱을 만드세요

CardStock.run은 웹 애플리케이션을 빠르게 프로토타이핑하고 구축할 수 있는 플랫폼입니다. 여러 사람이 동시에 코드를 편집할 수 있으며, 작업한 스택을 링크로 공유하거나 휴대폰에 앱으로 저장할 수 있습니다. 데스크톱 애플리케이션에서도 디자인 가능합니다.

커플링을 공동 설명으로 이해하기

커플링이란 소프트웨어 설계에서 모듈 간의 관계를 의미합니다. 이 개념은 시간이 지남에 따라 구체적인 정의에서 더 직관적인 이해로 발전했습니다. 이제 커플링을 '공동 설명'으로 정의하자는 제안이 있습니다. 이는 두 요소가 어떻게 함께 설명되고, 그 의미가 어떻게 얽혀 있는지를 나타냅니다.

npm에서 사용 가능한 EYG 언어용 JavaScript 인터프리터

EYG는 모든 환경에서 실행될 수 있는 프로그램을 위한 중간 표현 방식입니다. 이제 eyg-run 패키지를 통해 JavaScript 환경에서 EYG 프로그램을 실행할 수 있으며, node.js와 브라우저에서 사용 가능합니다. 관련 문서는 GitHub에서 확인할 수 있습니다.

도메인 이름 충돌로 글로벌화되는 로컬 네트워크

새로운 최상위 도메인(TLD)의 증가로 인해 내부 도메인 이름이 공개 도메인과 겹치는 '네임스페이스 충돌'이 발생하여 보안 취약점이 생겼습니다. 이로 인해 누구나 해당 도메인을 등록하고 Windows 사용자 이름과 비밀번호를 가로챌 수 있습니다. 연구자 필립 카튜레글리는 이 문제의 심각성을 지적하며, 해결책을 찾기 위한 노력이 필요함을 강조했습니다.

기하학적 검색 트리

이 문서는 G-트리라는 새로운 검색 트리 데이터 구조에 대해 소개합니다. G-트리는 zip-트리, zip-zip-트리, 밀집 스킵-트리 등 기존의 여러 데이터 구조를 포괄하며, 이진화된 무작위 트리를 개념적으로 단순화하여 효율적인 k-진 트리를 구현합니다. 또한, 캐시나 외부 메모리 모델에서 효율적인 새로운 k-진 G-트리를 도입하였습니다.

ircpipe - IRC를 위한 넷캣

ircpipe는 IRC 프로토콜의 복잡성을 처리하고 사용자가 실제 커뮤니케이션에 집중할 수 있게 해주는 유틸리티입니다. 이 도구는 PING/PONG 메시지, 연결 설정, 인증, 채널 참여를 자동으로 처리하며, 스마트폰으로 알림을 받을 수 있는 알림 설정에도 사용됩니다.

안드로이드에 16 KB 페이지 크기 추가

안드로이드는 역사적으로 4 KB 페이지 크기에 최적화되어 왔지만, ARM CPU는 5-10%의 성능 향상을 제공할 수 있는 16 KB 페이지 크기를 지원합니다. 안드로이드 15는 두 페이지 크기를 모두 지원하여 제조업체가 더 큰 페이지 크기를 선택할 수 있게 할 예정입니다. 이는 더욱 효율적이고 성능이 개선된 안드로이드 기기를 가능하게 할 중요한 변화입니다.

OpenSSH 백도어 사건

2002년2024년에 발생한 OpenSSH 백도어 사건을 다룬 문서입니다. 이 사건들은 빌드 시스템을 통해 소프트웨어 공급망을 공격하는 방식으로, 복잡성과 감시 부족을 이용했습니다. 특히 2024년 공격은 더욱 정교하게 진행되었으며, 이러한 공급망 공격은 오늘날에도 여전히 위협적입니다.

설명의 구조

소프트웨어 개발은 소프트웨어의 의미와 기대하는 바를 설명하는 반복적 과정으로 볼 수 있습니다. 설명에는 세 부분이 있습니다: 이미 알려진 접두사, 알아야 할 내용, 그리고 아직 필요 없는 접미사. 이 구조를 이해하는 것은 우리가 소프트웨어에 대해 어떻게 소통하는지 개선하는 데 중요합니다.

파이썬으로 스프레드시트 엔진을 만드는 모험

블로그 포스트에서는 파이썬을 사용하여 스프레드시트 엔진을 처음부터 구축하는 과정을 소개합니다. 그래프로 스프레드시트를 표현하고, 의존성을 추적하기 위해 문법과 방문자 패턴을 사용했습니다. 또한, 기본적인 수학 공식을 지원하며, 순환 참조와 범위 쿼리 처리 등의 도전을 경험했습니다.

LLM을 활용한 구조화된 데이터 생성 - 기본을 넘어서

LLM을 활용하여 구조화된 데이터를 생성하는 방법에 대해 알아보세요. 스키마를 풍부하게 하고, 필드 순서를 논리적으로 배열하며, 여러 출력을 생성하여 최적의 결과를 선택하는 등의 전략이 포함됩니다. 또한, 비용을 줄이기 위한 프롬프트 캐싱과 작고 저렴한 모델 사용도 소개됩니다.