멜론은 그동안 등급 날리는게 아까워 유지를 하고있었지만 MVIP 헤택이 진짜 하나도 없고 노래도 많이 듣는편도 아니여서 해지해버렸습니다. 78개월을 썼네요. ㅎㅎ 그리고 유튜브 프리미엄을 이용하게 됐습니다. 그런데 멜론처럼 전용프로그램이 없어 크롬이나 엣지에서 음악을 듣는게 불편했습니다. 유튭은 전용프로그램이 없을까? 하고 프로그램을 찾아봤습니다. Download https://ytmdesktop.app/#download YouTube Music Desktop App Free cross platform Desktop Player for YouTube Music ytmdesktop.app github https://github.com/ytmdesktop/ytmdesktop GitHub - ytmdeskto..
데이터의 라이프타임(lifetime)을 나타내는 특별한 키워드입니다. `'static`은 프로그램 전체 수명 동안 지속되는 정적(static) 데이터를 표현합니다. `'static`은 라이프타임이 가장 긴 수명을 갖는 것으로 간주됩니다. `'static`은 다음과 상황에서 사용될 수 있습니다 1. 리터럴 데이터: 문자열 리터럴과 정수형 리터럴 같은 리터럴 값은 `'static` 라이프타임을 갖습니다. 이는 프로그램 실행 동안 변하지 않고 메모리에 상주하는 데이터입니다. let static_string: &'static str = "Hello, world!"; 2. 정적 변수: `static` 키워드로 선언된 정적 변수는 `'static` 라이프타임을 가집니다. 이러한 변수는 프로그램 전체에서 사용 가능하..
1. `&`: - `&`는 참조(reference) 연산자로 사용됩니다. - 변수 또는 값 앞에 `&`를 붙여 해당 값에 대한 참조를 생성합니다. - 참조는 값에 대한 불변 참조(immutable reference)를 생성하며, 해당 값에 대한 소유권을 이전하지 않고도 값을 참조할 수 있게 합니다. 2. `*`: - `*`은 역참조(dereference) 연산자로 사용됩니다. - 포인터를 역참조하여 해당 메모리 위치에 저장된 값을 얻습니다. - `*`는 포인터가 가리키는 값을 읽거나 수정할 때 사용됩니다. 3. `backtick`(`) 또는 `백틱`: - `backtick`은 Rust에서 일반적으로 사용되지 않는 문자입니다. 대신, 문자열 리터럴에는 역따옴표(`)가 사용됩니다. 4. `'` (작은 따옴표..
switch case문과 비슷합니다. match는 패턴 매칭을 사용하여 다양한 경우의 수에 대한 코드 블록을 처리하는 구문입니다. `match`는 값이 여러 가지 가능한 경우에 대해 일치하는 패턴을 찾고 해당하는 코드를 실행합니다. `match` 구문을 사용하는 이유 1. 모든 경우 다루기: `match`는 모든 가능한 경우에 대해 명시적으로 처리할 수 있습니다. `match`를 사용하면 모든 열거형 변형(variant)이나 다양한 패턴에 대해 분기 처리를 작성할 수 있습니다. 이는 프로그램의 완전성을 보장하고 예기치 않은 경우를 방지하는 데 도움을 줍니다. 2. 코드 가독성: `match`는 패턴 매칭을 사용하므로 코드의 의도를 명확하게 표현할 수 있습니다. `match`를 사용하여 코드를 작성하면 어..
패턴 매칭을 사용하여 `Option`, `Result`, `enum` 등과 같은 대안적인 값을 다룰 때 편리하게 사용되는 구문입니다. `if let`을 사용하면 해당 값이 특정 패턴과 일치하는지 확인하고, 일치하는 경우에만 해당 블록의 코드를 실행할 수 있습니다. `if let`을 사용하는 이유 1. 대안적인 값 처리: `Option`이나 `Result`와 같은 대안적인 값을 다룰 때, `if let`은 해당 값이 실제로 존재하는지 확인하고 그 값을 사용할 수 있게 해줍니다. 예를 들어, `Option` 값이 `Some`인 경우에만 해당 값을 사용하고, `None`인 경우에는 특정 동작을 수행할 수 있습니다. 2. 코드 가독성: `if let`은 패턴 매칭을 사용하므로 코드의 의도를 더 명확하게 표현할 ..
두 연산자는 에러 처리와 결과 값의 추출을 간편하게 수행하기 위해 사용됩니다. 1. `unwrap`: - `Option` 또는 `Result` 타입에서 값을 안전하게 추출합니다. - `unwrap`은 `Option` 타입에서 `Some` 값을 추출하거나, `Result` 타입에서 `Ok` 값을 추출합니다. - `unwrap`은 값의 존재 여부를 검사하지 않고, 값을 강제로 추출합니다. 따라서, 값이 없는 경우(`None` 또는 `Err`)에는 패닉을 일으킬 수 있습니다. - 주로 디버깅이나 간단한 예제 코드 작성 시 사용되며, 실제 상용 코드에서는 에러 처리를 명시적으로 수행하는 것이 권장됩니다. 2. `?` (Question Mark Operator): - `?` 연산자는 함수나 메서드 내에서 `Res..
Some은 `Option` 열거형의 변형 중 하나로, 값이 있는 경우를 나타냅니다. `Option`은 Rust에서 값의 존재 여부를 표현하는 타입이며, `Some`은 그 값이 있는 경우를 나타냅니다. `Some`을 사용하는 이유 1. 값의 존재 여부 표현: `Some`은 값이 존재하는 경우를 명시적으로 표현합니다. Rust에서는 `Option` 타입을 사용하여 값이 있을 수도 있고 없을 수도 있는 경우를 처리할 수 있습니다. `Some`은 값이 있는 경우를 나타내므로, 이를 통해 값을 정확하게 전달하고 처리할 수 있습니다. 2. 타입 안정성: `Option` 타입은 컴파일 시점에서 값의 존재 여부를 확인하여 타입 안정성을 제공합니다. `Option`을 사용하면 값을 명시적으로 `Some`으로 표현하거나 ..