일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- vgw
- AWS
- docker
- prometheus
- rust
- 러스트
- 옵셔널 체이닝
- null 병합 연산자
- optional chaining
- 비구조화 할당
- Proxy Resource
- transit gateway
- JavaScript
- Service
- docker swarm
- VPC
- Kubernetes
- 단축 평가
- On-Premise
- Endpoints
- api gateway
- elasticsearch
- Custom Resource
- cognito
- Await
- Site-to-Site VPN
- grafana
- 자바스크립트
- 구조분해 할당
- 온프레미스
- Today
- Total
목록rust (8)
만자의 개발일지

지난 포스팅에서는 소유권과 메모리 모델에 대해 알아보았습니다. 이번 포스팅에서는 소유권의 이동 없이 데이터를 다루는 방식인 참조와 대여에 대해 알아보도록 하겠습니다.참조(References)와 대여(Borrowing)Rust에서 참조는 데이터의 메모리 주소를 가르키는 포인터와 유사합니다. 참조를 통해 실제 데이터를 가지는 것이 아닌 해당 데이터의 메모리 주소를 가르킴으로써 소유권을 가져오지 않고 해당 데이터에 접근할 수 있습니다. 다음 예시를 보겠습니다.fn main() { let s1: String = String::from("hello"); let s: &String = &s1;}s는 참조자(&)를 사용해 s1의 값을 참조하였고 String이 아닌 &String 타입을 사용하였습니다. 이는..

저번 포스팅에서는 패턴 매칭에 대해 알아보았습니다. 이번 포스팅에서는 소유권과 메모리 모델에 대해 알아보도록 하겠습니다.메모리 모델(Memory Model)Rust에서 런타임에 사용되는 메모리 영역으로는 스택과 힙이 있습니다.스택은 데이터를 들어온 순서대로 저장하고, 역순으로 제거하는 LIFO(last in, first out) 방식입니다. 스택에는 기본 타입(i32, f64, char 등)과 커스텀 타입(enum, struct 등) 같이 크기가 정해져있는 데이터가 저장됩니다. 또한 스택은 데이터가 순차적으로 추가되고 제거되기 때문에 메모리 관련 오버헤드가 거의 없어 속도가 빠르다는 장점이 있습니다. 단, 컴파일 타임에 크기를 알 수 없거나, 변경될 수 있는 데이터들은 스택이 아닌 힙 메모리에 저장해야합..

저번 포스팅에서는 열거형에 대해 알아보았습니다. 이번 포스팅에서는 패턴 매칭에 대해 알아보도록 하겠습니다.패턴 매칭(Pattern Matching)패턴 매칭이란 값의 구조에 따라 코드를 분기하는 기능입니다. 패턴 매칭은 구조체, 열거형, 튜플, 배열 등 다양한 데이터 타입에서 사용할 수 있으며, 각 상황에 맞는 표현식을 사용하여 패턴을 처리할 수 있습니다.Rust에서 패턴을 처리하는 표현식은 match, if let, while let, for, let, function parameter(함수 매개변수), matches! 등이 있습니다.각각이 무엇이고 어떻게 사용하는지 알아보도록 하겠습니다. matchmatch 표현식은 패턴 매칭에서 가장 중요한 부분 중 하나입니다. match는 값을 여러 패턴과 비교하..

저번 포스팅에서는 구조체와 메소드 & 연관 함수에 대해 알아보았습니다. 이번 포스팅에서는 또 다른 커스텀 타입 중 하나인 열거형과 패턴 매칭에 대해 알아보도록 하겠습니다.열거형(Enums)열거형은 다양한 형태의 값(variant)를 하나로 묶어주는 타입입니다. Rust에서의 열거형은 단순한 고정된 값 뿐만 아니라 튜플, 구조체 타입의 값들도 가질 수 있습니다. 열거형은 enum 키워드를 사용해 정의할 수 있습니다. 다음 예시를 보겠습니다.enum Message { Quit, // unit-like Move { x: i32, y: i32 }, // struct-like Write(String), // tuple-like ChangeColor(u8, u8, u8), // tuple-li..

저번 포스팅에서는 조건문과 반복문에 대해 알아보았습니다. 이번 포스팅에서는 커스텀 타입 중 하나인 구조체와 메서드 & 연관 함수에 대해 알아보도록 하겠습니다.구조체(Structs)앞서 변수와 타입 절에서 구조체는 여러 변수들을 하나로 묶어주는 타입이라고 설명했었습니다. 사실 구조체는 꼭 여러 개의 변수를 묶는 용도로만 사용되진 않습니다. Rust에서는 다양한 방식으로 구조체를 사용할 수 있으며 총 3가지 종류의 구조체가 있습니다.Classic C structs가장 일반적인 형태의 구조체입니다. 여러 변수를 하나의 구조체로 묶을 수 있습니다. 각 변수를 필드(field)라고 부르며, 이름과 타입으로 구성됩니다. 아래는 구조체 선언 예시입니다.struct Person { name: String, ..

저번 포스팅에서 함수와 표현식에 대해 알아보았습니다. 이번 포스팅에서 설명할 조건문과 반복분 역시 표현식입니다.조건문과 반복문에 어떤 다양한 표현식들이 있고 어떻게 사용하는 알아보도록 하겠습니다.조건문(If expression)if 문은 조건에 따라 코드를 실행하는 구조입니다. 다른 언어와 마찬가지로 else, else if 블록을 통해 여러 조건을 평가할 수 있으며, 표현식 뒤에 블록을 ({ }) 생략할 수 없습니다.fn main() { let x = 5; if x > 5 { println!("x > 5"); } else if x == 5{ println!("x == 5"); } else { println!("x 또한 if 문 뒤에 오..