반응형

documentation 3

쪼잔한 Rust 9. 오류 다루기

Chapter 9. 오류 다루기 Rust가 안전한 언어가 되기 위한 노력은 오류 다루는 데까지 닿아있다. 오류도 소프트웨어의 일부라고 할 수 있는 만큼, Rust는 뭔가 잘못된 상황을 다루는 많은 기능을 탑재하고 있다. 많은 경우에 Rust는 오류가 날 수 있는 가능성을 사용자가 알고 있기를 요구하고, 오류 상황에서의 대처법이 마련되어있어야 컴파일이 가능하다. 이러한 깐깐함은 당신의 코드가 프로덕션에 배포된 후에 오류가 발생하는 것을 보기 전에 오류들을 발견하고 처리하도록 강제하기 때문에 당신의 프로그램을 더욱 강건하게 해주는 것이다! Rust는 오류를 크게 두 가지로 분류하는데, 회복 가능한(recoverable) 오류와 회복 불가능한(unrecoverable) 오류가 그 두 가지이다. 파일을 못 찾는..

Programming/Rust 2018.11.17

쪼잔한 Rust 16. 두렵지 않은 Concurrency

Chapter 16. 두렵지 않은 Concurrency Concurrent 프로그래밍을 안전하고 효율적으로 다루는 것이 Rust가 삼는 주된 목표 중 하나이다. 프로그램의 여러 부분을 독립적으로 실행시키는 concurrent 프로그래밍과 동시에 실행시키는 parallel 프로그래밍은 많은 컴퓨터들이 여러 프로세서를 이용함에 따라 더욱이 중요하게 여겨지고 있다. 역사적으로 볼 때, 이러한 영역의 프로그래밍은 어렵고 오류가 나기 쉬운 것으로 생각되어왔다. Rust는 이러한 인식을 바꾸고 싶다. Rust 팀은 애초에 메모리의 안전을 보장하는 것과 concurrency 문제를 예방하는 것은 완전히 별개의 문제라고 생각했었다. 시간이 지나면서, Rust 팀은 소유권과 타입 시스템이 이 두 가지 문제를 해결하는데 ..

Programming/Rust 2018.09.11

쪼잔한 Rust 6. Enum과 패턴 맞추기

Chapter 6. Enum과 패턴 맞추기 이번 챕터에서는 enumeration, 또는 enum이라고 부르는 것에 대해 알아보고자 한다. Enum은 가능한 경우의 값들을 헤아려서(enumerate) 그 종류를 정의할 수 있게 해준다. 우선, enum을 정의하고 사용해 봄으로써 enum이 어떻게 데이터와 연계되는 의미들을 코드에 새기는지 볼 것이다. 그 다음에는, 그 중에서도 특별히 유용한 enum인 Option을 알아볼 것인데, Option은 그 값이 무언가 있거나 없거나 할 수 있는 표현을 가능하게 한다. 그러고 나서는 match expression을 통한 pattern matching이 enum의 여러 값들을 다루기 위한 다른 종류의 코드를 얼마나 쉽게 다루는지 보게 될 것이다. 마지막으로, if l..

Programming/Rust 2018.09.03