전체 글

TaeGit

    [Metaplex Candy Machine] #1. Candy Machine 설정 이해하기

    목차 Metaplex Candy Machine Authority Metaplex Certified Collections Item Settings Metaplex Candy Machine 현재 Metaplex Candy Machine은 솔라나에서 NFT를 Mint하기 위해 사용됩니다. 이는 솔라나 생태계에서 가장 잘 알려진 NFT 프로젝트로, 2022년 9월 기준 솔라나 네트워크에 있는 NFT들 중 78%가 Metaplex Candy Machine을 통해 발행되었습니다. NFT 생성자는 Candy Machine을 생성하고 소비자는 이를 통해 NFT를 소비하는 구조라고 볼 수 있습니다. Cnady Machine을 만들 때, 생성자가 누구인지, 총 공급량이 얼마인지, 심볼이 무엇인지 등에 대한 설정을 합니다...

    tonic을 이용해 grpc 통신을 구현해 보자 - Rust 프로그래밍

    목차 tonic을 이용해 grpc 통신을 구현해 보자 Proto 파일 정의 Server 모듈 Client 모듈 실행 결과 tonic을 이용해 grpc 통신을 구현해 보자 tonic은 rust로 grpc를 구현한 오픈소스 라이브러리입니다. 즉, tonic을 이용해 grpc server와 client를 편하게 작성할 수 있습니다. Remote Procedure Call을 의미하는 rpc는 일반적인 HTTP 호출이 아닌 함수 호출의 개념을 사용하는 클라이언트-서버 통신의 한 형태입니다. grpc는 구글이 만든 오픈소스 rpc로 g는 Google을 의미하는 것으로 많이 알려져 있지만, 현재는 버전별 g의 의미를 다르게 나타내고 있습니다. protobuf(Protocol Buffer)는 데이터 직렬화를 위한 포맷..

    인자로 &String보다 &str을 사용하라 - Rust 프로그래밍

    목차 인자로 &String보다 &str을 사용하라 Implicit Deref Coercion 반복문에서 함수를 호출할 때 인자로 &String보다 &str을 사용하라 - Rust 프로그래밍 Rust에서는 함수나 메서드의 인자 타입으로 &String 보다 &str을 쓰는 것이 여러모로 더 좋습니다. 우리가 함수나 메서드를 작성할 때, 문자열을 인자로 받는 것은 흔히 볼 수 있는 코드인데요. Rust에서 문자열을 담기 위한 타입은 크게 두 가지로 String 타입과 & 연사자와 함께 사용되는 str 타입이 있습니다. 스트링 슬라이스 혹은 슬라이스 타입으로 불리는 &str은 String과 다르게 값을 소유할 수 없고, String 데이터에 대해 단순히 view를 제공해주는 타입입니다. 그러면, 왜 인자 타입으..

    impl Trait과 Box<dyn Trait> - Rust 프로그래밍

    목차 들어가며 impl Trait Box 1. 들어가며 객체지향 언어들에서는 흔히 추상화를 위해 Interface나 Abstract Class 같은 것들을 제공합니다. Rust에서는 이것들과 유사하지만 다른 Trait이라는 것을 제공하는데요. 이전 글 트레잇(Trait)과 트레잇 바운드(Trait Bound) - Rust 프로그래밍에서도 기본적인 내용들을 설명했었습니다. Rust-Book에서도 찾아볼 수 있지만, Generic Type과 Trait Bound를 함께 사용하면 일부 추상화 기능을 구현할 수 있습니다. 이번 글에서 설명하는 impl Trait도 마찬가지 입니다. 이렇게 컴파일 타임에 구현되는 다형성을 정적 다형성 또는 컴파일 타임 다형성이라고 합니다. Generic Type과 Trait Bo..

    Cell 타입과 RefCell 타입 - Rust 프로그래밍

    목차 Cell 타입과 RefCell 타입 Cell 타입 사용하기 RefCell 타입 사용하기 Cell 타입과 RefCell 타입 이전에 작성했던 Rc 타입과 Weak 타입 - Rust 프로그래밍에서는 어떤 값에 대해 여러 소유자를 가질 수 있게 해주는 스마트 포인터 Rc에 대해 살펴봤습니다. 이번 글에서는 불변 변수를 가변 변수처럼 사용할 수 있게 해주는 Cell과 RefCell 타입에 대해 살펴보겠습니다. Rust의 참조 규칙에 따르면, 어떤 객체에 대한 불변 참조자는 여러 개 가질 수 있고, 가변 참조자는 하나만 가질 수 있습니다. 또한, 이 두 가지 규칙은 동시에 적용할 수 없습니다. 이런 규칙을 깰 필요가 있는 상황에서 Cell과 RefCell 스마트 포인터 타입을 사용할 수 있습니다. Cell과..