https://google.github.io/comprehensive-rust/ko/other-resources.html
https://github.com/YoungHaKim7/YouTubeContents_GlobalYoung
-
코딩Coding-Rust러스트 | 러스트_프로그래밍Rust(GlobalYoung)
https://www.lurklurk.org/effective-rust/cover.html
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 and Locks (Low-Level Concurrency in Practice by Mara Bos)
- 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.
-
Rust Before Main - Ryan Levick - Rust Linz, July 2022
-
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
-
컴퓨터는 마법이 아니다
-
이 모든 것은 이해할 수 있다
-
여기 보이는 모든 것은 인간이 만든 것이다
-
그것은 모두 의도적인 선택과 선택 그리고 무작위적인 상황의 혼합이다
-
어느 시점에서든 어느 것이 항상 구별하기 쉽지는 않다?
-
불행하게도, 설명이 항상 최선은 아니다
2021-12-10 : 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://google.github.io/comprehensive-rust/
https://google.github.io/comprehensive-rust/other-resources.html
-
tutorialpoint
https://doc.rust-lang.org/std/
https://github.com/ralfbiedert/cheats.rs/
https://github.com/awesome-rust-com/awesome-rust
https://gist.github.com/lukas-h/2a5d00690736b4c3a7ba
https://shields.io/category/license
https://shields.io/category/downloads
https://www.rust-lang.org/learn
https://doc.rust-lang.org/book/
https://doc.rust-lang.org/nightly/clippy/index.html
https://rust-lang.github.io/rust-clippy/master/index.html
https://github.com/awesome-rust-com/awesome-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❤️👍 기초 다 배우고 간단한 프로그램 만들면서 감 잡기
출처 : stackoverflow.com 알게 된 링크
역시 갓 스택 오버플로우
- Github 주소
https://github.com/EbookFoundation/free-programming-books
- EbookFoundation
https://ebookfoundation.github.io/free-programming-books/
https://github.com/MunGell/awesome-for-beginners
https://doc.rust-lang.org/book/ch08-02-strings.html
String, &str
CStr, CString
Cow<'_, str>
Path, PathBuf
Vec<u8>
&[u8]
OsStr
- 보통 코딩 언어들은 2개지만
String
&str
-
17분 28초에 나옴 Rust❤️String 넣는 방법
.to_string()
.to_owned()
.into()
String::from()
format!()
https://github.com/YoungHaKim7/YouTubeContents_GlobalYoung
먼저, 소유권에 적용되는 규칙부터 살펴보자. 앞으로 살펴볼 예제들은 이 규칙들을 설명하기 위한 것이므로 잘 기억하도록 하자.
- 러스트가 다루는 각각의 값은 소유자(owner)라고 부르는 변수를 가지고 있다.
- 특정 시점에 값의 소유자는 단 하나뿐이다.
- 소유자가 범위를 벗어나면 그 값은 제거된다.
First, let's take a look at the ownership rules. Keep these rules in mind as we work through the examples that illustrate them"
- Each value in Rust has a variable that's called its owner.
- There can only be one owner at a time.
- When the owner goes out of scope, the value will be dropped.
-
At any given time, you can have either one mutable reference or any number of immutable references.
-
References must always be valid.
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
-
소유권자의 수명이 다하기 전에 갚아야 합니다.
-
무효화
메모리를 빌려간 참조가 있는 동안은 변경할 수 없습니다. 컴파일러가 참조의 수명을 추척합니다.
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 |
https://github.com/usagi/rust-memory-container-cs
- small size ver.
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
- 프로그래밍 언어 러스트를 배웁시다! 019 Easy Rust in Korean: references and shadowing
https://www.youtube.com/watch?v=oOXM9Aafem8&list=PLfllocyHVgsSJf1zO6k6o3SX2mbZjAqYE&index=20
-
stack&heap메모리개념잡기 https://youtu.be/OwQxo4sGVWo
-
깊은 복사 vs 얇은 복사 이해 Shallow_Copy VS Deep_Copy https://youtu.be/J11bAkyMbN0
Rust소유권 규칙Ownership Rules &Borrowing rules
★★★Rust Toturial 로드맵(Road Map)첫시작!-★★★(총정리)Rustacean이 되어 보자!!Let's go!
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 |
- 프로그래밍 언어 러스트를 배웁시다! 046 Easy Rust in Korean: Option
- Rust_Option❤️정리_data_type_converters_transformers_accessor_exporter
이 문서를 뼈대로 설명해도 됨. 예문까지 깔끔
https://doc.rust-lang.org/std/option/
Rust's Option in One Figure Posted in r/rust by u/arsdragonfly
https://refactoring.guru/design-patterns/rust
https://rust-unofficial.github.io/patterns/intro.html
https://rust-unofficial.github.io/patterns/additional_resources/design-principles.html
-
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"
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
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"
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
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.
“Functions should not produce abstract side effects...only commands (procedures) will be permitted to produce side effects.” - Bertrand Meyer: Object-Oriented Software Construction
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
“Modules must correspond to syntactic units in the language used.” - Bertrand Meyer: Object-Oriented Software Construction
“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
“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
“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
“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
https://serokell.io/blog/rust-vs-haskell
https://forum.cardano.org/t/haskell-and-rust-mind-map/20212
https://github.com/ItFlyingStart/Rust
https://www.aloneguid.uk/posts/2021/01/rust/
- 러스트 프로젝트가 많아지면 target폴더 지워야하는데
kondo
라고 치면 다 지워준다. 최고!!💕
kondo
-
Cleans unneeded directories and files from your system.
- rm -Force 지우고 싶은 폴더
rm -Force .\read_line03
- WindowsOS윈도우에는 touch가 없으니 echo를 활용하면 된다. 신기한건 Linux나 macOS에서도 되서 신기했다. 무조건 touch로 해야하는줄 알았는데 ㅋㅋ
echo /target >> .gitignore
or
echo "/target" >> .gitignore
- 상위 폴더에서 하면 하위 폴더에 있는 target 폴더 다 지워진다. ㅎㅎ 편하네 ㅋㅋ 개꿀!!
Get-ChildItem -Filter ./target -Recurse -Force | Remove-Item -Recurse -Force
dir .\ -r -i "target"
https://github.com/GuillaumeGomez/tuto-rust-fr
https://github.com/0atman/noboilerplate
https://www.youtube.com/c/LetsGetRusty/featured
https://letsgetrusty.kartra.com/page/GWh4
https://letsgetrusty.kartra.com/page/XDk8
https://economiceco.tistory.com/m/6140
https://economiceco.tistory.com/8614
https://doc.rust-lang.org/beta/unstable-book/the-unstable-book.html
-
Easy Rust 유료 버젼Learn Rust in a Month of Lunches
-
딥 다이브 느낌의 완벽한 러스트Complete-Rust-Programming-Reference-Guide