.png?table=block&id=35e68e26-5a7c-80f9-a461-e8c4ba77e2e3&cache=v2)
Rust 학습 노트 (5) - 빌림 상태는 언제까지 유효한가, lifetime
빌림이 가리키는 데이터가 먼저 사라지면 무슨 일이 생기는지에서 출발해 Rust의 lifetime을 정리합니다. 'a 표기가 등장하는 순간, 매번 적지 않아도 되는 이유, 그리고 'static의 의미까지 다룹니다.
.png?table=block&id=35968e26-5a7c-80c6-b0c4-f7e58d93020c&cache=v2)
Rust 학습 노트 (4) - 잠시 빌려쓰는 변수, borrow
소유권을 넘기지 않고 잠시 빌려 쓰는 방법, borrow를 정리합니다. & 한 글자가 하는 일, &와 &mut 두 종류의 차이, 그리고 컴파일러가 빌림을 막아서는 순간을 예시로 따라갑니다.
.png?table=block&id=35868e26-5a7c-8069-8332-e8077259d27c&cache=v2)
Rust 학습 노트 (3) - Rust는 매 순간이 소유권 분쟁이다.
let a = b; 한 줄을 Rust 컴파일러가 막아선 이유를 소유권으로 합니다. TypeScript에서는 일어나지 않는 일이 왜 여기서는 문제가 되는지, move가 왜 책임의 이전인지, Copy 타입은 왜 예외인지를 다룹니다.
.png?table=block&id=35868e26-5a7c-80a9-93ad-e4026b506fd4&cache=v2)
Rust 학습일지 (2) - Rust의 Compiler는 과할만큼 친절하다
Rust 컴파일러를 까다롭다가 아니라 친절하다고 느껴게 된 과정을 정리합니다. Option<T>로 null이 새어나오지 않게 하고, Result<T, E>로 실패를 타입으로 만들고, match로 모든 경우를 강제하는 세 장치를 살펴봅니다.
.png?table=block&id=35868e26-5a7c-8056-8827-e870f8a291e4&cache=v2)
Rust 학습일지 (1) - Rust의 정수 타입이 12개인 이유
TypeScript에 익숙한 눈으로 Rust를 처음 열었을 때 드는 의문, 왜 정수 타입이 12개인가를 다룹니다. 비트 패턴은 같은데 해석이 다르다는 점, usize/isize의 정체, number 하나의 편안함이 감춰온 것을 짚습니다.
kyu-log