Jank, 새로운 매크로와 인터폴레이션 문법 추가
Jank에는 새로운 if-some 매크로와 C++ 코드를 위한 ~{} 인터폴레이션 문법이 추가되었습니다. 또한, 익명 함수와 var quoting을 위한 리더 매크로 지원이 확장되었고, C++과 Lisp의 영향을 받은 새로운 로고도 소개되었습니다. Jank의 발전에 관심 있는 커뮤니티 구성원들의 참여를 기다립니다.
Jank, 새로운 매크로와 인터폴레이션 문법 추가
Jank에는 새로운 if-some 매크로와 C++ 코드를 위한 ~{} 인터폴레이션 문법이 추가되었습니다. 또한, 익명 함수와 var quoting을 위한 리더 매크로 지원이 확장되었고, C++과 Lisp의 영향을 받은 새로운 로고도 소개되었습니다. Jank의 발전에 관심 있는 커뮤니티 구성원들의 참여를 기다립니다.
러스트로 빠르게 개발하기, 첫 번째 파트
초기 단계 스타트업 팀은 러스트를 사용하여 SQL 컴파일러, 의미 분석기, 데이터 빌드 시스템인 SDF를 처음부터 구축하기로 결정했습니다. 러스트의 학습 곡선에도 불구하고, 데이터 복제 전략을 통해 MVP를 신속하게 구축하고 이정표를 달성했습니다. 실제 작업에서 복제의 성능 영향은 미미했으며, 타입 시스템과 낮은 스트레스 리팩토링 능력 덕분에 자신감 있게 코드베이스를 여러 번 개선할 수 있었습니다.
제스처 재킹: 새로운 웹 공격 벡터
새로운 공격 벡터인 '제스처 재킹'은 사용자가 키를 길게 누르는 것과 같은 제스처를 처리하는 방식을 악용합니다. 이 공격은 사용자가 의도하지 않은 행동을 하게 만들 수 있으며, 클릭재킹 공격과 유사하지만 더 신뢰성이 높습니다. 웹사이트는 이 공격을 방어하기 위해 여러 방법을 사용할 수 있습니다.
ISA 설계 방법
ISA 설계에는 공식적인 교육이 없으며, ISA는 컴파일러와 마이크로아키텍처 사이의 중요한 연결고리입니다. 일반적인 목적의 ISA는 존재하지 않으며, 비즈니스 관점과 마이크로아키텍처의 중요성도 강조됩니다. 좋은 ISA는 현실적인 절충을 통해 설계되며, 설계 결정의 영향을 측정하는 것이 중요합니다.
xz/liblzma 상류에서 발견된 백도어, SSH 서버 침해로 이어져
xz 저장소와 xz tarballs에 백도어가 삽입되어, 이를 통해 OpenSSH 서버가 침해될 수 있는 상황이 발생했습니다. 이 백도어는 liblzma를 빌드할 때 악의적인 코드를 실행하도록 Makefile을 수정하는 스크립트를 주입합니다. 특히, x86-64 리눅스 시스템을 대상으로 하며, Debian이나 RPM 패키지 빌드 중 실행됩니다. 이 문제는 Debian 보안팀에 보고되었으며, Red Hat에서는 CVE-2024-3094를 할당했습니다. 시스템이 취약한지 여부를 확인할 수 있는 스크립트도 제공됩니다.
언어가 도달할 수 없는 코드를 금지하는 이유는 무엇일까요?
C#에서 도달할 수 없는 코드는 단순한 규칙을 통해 감지되며, 컴파일 시점 상수 표현식과 논리 표현식 분석을 수행합니다. 이러한 분석은 메소드의 반환 유형, out 매개변수 할당, switch 문 및 지역 변수 할당 규칙을 보장하기 위해 중요합니다. 그러나, 이는 오류가 아닌 경고로 처리되어 디버깅 과정을 용이하게 합니다. 개발자가 코드를 수정하며 디버깅할 때 도달할 수 없는 코드를 쉽게 추가할 수 있도록 하기 위함입니다.
페도라 워크스테이션 40에서 우리가 집중하고 있는 것들
페도라 워크스테이션 40 베타 발표에서 Flatpak 개선, Toolbx 개발자 도구의 NVIDIA 바이너리 드라이버 지원, 새로운 Nova GPU 드라이버 개발 등 다양한 개선 사항과 새로운 기능들이 소개되었습니다. 이러한 변화들은 데스크톱 경험, 개발자 도구, 그리고 신흥 기술 지원을 강화하는 데 중점을 두고 있습니다.
대시의 클라이언트 측 인증의 허위 보안
대시 대시보드 앱에서 발견된 보안 문제에 대해 개발자들이 내장 인증 시스템을 폐기하기로 결정했습니다. 이 결정은 주로 자바스크립트를 사용하여 쉽게 우회할 수 있는 클라이언트 측 인증 시스템 때문에 발생했습니다. 사용자들은 대시 대신 서버 측에서 안전하게 민감한 정보를 처리하는 대안 대시보드를 사용하는 것이 좋습니다.
Ruzzy 소개: Ruby를 위한 커버리지 가이드 퍼저
Trail of Bits가 Ruby 코드와 Ruby C 확장을 위한 커버리지 가이드 퍼저인 Ruzzy를 소개했습니다. Ruzzy는 소프트웨어에서 신뢰할 수 없는 입력을 처리할 때 발생할 수 있는 버그를 찾는 데 도움을 줍니다. Google의 Atheris 퍼저에서 영감을 받아 만들어졌으며, Ruby 커뮤니티에 더 높은 수준의 소프트웨어 보증을 제공하는 것을 목표로 합니다.
DuckDB의 외부 집계 기능
DuckDB 0.9.0부터는 메모리에 맞지 않는 많은 그룹을 효율적으로 집계하기 위해 데이터를 저장소로 오프로드할 수 있습니다. 이는 메모리가 부족한 환경에서도 큰 규모의 집계 쿼리를 처리할 수 있게 해주며, 특수한 페이지 레이아웃과 병렬 해시 집계 기법을 사용합니다. 실험 결과, DuckDB는 최대 10억 개의 고유 그룹을 포함하는 쿼리도 빠르게 처리할 수 있음을 보여줍니다.
quackpipe: ClickHouse 사용자를 위한 DuckDB 솔루션
QuackPipe는 DuckDB 위에 구축된 서버리스 OLAP API로, ClickHouse HTTP API를 모방하고 별칭을 제공합니다. DuckDB SQL과 클라우드 스토리지를 친숙한 API를 통해 탐색할 수 있으며, 기존의 습관과 통합을 포기할 필요가 없습니다. 무료로 인스턴스를 시작하고, 다양한 확장 기능을 사용해 보세요!
FRITZ!Box 4040 출시 지연, AVM 업데이트 속도 저하
FRITZ!Box는 고품질 하드웨어와 자동 펌웨어 업데이트로 잘 알려져 있지만, 4040 모델은 이미 2년이 지난 End-of-Life 상태로 최신 펌웨어 업데이트를 받지 못합니다. 설치가 점점 복잡해지고 광고 차단 기능이 없는 점도 단점입니다. 그럼에도 불구하고, 이 제품은 여전히 가치가 있을 수 있습니다.
Ayllu - 새로운 이메일 기반 Git 포지
Ayllu는 프로젝트 탐색, 소스 코드 분석, 증분 작업 시스템, 확장 가능한 플러그인 시스템을 제공하는 웹 기반 Git UI입니다. 또한, 완전히 커스터마이징 가능한 테마, 빠른 프론트엔드, 정적 호스팅, 메일링 리스트 관리 등을 지원하며, 지속적인 통합, 외부 API, 연합 등의 새로운 기능이 계획되어 있습니다.
리눅스 서버 관리를 위한 칵핏
칵핏은 레드햇이 후원하는 웹 기반 리눅스 관리 도구로, 2013년에 시작되었습니다. 이 도구는 시스템 관리를 위한 일관되고 발견하기 쉬운 GUI를 제공하며, 다양한 리눅스 배포판에서 사용할 수 있습니다. 칵핏은 시스템 서비스, 사용자 계정, 로그, 네트워킹 관리 등을 지원하며, 필요시 웹 기반 터미널도 제공합니다. 강력하면서도 조용히 개발되고 있는 리눅스 관리 도구로 더 많은 주목을 받을 자격이 있습니다.
2023-2024년 초보 개발자로 해고당하는 경험
한 전직 교사가 개발자로 전향한 후, 2023년에 해고의 아픔을 겪었습니다. 도전적인 구직 과정과 네트워킹의 중요성을 깨달은 그는 결국 Kin Insurance에서 풀스택 레일즈 개발자로 새로운 기회를 얻게 됩니다. 이 이야기는 초기 경력 개발자들에게 희망과 교훈을 전합니다.
Wall-Escape (CVE-2024-28085): util-linux wall 명령어의 이스케이프 시퀀스 삽입 취약점
util-linux의 wall 명령어는 명령 줄 인수에서 이스케이프 시퀀스를 필터링하지 않아, 권한이 없는 사용자가 다른 사용자의 터미널에 임의의 텍스트를 표시할 수 있게 합니다. 특히, Ubuntu 22.04와 Debian Bookworm에서는 기본적으로 취약점에 노출되어 있어, 사용자의 비밀번호 유출이나 클립보드 변경 등의 공격이 가능합니다.
ServiceRouter: 메타에서의 초대규모 및 저비용 서비스 메시
메타의 ServiceRouter는 분산 서비스에 필요한 서비스 발견, 라우팅, 신뢰할 수 있는 로드 밸런싱을 구현합니다. 이 시스템은 글로벌 로드 밸런싱과 샤딩 서비스 지원을 통해 초대규모 시스템에서의 도전을 해결합니다. 특히, SRLib을 내장함으로써 하드웨어 비용을 절감하는 동시에 새로운 접근 방식을 제시합니다.
MBTA 열차 표시기의 비밀을 풀다: 자동차 속도계로의 변신
한 꿈에서 무거운 금속 상자를 들고 있는 자신을 발견한 저자는 그 상자가 지역 교통 기념품점에서 구한 열차 표시기 장치임을 알게 됩니다. 이 장치는 기차 운전사가 신호를 볼 수 없을 때 속도 제한을 알려주는 '종합 표시 장치'입니다. 저자와 파트너는 이 장치를 역공학하여 아두이노 프로그램으로 조명과 속도계를 제어하고, 자동차 속도계에 통합하는 데 성공했습니다. 이 과정에서 다양한 기술적 도전을 극복하며, 결국 자동차에서 GPS 데이터를 기반으로 속도 제한을 표시하는 데 성공했지만, GPS 속도 측정에는 일부 문제가 있었습니다.
AI 시대의 텍스트 에디터 구축
AI 도구의 능력에 처음에는 놀랐지만, 복잡한 Rust 코드베이스에 통합하는 데 있어 도전도 경험한 창립자들. Zed는 사용자가 텍스트를 선택하고 AI가 생성한 제안을 받을 수 있는 '인라인 어시스트' 기능을 도입했습니다. AI 기능의 로드맵은 AI가 접근할 수 있는 컨텍스트를 개선하고, 외부 도구를 호출할 수 있게 하는 것을 포함합니다. 창립자들은 AI가 프로그래밍을 완전히 대체할 것이라고는 보지 않지만, 새로운 가능성을 열어줄 것으로 기대합니다.
모듈러, 모조 표준 라이브러리 오픈 소스화 발표
모듈러가 모조 표준 라이브러리의 핵심 모듈을 아파치 2 라이선스 하에 오픈 소스화했습니다. 이는 커뮤니티 피드백을 통해 더 나은 결과를 얻기 위한 중요한 단계입니다. 또한, 활발하고 참여적인 오픈 개발 커뮤니티를 조성하기 위해 노력하고 있으며, 앞으로 모조와 MAX 플랫폼의 더 많은 부분을 오픈 소스화할 계획입니다. 커뮤니티 참여를 적극적으로 권장하며, 기여자에게는 스웨그와 다른 혜택을 제공할 예정입니다.