yoongrammer
목차 Protocol Buffer 란? 구글에서 오픈소스로 공개한 언어, 구조화(structured)된 데이터를 직렬화(serialization) 하는 방식입니다. 줄여서 protobuf, 더 줄여서 pb라고 부릅니다. protobuf는 여러 프로그램 언어를 지원합니다. Protocol Buffer 원리 Person 이라는 객체를 JSON으로 표현하면 아래와 같습니다. { "userName": "Martin", "favouriteNumber": 1337, "interests": ["daydreaming", "hacking"] } 데이터의 크기는 공백을 제거하면 82 바이트가 사용됩니다. Person 객체에 대한 프로토콜 버퍼 스키마는 다음과 같습니다. message Person { required str..
목차 Rust 빌드 하기 Rust 코드를 작성하고 실행하는 방법에 대해 알아보도록 하겠습니다. Linux 및 MacOS 기준으로 설명하겠습니다. 1. 프로젝트 디렉터리 생성 아래와 같이 $HOME경로에 프로젝트 디렉터리를 만듭니다. $ mkdir ~/projects $ cd ~/projects $ mkdir hello_world $ cd hello_world 2. Rust 프로그램 작성하기 러스트 파일들은 .rs 확장자로 끝납니다. hello_world 디렉터리에서 main.rs 파일을 만들고 아래 코드를 작성합니다. fn main() { println!("Hello, world!") } 3. 컴파일하기 rustc를 사용하여 컴파일하면 실행파일이 만들어집니다. $ rustc main.rs $ ls mai..
목차 Rust 설치하기 OS별 rust 언어 설치 방법에 대해 알아보도록 하겠습니다. rust를 설치할 때, rustup이라는 설치 프로그램을 사용하겠습니다. 1. Linux, macOS 1. 아래 명령어를 통해 rustup 설치 도구를 다운로드하여 설치합니다. $ curl https://sh.rustup.rs -sSf | sh 설치가 성공적 이라면 다음과 같은 문구가 출력됩니다. Rust is installed now. Great! 설치가 완료되면 ~/.cargo/bin 디렉터리에 생성되며 자동적으로 시스템 PATH에 추가됩니다. 터미널을 재 시작하면 rust를 사용할 수 있습니다. 2. rust가 설치되었는지 확인해 봅니다. $ rustc --version 버전 정보가 나온다면 설치가 완료된 것입니다..
관련 글 2020/11/05 - [Go 언어] - 채널(Channel) 이란? 목차 [Go] 채널 방향, 채널 버퍼링, Select go 에서 채널 방향(channel directions), 채널 버퍼링(channel buffering), Select에 대해서 알아보도록 하겠습니다. 채널 방향 (channel directions) 채널은 고루틴 간의 통신 매체이므로 서로 데이터를 주고받을 수 있습니다. 기본적으로 채널은 양방향이지만 단방향 채널도 만들 수 있습니다. 단방향 채널을 만들때 make() 함수를 사용합니다. // 수신용 채널 c1 := make(
목차 채널(Channel) 이란? Go 언어에서 채널은 고루틴을 연결해주는 통로(파이프)입니다. 기본적으로 채널은 양방향이고 고루틴이 아래 이미지와 같이 동일한 채널을 통해 데이터를 보내거나 받을 수 있습니다. 채널 생성 채널은 chan 키워드를 사용하여 만들수 있고 동일한 유형의 데이터만 전송할 수 있습니다. 아래와 같이 make() 함수를 사용하여 채널을 만들 수 있습니다. channel_name := make(chan Type) 채널 송수신