Scala for Backend Engineering and Functional Programming
Scala ทำงานบน JVM และรวมการเขียนโปรแกรมเชิงวัตถุและเชิงฟังก์ชันในภาษาเดียวที่มีการพิมพ์แบบ static ภาษา Scala ขับเคลื่อนโครงสร้างพื้นฐานข้อมูลที่บริษัทเช่น Twitter, LinkedIn และ Databricks ผ่าน frameworks เช่น Apache Spark, Akka และ Play เทร็กนี้ครอบคลุม Scala จากไวยากรณ์และระบบประเภทไปจนถึงการพัฒนา backend ระดับการผลิต การทำงานพร้อมกัน และรูปแบบเชิงฟังก์ชันขั้นสูง
What You Will Learn
คุณจะเริ่มต้นด้วยไวยากรณ์ Scala, REPL, values, types และ pattern matching จากนั้นไปยัง case classes, algebraic data types และโมเดลการจัดการข้อผิดพลาด Option/Either/Try จากที่นั่นคุณจะทำงานผ่าน higher-order functions, tail recursion, for-comprehensions และ lazy evaluation กับ streams หัวข้อระดับกลางรวมถึง implicits, type classes, generics, JSON processing กับ Circe, REST APIs กับ http4s, asynchronous programming กับ Futures และการพัฒนา backend เต็มรูปแบบด้วย Play Framework หลักสูตรขั้นสูงครอบคลุม Cats และ IO Monad, ZIO, functional domain modeling, database access กับ Doobie, data pipelines กับ Akka Streams, distributed systems กับ Akka Actors และการปรับใช้ microservices เทร็กสิ้นสุดด้วย Scala metaprogramming, macros และ performance tuning
The Learning Path
หลักสูตรสี่สิบหลักสูตรคืบหน้าจาก A1 ถึง C2 หลักสูตร A1 และ A2 สร้างพื้นฐานภาษา: ไวยากรณ์, collections, strings, tuples และ pattern matching หลักสูตร B1 สร้างความชำนาญในการเขียนโปรแกรมเชิงฟังก์ชัน — recursion, folding, lazy lists, traits, immutability และ SBT build tool B2 ก้าวเข้าสู่ ecosystem: type classes, Circe, Play, Spark, Scala 3 features และ async programming บล็อก C1 จัดการกับปัญหาการผลิต — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie และ cloud microservices เทร็กสรุปท้ายที่ C2 ด้วย Scala Metaprogramming and Macros และ Performance Tuning and Optimization in Scala
How It Works
แต่ละหลักสูตรแบ่งออกเป็นบทเรียนแบบจำก้าวสั้น ๆ ที่คุณทำให้สำเร็จในตัวแก้ไขโค้ดที่สร้างขึ้นมาพร้อมการตอบรับแบบเรียลไทม์ ครูสอน AI พร้อมใช้งานเมื่อคุณติดขัด และความก้าวหน้าได้รับการออกแบบเพื่อให้แต่ละแนวคิดสร้างขึ้นโดยตรงจากแนวคิดสุดท้าย — ไม่มีการเด็ดขาดระหว่างทรัพยากรภายนอก