Skip to content
CodeSook
CodeSook

01. Welcome to Backend workshop


effect2.svg

Hono+Effect day

ก่อนที่จะไปทำ Workshop กันต่อ มาเรียนรู้เกี่ยวกับ Effect กันก่อน

เนื้อหาสำหรับหน้านี้จะอยู่ที่ effect for beginner blog
ใครยังไม่ได้อ่านแนะนำให้ไปอ่านก่อนที่จะไปเรียนกันต่อ

สิ่งที่เราจะเรียนกันในวันนี้

  • จากนั้นเราจะแปลง code จากการใช้ Promise มาใช้ Effect
  • สร้าง Context เพื่อทำ Dependency injection โดยใช้ Effect Layer
  • Handle error แล้ว response ให้ตรงกับสิ่งที่ควรจะเป็น แล้วโค้ดเราก็ยังอ่านง่ายมากๆด้วย
  • สร้าง Service Runtime ที่จะ inject Dependency ต่างๆให้แบบ auto ทำให้ controller ของเรา clean มากขึ้น แต่ยังคง type-safe อยู่
  • ใช้ Retry เพื่อลองทำงานที่ Fail อีกครั้ง 3 ครั้งโดยรอไป 10 วินาทีก่อนที่จะทำลองทำงานใหม่อีกครั้ง
  • ใส่ Telemetry เพื่อทำ tracing โดยใช้ Effect ซึ่งมันจะอ่านได้ง่ายมากๆ
  • ใส่ Event log คู่ไปกับ Tracing data โดยใช้ Effect งานง่ายอีกเช่นกัน
  • ใช้ Tempo + Prometheus + Grafana ในการดู Tracing กับ Metric

Completed code

day2 github