An open API service indexing awesome lists of open source software.

https://github.com/younghakim7/rust_tutorial_full_course

My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7
https://github.com/younghakim7/rust_tutorial_full_course

rust rust-crate rust-lang wasm

Last synced: over 1 year ago
JSON representation

My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7

Awesome Lists containing this project

README

          

# Rust RoadMap

- https://roadmap.sh/rust

# Rust 한글 Eng설명서

- 한글 https://rinthel.github.io/rust-lang-book-ko/

- Eng. https://doc.rust-lang.org/book/

## Comprehensive Rust 🦀(구글팀에서 만듬)

https://google.github.io/comprehensive-rust/ko/other-resources.html


https://github.com/YoungHaKim7/YouTubeContents_GlobalYoung

- 코딩Coding-Rust러스트 | 러스트\_프로그래밍Rust(GlobalYoung)

- https://youtube.com/playlist?list=PLcMveqN_07maeDuKrsf5GYMDB5obTWoWg

# Effective Rust

https://www.lurklurk.org/effective-rust/

# Rust for Rustaceans 책에 나오는 학습 리소스 정리

https://inudevlog.com/Rust%20for%20Rustaceans%20%EC%B1%85%EC%97%90%20%EB%82%98%EC%98%A4%EB%8A%94%20%ED%95%99%EC%8A%B5%20%EB%A6%AC%EC%86%8C%EC%8A%A4%20%EC%A0%95%EB%A6%AC/


# 러스트 간단히 소개 Rust for Beginners – Get Started with the Most Loved Programming Language | FreeCodeCamp

https://www.freecodecamp.org/news/rust-getting-started-with-the-most-loved-programming-language/

# 이제 손으로 짜는 코딩은 ByeBye) What you do use, you couldn’t hand code any better(당신이 사용하는 것, 당신은 더 나은 코드를 만들 수 없습니다)

