What will happen when you take a C# developer, hand them a curly-brace language that loves safety and hates nulls, and give them six weeks to figure it out? You will experience a journey filled with rewired brain circuits, redefined mental models,...
Est. reading time: 5 minutes
요약
C# 개발자가 Rust를 배우며 6주간 겪는 여정을 요약합니다. 첫 주는 Rust의 새로운 문법과 사고방식을 익히며 시작됩니다. 두 번째 주에는 소유권과 대여, 수명 주기를 이해하며 메모리 관리의 중요성을 깨닫게 됩니다. 세 번째 주에는 Rust의 구조체와 열거형, 패턴 매칭을 통해 데이터 모델링의 즐거움을 느낍니다. 네 번째 주에는 모듈과 오류 처리 방식을 배우며 Rust의 프로젝트 구조에 익숙해집니다. 다섯 번째 주에는 트레이트와 제네릭, 수명 주기를 이해하며 Rust의 강력한 타입 시스템을 경험합니다. 마지막 주에는 실제로 작은 CLI 도구를 만들어보며 Rust의 성능과 효율성을 체감합니다. Rust를 배우며 C# 개발자로서의 사고방식도 변화하게 됩니다. Rust는 모든 곳에서 사용되지는 않겠지만, 성능과 안전성이 중요한 경우에는 유용할 것입니다.
1개의 좋아요
I’ve spent over a decade writing C# and building solutions on .NET. But for six weeks, we will step outside the managed world of garbage collection and runtime JIT to dive headfirst into Rust—a systems programming language that promises performance,...
Est. reading time: 3 minutes
C#에서 Rust까지: 42일간의 개발자 챌린지 | Chris Woodruff
저는 10년 넘게 C#을 사용하여 .NET 솔루션을 개발해왔습니다. 하지만 앞으로 6주 동안은 가비지 컬렉션과 런타임 JIT의 관리된 세계를 벗어나 성능, 안전성, 그리고 null이 없는 시스템 프로그래밍 언어인 Rust에 뛰어들 것입니다.
42일 동안 매일 Rust에 대해 새로운 것을 배우게 될 것입니다. 우리는 borrow checker와 싸울 것이고, 실수를 저지를 것입니다. 그리고 저는 C# 개발자의 관점에서 이를 모두 블로그에 기록할 것입니다.
기대할 것들
Rust와 C#의 실제 비교
소유권, 패턴 매칭, 트레잇, 라이프타임에 대한 교훈
.NET 개발자 관점에서의 일일 반성
일일 계획
1일차: 왜 Rust인가? C# 개발자의 여정 시작
2일차: Rust 설치: dotnet new에서 cargo new로
3일차: Hello, World! Rust vs C# 문법
4일차: Rust의 변수: 불변성을 허락하라
5일차: Rust의 함수: 익숙하지만 다른
6일차: 스칼라 및 복합 타입: 내 클래스는 어디에?
7일차: 1주차 반성: Rust의 미니멀리즘이 다르게 다가오다
8일차: 소유권: 내가 사랑한 가장 C++스러운 것
9일차: 이동 의미론: 내 변수에 무슨 일이?
10일차: 차용과 참조: Rust의 ref 버전
11일차: Borrow Checker: Rust의 엄격한 멘토
12일차: 슬라이스와 문자열: StringBuilder는 안녕?
13일차: Rust의 섀도잉: 스타일 있게 재선언하기
14일차: 2주차 반성: Borrow Checker vs 가비지 컬렉터
15일차: Rust 구조체 vs C# 클래스: 적을수록 더 좋다
16일차: 열거형: 제대로 된 구별된 유니언
17일차: 매치: 스테로이드를 맞은 스위치
18일차: 구조 분해: 패턴 매칭의 강력한 움직임
19일차: Option: Null이 옵션이 아닌 곳
20일차: Result<T, E>: 더 나은 실패 방법
21일차: 3주차 마무리: 데이터 모델링의 반격
22일차: 코드 조직화: Rust 모듈 vs C# 네임스페이스
23일차: 크레이트와 종속성: NuGet, Cargo를 만나다
24일차: ?:로 오류 전파: 간단하고 스마트하다
25일차: Panic! vs 예외: 세상을 멈출 것인가, 처리할 것인가?
26일차: 사용자 정의 오류: Display에서 thiserror까지
27일차: Rust에서의 로깅: Console.WriteLine 없이 추적하기
28일차: 오류와 모듈에 대한 반성
29일차: Rust의 트레잇: 더 많은 일을 하는 인터페이스
30일차: 트레잇 객체: 가상 안녕, dyn 안녕
31일차: Rust의 제네릭 vs C#의 제네릭
32일차: 라이프타임: 첫 만남에서 살아남기
33일차: Rust의 클로저: 트위스트가 있는 함수형 느낌
34일차: 반복자와 함수형 조합자
35일차: 반성: 트레잇과 라이프타임—힘과 고통
36일차: Rust에서 CLI 앱 만들기: 나의 첫 프로젝트
37일차: 인수 파싱 및 로직 작성
38일차: 파일 및 파일 시스템 작업
39일차: Rust에서 테스트 작성: 익숙하고 빠르다
40일차: Rust CLI 도구 패키징 및 릴리스
41일차: 성능 점검: Rust는 정말 빠른가?
42일차: 최종 반성: C# 개발자로서 Rust가 가르쳐준 것
최종 요약
전체 이야기를 준비가 되면 읽어보세요: Rust for the Sharp Mind: C# 개발자로서 6주간의 Rust 학습.
이 여정은 우리의 사고를 확장하고, 가정을 도전하며, 궁극적으로 어떤 플랫폼에서도 더 나은 개발자가 되도록 도와줄 것입니다. 함께 하시길 바랍니다.
1개의 좋아요