728x90 반응형 rust56 Tokio 생태계에 등장한 새로운 웹 풀스택 프레임워크, Topcoat 최근에 tokio 생태계에 새로운 녀석이 등장했습니다. 바로 Topcoat이라는 웹 풀스택 프레임워크입니다.Topcoat이란?Topcoat는 서버 중심 렌더링으로, 서버에서 HTML 조각을 렌더링하고 메타데이터로 "반응형 지시문"을 추가하는 방식으로 더해집니다. (HTMX와 유사) Topcoat로 만든 "hello wolrd"앱 입니다.#[tokio::main]async fn main() { topcoat::start(Router::builder().discover().build()).await.unwrap();}#[page("/")]async fn home() -> Result { view! { .. 2026. 7. 26. Rust 서버 성능 개선을 위해 병목부터 측정해봤습니다 이번에는 각 API들이 얼마만큼의 시간을 소비하고, 어디서 가장 많은 시간을 소비하는지 측정하기 위하여 개인 프로젝트에 해당 시스템을 도입했습니다. 이에 대한 내용에 대해 적어볼까 합니다.왜서버 성능 향상을 위해, 어느 시점에 가장 많은 시간을 소요하는지, 이에 대한 해결책을 찾아보고자 해당 시스템을 도입하게 되었습니다. 현재 서버는 서버 -> nexon open api / DB -> 서버 -> 클라이언트 구조를 기본적으로 가지고 있습니다. 여기서 어느 시점에 가장 오래걸리는지 확인하기 위하여 다음과 같이 구간을 나누었습니다.Nexon open apiDBLogicRest apiCache어떻게?현재 사용중인 tracing-subscriber을 활용하였습니다. 가장 먼저 해당 로직은 release모드가 아닌.. 2026. 7. 5. cargo update가 만든 의외의 함정 저는 이전 포스팅에서도 말씀드렸다시피, 최신 버전을 계속해서 업데이트합니다. 그래서 항상 러스트 라이브러리들의 최신 버전을 유지하기 위해, cargo update를 수행합니다. 해당 포스팅에서는 무턱대로 cargo update를 수행하다가 발생한 문제와 이를 해결하는 방법에 대하여 설명드리고자 합니다.뭘 업데이트 했는데?최근에 cargo update를 통해 다음와 같이 새로운 라이브러리와 2개의 다른 라이브러리를 업데이트 하였습니다. 모두 dropbox의 레포에서 업데이트된 라이브러리들입니다.Adding alloc-no-stdlib v3.0.0Updating alloc-stdlib v0.2.2 -> v0.2.3Updating brotli-decompressor v5.0.1 -> v5.0.2이게 무슨 문제.. 2026. 6. 14. Rust Lint로 숨겨진 Warning 찾기 Rust에는 다양한 warning 로그가 존재합니다. 물론, 모든 warning로그를 지우지 않아도 되지만, 사용하지 않는 코드가 남아있다거나, 불필요한 변수를 선언한 경우 등 다양한 케이스들에도 warning로그가 발생해, 저는 왠만하면 제거하고 있습니다. 그러던 중 [workspace.lints.rust]이라는 것을 알게 되었고, 이를 프로젝트에 적용한 후, cargo build --all-targets --all-features를 실행하게 되면, 숨겨진(?) warning 로그들을 찾아서 알려줍니다. 몇몇 lint들에 대하여 이야기 드리자면버그 발견unused_must_use = "warn"을 사용하게 되면 다음과 같은 케이스를 발견할 수 있습니다.fn process() -> Result { .. 2026. 6. 7. 이전 1 2 3 4 ··· 14 다음 728x90 반응형