Mastering Golang for E-commerce Back End Development Outline

https://go.dev

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ และ อ.ดร.สัจจาภรณ์ ไวจรรยา
ภาควิชาคอมพิวเตอร์
คณะวิทยาศาสตร์
มหาวิทยาลัยศิลปากร

Mastering Golang for E-commerce Back End Development : Part 1

การติดตั้งและเริ่มต้นใช้งาน Go ไวยากรณ์พื้นฐาน ตัวแปรและชนิดข้อมูล การควบคุมการทำงานด้วย if-else และ Loop รวมถึงการสร้างและใช้งาน Function

นอกจากนี้ยังอธิบายถึงคุณสมบัติพิเศษของ Go เช่น การเป็น First-Class Citizen Function ซึ่งรวมทั้งการใช้งาน Anonymous Function, Closure และการส่ง Function เป็น Parameter

  • Chapter 1 รู้จักภาษา Go
  • Chapter 2 ABC ของ Go
  • Chapter 3 การตัดสินใจใน Code
  • Chapter 4 Function : วิธีทำสิ่งต่าง ๆ ที่ใช้ซ้ำได้

Mastering Golang for E-commerce Back End Development : Part 2

ความรู้เชิงลึกเกี่ยวกับโครงสร้างข้อมูลและแนวคิดสำคัญในการเขียน Program ด้วย Go สำหรับการพัฒนาระบบ Back End ของ E-commerce Platform โดยเฉพาะหัวข้อสำคัญ เช่น Array, Slice และ Map การใช้งาน Pointer การสร้าง Struct และ Method การทำงานกับ Interface การจัดการ Package และ Module

รวมถึงแนวคิดและวิธีการใช้งานฟีเจอร์ต่าง ๆ ของ Go อย่างละเอียด เช่น การใช้ defer, panic และ recover ในการจัดการกับข้อผิดพลาดร้ายแรง การเขียน Unit Test และการใช้ Table-Driven Test เพื่อทดสอบ Code อย่างมีประสิทธิภาพ

  • Chapter 5 Array, Slice และ Map : กล่องเก็บของเล่นที่มีช่องหลายช่อง
  • Chapter 6 Pointer : ส่งรีโมทให้คนอื่นใช้ ง่ายกว่าการยกทีวีทั้งเครื่องไปให้
  • Chapter 7 Struct และ Method : สร้างสิ่งของของเราเอง
  • Chapter 8 Interface : ทำความรู้จักกับเพื่อนใหม่
  • Chapter 9 Package และ Module : แต่ละแผนกมีหน้าที่เฉพาะ และโครงการใหญ่ที่ประกอบด้วยหลายแผนก
  • Chapter 10 Errors, Defer, Panic และ Recover : จัดการกับปัญหา
  • Chapter 11 การทดสอบเบื้องต้น : ลองชิมอาหารก่อนเสิร์ฟ

Mastering Golang for E-commerce Back End Development : Part 3

ความรู้เชิงลึกเกี่ยวกับการทำงานกับ File และข้อมูล การทำงานแบบ Concurrent ด้วย Goroutine และ Channel การจัดการเวลาและ Context สำหรับการพัฒนาระบบ Back End ของ E-commerce Platform

โดยครอบคลุมการอ่านและเขียน File ประเภทต่าง ๆ การใช้ Goroutine และ Channel เพื่อเพิ่มประสิทธิภาพในการประมวลผล และการจัดการกับเวลาและ Timezone รวมถึงการใช้ Context เพื่อควบคุมการทำงานของ Function ที่ใช้เวลานาน

นอกจากนี้ยังรวมถึงแนวปฏิบัติที่ดีในการทำงานกับเวลาและ Context เช่น การใช้ UTC ในการคำนวณเวลา การใช้ ISO 8601 Format สำหรับการแสดงผลและส่งข้อมูลผ่าน API และการใช้ Context เพื่อควบคุมการยกเลิกการทำงาน

  • Chapter 12 ทำงานกับ File และข้อมูล
  • Chapter 13 ทำงานพร้อมกันหลายอย่าง
  • Chapter 14 Time Package และ Context : การทำงานกับเวลาและบริบท

Mastering Golang for E-commerce Back End Development : Part 4

การพัฒนาและ Deploy REST API ด้วย Go และ Docker Container อย่างครบวงจร ครอบคลุมหัวข้อสำคัญตั้งแต่การจัดการการตั้งค่าด้วย Environment Variable การพัฒนา API ด้วย Gin Framework การทำงานกับ PostgreSQL Database และ Connection Pooling การทำ Unit Test ขั้นสูง และการใช้ Mock Object ไปจนถึงการ Deploy ด้วย Docker Container

โดยแสดงตัวอย่าง Code และคำอธิบายในการสร้างโครงสร้าง Project การเขียน Business Logic การจัดการ HTTP Request/Response การทดสอบ API และการตั้งค่า Docker พร้อมทั้งอธิบายแนวคิดสำคัญ เช่น Dependency Injection การใช้ Interface เพื่อลดการพึ่งพาระหว่าง Module และแนวปฏิบัติที่ดีในการพัฒนา API เช่นการทำ Versioning

  • Chapter 15 การจัดการการตั้งค่า
  • Chapter 16 การทำงานกับเครือข่ายเบื้องต้น
  • Chapter 17 การทดสอบขั้นสูง
  • Chapter 18 การทำงานกับ Database เบื้องต้น
  • Chapter 19 การพัฒนาและ Deploy REST API ด้วย Go และ Docker Container