กลับสู่คอร์สเรียน
AI019 Professional

การเขียนโปรแกรมด้วยภาษา Elixir

คู่มือที่ครอบคลุมเกี่ยวกับการเขียนโปรแกรมเชิงฟังก์ชันและแบบขนานด้วยภาษา Elixir โดยครอบคลุมการเปลี่ยนจากแนวคิดเชิงวัตถุไปสู่การคิดในเชิงฟังก์ชัน การจับรูปแบบ การไม่เปลี่ยนแปลงข้อมูล โมเดลผู้กระทำสำหรับการประมวลผลพร้อมกัน และการสร้างระบบกระจายที่มีความทนทานด้วย OTP

4.8
30.0h
981 ผู้เรียน
0 การถูกใจ
ปัญญาประดิษฐ์
เริ่มเรียน

ภาพรวมคอร์สเรียน

📚 สรุปเนื้อหา

คู่มือที่ครอบคลุมเกี่ยวกับการเขียนโปรแกรมแบบฟังก์ชันและพร้อมใช้งาน (concurrent programming) โดยใช้ภาษา Elixir ครอบคลุมการเปลี่ยนจากแนวคิดเชิงวัตถุ (object-oriented) มาเป็นแนวคิดเชิงฟังก์ชัน การจับคู่รูปแบบ (pattern matching) ความไม่สามารถเปลี่ยนแปลงได้ (immutability) โมเดลผู้กระทำ (actor model) สำหรับการประมวลผลขนาน และการสร้างระบบกระจายที่มั่นคงด้วย OTP

เชี่ยวชาญศิลปะในการสร้างระบบที่ทนทานและทำงานพร้อมกันผ่านความงามของโปรแกรมเชิงฟังก์ชัน

ผู้เขียน: เดวิด โทมัส

คำขอบคุณ: โจเซ่ วาลิม, คอรี แฮนส์, บรูซ เทต, เจนนิเฟอร์ เคอร์ร์, แอนโธนี อีเดน, เชด ฟาวเลอร์, คิม ชไรม์, แคแนซ คันนิงแฮม และ พอโตมาค อินเด็กซ์

🎯 เป้าหมายการเรียนรู้

  1. เปรียบเทียบแนวทางการเปลี่ยนแปลงข้อมูลของภาษา Elixir กับการเขียนโปรแกรมแบบพึ่งพาสถานะ (state-based) ทั่วไป
  2. ตั้งค่าชัลล์อินเตอร์แอคทีฟของภาษา Elixir (IEx) และรันโค้ด Elixir ผ่านสคริปต์และคอมไพเลอร์
  3. ใช้ตัวดำเนินการจับคู่ (=), ตัวดำเนินการแนบ (pin operator ^), และตัวแทนที่ไม่สนใจ (_) เพื่อแยกโครงสร้างข้อมูลและตรวจสอบข้อมูล
  4. อธิบายผลกระทบทางทฤษฎีและปฏิบัติของการไม่สามารถเปลี่ยนแปลงข้อมูลต่อประสิทธิภาพและจัดการหน่วยความจำ
  5. ระบุและใช้ประเภทข้อมูลที่มีอยู่ในตัวของภาษา Elixir รวมถึงประเภทค่า (Value), ระบบ (System), และประเภทคอลเลกชัน (Collection)
  6. ใช้กฎการจำกัดขอบเขตตัวแปร (variable scoping) และการใช้คำสั่ง with เพื่อจัดการการเปลี่ยนแปลงข้อมูลที่ซับซ้อน
  7. สร้างและเรียกใช้ฟังก์ชันที่ไม่มีชื่อ (anonymous functions) ทั้งแบบปกติและแบบแคปเจอร์ (&)
  8. ใช้การจับคู่รูปแบบ (pattern matching) และการเรียกซ้ำ (recursion) ภายในโมดูลเพื่อจัดการตรรกะที่ซับซ้อนโดยใช้ฟังก์ชันที่มีชื่อ
  9. ใช้เงื่อนไขควบคุม (guard clauses) และพารามิเตอร์เริ่มต้น (default parameters) เพื่อควบคุมลำดับการทำงานของฟังก์ชัน
  10. แยกโครงสร้างและสร้างรายการ: ใช้การจับคู่หัว/ก้อย (head/tail pattern matching) เพื่อสำรวจและสร้างโครงสร้างรายการแบบเรียกซ้ำ

บทเรียน