Rust 5

[Rust] Rust가 ++연산자를 지원하지 않는 이유

Rust 로 리트코드를 풀던 중 한 문제에서 Rust의 재미있는 특성을 발견했다.  아래 코드를 보면 count += 1이 있다. count++로 사용하려 했으나 컴파일 타임 에러로 인해 사용할 수 없었다.  Rust는 ++, --같은 연산을 허용하지 않는다는 것이 이유였다.  왜 없을까?  우선 안전성과 명확성이 그 이유라고 한다.  명확성의 경우 count += 1처럼 어떤 연산을 하는지 명확하게 보여줄 수 있다고 하는 점 때문이다.이 부분은 조금은 이해가 가지만 안전성이란 대체 어떤 걸 이야기하는 걸까?  ++가 위험하다는 걸까?  알아보니 ++의 경우 사이드 이펙트를 발생시킬 여지를 갖고 있다고 한다. 그 예시가 바로 이런 코드라고 한다. int a = i++ + ++i;이 코드가 컴파일러마다 결..

Rust 2024.05.03

[Rust] 러스트 Double Linked List 코드

최근 프로젝트 중 러스트를 사용할 일이 있어서 러스트를 학습 중이다.  대학교때 공부했던게 사용하지 않으니 머릿속에서 정말 말끔하게 증발해버렸다. (뭐 어딘가엔 어렴풋하게 있겠지만)  러스트 이중 연결리스트에 대한 코드다. 현재 학습 중인 자료에서 Rust double linked list코드가 나오는데 좋은 개념들이 함께 등장해서 분석해보면 좋을 것 같은 예제이다.  그나저나 lifetime은 아직도 긴가민가하다. 이런 syntax자체가 생소해서인지.  use std::cell::RefCell;use std::rc::{Rc, Weak};pub struct Node { data: isize, next: Option>>, prev: Option>>,}pub struct List { h..

Rust 2024.04.12

[WASM] 웹 어셈블리의 미래 - WebAssembly

브런치에 웹 어셈블리의 미래라는 글을 작성했는데 해당 글을 이곳에도 공유하고 싶어서 올리고자 한다. 아래 브런치 링크를 첨부한다. https://brunch.co.kr/@razelo/7 [WASM] 웹 어셈블리의 미래 WASM이란 무엇일까? | 웹 어셈블리라고 불리는 wasm은 2015년에 개발되어 비교적 최근에 나온 기술이다. 2017년에 발표되었고 지금까지 계속해서 개선되는 기술이다. C/ C++ / RUST와 같은 로우 레벨 랭 brunch.co.kr WEB 어셈블리라고 불리는 WASM은 2015년이라는 비교적 최근에 나온 기술이다. 2017년에 발표되었고 지금까지 계속해서 개선되는 기술이다. 주로 C/ C++ / RUST와 같은 LOW 레벨 랭귀지 즉 속도가 좋은 강한 타입의 랭귀지를 웹에서 쓰고..

Rust 2022.01.26

[Rust] 러스트를 배워봅시다! - Rust language 간단 후기1 - 재밌다!

며칠전에 러스트를 배워보고 싶다는 생각에 무작정 rust doc을 찾아서 읽었다. 공식 doc이 있는데 정말 상세하게 나와있는 doc이라는 생각이 들었고 읽는데 많은 시간이 걸리지도 않았다. 현재는 IO프로젝트까지 읽고 해당 grep 프로젝트 코드를 작성한 상태이다. 역시나 모든 언어에 존재하는 변수와 데이터 타입, 함수, 제어문들에 대해 배웠는데 한가지 흥미로운 점은 다른 언어에서는 볼 수 없었던 개념이 언어 전반에 녹아있다는 생각이었다. 예전부터 러스트를 관심갖고 지켜보면서 러스트로 만든 프로젝트 사이트들을 돌아다니면서 시간날때 꼭 배워봐야겠다는 생각을 하면서 어떻게 하면 속도와 메모리 안전성을 둘다 가져갈 수 있는지에 대해 많이 궁금했었다. 그리고 그와 관련된 내용으로 소유권과 참조자, 빌림에 대해..

Rust 2022.01.15

[Rust] 러스트를 배워봅시다.

주변에서 러스트 꼭 써보라는 말이 있어서 차근 차근 공식 문서를 읽어보기로 했다. 공식 문서가 아주 잘 정리된 케이스여서 이 문서만 따라 읽으면 얼추 개념이 잡힌다는 얘기를 들었다. 예전부터 go 와 rust 중 뭘 공부해볼까 생각하고 있었는데 이참에 rust를 한번 해보면 재밌을 것 같다. 요즘 시간도 많아서 넉넉해서 잠시나마 시간내서 문서를 읽어볼 순 있을 것 같다. 두근 두근 아래 링크가 rust 공식 document 이다. https://doc.rust-lang.org/book/ 아래는 번역본이다. 참고로 번역 퀄리티가 정말 좋다. 감사합니다. https://rinthel.github.io/rust-lang-book-ko/ 들어가기에 앞서 - The Rust Programming Language ..

Rust 2022.01.12
반응형