NewYork๐Ÿ‡บ๐Ÿ‡ธ
Germany๐Ÿ‡บ๐Ÿ‡ธ
Korea๐Ÿ‡ฐ๐Ÿ‡ท




Rust & vim ์œ ๋ฃŒ ๊ฐ•์˜ ์†Œ๊ฐœ
๊ฐ•์˜๋ช… ์ด ๊ฐ•์˜ ์‹œ๊ฐ„ ๊ธˆ์•ก
(์นด๋“œ
& ํ˜„๊ธˆ ์˜์ˆ˜์ฆ
๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.)

Rust ๊ฐ•์˜
Rust Basic ๊ธฐ๋ณธ(30์‹œ๊ฐ„) + ๋ฌด๋ฃŒ(50์‹œ๊ฐ„) = ์ด 80์‹œ๊ฐ„ 30 ๋งŒ์›
Rust Advanced (์ œ์ž‘์ค‘...)
Algorithm ์ง‘์ค‘ํ›ˆ๋ จ
+ Design Pattern
+ ๋Ÿฌ์ŠคํŠธ ๊ทนํ•œ์˜ ์ตœ์ ํ™”
+ Vim Basic
50 ๋งŒ์›
Rust Expert (์ œ์ž‘์ค‘...)
A deep dive into Rust
Rust์ฝ”๋“œ๋ฅผ Assembly๋กœ ๋ณ€ํ™˜ํ•˜๊ณ 
Rust๋ฅผ ๊นŠ๊ฒŒ ํŒŒ๊ณ  ๋“ค์–ด๊ฐ€์„œ
์ž‘๋™์›๋ฆฌ ๋ฐ ์ตœ์ ํ™”
์ดํ•ดํ•˜๊ธฐ(์ œ์ž‘์ค‘..)
100 ๋งŒ์›

Vim&NeoVim
&Helix๊ฐ•์˜
Vim Basic ๊ธฐ๋ณธ(20์‹œ๊ฐ„) + ๋ฌด๋ฃŒ(10์‹œ๊ฐ„) = ์ด 30์‹œ๊ฐ„ 10 ๋งŒ์›
์‹œ๊ฐ„์€ ์ €ํ•˜๊ณ  1:1 ๋กœ ์ž์œ ๋กญ๊ฒŒ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.
ํ† , ์ผ ์ฃผ๋ง, ํœด์ผ ๊ฐ€๋Šฅํ•˜๊ณ ์š”
ํ‰์ผ ์˜คํ›„7์‹œ~์˜คํ›„11์‹œ
ํ†  ์˜คํ›„3์‹œ~์˜คํ›„11์‹œ
์ผ, ํœด์ผ ์˜ค์ „10์‹œ~์˜คํ›„8์‹œ ์‚ฌ์ด
์ž์œ ๋กญ๊ฒŒ ์กฐ์ ˆํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์ดˆ๊ณผ ๋œ ์‹œ๊ฐ„ ์ดํ›„๋Š”
์‹œ๊ฐ„๋‹น 1๋งŒ 5์ฒœ์›
1:1 ๊ฐ•์˜๋Š” ๋…นํ™” ํ›„ ์œ ํŠœ๋ธŒ๋กœ ๋น„๊ณต๊ฐœ ๊ณต์œ ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ‰์ƒ ์†Œ์žฅ
(240813)๊ธฐ์ค€ ์ถ”์ฒœํ•˜๋Š” ๊ฐ•์˜๋Š” Rust Basic + Vim ๊ฐ•์˜ ์ถ”์ฒœ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
Vim์„ ์ตํžˆ์‹œ๊ฒŒ ๋˜๋ฉด ์†๋ชฉ๋„ ๋œ ์•„ํ”„๊ณ  ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ๋ˆˆ์ด ๋‹ฌ๋ผ์ง€์‹ค๊ฒ๋‹ˆ๋‹ค.
์œ ๋ฃŒ ๊ฐ•์˜ ๊ต์žฌ(Books) https://economiceco.tistory.com/19359 ์ฑ…
ํ…”๋ ˆ๊ทธ๋ ˜์œผ๋กœ
์œ ๋ฃŒ ํšŒ์› ๋ฌธ์˜ํ•˜๊ธฐ
ํ…”๋ ˆ๊ทธ๋ ˜์œผ๋กœ ๋ฌธ์˜ https://t.me/+VWFd6JouoEdiNmQ1
email์ด๋ฉœ๋กœ
์œ ๋ฃŒ ํšŒ์› ๋ฌธ์˜ํ•˜๊ธฐ
ytok1108@kakao.com
๋Œ“๊ธ€๋กœ ๋ฌธ์˜ํ•˜๊ธฐ
Github์•„์ด๋”” ํ•„์š”
๋Œ“๊ธ€๋กœ ์ด๋™

