분류 전체보기

🧪 러스트 자동화 테스트 완전 정복Rust는 안정성과 안전성을 중시하는 언어인 만큼, 테스트 시스템도 강력하고 잘 설계되어 있습니다.이 글에서는 기본적인 테스트 작성 방법부터, mock, 파라미터화, 통합 테스트 구성까지 실무에 유용한 내용을 한 번에 정리해드릴게요!1️⃣ 유닛 테스트 시작하기Rust에서 **단위 테스트(Unit Test)**는 일반적으로 테스트 대상이 되는 함수와 같은 파일의 하단에 작성합니다. 이때 테스트 코드를 실제 코드와 명확하게 구분하고, 빌드 시에는 포함되지 않도록 하기 위해 #[cfg(test)] 속성과 내부 모듈 mod tests를 함께 사용합니다.// src/lib.rs pub fn add(a: i32, b: i32) -> i32 { a + b } #[cfg(test)..
"유연함"과 "안전함"을 동시에 잡는 방법 러스트는 안전하고 빠른 시스템 프로그래밍 언어입니다. 그런데 그만큼 문법이 낯설고 빡세죠. 특히 제네릭(generics), 트레이트(traits), 수명(lifetimes)은 러스트 초보가 한 번쯤은 멘붕 오는 3대장입니다.하지만 이 셋은 사실 서로 밀접하게 연결되어 있고, 조금만 개념을 잡으면 코딩이 훨씬 자유로워져요. 이 글에서는 세 가지를 자연스럽게 이어지는 흐름으로 설명하면서, 언제 어떤 상황에서 써야 할지도 함께 알려드릴게요.1️⃣ 제네릭: 여러 타입에 대응하는 유연한 코드📌 제네릭이란?제네릭은 함수나 구조체, 열거형을 "특정 타입에 고정하지 않고", 여러 타입에 대해 재사용할 수 있게 합니다. 가장 흔한 예는 아래처럼 largest 함수를 만들 때:..
🦀 러스트 에러 처리, 어렵지 않아요 – 실무를 위한 친절한 가이드Rust를 쓰다 보면 꼭 만나게 되는 벽이 하나 있어요. 바로 에러 처리입니다."왜 이렇게까지 철저하게 에러를 다뤄야 하지?" 싶다가도, 이 개념이 잡히고 나면 Rust의 안정성과 신뢰성이 어디서 나오는지 절로 고개가 끄덕여지죠.이 글에서는 Rust의 에러 처리 방식을 하나씩 차근차근 설명드릴게요. 실무에도 바로 쓸 수 있는 예시와 팁도 함께요.🤔 에러에도 두 종류가 있다고?Rust는 에러를 크게 두 가지로 나눠서 처리해요:회복 가능한 에러는 Result로 처리해요. 예를 들어 파일을 열었는데 존재하지 않는다면, 이건 예상 가능한 실패잖아요.반면, 회복 불가능한 에러는 panic!으로 처리돼요. 예를 들어 배열의 100번째 요소를 꺼내..
🧺 Rust 기본 컬렉션 완전 정복 – Vec, String, HashMapRust에서 가장 널리 쓰이는 세 가지 컬렉션,Vec, String, HashMap는기초이자 실전에서도 계속 마주하게 되는 핵심 도구입니다.이번 글에서는 이 컬렉션들이 어떻게 동작하는지,언제 어떤 상황에서 쓰는지, 그리고 실제 코드에서는 어떻게 활용하는지조금 더 깊이 있게 다뤄보겠습니다.1️⃣ Vec – 순서 있는, 빠르고 안전한 배열✅ 어떤 컬렉션인가요?Vec는 동일한 타입의 값을 순서대로 저장하는 가변 배열입니다.크기를 미리 알 수 없거나, 중간에 값을 추가/삭제해야 하는 경우 유용합니다.내부적으로는 힙(heap)에 연속된 메모리 공간을 할당합니다.C++의 std::vector, Java의 ArrayList, Python의 ..
🧳 러스트 프로젝트 구조 쉽게 이해하기 – 패키지, 크레이트, 모듈, 경로러스트로 프로젝트를 하다 보면 자주 듣게 되는 말들이 있어요.패키지(Package), 크레이트(Crate), 모듈(Module), 경로(Path) 같은 것들이죠.이게 뭔가 싶고 헷갈릴 수 있는데, 사실은 그렇게 어렵지 않아요.딱 정리해두면 러스트 코드를 아주 깔끔하고 체계적으로 만들 수 있습니다.📦 패키지(Package)란?패키지는 러스트 프로젝트 하나라고 생각하면 돼요.우리가 흔히 cargo new my_app으로 만드는 게 바로 하나의 패키지예요.my_app/├── Cargo.toml // 패키지 정보└── src/ └── main.rs // 실행 시작점이렇게 만들어진 패키지에는 바이너리 크레이트가 하나 포함돼 있..
📊 차트 종류와 활용 전략 쉽게 이해하기주식이나 선물 투자를 할 때, 차트는 가격 흐름을 시각적으로 보여주는 가장 중요한 도구입니다.하지만 차트의 종류는 매우 다양하고, 각각의 특징과 쓰임새도 다릅니다.아래에서는 대표적인 차트들을 소개하고, 이를 어떻게 전략적으로 활용할 수 있는지까지 살펴보겠습니다. 📊 주요 차트 종류와 설명1. 📈 막대차트 (Bar Chart)소개:고가(high), 저가(low)를 포함한 일일 가격 범위가 수직선으로 표시되는 차트.각 막대는 하루(또는 1분 등)의 가격 변동을 하나의 '선'으로 표현함.장점:가격 변동 폭을 한눈에 볼 수 있음거래 심리를 파악하기 좋음단점:초보자에게는 시각적으로 다소 복잡함캔들차트보다 직관성이 떨어짐활용 예시:고점 돌파 → 매수 시그널저점 이탈 → ..
✅ 기본적 분석 vs 기술적 분석주식이나 자산을 분석할 때 많이 사용되는 두 가지 접근 방식인 기본 분석과 기술적 분석(차트 분석)에 대해서 알아볼게요. 기본적 분석기술적 분석📌 분석 대상기업의 내재 가치(재무제표, 산업 동향, 경쟁력 등)가격 움직임과 거래량 등시장 데이터 자체🛠 방법재무제표 분석, PER/PBR, 성장성 평가, 거시경제 분석캔들 차트, 이동평균선, RSI, MACD, 추세선 등⏰ 투자 성향중장기 투자자에 적합단기 매매, 트레이더에 적합🎯 초점"얼마가 적정한가?""언제 사야 하는가?"🤔 전제시장은 비효율적이며, 저평가/고평가 자산이 존재함시장은 모든 정보를 가격에 반영함 📉 기본적 분석의 단점시점 판단이 어렵다→ 기업의 내재 가치는 평가할 수 있어도 언제 주가가 오를지는 알기 ..
🎭 러스트의 열거형(enum): 상태를 표현하는 강력한 도구지금까지 우리는 구조체를 통해 데이터를 묶고, 메서드와 트레이트로 행동을 부여하는 방법을 배웠습니다.이번에는 값의 상태나 종류가 여러 개일 수 있을 때 러스트에서 이를 어떻게 표현하는지를 살펴볼 차례입니다.바로 **열거형(enum)**입니다.📦 열거형이란?열거형(enum)은 하나의 타입이 여러 가지 상태 중 하나를 가질 수 있도록 정의하는 방식입니다.enum Direction { North, East, South, West, }이 예시에서 Direction은 네 가지 중 하나의 값을 가질 수 있어요.각 상태는 **열거자(variant)**라고 부릅니다.🔗 열거형과 구조체의 차이점과 공통점 구조체열거행목적여러 데이터를 함께 표현하나의 상태 중..
경이로운아일라
'분류 전체보기' 카테고리의 글 목록