Language/Rust (2) 썸네일형 리스트형 Rust 소유권과 Lifetime 러스트의 소유권을 알기 전에 러스트의 메모리 관리에 대해 알아보자.Rust의 메모리 관리Java, Go, Python, Javascript와 같은 언어들은 GC를 사용하고 C/C++과 같은 경우에는 수동으로 프로그래머가 메모리를 관리한다.이와는 다르게 Rust는 컴파일 시점에 메모리 관리 규칙을 검사한다. 컴파일 시점에 메모리 관리를 확인 하면서 생기는 여러가지 특징이 있다.소유권 규칙에 따라 컴파일 시점에 메모리 할당/해제를 관리한다.규칙에 어긋나면 컴파일되지 않는다.규칙을 잘 지키면 컴파일러가 알아서 잘 처리해준다.실행시간 손해가 없다.개발자가 실수할 여지가 없다.Rust의 메모리는 블록(scope)이 끝날 때 해제가 된다. 예를 들어fn main() { { let s = "hell.. 왜 Rust일까 애플리케이션들은 공통적으로 다음과 같은 요구사항을 갖는다.안전하고 안정적이며 신뢰할 수 있어야 한다.리소스를 효율적으로 사용해야 한다.지연 시간을 최소화해야 한다.높은 동시성을 지원해야 한다.몇가지 요구사항을 더 추가하면시작 및 종료가 짧아야한다.유지보수 및 리팩터링이 쉬워야한다.개발자 생산성을 보장해야 한다.위 요구 사항들은 모두 개별 서비스 수준과 아키텍처 수준에서 처리될 수 있다는 점이 중요하다.러스트를 선택했을 때러스트를 사용해 애플리케이션 백엔드와 소프트웨어 인프라스트럭처 서비스를 구현할 때 얻을 수 있는 이점에 대해 알아보자. 위에서 언급했던 필요한 사항들을 어떻게 만족시키는지 알아볼 것이다. 1. 러스트는 안전하다.프로그램의 안전성에 대해 얘기를 할 때에는 타입 안전성, 메모리 안전성, 스레.. 이전 1 다음