๋Ÿฌ์ŠคํŠธ(Rust) ๊ฐ•์˜ ์„ธ๋ถ€ ์„ค๋ช…

๋ชฉํ‘œ ์ œ ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ฃ๊ณ  ๋‚˜๋ฉด ํ•œ๊ธ€ ์„ค๋ช…์„œ๊ฐ€ ์—†์–ด๋„
github์ฝ”๋“œ๋งŒ ๋ด๋„ ์•Œ์•„์„œ ํ•ด์„ํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š”๊ฒŒ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.
Rust Snippets Code
&
1:1๊ฐ•์˜ ํ‰์ƒ ์†Œ์žฅ
Rust์˜ ์ฃผ๋กœ ์“ฐ๋Š” ํŒจํ„ด์˜ ์ฝ”๋“œ๋“ค์„ ์ œ๊ณตํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
Gitlab์œผ๋กœ ๋น„๊ณต๊ฐœ ๊ณต์œ 
๋ณต๋ถ™์œผ๋กœ Rust์ƒ์‚ฐ์„ฑ์„ 10๋ฐฐ ์ฆ๊ฐ€ ์‹œ์ผœ ๋ณด์„ธ์š”.
๋‚˜๋งŒ์˜Rust Snippets๋งŒ๋“ค๊ธฐ
๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
๊ฐ•์˜ ์™„์ฃผ
์˜ˆ์ƒ ์‹œ๊ฐ„
1:1 ๊ฐ•์˜๋ผ์„œ ์ž์œ ๋กญ๊ฒŒ
์‹œ๊ฐ„ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„์€ 6๊ฐœ์›”(๋„‰๋„‰ํžˆ)๋กœ .. ์™„์ฃผ ํ•˜์‹ค๋ถ„๋งŒ ํ•˜์„ธ์š”..
์›Œ๋‚™ ์ค‘๋„ ํฌ๊ธฐ์ž๊ฐ€ ๋งŽ์•„์„œ..
์ „ ์ตœ์„ ์„ ๋‹คํ•ด์„œ ์„ค๋ช…ํ•ด ๋“œ๋ฆด๊บผ๊ณ ์š”.
์•ˆ๋˜๋„ ๋œ๊ฒŒ ํ•œ๋‹ค ๋งˆ์ธ๋“œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ^^
์•ˆ๋œ๋‹ค ์ƒ๊ฐํ•˜๋ฉด ์•ˆ๋˜๊ณ 
๋‚˜๋Š” ๋œ๋‹ค๊ณ  ๋ณธ์ธ์—๊ฒŒ
๊ฐ€์Šค๋ผ์ดํŒ… ํ•˜๋ฉด์„œ ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
ใ…Ž ์ƒ๊ฐํ•˜๋ฉด ์ด๋ค„์ง‘๋‹ˆ๋‹ค. ^^
์œ ๋ฃŒ ๊ฒฐ์ œ ์ „์—
Rust ์ดˆ๋ณด
์ด์‹ ๋ถ„๋“ค์—๊ฒŒ
์ถ”์ฒœ
Easy Rust Korean
/ Rust in a Month of Lunches ํ•œ๊ตญ์–ดํŒ
| mithradates
์œ ๋ฃŒ ๊ฒฐ์ œ ์ „์—
Rust ์ดˆ๋ณด
์ด์‹ ๋ถ„๋“ค์—๊ฒŒ ์ถ”์ฒœ
์˜์–ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ
๋Ÿฌ์ŠคํŠธ ๊ณต๋ถ€ํ•˜๊ธฐ
easy rust์˜๋ฌธํŒ
์˜์–ด๊ณต๋ถ€ํ•˜๋ฉด์„œ
๋Ÿฌ์ŠคํŠธ ๊ณต๋ถ€ํ•˜๋ ค๋ฉด
easy rust ์˜๋ฌธํŒ
Easy Rust Easy Rust
/ Rust in a Month of Lunches:
bite-sized Rust tutorials
| mithradates
โ–ถRust Basic ์ปค๋ฆฌํ˜๋Ÿผ โ—€ โ†“ ๋ฐ‘์— ์„ธ๋ถ€์ •๋ณด๋ฅผ ํด๋ฆญํ•˜์‹œ๋ฉด ์ž์„ธํžˆ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ†“
โ–ถ Rust Basic โ—€
Rust & vim ์œ ๋ฃŒ ๊ฐ•์˜ ์†Œ๊ฐœ
์ฝ”๋”ฉ ์„ธํŒ… ํ„ฐ๋ฏธ๋„ ์„ธํŒ…(alacritty) & Fishshell ์„ธํŒ…
Windows๊ฐœ๋ฐœ์ž์ธ ๊ฒฝ์šฐ WSL2์„ค์น˜(linuxOSํ™˜๊ฒฝ)
์ฝ”๋”ฉ ๊ธฐ์ดˆ ์„ค๋ช… ์ฝ”๋”ฉ์˜ ์›๋ฆฌ & ์ปดํ“จํ„ฐ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐฉ์‹
ASCII Table์ดํ•ด
2์ง„๋ฒ•, 8์ง„๋ฒ•, 16์ง„๋ฒ•์ดํ•ด
๋ชจ๋“  ์–ธ์–ด์˜ ์ž‘๋™์›๋ฆฌ tuple์ดํ•ด, reserved words
array, indexing์ž‘๋™์›๋ฆฌ
2d_array, 3d, ๋‹ค์ฐจ์›
array์— ์ €์žฅํ•˜๋Š” ์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ
(์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹์— ํ•„์ˆ˜)
justfile๋กœ ๋‹ค๋ฅธ ์–ธ์–ด์˜
์ž‘๋™์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ
Polyglot๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ํ›ˆ๋ จ
C์–ธ์–ด, C++, Java, Kotlin
์ปดํŒŒ์ผ ํ•ด๋ณด๊ธฐ
๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ๋œ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ์›๋ฆฌ ์ดํ•ด
๋Ÿฌ์ŠคํŠธ ์ถ”๊ตฌํ•˜๋Š” ๋ชฉํ‘œ
C++๊ณผ ๋˜‘๊ฐ™๋‹ค.
Zero Cost Abstraction์ดํ•ด
๋Ÿฌ์ŠคํŠธ ์˜ค๋„ˆ์‰ฝ ๊ฐœ๋… ์žก๊ธฐ OwnerShip Rules & Borrowing Rules ์ดํ•ด
RAM์˜ ์ž‘๋™ ์›๋ฆฌ์™€ Stack & Heap๊ฐœ๋… ์žก๊ธฐ
Rust๋Ÿฌ์ŠคํŠธ
๊ธฐ๋ณธ ๋ฌธ๋ฒ•

  The Rust Programming Language
  Introduction
 1. Getting Started
   1.1. Installation
   1.2. Hello, World!
   1.3. Hello, Cargo!
