kyu-log

Kyujin Hong's Dev-Blog

안녕하세요! 언제나 문제가 발생할 때면
"시스템적으로 막을 수는 없을까?"
집요하게 고민하는 Frontend 개발자
홍규진입니다.

Rust 학습 노트 (5) - 빌림 상태는 언제까지 유효한가, lifetime
Rust

Rust 학습 노트 (5) - 빌림 상태는 언제까지 유효한가, lifetime

이 글은 Rust의 lifetime을 정리합니다. Rust 학습 노트 시리즈의 다섯 번째 글이며, 이전 글에서 다룬 borrow는 한 가지 대전제를 깔고 있었습니다. 바로, “빌림은 영원하지 않다는 전제”입니다. 이 글에서는 그 유한한 기간을 Rust 컴파일러가 어떻게 추적하는지,…

Rust 학습 노트 (4) - 잠시 빌려쓰는 변수, borrow
Rust

Rust 학습 노트 (4) - 잠시 빌려쓰는 변수, borrow

이 글은 Rust에서 변수를 옮기지 않고 잠시 빌려쓰는 방법, 즉 borrow를 정리합니다. Rust 학습 노트 시리즈 중 한 편이며, 이전 글에서 다룬 소유권 모델은 일반적인 상황에서 너무 불편합니다. 모든 함수들이 그 소유권을 다 가져가버리면, 사실 변수의 의미가 없어지게 됩니다.…

Rust 학습 노트 (3) - Rust는 매 순간이 소유권 분쟁이다.
Rust

Rust 학습 노트 (3) - Rust는 매 순간이 소유권 분쟁이다.

이 글은 let a = b;라는 한 줄을 Rust 컴파일러가 막아선 경험을 정리합니다. 이전 글에서 다룬 컴파일러의 친절함이 더 깊은 곳에서 어떻게 작동하는지, 변수와 값의 관계를 다시 들여다본 기록입니다. Rust 학습 노트 시리즈의 세 번째 글이며, 이번에는 소유권 중에서도…

Rust 학습일지 (2) - Rust의 Compiler는 과할만큼 친절하다
Rust

Rust 학습일지 (2) - Rust의 Compiler는 과할만큼 친절하다

이 글은 Rust 실습을 하다보니, 컴파일러를 "까다롭다"가 아니라 "친절하다"고까지 느끼게 된 과정을 정리합니다. 그 친절함이 구체적으로 어떤 장치들을 통해 구현되는지, Option<T>, Result<T, E>, match 세 가지 기능을 통해 살펴봅니다. Rust 학습 시리즈의…

Rust 학습일지 (1) - Rust의 정수 타입이 12개인 이유
Rust

Rust 학습일지 (1) - Rust의 정수 타입이 12개인 이유

이 글은 TypeScript에 익숙한 입장에서 Rust를 처음 펼쳤을 때 가장 먼저 들게 된 의문인, "왜 타입이 이렇게 많은가"를 다룹니다. 답을 찾는 과정에서 타입이라는 개념 자체에 대한 관점의 전환, 내지는 확장까지 함께 다룹니다. Rust 학습 시리즈를 계속 작성하고자 하는데,…

10번 봐도 이해 안 되는 Lexical Scope 이야기
Javascript

10번 봐도 이해 안 되는 Lexical Scope 이야기

렉시컬 스코프, 함수가 선언된 자리에서 시작하는 이야기