분류 전체보기
-
[Rust] collection(1)-vectorrust 2023. 2. 6. 18:03
앞서 3장에서 rust의 기본 데이터 타입에 대해서 살펴봤다. 돌아보면 스칼라타입과 컴파운드타입이 있었고 스칼라 타입에는 integer, float, boolean, char 타입이 있었고 컴파운드타입에는 tuple, array 타입이 있었다. 위의 타입들과 컬렉션의 다른점은 프로그램이 런타임중에 늘어나거나 줄어들수 있는 데이터이기 때문에 데이터가 스택이 아닌 힙에 저장이 되게 된다. 컬렉션의 종류로는 vertor, string, hash map 3가지가 있으며 하나씩 정리해보자 Vector array와 유사하게 동일타입의 여러값을 단일 데이터 구조안에 저장하는 타입이다 그러나 벡터는 길이가 런타임중에 변경 될수 있다라는 차이가 있다. 아래예시와 같이 표준라이브러리를 이용해서 생성하는 방법과 러스트의 매..
-
[Defi] 솔라나체인, 디파이 시작해보기(2)블록체인 2023. 2. 5. 16:13
처음에는 이더리움은 수수료가 비싸다고해서 소액으로 시작해보는 용도로는 배보다 배꼽이 더 커질꺼 같아서 폴리곤이나 바이낸스체인 네트워크를 통해서 dex랑 defi 를 사용해보려고 했었다. 근데 최근에 rust 공부하면서 rust를 사용하는 솔라나에 관심이 가기도 해서 찾아보니 높은 tps 와 저렴한 수수료라는 장점을 가진 솔라나체인이 디파이에 적합하다라는 내용을 보고 솔라나체인에서 디파이를 경험해 봐야겠다고 생각이 들어서 변경했다. 1. 업비트 트론 구매 > 바이낸스 트론 전송 2. 바이낸스거래소 트론 > 솔라나로 convert 3. 바이낸스거래소 솔라나 > 팬텀지갑으로 전송 4. 해당 체인 dex 랑 defi 알아보기 https://medium.com/a41-ventures/solana-defi-%EC%..
-
[Rust] 7. 모듈시스템에 대하여rust 2023. 2. 5. 14:28
대부분의 예시는 하나의 모듈과 하나의 파일로 이루어져 있지만 프로젝트가 커질수록 여러개의 모듈과 여러개의 파일로 코드를 작성해야 할것이다. 하나의 패키지는 여러개의 binary crates 혹은 하나의 library crate 를 생성할수 있다. 이러한 rust에서 파일을 관리하는데 필요한 개념들을 공부해보는 목적으로 작성된 글이다. Packages: A Cargo feature that lets you build, test, and share crates Crates: A tree of modules that produces a library or executable Modules and use: Let you control the organization, scope, and privacy of pat..
-
[Rust] 6. enum과 match에 대하여rust 2023. 2. 2. 08:27
- 하나의 토픽내에 여러가지 상황이 존재하지만 한번에 하나의 상태만 존재하는 경우 enum type 을 사용할수 있다. - ::문법을 통해 인스턴스를 생성한다. enum IpAddrKind { V4, V6, } let four = IpAddrKind::V4; let six = IpAddrKind::V6; - enum의 각 변수에 우리는 값을 직접 할당해줄수 있다. - 같은 enum 이라고 변수별로 같은 타입의 값을 가져야 하는 것은 아니다 - 다양한 타입이 변수에 들어갈수 있으며 struct형태역시 가능하다. enum IpAddr { V4(u8, u8, u8, u8), V6(String), } let home = IpAddr::V4(127, 0, 0, 1); let loopback = IpAddr::V6..
-
[Defi] 디파이 시작해보기(1)rust 2023. 2. 1. 19:04
블록체인 과정 부트캠프를 듣기도 하고 web3 프로젝트를 진행해 보기도 해서 메타마스크랑 카이카스는 깔려있는데 테스트넷으로 밖에 실제 이용을 안해봤었다. 정작 교육이나 개발 이외의 목적으로 가상자산을 사용해본적이 없었고 그냥 테스트용 코인만 사용해봤었다. 애초에 업비트로 코인거래도 한번 안해본 상황에서 갑자기 블록체인에 꽂혀서 공부하게 되기도 했고 투자관점으로도 돈을 대부분 주식에 넣어놓다 보니 가상자산에 대해서 필요성을 느껴본적도 없었다 그래서 가상자산 관련 경험이 개발관련해서 밖에 없었다. 그래서 준비하는 기간에 디파이를 사용해볼 생각이다. 그래서 지금 온몸으로 불편함은 느끼는중이여서 그불편함을 기록하는 목적으로 적는 글이다. http://bit.ly/3jgTCY3 [메타마스크] 해외거래소 없이 이더..
-
[Rust] 5. struct에 대하여rust 2023. 1. 31. 23:13
https://doc.rust-lang.org/book/ch05-01-defining-structs.html 링크를 복습하면서 정리하는 글이며 js 나 solidity 를 사전지식으로 하는상황에서 비슷한 부분은 정리하지 않은 글이다. Struct Type > 기본구조 struct User { active: bool, username: String, email: String, sign_in_count: u64, } - 다양한 타입의 필드를 가지고 있고 순서에 상관 없이 필드에따라 값을 지정해줄수 있다. > 인스턴스 생성 과 syntax let user1 = User { active: true, username: String::from("someusername123"), email: String::from(..
-
[Rust] 4.ownership(3). slicerust 2023. 1. 28. 19:42
Ownership Rule - value 는 owner 로 불리는 variable을 가지고 있다. - value의 owner에 해당하는 variable 은 하나만 존재한다. - owner 에 해당하는 varialble 이 scope 을 벗어나면 value는 drop 된다. 이전에 ownership을 move 하지 않으면서 값을 전달하는 방법으로 value의 값만 참조하고 ownership은 갖지않는 reference 라는걸 알아봤는데 그와 비슷하게 ownership을 가지지 않는 데이터 타입으로 slice 가 있다. let s = String::from("hello"); let slice = &s[0..2]; let slice = &s[..2]; let slice = &s[0..len]; let slic..
-
[Rust] 4. ownership(2).함수와 ownershiprust 2023. 1. 28. 16:01
Ownership Rule - value 는 owner 로 불리는 variable을 가지고 있다. - value의 owner에 해당하는 variable 은 하나만 존재한다. - owner 에 해당하는 varialble 이 scope 을 벗어나면 value는 drop 된다. 함수와 Ownership 함수에 인자로 전달해주는경우 스택에 저장된 데이터는 copy되서 전달 되지만 heap 데이터 같은 경우는 ownership이 함수로 move 되면서 기존 변수는 유효하지 않게 된다. fn main() { let x = 5; func(x); println!("{}",x); // x 는 copy한값이 함수에 전달되었기 때문에 여전히 유효하다. let s = String::from("hello"); func2(s);..