yoongrammer

목차 RPC (Remote Procedure Calls) 란? RPC (Remote Procedure Calls)란 원격에 있는 함수를 호출해 주는 프로세스 간 통신 기술입니다. RPC는 플랫폼에 제약 없이 사용할 수 있어 분산 시스템 기법에 효과적입니다. RPC는 IDL(Interface Definition Language)를 사용하여 인터페이스를 명시합니다. 대표적인 IDL은 아래와 같습니다. Google 의 ProtocolBuffer Facebook 의 Thrift Twitter 의 Finalge RPC 동작 흐름 RPC는 아래와 같이 동작합니다. 클라이언트에서 매개변수를 Stub에 전달합니다. 클라이언트 Stub에서 매개변수를 메시지로 마샬링합니다. 클라이언트 Stub은 메세지를 전송계층으로 전달..

목차Protocol Buffer 란?구글에서 오픈소스로 공개한 언어, 구조화(structured)된 데이터를 직렬화(serialization) 하는 방식입니다. 줄여서 protobuf, 더 줄여서 pb라고 부릅니다.protobuf는 여러 프로그램 언어를 지원합니다. Protocol Buffer 원리Person 이라는 객체를 JSON으로 표현하면 아래와 같습니다.{ "userName": "Martin", "favouriteNumber": 1337, "interests": ["daydreaming", "hacking"]}데이터의 크기는 공백을 제거하면 82 바이트가 사용됩니다. Person 객체에 대한 프로토콜 버퍼 스키마는 다음과 같습니다.message Person { required..

목차 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] 채널 방향, 채널 버퍼링, Selectgo 에서 채널 방향(channel directions), 채널 버퍼링(channel buffering), Select에 대해서 알아보도록 하겠습니다.채널 방향 (channel directions)채널은 고루틴 간의 통신 매체이므로 서로 데이터를 주고받을 수 있습니다.기본적으로 채널은 양방향이지만 단방향 채널도 만들 수 있습니다.단방향 채널을 만들때 make() 함수를 사용합니다.// 수신용 채널c1 := make(함수 인자를 사용하여 양방향 채널을 단방향 채널로 변환할 수 있습니다.양방향 채널을 수신 전용 또는 송신 전용 채널로 변환할 수 있지만 그 반대의 경우는 불가능합니다...