rewritten in 2023.12.14 좋아요 1위의 언어, 안전한 거 말고 다른 건? Rust 진짜 좋아요. 정말 좋습니다. 스택오버플로우에서 5년 연속으로 가장 사랑받는 언어 1위가 되기도 하고, 업계 도입률과 순위도 점차 올라가고 있습니다. 아직은 살짝은 이르지만요. 저는 매번 Rust가 좋다고 얘기하고 싶어합니다. 하지만 많은 글들이 "메모리 안전성"에 중점을 두고 설명하고 있습니다. 하지만 그게 전부는 아닙니다. 그래서 저는 다른 부분에 우선 초점을 맞춰서 설명하고 싶었습니다. C++에서 할만한 실수들이 방지된다 Rust를 사용하면 C++에서 할만한 실수들의 많은 수를 미연에 방지할 수 있습니다. 그건 당연한 겁니다. 입 아플 정도로 많은 곳에서 설명하고 있죠. 저는 굳이 설명하지 않겠습니다..
연동 방법 CMake C++ 프로젝트와 Rust를 연동하는 방법은 몇 가지가 있음 바인딩 코드 자동 생성 관점에서... C -> Rust 바인딩 코드 자동생성: bindgen C C -> Rust + bindgen 로 래핑하는 걸 짰었는데 실패했었고, 그 이유는 install 타겟이 없어서였던걸로. (위 글 읽어보니 install 타겟은 의존성 있는 라이브러리를 다 설치한다고. 없으니까 당연히 링크 에러 나지...) null 포인터 is_null (제일 이해하기 쉬운 방법) libc++ 어쩌죠? println!("cargo:rustc-link-lib=static=stdc++"); dylib도 되고(이게 일반적) 나이틀리에는 minimize 하는 것도 있댔는데 찾아보긴 번거롭네요. cmake 빌드결과는 어..
iced 프레임워크의 예시 중 이벤트를 메시지로 매핑하는 부분을 따라하고 있었음 패러미터는 함수를 받는데, 예시 코드에서는 enum variant 를 익명함수가 들어갈 곳에 그냥 넣어놨음 -> 이 시점에서 "뭐지" 그러고 🤯 가 됨 작업하던 코드. InputRegex(String) 은 분명 그냥 enum variant 인데, 함수가 들어가야 할 곳에 들어감. 알고보니 tuple struct 는 동명의 함수도 정의된다더라 (삐빅 정상이었습니다) reddit.com/r/rust/comments/firk1r/tuple_structs_are_functions/ https://stackoverflow.com/questions/58736827/is-it-possible-to-pass-a-tuple-struct-co..
안 하면 기본으로 info, warn, error 만 로깅됨 https://github.com/tokio-rs/tracing/blob/772290d4d958ebe8526fe499cd7f1b4e3aaba9db/tracing-subscriber/src/fmt/mod.rs#L1171-L1172 https://docs.rs/tracing-core/0.1.21/src/tracing_core/metadata.rs.html#472
기본: the book (생략) 초보자용 개괄: http://www.sheshbabu.com/posts/rust-error-handling/ 리얼 앱에서: https://www.lpalmieri.com/posts/error-handling-rust/ rust에 예외(exception)가 없다는 거랑 대신 Result / Option 로 해결보는 거, ? 키워드로 Result 로 반환하는 건 책을 보셨다면 다들 아실테고... Box와 anyhow::Error 실제 문제는 한 함수 내에서 버블링업할 예외의 타입이 서로 다를 때 발생함. 컴파일이 안 되니까; 나는 에러 AError와 BError 둘 중 하나를 반환해야 하는데, 반환형은 Result 나 Result 둘 중 하나밖에 안 됨. AError와 BEr..
https://www.vincentprouillet.com/blog/tera-v1-is-here/ 세부 비교는 잘 모르기도 하고 알아볼 생각도 없음 이 주제를 찾아보게 된 이유는 쓰려고 공부중인 웹프레임워크의 템플릿 예시가 askama 템플릿 엔진을 써서인데, 본래 zola (정적 사이트 생성기) 제작자가 만들었고 zola에서 쓰이기도 하는 tera 를 쓸 생각이었습니다. 코드가 1:1로 대응이 되지 않다보니 이 시점에서 "뭐가 좋아?" 라는 조사가 필요했습니다. 목적에 맞냐는 거죠. rust의 템플릿 엔진들을 하나하나 기능별로 비교해주는 훌륭한 글은 없었고 그나마 있던 게 logrocket 글, 그렇지만 거기엔 askama 가 없었습니다. 이 시점에서 찾아보기만 하다가 끝이 안 날 거 같아서 비교는 그..
https://blog.logrocket.com/end-to-end-testing-for-rust-web-services/ warp, wiremock, postgresql r뭐시기 async 커넥션 풀을 사용 async-trait 사용 (아직 오피셜이 없으므로 crate) wiremock: 서드파티 HTTP 서비스 테스팅에 사용 조건에 따른 응답을 반환하는 http 테스팅용 서버를 정의하고 실제로 띄울 수 있는 거인 모양 mock 테스팅과 e2e testing 두 가지를 다룸 mock: DB, 외부 HTTP는 전부 trait으로 만들어 사용. async 이므로 async-trait 사용 HttpService 를 trait 으로 만들고 wiremock 으로 구현 저번에 읽다만 z2p 는 저자가 mock 방..
- Total
- Today
- Yesterday
- c++
- 쿠버네티스
- upbit
- C#
- ArchLinuxARM
- 오라클 클라우드 인프라
- scss
- 시스어드민
- Sass
- 업비트
- Godot Engine
- rust-lang
- 개발기록
- vuex
- kotlin당했다
- 토이프로젝트
- javascript
- K8s
- Oracle Cloud Infrastructure
- pleroma
- 왜 생각이 안 났지
- mvu
- gitea
- exercism
- pdf.js
- 마스토돈
- C++ FAQ
- 오라클 클라우드
- ActivityPub
- OStatus
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |