No account yet?
 
 
You are here:: Rust: The most loved programming lanaguage
 
 

Rust: The most loved programming lanaguage

Categories : Software Technology
Posted by : songsiri | Posted On : Tuesday, 17 December 2019 09:25
Training Date : 06 October 2020 - 09 October 2020
26 May 2020 - 29 May 2020
Please Login before registering . No account ? signup here
กรุณา ล็อกอิน ก่อนลงทะเบียน หรือสร้างบัญชีผู้ใช้ใหม่ได้ ที่นี่
Time : 24 Hour(s)
Days : 4 Day(s)
Duration : 09:00 - 16:00
Fee : 13,000 THB (Excluded Vat 7%)
Language : Thai
Instructor : Dr.Werasak Suengtaworn
Objectives :

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 ว่าทำไมถึงเป็นภาษาที่ปลอดภัยและมีประสิทธิภาพ

Who Should Attend :

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

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

Benefits :

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

Course Outline :

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 Condition :

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.