Rust: The most loved programming lanaguage

  • RP001
  • Classroom
  • Intermediate
  • Thai | 0
NextGen Software Development

หลักสูตรนี้ถูกสร้างขึ้นเพื่ออธิบายกลไกของภาษา Rust โดยเน้นการนำไปใช้งานอย่างถูกต้องและความเข้าใจเกี่ยวกับภาษา Rust ว่าทำไมถึงเป็นภาษาที่ปลอดภัยและมีประสิทธิภาพ

Course description

Time
Days :
4 Day(s)
Duration :
24 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
21 November 2022 - 25 November 2022
Status :
ปิดรับลงทะเบียน (ชั่วคราว)
Instructor
Language :
Thai
Venue
Venue :
Software Park Training Room 3rd floor, Software Park Building Chaengwattana Road, Pakkred Nonthaburi
Type :
Classroom
Rust: The most loved programming lanaguage

Introduction:

- ที่ https://insights.stackoverflow.com/survey ภาษา Rust ถูกโหวดให้เป็นภาษาที่น่าชื่นชอบเป็นอันดับ 1 ตั้งแต่ปี 2017 มาจนถึงปีนี้ 2019

- ภาษา Rust ถูกสร้างขึ้นเพื่อเป็นภาษาที่ปลอดภัย หมายถึง ความผิดพลาดที่อาจเกิดจากการใช้งานค่าในหน่วยความจำหรือจากการทำงานอย่าง concurrent จะถูกตรวจสอบได้ตั้งแต่ตอนคอมไพล์โปรแกรม
โปรแกรมที่ผ่านการคอมไพล์จึงทำงานได้อย่างปลอดภัยและเร็วขึ้น เพราะโปแกรมไม่ต้องป้องกันปัญหาเหล่านั้นเอง หรือมี
runtime คอยป้องกันปัญหาเหล่านั้นให้

- ภาษา Rust จึงสามารถใช้งานในระดับควบคุมฮาร์ดแวร์ได้อย่างมีประสิทธิภาพเกือบเทียบเท่าภาษา C แต่ปลอดภัยกว่า เป็นครั้งแรกใน 50 ปี (อายุโดยประมาณของภาษา C) ที่ภาษา C มีคู่แข่งหรือทางเลือกที่น่าสนใจขนาดนี้

- ภาษา Rust มีกลไกทางภาษาขั้นสูงไม่ด้อยกว่าภาษาสมัยใหม่อย่าง Python, Swift หรือ Kotlin จึงสามารถใช้งานได้ตั้งแต่ระดับ system programming ไปถึง enterprise programming ภาษา Rust เกิดมาจากการพัฒนา 'Mozilla' web browser และ Facebook เลือกใช้ภาษา Move ซึ่งสร้างบนภาษา Rust สำหรับเขียน transactions ใน Blockchain ของสกุลเงิน Libra

Objective:

หลักสูตรนี้ถูกสร้างขึ้นเพื่ออธิบายกลไกของภาษา Rust โดยเน้นการนำไปใช้งานอย่างถูกต้องและความเข้าใจเกี่ยวกับภาษา Rust ว่าทำไมถึงเป็นภาษาที่ปลอดภัยและมีประสิทธิภาพ

กลุ่มเป้าหมาย

- เหมาะสำหรับ นักเรียน นักศึกษา นักพัฒนาโปรแกรม หรือบุคคลทั่วไป ที่สนใจในกลไกของภาษาสำหรับโปรแกรมสมัยใหม่หรือกำลังเลือกหาภาษาที่เหมาะกับการใช้ส่วนตัว หรือขององค์กร ที่ต้องการทั้งประสิทธิภาพและความปลอดภัยผู้เรียนควรสามารถใช้งานระบบปฏิบัติการ Windows ได้ และควรเคยเขียนโปรแกรมภาษาคอมพิวเตอร์มาแล้วสักหนึ่งภาษา
- Programmer
- Developer

