위치: 학습 › 개발 (CS) › 언어 › Rust
규모: 포스팅 11개

기본 문법

표현식·구조체·열거형·에러 처리 등 Rust를 읽고 쓰기 위한 기본기.

포스팅설명
표현식과 문장(Expression vs Statement, 암묵적 반환)Rust에는 return 키워드가 존재하지만 필수가 아니다.
기호 완전정리(콜론·화살표·등호, String vs &str)struct-like variant를 가진 enum(PaymentStatus)을 직접 써보면 콜론(:), 화살표(->, =>), 등호(=)가 비슷하게 생겨서 헷갈리기 쉽다.
구조체(Struct)와 예제 프로그램구조체 정의 3가지 형태, 필드 초기화 축약/업데이트 문법, impl로 메서드·연관 함수 붙이는 법부터, 사각형 넓이 계산 예제로 보는 “개별 변수 → 튜플 → 구조체” 리팩토링 과정, #[d…
열거형과 패턴 매칭(Enum & Match)Payload enum + C 태그드 유니온 메모리 레이아웃 설계 예제 추가(2026-09-20)
에러 처리(thiserror, Result, ? 연산자)GlueSQL은 예외(exception) 없이 Result<T, E> 값과 ? 연산자만으로 에러를 처리하는 Rust의 표준 방식을 따름. thiserror 크레이트로 각 계층(파서/실행/평가…

소유권·라이프타임

Rust의 핵심인 소유권·빌림 규칙과 라이프타임 표기.

포스팅설명
소유권과 참조(Ownership & Borrowing)mut vs &mut 2×2 구분, &mut self 리시버 타입을 impl 블록이 정하는 원리, Vec<T> 내부 구조(C realloc 비교) 추가(2026-09-20)
라이프타임 심화(구조체·트레잇 함수의 라이프타임)소유권과 참조 노트에서 다룬 기본 참조 규칙을 넘어, GlueSQL은 참조를 담은 구조체와 여러 라이프타임이 얽힌 함수 시그니처를 실무 수준으로 사용함.

추상화 (트레잇·클로저·모듈·매크로)

트레잇·제네릭, 이터레이터·클로저, 모듈 가시성, 매크로로 코드를 추상화하는 방법.

포스팅설명
트레잇과 제네릭(Trait Object, Blanket Impl, 제네릭 경계)AsRef<T> 실제 정의와 “왜 읽기 전용인지” 추가(2026-09-20)
이터레이터와 클로저(Iterator Chain & Closure)GlueSQL의 쿼리 실행 코드(row 필터링, 정렬, 평가 등)는 for문 대신 .map(), .filter_map(), .collect() 같은 이터레이터 체인과 클로저로 작성되어 있음.
모듈 시스템과 가시성(mod, pub, pub use)GlueSQL의 core 크레이트는 수십 개의 하위 모듈로 구성되어 있지만, 사용자는 gluesql_core::prelude:: 하나만 use하면 필요한 타입을 전부 가져올 수 있음.
매크로(절차적 매크로 & macro_rules!)매크로가 함수와 근본적으로 다른 이유, macro_rules! 기본 문법(패턴·반복·fragment specifier), 매크로 3종류(declarative / derive / attribut…