Rust - 구조체
Rust 문법 1. 구조체 1) 개요 c언어에서도 그러하듯 rust에서도 구조체를 지원한다. 특정 의미 있는 값들을 묶고 정의하는데 유용한데, Rust에서는 어떻게 구조체를 사용할 수 있는지 알아볼 것이다. 2) 구조체 정의 구조체 자체를 쓰는 법은 어렵지 않다. struct라고 앞에 선언하고 뒤에 이름을 붙인 뒤 중괄호를 치고 각각 속성에 ...
Rust 문법 1. 구조체 1) 개요 c언어에서도 그러하듯 rust에서도 구조체를 지원한다. 특정 의미 있는 값들을 묶고 정의하는데 유용한데, Rust에서는 어떻게 구조체를 사용할 수 있는지 알아볼 것이다. 2) 구조체 정의 구조체 자체를 쓰는 법은 어렵지 않다. struct라고 앞에 선언하고 뒤에 이름을 붙인 뒤 중괄호를 치고 각각 속성에 ...
QEMU KVM을 공부하던 와중에 QEMU 관련해서 많이 등장했다. 이전에 OS 만들기 부분을 건드리면서도 QEMU를 이용해서 화면을 띄우긴 했었는데, 사실 QEMU가 뭐냐고 물으면 굉장히 대답할 말이 애매하므로 이 기회에 QEMU가 뭔지 명확하게 정리하고 가고자한다. 1. 개요 QEMU는 일반적이고 오픈 소스인 머신 에뮬레이터이자 가상화 프로그...
Rust 문법 1. 소유권 1) 개요 몇몇 언어는 Garbage Collector를 운용해서 쓰지 않는 메모리를 주기적으로 체크해서 회수하게 하고 몇몇 언어는 명시적으로 메모리를 할당하고 풀어줘야한다. 위 두 가지 방식 모두 장단점이 있다. Garbage Collector는 별도로 메모리 관리에 크게 신경을 써도 되지 않아도 되는 반면 실행 간의 ...
Rust 문법 1. 주석 당연하지만 rust도 코드에 포함되지 않고 부연설명을 달 수 있는 주석 기능이 있다. 한 줄 혹은 다수의 줄을 주석으로 입력할 수 있다. 아래는 한줄 주석의 예시이다. // 원하는 내용 앞에 두개의 슬래시를 입력하면 한 줄 주석처리가 된다. 두개 슬래시로 주석처리하기 많은 양의 주석 같은 경우 아래와 같이 처리할 수 있...
Rust 문법 1. 함수 1) 표기법 러스트에서 함수는 관례적으로(필수는 아니다) 기본적으로 소문자와 언더바로 구성된 스네이크 케이스(snake case)를 사용한다. fn main() { println!("Hello, world!"); another_function(); } fn another_function() { pr...
Rust 문법 1. 변수와 가변성 Rust에서 변수는 기본적으로 불변형이다. 그렇다고 상수와는 또 다르다. 실질적인 예시를 아래와 같다. fn main() { let x = 5; println!("The value of x is: {}", x); x = 6; println!("The value of x is: {}",...
Rust 1. 도입문 요새 Rust가 뜨고 있다. 누군가 말하길 c나 java같은 언어를 할줄 알면 그렇게 어렵지 않다고는 하는데 또 누군가는 진입장벽이 꽤 있다고 한다. 최근에 kernel 코드에도 rust가 도입되는 추세라고 하니 이 기회에 언어를 알아두면 좋을 것 같아서 공부하려고 한다. ※ 본 포스팅은 C나 JAVA, C++, J...
Firecracker ※ 본 포스팅은 2025년 1월 24일 기준으로 작성되었으며 포스팅 작성이 완료되지 않았다. 1. 개요 aws에서 개발한 서버리스를 위한 가상화이다. 세부적인 분석에 대한 포스팅은 추후할 예정이고 이번 포스팅에서는 firecracker를 직접 세팅해고자 한다. 먼저 설치 환경은 아래와 같다. OS: UBUNTU 24...
Designate 1. 개요 Designate에 대해 말하기에 앞서 DNS에 대해서 알아야한다. 혹시 DNS에 대해서 모른다면 OSI 7 Layer - 네트워크 의 DNS 설명을 읽어보고 오길 추천한다. Designate는 사용자와 운영자가 REST API를 통해 DNS 레코드, 이름 및 영역을 관리하고 기존 DNS 이름 서버를 구성하여...
Swift 1. 개요 고가용성이며 분산된 오브젝트 파일 저장소이다. 싸고 편하고 안전하게 데이터를 보관하는게 이 프로젝트의 목적이다. AWS에 대해서 아는 사람들이라면 S3를 생각하면 이해하기 쉬울 것이다. REST API 형태로 요청을 받을 수 있게 구현되어있으며 인증 토큰을 통해 사용자를 식별하여 권한이 주어진다. 2. 논리적 구조 REST ...