반응형

translation 24

쪼잔한 Rust 4.3. Slice 타입

Chapter 4.3. Slice 타입 Ownership을 가지지 않는 또 다른 데이터 타입으로 _slice_가 있다. Slice는 데이터 모음의 전체가 아닌 일정 부분만을 가리키는 reference이다.여기 작은 프로그래밍 문제가 주어졌다고 해보자. String 하나를 받아서 그 첫 번째 단어를 반환하는 함수를 만들어보자. 만약 함수가 string의 공백 문자를 찾지 못한다면, string 전체가 한 단어일테니까 전체 string을 반환해주면 된다.이 함수의 signature부터 생각해보자: fn first_word(s: &String) -> ? 이 함수 first_word는 &String을 parameter로 받는다. 우리는 ownership을 원치 않으므로 괜찮은 일이다. 하지만 무엇을 반환해줘야 ..

Programming/Rust 2018.08.19

쪼잔한 Rust 4.2. 참조와 대여

Chapter 4.2. 참조와 대여 이전 글에서 tuple을 사용했던 예제 4-5는 이런 문제가 있었다: String의 ownership이 calculate_length 함수 안으로 이동했기 때문에, 함수 호출이 끝난 후에 그 String을 다시 사용하기 위해서 ownership을 다시 내보내야 했던 것이다.아래는 함수가 parameter로서 그 값의 ownership을 가져가는 대신, 참조값(reference)만 가져가는 방법을 보여준다. // Filename: src/main.rs fn main() { let s1 = String::from("hello"); let len = calculate_length(&s1); println!("The length of '{}' is {}.", s1, len);..

Programming/Rust 2018.08.14

쪼잔한 Rust 4.1. 소유권이 무엇이냐

Chapter 4. 소유권 이해하기 소유권(ownership)은 Rust의 특유한 개념으로, garbage collector 없이도 메모리를 안전하게 사용할 수 있도록 보장해준다. 따라서 Rust에서 소유권이 어떻게 작동하는 지 아는 것은 중요한 일이다. 이번 챕터에서 소유권과 관련된 borrowing, slice 등의 여러 가지 개념과 Rust가 어떻게 데이터를 메모리에 관리하는 지에 대해 얘기해보겠다. Chapter 4.1. 소유권이란? 모든 프로그램은 실행하는 동안 컴퓨터의 메모리를 관리해야 한다. 어떤 언어는 실행하는 동안 사용하지 않는 메모리를 계속 추적해서 관리하는 garbage collection을 사용하기도 하고, 어떤 언어는 직접 메모리를 할당하고 풀어줘야 한다. Rust는 또 다른 방식..

Programming/Rust 2018.08.09

쪼잔한 Rust 3. 일반적인 프로그래밍 개념들

Rust는 그 사용법을 익히는 것만으로도 주니어 레벨에서 안전한 프로그래밍에 대한 철학을 배울 수 있겠다고 생각하게 될 정도로 철저하게 설계된 언어라고 생각한다. 공식 문서인 "The Rust Programming Language" 1독을 했지만, 역시나 일로써 계속 접하지 않으면 그 지식이 조금씩 날라가버리는 것이 아까웠다. 그래서 내 스스로도 다시 정리를 하고, 요점만 정리해서 공유하고자 "쪼잔한 Rust" 시리즈를 시작한다. 이 이름은 clickbait 용도로 사용했을 뿐, 공식 문서를 번역하는 것이 주된 내용이 될 것이다. 본문 번역에 치중하되, 그 양이 많기 때문에 핵심적인 내용만 고르려고 노력했다.한 챕터씩 차근 차근 이어나가겠다. Chapter 2는 생략하고 (그래도 직접 읽어보시길 추천한다..

Programming/Rust 2018.07.20

UNIX as IDE

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE1. Introduction2. Files3. Editing4. Compiling5. Building6. Debugging7. Revisions

GNU-Linux 2017.11.09

UNIX as IDE: 7. Revisions

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Revisions2012년 2월 15일 Tom Ryder가 작성 버전 관리 도구는 전문적인 소프트웨어 개발에 있어서 이제는 떼어 놓을 수 없는 부분이 된 것 같다. Eclipse나 MS Visual Studio와 같은 GUI IDE도 대중적인 버전 관리 도구와..

GNU-Linux 2017.11.09

UNIX as IDE: 6. Debugging

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Debugging2012년 2월 14일 Tom Ryder가 작성 프로그램에서 예기치 않은 행동이 감지됐을 때, GNU/Linux는 문제를 진단하는 다양한 명령줄 도구를 제공한다. GNU debugger인 gdb와 그 비슷한 도구인 Perl debugger를 사..

GNU-Linux 2017.11.08

UNIX as IDE: 5. Building

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Building2012년 2월 13일 Tom Ryder가 작성 프로젝트를 compile하는 것은 꽤나 복잡하고 반복적인 과정이기 때문에 훌륭한 IDE는 프로젝트 build 단계를 추상화, 단순화, 더욱이 자동화시키는 도구를 제공한다. UNIX와 그 후손들은 M..

GNU-Linux 2017.11.07

UNIX as IDE: 4. Compiling

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Compiling2012년 2월 12일 Tom Ryder가 작성 UNIX 플랫폼에서 사용할 수 있는 compiling 도구와 interpreting 도구는 여러 가지가 있고 각 도구마다 사용하는 방법이 다르지만, 개념적으로는 많은 부분에서 같다고도 할 수 있다..

GNU-Linux 2017.11.06

UNIX as IDE: 3. Editing

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Editing2012년 2월 11일 Tom Ryder가 작성 모든 프로그래머들에게 텍스트 편집기는 필수 도구이기 때문에, 에디터의 선택에 관해 밑도 끝도 없이 열정이 넘치는 논쟁이 발발하기도 한다. UNIX 운영 체제는 Emacs와 Vim, 이 두 가지 유서 ..

GNU-Linux 2017.11.06