golang Archive

[Part 3] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

ใน Part  3 นี้จะเป็นเรื่องที่ลึกไปอีกขั้น แต่ยังเป็นสำหรับมือใหม่อยู่ !! ประกอบไปด้วย การใช้งาน log.Panic() และ log.Fatal() การทำงานของ data structure ต่าง ๆ  การใช้งาน for-range การทำงานของ switch-case เริ่มต้นกับ Goroutine และ channel มาเริ่มกันเลย อ่าน Part 1 และ Part 2 ก่อนได้

Read More…

[Part 2] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

จาก Part 1 เกี่ยวกับการพัฒนาภาษา Go จำนวน 10 เรื่องแรก เน้นไปที่การใช้งาน short declaration variableมาต่อกับ Part 2 อีก 10 เรื่อง เน้นในเรื่องของการใช้งาน String, Array, Slice และ Mapมาเริ่มกันเลย

Read More…

[Part 1] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

จากบทความเรื่อง 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs ทำการสรุปเรื่องต่าง ๆ ที่น่าสนใจสำหรับการพัฒนาระบบด้วยภาษา Go ซึ่งเป็นสิ่งที่นักพัฒนาทั้งผู้เริ่มต้นไปจนถึงมีประสบการณ์มักจะไม่เข้าใจหรือทำผิด ดังนั้นบทความนี้จึงทำการสรุปมาให้ เพื่อลดข้อผิดพลาด รวมไปถึงย่นเวลาในการศึกษาอีกด้วย เนื่องจากมี 50 เรื่อง เลยแบ่งออกเป็น blog ละ 10 เรื่องน่าจะดีกว่า มาเริ่มกันเลย

Read More…

สรุปการใช้งาน Docker ในการพัฒนาระบบงานไว้นิดหน่อย

พอดีในวงกินเบียร์มีการพูดคุยเรื่องการใช้งาน Docker สำหรับการพัฒนาระบบงาน ซึ่งมันมีทางเลือกในการใช้งานหลากหลายแนวทางมาก ๆ ดังนั้นจึงสรุปไว้กันลืมนิดหน่อย ว่าคุยอะไรไปบ้าง (เท่าที่จำได้น่าจะคุยและ demo ให้ดูประมาณไม่เกิน 10 นาที) มาเริ่มกันเลย

Read More…

Go module :: มาลองสร้าง module ใช้เองแบบ Local

มีคำถามว่า ถ้าต้องการทำ module ใช้เอง โดยใช้แบบ local หรือบนเครื่องเราเอง ต้องทำอย่างไรบ้าง ? ที่นี่มีคำตอบแบบง่าย ๆ มาดูกัน

Read More…

Golang :: จดบันทึกการใช้งาน Go Module

จากบทความเรื่อง Introduction to Go Modules in Go v1.11, Goodbye GOPATH! ไม่ต้องทำการกำหนด environment ชื่อ GOPATH แล้ว รวมทั้งสามารถพัฒนาระบบนอก GOPATH ได้โดยไม่ต้องกำหนดค่าอะไรเพิ่มเติม ซึ่งเป็นปรับปรุงเรื่องการจัดการ dependency ให้ดีและง่ายขึ้นนั่นเอง ดังนั้นจึงสรุปการใช้งานไว้นิดหน่อย กันลืม

Read More…

ว่าด้วยเรื่องของ Goroutine และ Channel

ไปฟังเรื่อง Goroutine, Channel และ Parallelism จากงาน Go Get # 2 จากกลุ่ม Golang Thailand ก็เลยกลับมานั่งสรุปกันนิดหน่อย เพราะว่าเป็นเรื่องที่มีโอกาสใช้งานน้อยมาก ๆ ตั้งแต่ทำ project ด้วยภาษา Go มาเคยใช้เพียง project เดียวเอง เลยกลับมาสรุปเพื่อทำความเข้าใจกันหน่อย โดยเริ่มจากเรื่องง่าย ๆ ก่อนคือ Goroutine และ Channel ซึ่งเป็นเรื่องพื้นฐานสุด ๆ แต่ก็ไม่ง่ายเลยนะ มาเริ่มกันเลย

Read More…

แนะนำหนังสือ online :: Learn Go with Tests

มีหนังสือ online สอนเกี่ยวกับการพัฒนาระบบงานด้วยภาษา Go ที่น่าสนใจเพียบ ยกตัวอย่างเช่น Building Web Application with Golang Go by Example A Tour of Go แต่ก็มีอีกเล่มที่น่าสนใจนั่นคือ Learn Go with Tests

Read More…

สวัสดี WebAssembly กับ Go 1.11

ภาษา Go 1.11 ออกตัวเต็ม ๆ มาแล้ว หนึ่งใน feature ที่เพิ่มเข้ามานั่นคือ การทำงานร่วมกับ WebAssembly แต่ยังเป็น experiment feature นะ จากความสามารถนี้ ทำให้เราสามารถพัฒนาระบบด้วยภาษา Go ทำการ compile ไปเป็น WebAssembly จากนั้นทำการเรียกใช้งานผ่าน JavaScript ซึ่งสามารถทำงานผ่าน browser

Read More…

บันทึกการพัฒนาระบบงานด้วย Angular 6 และ Golang

พอดีเพิ่งทำระบบ web application แบบเร็ว ๆ ซึ่งมี feature ไม่เยอะ จึงเลือกใช้เทคโนโลยีที่ไม่ค่อยใช้งานหรือถนัดมากนัก เพื่อลองฝึกฝน แต่ฝึกบนงานจริง ๆ น่าจะทำให้เราศึกษาได้รวดเร็วขึ้น หรือไม่ก็ล่มไม่เป็นท่า !! โดยเทคโนโลยีที่เลือกใช้งานเป็นดังนี้ Frontend พัฒนาด้วย Angular 6 Backend พัฒนาด้วยภาษา Go จัดการ source code ด้วย Git ทำการ build และ deploy ด้วย Docker (ใช้งาน docker-compose) ทำการ deploy ระบบงานบน Google Cloud แบบฟรี 300 USD เป็นเวลา 1 ปี มาดูว่าการพัฒนาเป็นอย่างไรบ้าง

Read More…