2. Programming a Fake Install
      & ์‹œ๊ณ„๊ตฌํ˜„(์ปดํ“จํ„ฐ ์‹œ๊ณ„๋กœ)
      & ์ด๋ฏธ์ง€ ๋งŒ๋“ค์–ด๋ณด๊ธฐppm(GUIํ‹€๋งŒ๋“ค๊ธฐ ๊ธฐ์ดˆ)
3. Common Programming Concepts
   3.1. Variables and Mutability
   3.2. Data Types
   3.3. Functions
   3.4. Comments
   3.5. Control Flow
4. Understanding Ownership
   4.1. What is Ownership?
   4.2. References and Borrowing
   4.3. The Slice Type
5. Using Structs to Structure Related Data
   5.1. Defining and Instantiating Structs
   5.2. An Example Program Using Structs
   5.3. Method Syntax
6. Enums and Pattern Matching
   6.1. Defining an Enum
   6.2. The match Control Flow Construct
   6.3. Concise Control Flow with if let
7. Managing Growing Projects with Packages, Crates, and Modules
   7.1. Packages and Crates
   7.2. Defining Modules to Control Scope and Privacy
   7.3. Paths for Referring to an Item in the Module Tree
   7.4. Bringing Paths Into Scope with the use Keyword
   7.5. Separating Modules into Different Files
8. Common Collections
   8.1. Storing Lists of Values with Vectors
   8.2. Storing UTF-8 Encoded Text with Strings
   8.3. Storing Keys with Associated Values in Hash Maps
9. Error Handling
   9.1. Unrecoverable Errors with panic!
   9.2. Recoverable Errors with Result
   9.3. To panic! or Not to panic!
10. Generic Types, Traits, and Lifetimes
   10.1. Generic Data Types
   10.2. Traits: Defining Shared Behavior
   10.3. Validating References with Lifetimes
