TCC와 macOS 플랫폼 샌드박스 정책
TCC는 macOS에서 애플리케이션이 민감한 자원에 접근할 때 사용자 권한을 관리하는 시스템입니다. 플랫폼 샌드박스 정책은 모든 프로세스에 적용되어 파일 시스템과 같은 자원 접근을 제한합니다. 이 두 시스템은 함께 작동하여 사용자가 승인한 경우에만 자원 접근을 허용합니다. 카메라와 같은 자원 접근 시 TCC 프롬프트가 발생하여 보안을 강화합니다.
TCC와 macOS 플랫폼 샌드박스 정책
TCC는 macOS에서 애플리케이션이 민감한 자원에 접근할 때 사용자 권한을 관리하는 시스템입니다. 플랫폼 샌드박스 정책은 모든 프로세스에 적용되어 파일 시스템과 같은 자원 접근을 제한합니다. 이 두 시스템은 함께 작동하여 사용자가 승인한 경우에만 자원 접근을 허용합니다. 카메라와 같은 자원 접근 시 TCC 프롬프트가 발생하여 보안을 강화합니다.
pyinfra와 Chimera Linux로 작은 CDN 구축하기
링크 블로그 Linked List의 속도를 높이기 위해 전 세계에 서버를 배포했습니다. pyinfra로 자동화하고 Chimera Linux를 사용해 평균 응답 시간을 807ms에서 189ms로 줄였습니다. GeoDNS와 TLS 인증서 관리로 방문자 위치에 맞춘 최적의 서버로 연결합니다. 이 과정에서 비용은 크게 들지 않았습니다.
마법 시계는 무엇을 위한 것일까?
AWS의 새로운 서버리스 SQL 데이터베이스 DSQL이 발표되면서, 분산 시스템에서의 원자 시계 사용이 주목받고 있습니다. 이는 일관성을 보장하는 데 중요한 역할을 하며, MVCC와도 관련이 있습니다. 마법 시계는 타임스탬프 문제를 해결해 지연 시간과 일관성을 개선합니다.
The Shepherd 1.0.0 출시: Scheme으로 작성된 초기화 시스템
The Shepherd가 21년 만에 드디어 1.0.0 버전으로 안정화되었습니다! 이 서비스 관리자는 Guile Scheme을 통해 구성 및 확장이 가능하며, 초보자도 쉽게 접근할 수 있습니다. 새로운 기능으로는 주기적 서비스 실행과 로그 회전 등이 추가되었습니다. 미래에는 동적 재구성 서비스와 분산 기능이 기대됩니다.
새로운 공식 CSS 로고
CSS의 새로운 공식 로고가 탄생했습니다! 기존의 CSS3 방패 로고를 넘어, CSS 전체를 대표하는 디자인으로 rebeccapurple 색상을 포함하고 있습니다. 이 로고는 Creative Commons Zero 라이선스로 제공되며, 사용 지침을 따라야 합니다. 웹에서의 사용법과 기여 방법도 함께 확인해보세요!
더 빠른 소프트웨어로 CO₂ 배출 줄이기
소프트웨어 개발자로서 기후 변화에 맞서 싸우는 방법은 무엇일까요? 빠른 소프트웨어는 전력 소비를 줄여 탄소 배출을 감소시킬 수 있습니다. 병렬 처리를 통해 전력 사용을 줄이고, 효율적인 코드로 전력 소비를 최소화하세요. 지역 정치에 참여하는 것도 큰 도움이 됩니다!
이제 내 노트북에서 GPT-4급 모델을 실행할 수 있어요
이제 Meta의 새로운 Llama 3.3 70B 모델을 내 MacBook Pro M2에서 실행할 수 있게 되었어요! 불과 20개월 전만 해도 GPT-3급 모델을 실행하는 것에 놀랐는데, 이제는 더 강력한 모델을 노트북에서 돌릴 수 있다니 정말 대단하죠. Ollama를 사용해 모델을 다운로드하고, 다양한 프롬프트를 테스트해봤어요. 이 모델은 HTML과 JavaScript 코드를 생성할 수 있을 정도로 뛰어난 성능을 보여줬답니다. 앞으로도 이런 효율성 개선이 계속된다면, 더 많은 가능성이 열릴 것 같아요!
Dual_EC_DRBG와의 대화: 저스틴 슈와 매튜 그린
이 에피소드에서는 Dual_EC_DRBG라는 논란의 난수 생성기를 둘러싼 NSA의 의도에 대해 토론합니다. 저스틴 슈는 이를 단순한 실수로 보지만, 매튜 그린은 백도어로 설계되었다고 주장합니다. NIST의 표준화 과정과 Juniper 사건을 통해 이 알고리즘의 보안 문제를 심도 있게 탐구합니다.
Rust로 MIDI 메시지 파싱하기
MIDI는 디지털 악기 간의 소통을 위한 표준으로, 1980년대 초에 등장해 여전히 널리 사용되고 있어요. Rust로 MIDI 프로토콜을 직접 구현하며 파서 컴비네이터를 활용해 메시지를 파싱하는 방법을 탐구합니다. 이 과정은 MIDI의 작동 원리를 이해하고, 다양한 메시지 유형을 다루는 데 유용해요.
최소한의 클라이언트 측 복잡성 규칙
클라이언트 측 코드는 개발자가 제어할 수 없는 환경에서 실행됩니다. 이는 사용자 경험을 저해할 수 있는 무거운 JavaScript와 같은 문제를 야기할 수 있습니다. 데이터 사용량, 배터리 수명, 개인정보 보호와 같은 비용은 클라이언트가 부담하게 됩니다. 이러한 외부 비용은 AI나 블록체인 같은 기술에서도 발생할 수 있습니다. 이 글은 웹 개발자가 직면한 도전과제를 다루며, 클라이언트 측 복잡성을 최소화하는 것이 중요하다고 강조합니다.
SHA-256 충돌과 명령어 주입으로 OpenWrt 공급망 공격하기
OpenWrt의 Attended Sysupgrade
기능에서 발견된 SHA-256 충돌과 명령어 주입 취약점을 통해 공급망을 공격하는 방법을 소개합니다. RyotaK는 이 취약점을 발견하고 OpenWrt 팀에 보고하여 빠른 대응을 이끌어냈습니다. 이 글은 보안에 관심 있는 분들에게 흥미로운 주제가 될 것입니다.
Rails와 PostgreSQL로 밀리초 단위의 전체 텍스트 검색 구현하기 (2020)
데이터베이스에서 자연어로 대량 문서를 검색하고 싶다면, PostgreSQL의 전체 텍스트 검색 기능을 활용해보세요. 이 글에서는 Rails와 pg_search Gem을 사용해 검색 성능을 130ms에서 7ms로 최적화하는 방법을 소개합니다. 트리그램과 ILIKE의 장점을 결합한 이 방법은, 추가 서비스 없이도 강력한 검색 기능을 제공합니다.
OpenWrt 보안 문제로 빌드 아티팩트 손상 가능성
OpenWrt 프로젝트의 Attendedsysupgrade Server에서 보안 문제가 발견되어 펌웨어 이미지가 손상될 가능성이 있었습니다. 다행히 공식 이미지나 21.10.0-rc2 커스텀 이미지는 영향을 받지 않았습니다. 문제는 SHA-256 해시의 잘림과 명령어 주입 취약점에서 비롯되었습니다. 사용자들은 같은 버전으로 업그레이드하여 위험을 줄일 수 있습니다.
qutebrowser: Python과 Qt 기반의 키보드 중심 브라우저
qutebrowser는 Python과 Qt로 개발된 키보드 중심의 브라우저로, vim과 유사한 인터페이스를 제공합니다. 무료 소프트웨어로, 기여와 버그 리포트가 활발히 이루어지고 있습니다. 기부를 통해 개발을 지원할 수 있으며, 다양한 플랫폼에서 설치 가능합니다. 보안 문제는 지정된 이메일로 보고하세요.
모바일에서 TPC-H SF100 실행하기
DuckDB가 iOS와 Android에서 TPC-H 벤치마크를 실행하며, 20년 전 고성능 머신보다 빠르게 완료합니다. iPhone 16 Pro는 615.1초, 삼성 Galaxy S24 Ultra는 235.0초로 뛰어난 성능을 보였습니다. AWS EC2와 비교해도 인상적인 결과를 보여주며, 미래의 성능 향상이 기대됩니다.
인터넷을 되찾다: 모질라의 새로운 기술 시대를 위한 리브랜딩
모질라가 인터넷을 되찾기 위한 새로운 리브랜딩을 발표했습니다. 25년 넘게 자유롭고 개방된 웹을 지지해온 모질라는 사용자 프라이버시와 커뮤니티 참여를 우선시하며, 디지털 권리와 혁신에 중점을 둡니다. 새로운 브랜드는 개인화된 온라인 경험을 제공하며, AI와 제품 성장을 지원할 예정입니다.
윈도우 3.0의 보호 모드 지원, 사실상 1인 프로젝트였다
마이크로소프트의 데이비드 와이즈는 윈도우의 메모리 관리 기능을 개선하여 보호 모드를 구현한 주역입니다. 이 프로젝트는 비밀리에 진행되었으며, 스티브 발머와 빌 게이츠에게 깜짝 발표로 큰 반향을 일으켰습니다. 이로 인해 윈도우는 더 많은 개발자들의 관심을 끌게 되었죠!
재미와 이익을 위한 자율 시스템 구축
인터넷은 독립적으로 운영되는 네트워크의 집합체입니다. 자율 시스템을 구축하려면 공인 IP 주소와 자율 시스템 번호(ASN)가 필요합니다. 최근에 친구와 함께 데이터 센터에서 비용을 절감하기 위해 자율 시스템을 설정했습니다. 이 과정은 복잡했지만, 인터넷과의 연결을 더 깊이 이해할 수 있는 기회였습니다.
Patroni에서의 Jepsen 테스트: PostgreSQL 고가용성 솔루션
PostgreSQL의 고가용성(HA) 솔루션을 탐구하며, Jepsen 테스트를 통해 Patroni의 초기 결과를 소개합니다. PostgreSQL의 복제 문제로 인해 데이터 손실 가능성이 있으며, Kubernetes 환경에서의 테스트를 통해 이를 재현했습니다. 향후 다양한 실패 시나리오를 통해 추가적인 문제를 탐색할 계획입니다.
인라인이 유용한 경우는 언제일까?
인라인은 고수준 언어에서 최적화를 가능하게 해주는 중요한 기법입니다. 예를 들어, 중복된 경계 검사나 오류 검사를 피할 수 있으며, 박싱을 줄이고 다형성의 오버헤드를 줄일 수 있습니다. 특히, 이진 파일 디코딩이나 Dart의 표준 라이브러리에서 인라인은 성능을 크게 향상시킬 수 있습니다.