2. Back-end/>> Rust7 Ownership 이란 개념 들어봤니? SEMONAN 이번 시간에는 Rust에서 Ownership이라는 개념에 대해서 이야기를 해 보려고 합니다. Ownership라는 개념이 Rust에서 처음 생긴것 같은데요. 한번 알아보시죠. Ownership이라는 것은 결국은 Memory를 어떻게 관리 할 것인가에 대한 것입니다. 메모리의 종류로 Stack 과 Heap이 있는데 Stack과 Heap의 개념을 알고 있어야 Ownership을 이해하기 좋습니다. 모른다면, 잠시 알아보고 오시는 것을 추천 드립니다. Ownership Rules이 핵심인데 이 부분은 나중에 하겠습니다. Local variable Scope은 {} 안에서 유효하다는 것을 의미합니다. {} 밖에서 s는 유효하지 않습니다. string type을 다루는 다른 코드를 봅시다. Stri.. 2023. 1. 19. if/loop/while/for에 편리한 문법이 생겼다 SEMONAN 이번 시간에는 Control flow입니다. if문과 loop문을 설명합니다. 먼저 if문을 살펴보시죠. if문을 사용하는 방법은 다른 언어와 유사합니다. if문이 참이면 "condition was true"를 출력하고 거짓이면 "condition was false"를 출력합니다. 다음 예제로 넘어가겠습니다. C++에서는 int type이라고 0이면 false, 1이면 true로 처리됩니다. 그러나 Rust는 bool과 그 외 type을 명확하게 구분합니다. int type을 if문의 조건으로 사용하면 Compile error 발생합니다. 왜냐하면 number는 bool type이 아니기 때문입니다. 다시 말하면 bool type이 아닌 변수를 if문의 조건으로 사용할 수 없습니다. 다음 .. 2023. 1. 19. 반드시 알아야 하는 Data types! 오잉? Tuple type 있네? SEMONAN Rust의 Data type에 대해서 공부 해볼 건데요, C++ 과 분명히 다름점이 있습니다. 128bit 정수형 type, isize를 통한 Architecture에 따른 가변형 type, 그리고 tuple type도 있습니다. 이렇게 C++과 다른접이 있으니 끝까지 따라와 주세요. Programming language를 배울 때, Data type은 꼭 알아야 합니다. Rust에는 크게 Scalar, Compound 2종류의 Data type이 있고, Rust는 statically language (고정된 타입의 language) 이기 때문에, Compile time에서 모든 변수의 type을 알수가 있습니다. 예제 코드를 통해서 살펴 봅시다. guess라는 변수에 "42" 문자열을 p.. 2023. 1. 18. Rust 함수 사용법. 세미콜론 활용법이 독특하다! SEMONAN 이번 시간에는 Rust에서 Function 사용법을 공부하려고 합니다. Function 사용법이 큰 맥락에서는 다른 언어와 비슷하긴 한데요. 아주 특별한 점이 하나 있습니다. 그 부분을 꼭 알아야 Function을 사용할 수 있으니 끝까지 잘 따라 오세요. 함수의 기본 형태입니다. fn으로 시작하고 함수명, 소괄호, 중괄호안에 코드를 입력할 수 있습니다. 이 부분은 다른 언어와 비슷합니다. 그리고 another_function 을 만들었는데 main 함수에서 호출해서 쓸 수 있는거죠. Function 파라미터 부분의 예제입니다. 여러개의 파라미터를 사용할 수 있습니다. 여기까지는 일반적입니다. 이제부터 집중 하세요. let x = (let y=6); 이렇게 실행하면 오류가 발생합니다. le.. 2023. 1. 18. Rust 변수 사용법, C++과 다르네? SEMONAN 3.1 Variables and Mutability 예제 소스코드를 통해서 핵심만 짚어 봅시다. 첫 예제 소스코드를 빌드 시도 하였더니, Error 발생합니다. cannot assign twice to immutable variable 'x' 처음 만들어진 let x 변수가 있고 그 아래에서 수정하려고 했더니, Error가 발생 했습니다. 두번째 예제 소스코드를 살펴봅시다. 여기서는 let mut x로 변수를 생성했습니다. x변수를 선언시에 mut 라는 키워드가 붙었습니다. mut는 mutable 의 약자이고, 이것은 변수 생성 후에 값을 수정할 수 있도록 합니다. 그래서 x의 값을 수정할 수 있겠다는 의미가 되겠습니다. 그래서 x = 6 Line에서 Error가 발생하지 않습니다. 이렇게.. 2023. 1. 18. Rust언어 배우고 싶은 이유, 환경구축 방법 SEMONAN 배우고 싶은 프로그래밍 언어가 생겼습니다. 바로, Rust입니다. Rust에 관심을 가지게 된 계기는, 개인적으로 블록체인에 관심을 가지고 있기 때문에, 종종 소스코드를 내려서 살펴보곤 합니다. 블록체인의 Core 부분은 네트워크뿐만 아니라 처리속도가 가능한 빨라야 하기 때문에 2017년쯤에는 C++기반 Boost 라이브러리를 사용하는 것들이 있었습니다. 그런데 최근에 떠오르는 블록체인 소스코드를 살펴보니 Rust를 사용하는 것들이 있었습니다. 그래서 Rust에 관심을 가지게 되었고, 대략 찾아보니 강조하는 특징이 있는데, Rust로 개발된 SW는 안정성이 좋다 그 이유는 컴파일러가 독특한 것 같았습니다. 메모리 Leak, 병렬처리 등 SW 안정성을 저해하는 요소들을 Compile time.. 2023. 1. 18. C가 주옥같은 개발자들 보세요. Rust 10분 정리! 노마드 코더 Nomad Coders 오늘은 모든 개발자들이 반드시 시도해봐야 하는 프로그래밍 언어를 소개할까해요. 그것은 러스트!!! 러스트는 스택오버플로우 설문조사에서 6년 연속!! 가장 사랑받는 프로그래밍 언어로 뽑혔어! C, C++ 에 비교하여 상당히 신생 언어임에도 불구하고 아마존, 클라우드플레어, 마이크로소프트 같은 회사들이 C, C++ 코드를 Rust로 대체하고 있어. MS는 low level언어를 사용하던 윈도우 구성요소를 Rust로 대체하였어. 기존의 C, C++에서 말이지. 구글은 리눅스 커널의 제 2 공식 언어로 Rust를 포함시키는 프로젝트를 후원하고 있지. Rust를 포함시키는 프로젝트를 후원하고 있지. 참고로 현재 리눅스 커널은 C로 운영되고 있어. 인텔도 역시 Rust에 투자하고.. 2023. 1. 18. 이전 1 다음