การ mock method on struct

หากใครเริ่มเขียนภาษาโก ใหม่ๆ การเขียนเทสเป็นเรื่องที่ โก สนับสนุนเครื่องมือมาให้เราพร้อม ส่วนที่เหลือก็แค่เขียนมันออกมาเท่านั้น และด่านสำคัญในการเขียนเทสของหลายๆคน หรือบางคน ที่ทำให้นั่งมองหน้าจออยู่สักพักแล้วก็นิ่งไป ก็คือการ จำลอง (mock) ผมอยากจะยกตัวอย่างการ จำลอง แบบง่ายๆก่อน โดยวิธีง่ายสุดคือ สร้างตัวแปรเป็นฟังก์ชันแบบนี้ var Method = func() { … } ฟังก์ชันแบบนี้เราจำลองง่ายมาก โดยสามารถเขียนซ้ำแบบเดียวกันเข้าไปในเทสได้เลย แต่วันนี้อยากจะมาแนะนำการ จำลอง ฟังก์ชัน ที่ผูกติดอยู่กับโครงสร้าง (struct) เช่น type presenter struct {} func (p *presenter) method() { … }

Continue reading →

ทดสอบ http ด้วย http recorder

จากบทความ สร้าง webservice ด้วย net/http คราวนี้คนที่ทำ TDD หรือ automated test จะตั้งคำถามว่า “แล้วเราทำทดสอบมันยังไง” Go มีชุดทดสอบสองทางเลือกครับ ทดสอบด้วย http response recorder ทดสอบด้วยการตั้ง server จำลองขึ้นมา ในบทความนี้เราจะมาลองทดสอบด้วย http response recorder กัน

Continue reading →

สร้าง web service ง่ายๆ ด้วย net/http

ส่วนใหญ่มักจะมีคนมาถามเรื่อยเลยว่า Go นั้นเขียน web ได้หรือไม่ เลยเป็นการดีจะมาเล่าให้ฟัง Go มี built-in library ชื่อ net/http เอาไว้จัดการเรื่องของ http ไม่ว่าจะเป็นฝั่ง client หรือ server ก็ตาม เราสามารถสร้าง http server ได้อย่างง่ายๆ เราจะมาลองทำ web service ง่ายๆ ซักตัวโดย request เป็น GET /api/hello response ที่ได้กลับมาเป็น {“text”: “hello”}

Continue reading →

Go Bootcamp – บทที่ 1 เกริ่นนำ

บทที่ 1  เกริ่นนำ เป็นงาน Go Bootcamp งานแรกที่ถูกจัดโดย  Matt Aimonetti จาก Splice และมีอาสาสมัครที่มาช่วยงานตาม ดังนี้ Francesc Campoy Mitchell Hashimoto Evan Phoenix Jeremy Saenz Nic Williams Ross Hale มีชาวชุมชนของเราได้ช่วยกันสร้างเนื้อหาและรีวิวหนังสือเล่มนี้, ถ้าหากพบข้อผิดพลาด หรืออยากเพิ่มเติมเนื้อหา, สามารถเพิ่มได้ที่  git repo. ขอขอบคุณ Git Hosting จาก GitHub โดยลิ้งของเราอยู่ที่ here. คู่มือ Go Bootcamp ถูกเขียนขึ้นมาพิเศษและบางอย่างก็ได้นำมาจาก  Go team ภายใต้ลิขสิทธิ์ Creative Commons Attribution 3.0 License ส่วน code ของโปรแกรมอยู่ภายใต้ BSD. ส่วนอื่นๆของเนื้อหาในหนังสือฉบับนี้ เราขอใช้สิทธิ์ Creative Commons Attribution 3.0 License. เราอยากให้หนังสือเล่มนี้ ได้ช่วยให้คนรักและสนใจการเขียน Go ให้มากๆยิ่งขึ้นไป .คุณสามารถนำไปใช้ได้อย่างเต็มที่ไม่ว่าจะไปอบรมพนักงานบริษัท หรือว่านำไปเป็นคู่มือในการเรียนภาษา Go . อย่าลืมร่วมรับข่าวสารกับเราผ่านอีเมล์ข้างล่างนี้. ถ้าหากติดปัญหาใดๆ […]

Continue reading →

Go Bootcamp – คำนำ

คำนำ แก้ไขล่าสุดวันที่ : 2014/08/21 21:51:23 หน้าปกโดย Erick Zelaya จากบริษัท Ardan Studios ตัวการ์ตูนตัว Gopher ถูกสร้างโดย Renée French และใช้ลิขสิทธิ์แบบ Creative Commons Attribution 3.0 license. หนังสือ Go เล่มนี้ ถูกเรียบเรียงมาจากงาน Go Bootcamp ซึ่งจัดครั้งแรกที่เมือง Santa Monica รัฐแคลิฟอเนียร์ ในเดือนมีนาคม ปี 2014. คุณไม่จำเป็นที่จะต้องลง Go คอมไพเลอร์ ซอร์สโค้ดที่อยู่ในหนังสือเล่มนี้ ถูกออกแบบให้สามารถเรียนรู้ได้อย่างรวดเร็ว และสามารถคอมไพล์ได้ผ่าน playground ของ Golang  โดยผ่านลิ้งนี้ http://play.golang.org

Continue reading →

เขียนเทสภาษาโก

เริ่มเขียนเทสแบบง่ายที่สุดกันก่อน เพื่อสร้างความมั่นใจกันดีกว่า โดยเริ่มจากสร้างโฟล์เดอร์ src/first ใน gopath แล้วสร้างไฟล์ชื่อ hi_test.go แล้วพิมพ์แบบนี้ลงไป

Continue reading →

เริ่มเขียนภาษาโก (golang) อย่างไร

ส่วนตัวผมไม่มีวิชาการอะไรให้นะครับ เพียงแค่อยากแนะนำให้คนที่เริ่มอยากจะลองภาษานี้ หรือใครเพิ่งมาเห็นครั้งแรกได้หัดทดลองเขียนภาษานี้กัน เริ่มต้นจากทำความรู้จักภาษานี้กันก่อนที่ http://golang.org/ โดย download มาติดตั้งกันให้คุ้นเคย จากนั้นกำหนดค่าต่างๆดังนี้

Continue reading →

รับ input จาก keyboard

ได้รับมอบหมายให้เขียนเกี่ยวกับ Go ในหัวข้อที่เป็นเรื่องธรรมดาง่ายๆ คิดอยู่หลายวันเลยคิดย้อนไปว่าถ้าเราหัดเขียนโปรแกรมใหม่ๆสิ่งแรกที่เรามักจะได้ทำคือโปรแกรมคูณเลขเช่นรับ input จาก keyboard แล้วเอามาคูณสอง

Continue reading →