728x90 rust29 Rust로 알고리즘 문제 풀기 Rust에 흥미를 가지기 시작하면서 해당 언어를 학습하고자, 백준 온라인 저지를 통해 알고리즘 문제를 풀고 있습니다.Rust를 사용하는 개발자의 수가 JAVA나 C++에 비하여 많지는 않지만, 해당 언어로 알고리즘 문제를 풀어 보고 싶어하시는 분들이 있을거 같아 포스팅을 하게 되었습니다.https://github.com/utilForever님의 레포를 참고하여 입출력 코드를 사용하고 있습니다.입출력기본적으로 모든 문제에 다음과 같은 입출력 코드를 활용하고 있습니다.JAVA에서는 BufferedReader나 BufferedWriter라고 생각하여 주시면 됩니다.use io::Write;use std::{ collections::{HashMap, HashSet}, io, str,};pub stru.. 2025. 6. 29. Rust로 백엔드 개발기(feat. 메이플스토리) - 10 Not Found 처리, request 통합 이번 시간에는 요청을 하는 url이 일치하지 않는 경우에 대한 처리, request로 들어온 정보에 따라 url를 변경하여 요청하는 방식에 대해 배워보고자 합니다.없는 url로 요청백엔드에 정의되지 않은 url로 요청시, 해당 주소를 찾을 수 없습니다. Not Found를 출력하도록 하기 위해서는, Router에 fallback함수를 추가해주면 됩니다. 다음과 같이 message가 정의된 struct 구조체를 선언해주고, fallback() 함수에 IntoResponse를 상속받아서 BAD_REQUEST를 출력하도록 진행하면 됩니다.use axum::response::IntoResponse;#[derive(Serialize)]struct ErrorResponse { message: &'static .. 2025. 4. 13. Rust axum VS Java Spring boot 속도 테스트 rust 백엔드는 java 백엔드보다 빠를까? 라는 이야기로 간단하게 테스트를 해보았습니다.Rust는 axum 0.8.3을 사용하였습니다.Java는 Spring boot Web 3.4.4를 사용하였습니다.open api를 활용하여 하고자 하였으나, 초당 건수 제한과 총 건수 제한으로 인하여 간단한 로직을 구성한 후, 테스트를 진행하였습니다. test는 jemter를 사용하였습니다.설정Numbeer of Threads = 50seconds = 60Loop Count = InfiniteDuration : 180Spring boot처리량 : 85527, tps : 473.2/sec처리량 : 83539, tps : 462.6/sec처리량 : 83999, tps : 465.0/secRust처리량 : 109820,.. 2025. 4. 4. Rust로 백엔드 개발기(feat. 메이플스토리) - 09 Main 함수 정리 이번 시간에는 main함수에 선언한 불필요한 내용들을 분리하는 방법에 대해 배워보고자 합니다. 현재 개발중인 프로젝트의 main.rs에는 다음과 같이 매우 복잡하게 작성되어져 있습니다.#[tokio::main]async fn main() { // TODO : VEC 형식으로 가져오는 값 자체가 null인 경우 예외처리 하기 let app = Router::new() .route("/getOcid", post(get_ocid)) ... .layer(Extension(api_key)) .layer(cors); let listener = tokio::net::TcpListener::bind("{ip}:{port}").await.unwrap();.. 2025. 4. 2. 이전 1 2 3 4 ··· 8 다음 728x90