반응형

2018/08 5

GNU/Linux 사용자를 위한 Tistory CLI 프로그램

Tistory CLI 최근에 직접 만든 Tistory CLI 프로그램을 소개하고자 한다. GNU/Linux 사용자를 위한 이 프로그램은 내가 Tistory 웹에디터를 쓰기 싫어서 시작하게 된 프로젝트이다. 개발 관련 글을 쓰다보면 코드 뭉치를 써야 할 경우가 많이 있는데, 그 경우에 웹에디터의 WYSIWYG (What You See Is What You Get) 모드와 HTML 모드를 넘나들면서 문서 작업을 하는 것이 나에겐 고단한 일이다. 또한 웹에디터에서 제공하는 대부분의 기능을 사용하지 않을 뿐 더러, 사용하더라도 꽤나 지저분한 HTML 코드가 생성되는 것을 봤기에 더욱 꺼려지게 되었다. 이는 내가 설정한 CSS를 웹에디터가 알 길이 없으니 어쩔 수 없는 것이긴 하다만, 그렇다고 하더라도 친절한 내..

Programming 2018.08.29

쪼잔한 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

BrewDay 더치 커피 구매기

나는 일할 때 커피가 없으면 허전한 커알못이다. 어느 순간 갑자기, 우리 나라 카페의 4-5천원하는 비싼 커피를 계속 사먹는 것이 뭔가 억울해졌다. 최근 들어 더치 커피를 몇 번 먹어보니 맛있어서, 이걸 좀 쟁여두고 먹을 수 없을까 알아봤다. 그 결과 알게 된 것이 이 글에서 소개할 BrewDay 제품이다. BrewDay 네이버 스토어팜에서 SunnySide, BlueMoon 두 가지 맛으로 더치 원액을 판매하고 있다. 간단히 말하자면 SunnySide는 상큼한 맛, BlueMoon은 고소한 맛이다. 자세한 설명은 팜스토어에 잘 되어 있으므로 생략한다. 주문 내역SunnySide 1L 18.9천원BlueMoon 0.5L 9.9천원배송비 3천원총 31.8천원 제품은 원액이기 때문에, 물과 커피 원액의 비율..

In Real Life 2018.08.02