Home | Back

การสร้าง Iterator Function ด้วย Channel ใน Golang

Wednesday, 12 October 2016



ในภาษารุ่นใหม่ มักจะมีคุณสมบัติในการสร้าง Iterator Function หรือในบางภาษาจะเรียกว่า Generator เพื่อใช้สำหรับการเข้าถึงข้อมูลเป็นชุดด้วยการวนลูปและประมวลผล ใน Golang ก็สามารถสร้าง Iterator Function ได้ แต่ต้องมีการใช้ Channel มาช่วยในการผลิต Iterator โดยผมได้เขียน code ตัวอย่างไว้ สำหรับผู้ที่สนใจดังนี้ครับ

Read more


การเปรียบเทียบประสิทธิภาพ web service แบบง่าย ๆ ระหว่าง Rust, Crystal, Dlang, Nim และ Golang

Sunday, 18 September 2016



เนื่องจากได้เริ่มศึกษาภาษารุ่นใหม่เข้าตัวนึงคือ Crystal ซึ่งเป็นภาษาที่ได้แรงบันดาลใจในด้าน syntax จากภาษา Ruby ที่มีรูปแบบภาษาที่น่าใช้ อ่านง่าย และแรงบันดาลใจด้าน concurrency แบบ CSP จากภาษา Go กระนั้นแล้ว ขอทำการทดลองนิด ๆ หน่อย ๆ เพื่อดูว่าภาษา Crystal นี่ ประสิทธิภาพเจ๋งแค่ไหน โดยผมได้นำภาษา Rust, ภาษา D และภาษา Nim เข้าร่วมทดสอบด้วย โดยมีการทดลองดังนี้ครับ

Read more


ทดลอง Native Coroutines ของ Python เมื่อนำมาเทียบกับ Goroutines ในภาษา Go

Monday, 8 February 2016



ในการพัฒนาระบบสารสนเทศในปัจจุบัน มีความต้องการความสามารถที่จะทำงานได้อย่างต่อเนื่อง หรือที่เรียกว่ามี Concurrent สูง ๆ ซึ่งเทคนิคที่นิยมใช้ในปัจจุบันคือการเขียนโปรแกรมแบบ Asynchronous ใน Python จะมีการเขียนโปรแกรมแบบ Asynchronous โดยการใช้ Coroutines ส่วนในภาษา Go จะใช้สิ่งที่เรียกว่า Goroutines ซึ่งผมได้ทดลองเขียนโค้ดตัวอย่างเพื่อเปรียบเทียบ การเขียนโปรแกรมแบบ Asynchronous ของทั้งสองภาษาดังนี้ครับ

Read more


การทดลองใช้ Goroutine และ Channel ใน Golang

Sunday, 29 November 2015



วันนี้ผมได้ทดลองเกี่ยวกับความสามารถด้าน Concurrency ในภาษา Golang ที่ออกแบบการทำงานในลักษณะคล้าย ๆ Thread แต่มีความง่ายและเบากว่า Thread ปกติ ที่เรียกว่า Goroutine และมีการสื่อสารกันผ่านสิ่งที่เรียกว่า Channel ผมเลยตั้งโจทย์ให้สร้าง Goroutine ขึ้นมาซัก 10 Goroutine ให้ผลิตข้อมูลตัวเลข 0 - 999 แบบสุ่ม แล้วส่งให้โปรแกรมหลักนำมาแสดงผล ซึ่ง code โปรแกรมมีดังนี้ครับ

Read more


ทดสอบการใช้ Cookie Session ใน Negroni

Friday, 17 July 2015



การใช้ Cookie ในเวบแอป เป็นเรื่องที่ปกติมาก ๆ และใช้บ่อย ๆ เลยอยากเขียนตัวอย่างการใช้งาน Cookie Session แบบง่าย ๆ ที่ใช้ร่วมกับ Negroni ดังนี้ครับ

Read more


การเปรียบเทียบประสิทธิภาพเวบระหว่าง PHP, D lang และ Go lang

Monday, 13 April 2015



ช่วงนี้อยู่ในช่วงพัฒนาระบบใหม่ ๆ จึงอยากจะหาภาษาใหม่ ๆ ที่มีประสิทธิภาพสูง ๆ รองรับงานใหญ่ ๆ ได้ จึงได้ทำการทดลองสร้างเวบที่หาค่า Fibonucci(20) แล้วแสดงผลออกมา และวัดประสิทธิภาพในการทำงานออกมา โดยผมได้ทดลองกับภาษายอดนิยม PHP กับภาษาเกิดใหม่ที่น่าสนใจคือ ภาษา D และภาษา Go โดยมีการทดลองดังนี้ครับ

Read more


Home | Back