11. Writing Automated Tests
   11.1. How to Write Tests
   11.2. Controlling How Tests Are Run
   11.3. Test Organization
12. An I/O Project: Building a Command Line Program
   12.1. Accepting Command Line Arguments
   12.2. Reading a File
   12.3. Refactoring to Improve Modularity and Error Handling
   12.4. Developing the Libraryโ€™s Functionality with Test Driven Development
   12.5. Working with Environment Variables
   12.6. Writing Error Messages to Standard Error Instead of Standard Output
13. Functional Language Features: Iterators and Closures
   13.1. Closures: Anonymous Functions that Capture Their Environment
   13.2. Processing a Series of Items with Iterators
   13.3. Improving Our I/O Project
   13.4. Comparing Performance: Loops vs. Iterators
14. More about Cargo and Crates.io
   14.1. Customizing Builds with Release Profiles
   14.2. Publishing a Crate to Crates.io
   14.3. Cargo Workspaces
   14.4. Installing Binaries from Crates.io with cargo install
   14.5. Extending Cargo with Custom Commands
15. Smart Pointers
   15.1. Using Box to Point to Data on the Heap
   15.2. Treating Smart Pointers Like Regular References with the Deref Trait
   15.3. Running Code on Cleanup with the Drop Trait
   15.4. Rc, the Reference Counted Smart Pointer
   15.5. RefCell and the Interior Mutability Pattern
   15.6. Reference Cycles Can Leak Memory
16. Fearless Concurrency
   16.1. Using Threads to Run Code Simultaneously
   16.2. Using Message Passing to Transfer Data Between Threads
   16.3. Shared-State Concurrency
   16.4. Extensible Concurrency with the Sync and Send Traits
17. Object Oriented Programming Features of Rust
   17.1. Characteristics of Object-Oriented Languages
   17.2. Using Trait Objects That Allow for Values of Different Types
   17.3. Implementing an Object-Oriented Design Pattern
18. Patterns and Matching
   18.1. All the Places Patterns Can Be Used
   18.2. Refutability: Whether a Pattern Might Fail to Match
   18.3. Pattern Syntax
19. Advanced Features
   19.1. Unsafe Rust
   19.2. Advanced Traits
   19.3. Advanced Types
   19.4. Advanced Functions and Closures
   19.5. Macros
20. Final Project: Building a Multithreaded Web Server
   20.1. Building a Single-Threaded Web Server
   20.2. Turning Our Single-Threaded Server into a Multithreaded Server
   20.3. Graceful Shutdown and Cleanup

Rust ๊ณ ๊ธ‰ Traits
๋‹ค์–‘ํ•œ Traits ์ตํžˆ๊ธฐ
Static Dispatch VS. Dynamic Dispatch ์ดํ•ดํ•˜๊ธฐ
๋‹ค์–‘ํ•œ traits์˜ˆ์‹œ๋กœ Traits๊ฐ์žก๊ธฐ
Traits๋ฅผ ์ ์šฉํ•œ ์˜ค๋„ˆ์‰ฝ ์„ค๋ช…
๊ณ ๊ธ‰
Rust ๋‹ค์–‘ํ•œ ๊ณณ์— (Traits) ์“ฐ๋Š” ์˜ˆ์‹œ๋ฅผ ๊ฒฝํ—˜ ํ•˜๋ฉฐ ๋Ÿฌ์ŠคํŠธ์— ์ต์ˆ™ํ•ด ์ง€๊ธฐ
์žฌ์ฃผ๊ฐ€ ๋งŽ์€ Traits๋Š” ๋Ÿฌ์ŠคํŠธ์˜ ๊ฝƒ
Rust ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ์ดˆ
๋””์ž์ธํŒจํ„ด ๋Ÿฌ์ŠคํŠธ ๊ธฐ์ดˆ๋งŒ
๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ stack, pop ๋“ฑ๋“ฑ ์–ธ์–ด๋ณ„๋กœ ๋น„๊ตํ•ด ๊ฐ€๋ฉด์„œ ๋งŒ๋“ค๊ธฐ
๋ณธ์ธ์ด ๋งŒ๋“ค๊ณ  ์‹ถ์€๊ฑฐ
๋งŒ๋“œ๋Š” ๊ณผ์ •
์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋Ÿฌ์ŠคํŠธ๋กœ ๋ณธ์ธ ๋งŒ๋“ค๊ณ  ์‹ถ์€๊ฑฐ ๋งŒ๋“ค๊ธฐ

comment