(출처 which Dr. Bjarne Stroustrup, father of C++, explains (see pg. 4)

- 사람이 할 일은 전체적으로 컨셉만 잡고 큰 틀만 잡지 세부적인 코딩은 AI에게 맡기면 된다. 그리고 10명에서 짤 코드를 혼자서도 코딩할 수 있는 대단한 AI 시대가 오고 있다.(땡규 GPT,BingAI) 결국 Polyglot만이 살길 (그냥 혼자만의 생각)

- 전체적인 코드를 이해하는 자만이 앞으로의 미래를 지배한다. 결국 Polyglot (그냥 혼자만의 생각)

- https://github.com/jhartzell42/rust-c-book/blob/main/src/intro.md

- What you don’t use, you don’t pay for (and Dr. Stroustrup means "paying" in the sense of performance costs, e.g. in higher latency, slower throughput, or higher memory usage)

- What you do use, you couldn’t hand code any better

There is also an executive summary of the concept at CppReference.com.


# Rust atomics & Locks 집중 분석

- Rust Atomics and Locks (Low-Level Concurrency in Practice by Mara Bos)

- https://marabos.nl/atomics/



![Screenshot 2023-02-13 at 11 35 45 PM](https://user-images.githubusercontent.com/67513038/218490501-f12b971f-363a-45c8-9ea1-4633d40e3364.png)

# Isabella Muerte(@slurpsmadrips) August 1, 2019

- Rust Programmers, if the Rust commuity wants to hide horrors, fight to prevent a major catastrophe, and unite humanity so we don't have to feel pain or be alone, that's not language evangelism. That's language evangelionism.

# Befor we get stated... Some tips | Ryan Levick

![1212121212](https://user-images.githubusercontent.com/67513038/218509435-245e1cd7-14a4-4028-a744-8bb599a072ae.jpg)

- Rust Before Main - Ryan Levick - Rust Linz, July 2022

- https://youtu.be/q8irLfXwaFM

- Computers are not magic

- All of this is understandable

- Everything you see here was made by humans

- It's all a mix of deliberate choice & choice & random circumstance

- At any given point, it's not always easy to tell which ?

- Unfortunately, explanations are not always the best

- 컴퓨터는 마법이 아니다

- 이 모든 것은 이해할 수 있다

- 여기 보이는 모든 것은 인간이 만든 것이다

- 그것은 모두 의도적인 선택과 선택 그리고 무작위적인 상황의 혼합이다

- 어느 시점에서든 어느 것이 항상 구별하기 쉽지는 않다?

- 불행하게도, 설명이 항상 최선은 아니다


# Tutorial Rust \_\_\_Easy Rust (My teacher스승님 최고 ❤️)

Updating

2021-12-10 : Rust 기초 강의 시작

> #### Rust (My teacher스승님 Github)

> - https://github.com/Dhghomon/easy_rust/

> - 유튜브 주소(한글 강의)
> - 1강
> - https://www.youtube.com/watch?v=W9DO6m8JSSs


> - 유튜브 주소(English Ver.영어 강의)
> - 1강
> - https://www.youtube.com/watch?v=-lYeJeQ11OI&list=PLfllocyHVgsRwLkTAhG0E-2QxCf-ozBkk&index=1

-Easy Rust eBook

- https://dhghomon.github.io/easy_rust/



# google(comprehensive-rust) 구글팀에서 만든 러스트 4일 완성 tutorial

https://google.github.io/comprehensive-rust/

# comprehensive-rust (other resources)

https://google.github.io/comprehensive-rust/other-resources.html

# 기타 등등 Rust tutorial

- tutorialpoint

- https://www.tutorialspoint.com/rust/index.htm

- String(tutorialpoint)

- https://www.tutorialspoint.com/rust/rust_string.htm

# Rust Doc std(standard Library DOC)

https://doc.rust-lang.org/std/


## DOCS.RS(rust 기타 crate문서들)

https://docs.rs/


# Rust Language Cheats Sheet

https://cheats.rs/

https://github.com/ralfbiedert/cheats.rs/


# awesome rust

https://github.com/awesome-rust-com/awesome-rust


# Lincence라이센스 표시

https://gist.github.com/lukas-h/2a5d00690736b4c3a7ba

https://shields.io/category/license

# downloads 기타 등등 다

https://shields.io/category/downloads

# Rust eBook(Freely available programming books, 무료 배울 수 있음)

https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#rust

# Rust 공식 Learn 채널

https://www.rust-lang.org/learn

# Rust 공식 eBook eng.

https://doc.rust-lang.org/book/

## Experiment: Improving the Rust Book

- https://rust-book.cs.brown.edu/

# Clippy

## A collection of lints to catch common mistakes and improve your Rust code.

![example branch parameter](https://github.com/rust-lang/rust-clippy/actions/workflows/clippy_bors.yml/badge.svg?event=push)

https://doc.rust-lang.org/nightly/clippy/index.html

https://rust-lang.github.io/rust-clippy/master/index.html


# awesome rust

https://github.com/awesome-rust-com/awesome-rust


# Rustlings

# Presentation by Rust

Rust is a system programming language, compiled and multi-paradigm. It is a cross between imperative language (C), object (C++), functional (Ocaml) and competitor (Erlang). It draws on the theories of the languages of recent years and the most popular programming languages in order to achieve three objectives: speed, security (in particular memory) and competitor (secure data sharing between tasks).

Rust's development was initiated by Graydon Hoare in 2006, particularly in order to resolve security flaws in Firefox without negatively impacting performance. To follow this tutorial, it is highly recommended that I have already developed in at least one other language (C, C++, Java, JavaScript, Python, etc.) because I will only briefly go through the basics. Its strengths are:

Managing ownership of variables
Memory management
Static typing
Type inference
Pattern matching filtering
Genericity
We'll review all of this in more detail. Some useful links:

- Website: rust-lang.org

- The documentation (always useful to have it on hand!)

- Github repository (to view source code)

- The rustbook (the official "course" in English)

- Rustlings (a program of interactive exercises to accompany learning)

-rust by example (A compilation of rust examples)

- Reddit (to ask a question)



# Rust 무료로 배울 링크

https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#rust

- 러스트Rust❤️👍 기초 다 배우고 간단한 프로그램 만들면서 감 잡기

- https://github.com/MunGell/awesome-for-beginners#rust

# 모든 언어를 무료로 공부할 수 있다.

출처 : stackoverflow.com
알게 된 링크

역시 갓 스택 오버플로우

https://stackoverflow.com/questions/38683512/why-git-shallow-clone-can-have-more-commits-than-depth/38683775#38683775

- Github 주소

https://github.com/EbookFoundation/free-programming-books

- EbookFoundation

https://ebookfoundation.github.io/free-programming-books/

# 모든 언어 기초 배우고 기초적인 프로그램 만들기 awesome for beginners 너무 좋다.❤️👍

https://github.com/MunGell/awesome-for-beginners


# Rust 공식eBook에 나오는 String개념

https://doc.rust-lang.org/book/ch08-02-strings.html

# 러스트의 String 종류 ㅋㅋ

- https://youtu.be/4DLhTPsg8QQ

```
String, &str
CStr, CString
Cow<'_, str>
Path, PathBuf
Vec
&[u8]
OsStr
```

- 보통 코딩 언어들은 2개지만

```
String
&str
```

- 17분 28초에 나옴 Rust❤️String 넣는 방법

- https://youtu.be/4DLhTPsg8QQ

```
.to_string()
.to_owned()
.into()
String::from()
format!()
```

## Tim McNamara | Rust in action 저자

- https://economiceco.tistory.com/13040

# YouTubeContents_GlobalYoung

https://github.com/YoungHaKim7/YouTubeContents_GlobalYoung

# 소유권 규칙

먼저, 소유권에 적용되는 규칙부터 살펴보자. 앞으로 살펴볼 예제들은 이 규칙들을 설명하기 위한 것이므로 잘 기억하도록 하자.

1. 러스트가 다루는 각각의 값은 소유자(owner)라고 부르는 변수를 가지고 있다.
2. 특정 시점에 값의 소유자는 단 하나뿐이다.
3. 소유자가 범위를 벗어나면 그 값은 제거된다.

# Ownership Rules

First, let's take a look at the ownership rules. Keep these rules in mind as we work through the examples that illustrate them"

1. Each value in Rust has a variable that's called its owner.
2. There can only be one owner at a time.
3. When the owner goes out of scope, the value will be dropped.

# Borrowing rules

1. At any given time,
you can have either one mutable reference or any number of immutable references.

2. References must always be valid.

# Borrow Checker(Rustlang)


Rust Borrow Checker (해외 유튜버 자료)


Date
Title & Link


21-5-15(sat.)
The Rust Borrow Checker - A Deep Dive
A Deep Dive - Nell Shamrell-Harrington, Microsoft


23-1-21(sun.)
Sneaking By The Rust Borrow Checker - Interior Mutability
Code to the Moon

https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html

What is Ownership? - The Rust Programming Language

Ownership is a set of rules that governs how a Rust program manages memory. All programs have to manage the way they use a computer’s memory while running. Some languages have garbage collection that constantly looks for no-longer used memory as the prog

https://doc.rust-lang.org

## 메모리를 빌려간 참조가 있는 동안은 해제할 수 없습니다.

- 소유권자의 수명이 다하기 전에 갚아야 합니다.

20분17초
https://www.youtube.com/watch?v=sv9UHD67_rQ

- 무효화

메모리를 빌려간 참조가 있는 동안은 변경할 수 없습니다.
컴파일러가 참조의 수명을 추척합니다.

22분16초
https://www.youtube.com/watch?v=sv9UHD67_rQ



# Ownership(Rustlang)


Rust Option


Date
Title & Link


22-3-19(sun.)
rust한글강의_러스트_오너쉽개념Borrowing이해하기_메모리할당_What is Ownership_rust programming#rust #ownership #borrowing

22-6-07(tue.)
자바(Java)_vs_러스트_비교하면서 러스트오너쉽개념이해_기본syntax연습하기part3_#java #rust #ownership

# rust -memory-container

https://github.com/usagi/rust-memory-container-cs

![rust-container](https://github.com/usagi/rust-memory-container-cs/blob/master/3840x2160/rust-memory-container-cs-3840x2160-dark-back.png)


- small size ver.

![rust-memory-container-cs-small-dark-back-high-contrast](https://user-images.githubusercontent.com/67513038/220503296-bbc31e6b-93d1-4e25-ac93-052aa2e89ab5.png)


# Ownership Concept Diagram

![rust-ownvership](https://i.redd.it/nhhxzcwqd6q61.png)

## 출처:

https://www.reddit.com/r/rust/comments/mgh9n9/ownership_concept_diagram/?utm_source=share&utm_medium=ios_app&utm_name=iossmf


![Screenshot 2023-01-21 at 10 56 20 AM](https://user-images.githubusercontent.com/67513038/213838895-8194e55a-abe4-472e-8ed4-f34e7770425a.png)

220607자바(Java)*vs*러스트*비교하면서 러스트오너쉽개념이해*기본syntax연습하기part3\_#java #rust #ownership


출처

Rust for Java Developers 3/3 - Understanding Ownership
https://youtu.be/Vg1LGHuAPP8

Rust소유권 규칙Ownership Rules & Borrowing rules
https://economiceco.tistory.com/12591

Rust) shared reference ❤️ unique reference
https://youtu.be/Bfqx_V2gp1Y



# Easy Rust

- 프로그래밍 언어 러스트를 배웁시다! 019 Easy Rust in Korean: references and shadowing

https://youtu.be/oOXM9Aafem8

## Easy Rust 모아보기

https://www.youtube.com/watch?v=oOXM9Aafem8&list=PLfllocyHVgsSJf1zO6k6o3SX2mbZjAqYE&index=20


# Understanding Ownership in Rust | Let's Get Rusty

https://youtu.be/VFIOSWy93H0


# 같이 보면 좋은 자료

- stack&heap메모리개념잡기
https://youtu.be/OwQxo4sGVWo

- 깊은 복사 vs 얇은 복사 이해
Shallow_Copy **VS** Deep_Copy
https://youtu.be/J11bAkyMbN0

## 내 블로그에 정리

Rust소유권 규칙Ownership Rules &Borrowing rules

- https://economiceco.tistory.com/12591

★★★Rust Toturial 로드맵(Road Map)첫시작!-★★★(총정리)Rustacean이 되어 보자!!Let's go!

- https://economiceco.tistory.com/m/8614

# Option (Rustlang)


Rust Option


Date
Title & Link


22-5-9(mon.)
한글Rust러스트_013_Option_총정리_part1 #rustlang #rust #option


22-5-11(wed.)
한글Rust러스트_014_Option_part2 _Rustonomicon_unsafe_RawVector#rustlang #rust #option


22-5-11(wed.)
한글Rust러스트_015_Option_part3_Implementing_Vec_Rustonomicon_#rustlang #rust #option #unsafe


22-5-13(fri.)
한글Rust러스트_016_Option_part4_메모리관리Management_Memory_rustonomicon_ pointer_leak memory #rust #rustlang


# Easy Rust

- 프로그래밍 언어 러스트를 배웁시다! 046 Easy Rust in Korean: Option

https://youtu.be/Or-ju7nvN58

- Rust_Option❤️정리\_data_type_converters_transformers_accessor_exporter

https://youtu.be/vqavdUGKeb4


# Rust 공식 문서

이 문서를 뼈대로 설명해도 됨. 예문까지 깔끔

https://doc.rust-lang.org/std/option/


![rustoption](https://i.redd.it/dt1wan02aa561.png)

## Rust's Option❤️in One Figure(Reddit자료)

https://www.reddit.com/r/rust/comments/kdfb9k/rusts_option_in_one_figure/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

Rust's Option in One Figure Posted in r/rust by u/arsdragonfly









![design_patterns](https://user-images.githubusercontent.com/67513038/219593397-b9a305ba-1c07-416c-9815-697dc235fe52.png)

# Design-Patterns (Rustlang)rust1

https://refactoring.guru/design-patterns/rust



# 이건 러스트 디자인 패턴 다른 자료 ebook

https://rust-unofficial.github.io/patterns/intro.html


# Design principles

https://rust-unofficial.github.io/patterns/additional_resources/design-principles.html

## A brief overview over common design principles

# SOLID

- Single Responsibility Principle (SRP): A class should only have a single responsibility, that is, only changes to one part of the software's specification should be able to affect the specification of the class.

- Open/Closed Principle (OCP): "Software entities ... should be open for extension, but closed for modification."

- Liskov Substitution Principle (LSP): "Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program."

- Interface Segregation Principle (ISP): "Many client-specific interfaces are better than one general-purpose interface."

- Dependency Inversion Principle (DIP): One should "depend upon abstractions, [not] concretions."
DRY (Don’t Repeat Yourself)

"Every piece of knowledge must have a single, unambiguous, authoritative representation within a system"

# KISS principle

most systems work best if they are kept simple rather than made complicated; therefore, simplicity should be a key goal in design, and unnecessary complexity should be avoided

# Law of Demeter (LoD)

a given object should assume as little as possible about the structure or properties of anything else (including its subcomponents), in accordance with the principle of "information hiding"

# Design by contract (DbC)

software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants

# Encapsulation

bundling of data with the methods that operate on that data, or the restricting of direct access to some of an object's components. Encapsulation is used to hide the values or state of a structured data object inside a class, preventing unauthorized parties' direct access to them.

# Command-Query-Separation(CQS)

“Functions should not produce abstract side effects...only commands (procedures) will be permitted to produce side effects.” - Bertrand Meyer: Object-Oriented Software Construction

# Principle of least astonishment (POLA)

a component of a system should behave in a way that most users will expect it to behave. The behavior should not astonish or surprise users

# Linguistic-Modular-Units

“Modules must correspond to syntactic units in the language used.” - Bertrand Meyer: Object-Oriented Software Construction

# Self-Documentation

“The designer of a module should strive to make all information about the module part of the module itself.” - Bertrand Meyer: Object-Oriented Software Construction

# Uniform-Access

“All services offered by a module should be available through a uniform notation, which does not betray whether they are implemented through storage or through computation.” - Bertrand Meyer: Object-Oriented Software Construction

# Single-Choice

“Whenever a software system must support a set of alternatives, one and only one module in the system should know their exhaustive list.” - Bertrand Meyer: Object-Oriented Software Construction

# Persistence-Closure

“Whenever a storage mechanism stores an object, it must store with it the dependents of that object. Whenever a retrieval mechanism retrieves a previously stored object, it must also retrieve any dependent of that object that has not yet been retrieved.” - Bertrand Meyer: Object-Oriented Software Construction





# Rustrust1 vs Haskellhaskell

https://serokell.io/blog/rust-vs-haskell

- https://github.com/YoungHaKim7/Haskell_Lang


# Haskell & Rust mind map

https://forum.cardano.org/t/haskell-and-rust-mind-map/20212


# Rust Mind Map

https://github.com/ItFlyingStart/Rust

# Rust Mind Map 2

https://www.aloneguid.uk/posts/2021/01/rust/

# Save space by cleaning non-essential files from software projects.

- 러스트 프로젝트가 많아지면 target폴더 지워야하는데 `kondo`라고 치면 다 지워준다. 최고!!💕

```
kondo
```

- Cleans unneeded directories and files from your system.

- https://github.com/tbillington/kondo

# 윈도우 파웨셀에서 원하는 폴더 강제로 지우기(pwsh.exe) WindowsOS에서

- rm -Force 지우고 싶은 폴더

```

rm -Force .\read_line03

```

# 윈도우 파웨셀에서 .gitignore 만들기 /target세팅 (pwsh.exe) WindowsOS에서

- WindowsOS윈도우에는 touch가 없으니 echo를 활용하면 된다. 신기한건 Linux나 macOS에서도 되서 신기했다. 무조건 touch로 해야하는줄 알았는데 ㅋㅋ

```

echo /target >> .gitignore

or

echo "/target" >> .gitignore

```

# 윈도우 파워셀에서 러스트 target폴더 지우기(pwsh.exe) WindowsOS에서

- 상위 폴더에서 하면 하위 폴더에 있는 target 폴더 다 지워진다. ㅎㅎ 편하네 ㅋㅋ 개꿀!!

```
Get-ChildItem -Filter ./target -Recurse -Force | Remove-Item -Recurse -Force
```

# 윈도우 파워셀에서 러스트 target폴더 찾기(pwsh.exe) WindowsOS에서

```
dir .\ -r -i "target"
```

# Tutorial Rust(다른 외국 유튜버 깃허브Rust정보)

https://github.com/GuillaumeGomez/tuto-rust-fr

https://github.com/0atman/noboilerplate

# LetsGetRusty Cheat Sheet 얻기

https://www.youtube.com/c/LetsGetRusty/featured

https://letsgetrusty.kartra.com/page/GWh4

## Rust Resources

https://letsgetrusty.kartra.com/page/XDk8






## 시작 예제 some, None ex)(외국 유튜버 설명)

https://youtu.be/OrL0DEChwpQ

## Rust's Option❤️in One Figure(내 블로그에 정리)

https://economiceco.tistory.com/m/6140

# ★★★Rust Tutorials 로드맵(Road Map)첫시작!-★★★(총정리)Rustacean이 되어 보자!!Let's go!(내 블로그에 정리)

https://economiceco.tistory.com/8614

# Rust \_\_Unstable - Book

https://doc.rust-lang.org/beta/unstable-book/the-unstable-book.html

# $유료$ Rust 코스 모음$

- Easy Rust 유료 버젼Learn Rust in a Month of Lunches
- https://www.manning.com/books/learn-rust-in-a-month-of-lunches
- [(종이책)예스24_ 한글 easy_rust 이지 러스트](https://www.yes24.com/Product/Goods/142661976)
- [(eBook)예스24_ 한글 easy_rust 이지 러스트](https://www.yes24.com/Product/goods/142876319)

- 딥 다이브 느낌의 완벽한 러스트Complete-Rust-Programming-Reference-Guide
- https://www.amazon.com/Complete-Rust-Programming-Reference-Guide/dp/1838828109

- 최상급자 코스
- [아마존 eBook_러스트 딥 다이브_assembly수준으로 들어가자_Rust Under the Hood: A deep dive into Rust internals and generated assembly](https://www.amazon.com/Rust-Under-Hood-internals-generated/dp/B0D7FQB3DH)