데이터 구조 2

지그 쿼크

이 문서에서는 Zig 프로그래밍 언어의 다양한 특징과 기능에 대해 설명합니다. 메서드에서 수신자를 지정하기 위해 `@This()`를 사용하는 방법, Zig에서 파일은 구조체라는 사실, 함수, 타입, 변수에 대한 명명 규칙, `.{} 구문`을 사용한 익명 구조체 사용, `.field = value`로 구조체 필드 설정, 구조체 필드는 항상 공개된다는 사실, 컴파일 시간 실행을 위한 `comptime` 기능, 테스트를 위한 `std.testing.expectEqual` 함수 등의 주제를 다루고 있습니다. 이 문서에서는 식별자가 같은 이름을 사용하여 다른 식별자를 숨길 수 없는 Zig의 섀도잉 문제도 언급하고 있습니다. 저자는 이러한 각 주제에 대한 예제와 설명을 제공하여 언어를 배우는 사람들에게 유용한 리소..

Hacker News 2023.03.27

CRDT에 대한 친절한 소개

충돌 없는 복제 데이터 유형(CRDT)은 네트워크의 여러 컴퓨터에 복제할 수 있는 데이터 구조로, 애플리케이션이 다른 복제본과 조정하지 않고도 모든 복제본을 독립적으로 동시에 업데이트할 수 있습니다. CRDT는 공유 비즈니스 문서와 같이 여러 프로세스가 해당 상태에 대한 쓰기를 조정하지 않고 동일한 상태를 수정하려는 경우에 유용합니다. 가장 간단한 CRDT 중 하나는 증가만 가능한 집합이며, 이를 조금 더 유용하게 구현한 것이 각 행이 UUID로 키가 지정되고 삽입만 허용되는 데이터베이스 테이블입니다. 마지막 쓰기 승자가 행을 병합하는 일반적인 접근 방식이지만, 이를 구현할 때 패자의 타임스탬프를 업데이트하는 것을 잊거나 동시 편집에 대한 잘못된 타이 브레이커가 있는 등 몇 가지 실수가 발생할 수 있습니..

Hacker News 2023.02.11