- เข้าใจ และสามารถอธิบาย ประโยชน์และข้อได้เปรียบของภาษา Rust
- สามารถตัดสินใจได้ว่า ภาษา
Rust เหมาะกับงานของท่านหรือไม่
- สามารถเริ่มศึกษาและพัฒนาโครงงานที่เกี่ยงข้องกับภาษา
Rust เช่นก่อนจะใช้งานภาษา Move ควรเข้าใจภาษา Rust มาก่อน และมีระบบควบคุมฮาร์ดแวร์มากมายที่เริ่มใช้งานภาษา Rust

Day 1.

1. Getting Start

   - Installer(rustup), compiler(rustc) and tool(cargo).

   - Create a 'Hello' program and project.

2. Fundamental

   - Literal and Variable(mutable and immutable).

   - Static (scalar) types and Compound (dynamic) types.

   - Shadowing, casting, aliasing and cloning.

3. Components

   - Expressions, statements, blocks, functions.

   - If expressions and iterations.

   - Scope and visibility rules, stack data, heap data.

   - Ownership: copying, moving, droping, and borrowing.

Day: 2

4. References

   - Reference operator(&) and Dereference operator(*)

   - Mutable, immutable, and untyped reference.

   - Parameter passing and return value by copy and move.

   - Dangling references, double free and mutable borrowing.

5. Datastructures

   - Array, tuple and unpacking.

   - String, slice, string slice and macros.

   - struct, tuple struct and implementation block.

   - Functions vs methods and factory.

   - Enumeration type, pattern matching: 'match' and 'if let'.

   - OOP: encapsulation and inheritance.

Day: 3

6. Modules

   - Module definition and using names in other modules.

   - Rules of module file system, privacy and public.

   - Nested modules and 'super'.

   - Create modele with cargo.

7. Error Handling

   - Panic backtrace.

   - Result: Ok and Err

   - Box type, Null reference and Option.

   - Smart Pointers

8. Generic

   - Gerneric types in function, struct, enum, and method.

   - Trait, trait implementation amd trail bounds.

Day: 4

9. Lifetimes

   - Borrow checker and rules of lifetime.

   - Gerneric liftimes.

   - Lifetime annotations.

   - Lifetime Elistion

10. Functional Features

   - Anonymous functions.

   - Closures and capturing.

   - Iterators.

11. Concurrency

   - Rust thread and safe concurrency.

   - Shared state concurrency.

   - Message passing between threads.


Payment can be made by:

    1. Cash or Credit Card or Bank Cheque payable to “Software Park Thailand #2” (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.
     2. Account transfer and send the proof of the payment (the deposit slip) via fax or email to fax no. 02-583-2884 or email ttd@swpark.or.th

        2.1 Siam Commercial Bank, Chaengwattana Branch
             Saving Account Number: 324-2-56262-0
             Account Name: Software Park Thailand#2

        2.2 Krungsri Bank, Chaengwattana (Software Park) Branch
             Saving Account Number: 329-1-34850-3
             Account Name: Software Park Thailand#2

Notes:
- Withholding tax (3%) is exempt.
- Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.
- Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person

For more information, contact our course coordinator on:
Songsiri Sittikun
Tel: +66-2583-9992 Ext. 1426
Fax: +66-2583-2884
Email: songsiri@swpark.or.th
You are encouraged to use the course schedule as a guide to plan your training. The schedule is accessible at www.swpark.or.th for more information.

13,000 THB .

Enroll nowขออภัย ขณะนี้ปิดรับลงทะเบียนแล้ว

Course Detail :
Days :
4 Day(s)
Duration :
24 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
21 November 2022 - 25 November 2022
Status :
ปิดรับลงทะเบียน (ชั่วคราว)

Instructor info
avatar
Dr.Werasak Suengtaworn

นักวิชาการอิสระ