일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- Operating System
- 러스트 프로그래밍 공식 가이드
- 운영체제
- 데이터베이스
- 알고리즘
- 오라클DB
- 우분투
- OS
- 러스트 예제
- 데이터 통신
- Python challenge
- data communication
- 러스트
- java
- Reversing
- 파이썬
- Python
- 자바
- ubuntu
- 파이썬 첼린지
- 자바 기초
- Database
- 백준 러스트
- 오라클
- Rust
- 파이썬 알고리즘
- 파이썬 챌린지
- 자바 개념
- C
- Today
- Total
목록러스트 프로그래밍 공식 가이드 (22)
IT’s Portfolio
🦀 Rust Day 23 🏳️ More About Cargo and Crates.io 1️⃣ 릴리즈 프로필을 이용한 빌드 커스터마이징 개발자들이 코드의 컴파일을 더 상세히 제어할 수 있도록 다양한 설정의 커스터마이징이 가능한 프로필이 준비되어 있음 각 프로필은 서로 독립적 구성 카고에는 두 개의 주 프로필 cargo build : dev 프로필 개발 과정에 적합한 기본 설정을 갖춤 cargo build --release : release 프로필 릴리즈용 빌드를 위한 기본 설정을 갖춤 [profile.dev] opt-level = 0 [profile.release] opt-level = 3 dev와 release 프로필의 기본 opt-level 설정 러스트가 코드에 적용할 최적화 수준을 지정하며 유효한 범..
🦀 Rust Day 22 🏳️ Functional Language Features: Iterators and Closures Closures : 변수에 저장할 수 있는 함수 형식의 구조 Iterators : 일련의 원소들을 처리하는 방법 1️⃣ 클로저: 주변 환경을 캡처하는 익명 함수 변수에 저장하거나 다른 함수에 인수로 전달하는 익명 함수(anonymous functions) 일반 함수와 달리 클로저는 자신이 정의된 범위 내의 값들을 '캡처(capture)'함 🤔 클로저를 이용한 동작의 추상화 fn simulated_expensive_calculation(intensity: u32) -> u32 { println!("시간이 오래 걸리는 계산을 수행 중..."); thread::sleep(..
🦀 Rust Day 21 🏳️ An I/O Project: Building a Command Line Program 러스트의 속도와 안전성, 단일 바이너리 출력 그리고 교차 플랫폼 지원 등의 특징은 명령줄 도구를 만드는 데 좋음 grep(globally search a regular experssion and print) 1️⃣ 명령줄 인수 처리하기 프로젝트 이름 : minigrep 파일명과 검색할 문자열 등 두 개의 명령줄 인수를 처리 cargo run [searchstring] [example-filename.txt] 🤔 인수의 값 읽어오기 std::env::args : 표준 라이브러리에서 제공하는 전달된 명령줄 인수를 읽는 함수 명령줄 인수의 반복자(iterator) 제공 use std::env; ..
🦀 Rust Day 20 🏳️ Writing Automated Tests 러스트는 자동화된 소프트웨어 테스트의 작성을 언어 차원에서 지원함 개발자는 함수에 값을 전달하고 결과값이 잘 리턴되는지 확인하는 테스트를 작성할 수 있음 코드를 수정할 때마다 이 테스트를 실행하여 원래 잘 동작하던 기능이 여전히 잘 작동하는지 확인할 수 있음 1️⃣ 테스트의 작성 테스트 함수의 본문은 다음 세 가지 동작을 수행함 1 필요한 데이터나 상태를 설정 2 테스트할 코드를 실행 3 의도한 결과가 출력되는지 검증 🤔 테스트 함수 살펴보기 테스트는 test 특성을 적용한 러스트 함수 특성(attributes) : 러스트 코드에 대한 메타데이터 (Ex) derive 특성 함수를 테스트 함수로 전환하려면 fn 키워드를 사용한 코드 ..
🦀 Rust Day 19 🏳️ Generic Types, Traits, and Lifetimes 러스트의 제네릭(Generic)은 구체적인 타입(concrete type)이나 다른 속성으로 대체할 수 있는 추상화된 타입을 활용함 구체적인 타입 대신 제네릭 타입을 매개변수로 선언할 수 있음 Option, Vec, HashMap, Result 모두 제네릭 타입임 수명은 제네릭의 일종으로 참조가 서로 어떻게 관련이 있는지에 대한 정보를 컴파일러에 제공함 1️⃣ 함수로부터 중복 제거하기 fn main() { let num_list_1 = vec![34, 56, 77, 25, 100, 54]; let num_list_2 = vec![102, 24, 6000, 89, 54, 2, 43, 8]; let mut max..
🦀 Rust Day 18 🏳️ Error Handling 러스트는 에러의 발생 가능성을 인지하고 개발자가 코드를 컴파일하기 전에 에러를 처리하도록 유도함 대부분 언어는 에러를 구분하지 않고 예외(exception) 같은 메커니즘을 이용해 똑같이 처리함 러스트에 예외라는 개념은 존재하지 않으며, 에러를 두 가지로 구분하고 있음 회복 가능한 에러(recoverable error) 존재하지 않는 파일 등 회복 가능한 에러는 사용자에게 문제를 보고하고 작업을 다시 시도하도록 요청할 수 있음 Result 타입으로 표현 회복이 불가능한 에러(unrecoverable error) 회복 불가능한 에러는 배열의 범위를 벗어나는 메모리에 대한 접근처럼 항상 버그의 가능성을 내포하고 있음 해당 에러가 발생한 프로그램은 pa..
🦀 Rust Day 17 🏳️ Rust Example Script 5 - Simple Employees DataBase 1️⃣ Description 간단한 직원 정보를 HashMap 과 Vector 를 이용해 저장하는 프로그램 작성 이름이 Sally 인 직원을 Engineering 부서에 추가할 경우 add Sally to Engineering 이름이 Amir 인 직원을 Sales 부서에 추가할 경우 add Amir to Sales 회사 내의 모든 직원들을 알파벳 순으로 출력 회사 내의 각 부서의 직원들을 출력 2️⃣ how it works 문자열 입력받기 상황에 맞는 결과 출력 3️⃣ Code // src/main.rs mod command; use command::*; pub use std::{io,..
🦀 Rust Day 16 🏳️ Rust Example Script 4 - Pig Latin 1️⃣ Description 문자열을 피그 라틴(Pig Latin) 으로 바꾸는 프로그램 작성 피그 라틴(Pig Latin) 단어가 자음으로 시작할 경우 해당 자음을 단어의 끝으로 이동하고 "ay" 를 덧붙임 first -> irst-fay 모음으로 시작할 경우 단순히 끝에 "hay" 를 덧붙임 apple -> apple-hay 2️⃣ how it works 영어 단어 문자열 입력받기 문자열의 조건에 맞게 결과 출력 3️⃣ Code // src/main.rs use std::io; // 모음에 대한 상수 VOWEL 선언 const VOWEL: [char; 5] = ['a', 'e', 'i', 'o', 'u']; f..