Go Language

Tags:
Node Thumbnail

AWS ประกาศรองรับภาษา Go เป็นทางการสำหรับการพัฒนา Lambda เพิ่มทางเลือกสำหรับนักพัฒนาที่เคยชินกับ Go อยู่แล้ว

การพัฒนาหลักๆ คือการสร้างฟังก์ชั่นที่รับอาร์กิวเมนต์ 0-2 ตัว (ค่าแรกที่รับคือ context.Context) และคืนค่า 0-2 ค่า (ค่าสุดท้ายที่คืนคือ error) ไลบรารี aws-lambda-go รองรับการแปลงค่าระหว่าง Go และ json ให้

เมื่อปลายปีที่แล้วเพิ่งครบรอบ 8 ปีภาษา Go โดยโครงการจำนวนมากที่ใช้ Go เป็นโครงสร้างสำหรับคลาวด์ เช่น Docker/Moby หรือ Kubernetes การใช้งาน Go ใน AWS Lambda คงทำให้คนทำงานกับคลาวด์อยู่แล้วสะดวกขึ้น

ที่มา - AWS

Tags:
Topics: 
Node Thumbnail

กูเกิลเปิดตัวภาษา Go มาตั้งแต่ 8 ปีที่แล้วจากการรวมตัวทีมงานมือเก๋า เช่น Rob Pike, Ken Thompson, Russ Cox, และ Robert Griesemer วันนี้เมื่อครบรอบ 8 ปีทางโครงการก็ประกาศฉลองความสำเร็จของโครงการที่ทำได้ในเวลาอันสั้น

นับตั้งแต่เปิดตัว 8 ปีที่แล้ว ภาษา Go ได้รับความสนใจสูงขึ้นอย่างรวดเร็ว ค่าดัชนีความสนใจตาม Google Trends แสดงให้เห็นว่าอัตราความสนใจยังเติบโตแบบ exponential โดยตอนนี้มันเป็นภาษาที่ได้รับความนิยมอันดับ 9 ใน GitHub แซงหน้าภาษา C เป็นภาษาที่นักพัฒนาชอบเป็นอันดับ 5 จากการสำรวจของ StackOverflow

Tags:
Node Thumbnail

ดัชนีจัดอันดับภาษาเขียนโปรแกรมยอดนิยม TIOBE รายงานอันดับเดือนกรกฎาคม 2017 โดยมีประเด็นสำคัญคือ Go ขึ้นมาติด 10 อันดับแรกเป็นครั้งแรก โดยอยู่ในอันดับที่ 10 และมีอัตราความนิยมเพิ่มขึ้นสูงสุดใน 20 อันดับแรก

ภาษายอดนิยม 6 อันดับแรกไม่มีการเปลี่ยนแปลง ได้แก่ Java, C, C++, Python, C# และ PHP ตามลำดับ

TIOBE ให้ความเห็นว่าหาก Go ยังรักษาระดับการเติบโตนี้ต่อไปได้เรื่อยๆ ก็เป็นไปได้ว่า Go อาจแซงหน้า JavaScript และ Python ได้ในอนาคต

ที่มา: TIOBE ผ่าน somkiat.cc

Tags:
Node Thumbnail

กูเกิลเปิดตัว TensorFlow ไลบรารีสำหรับเทรนงาน machine learning มาตั้งแต่ปลายปี 2015 และได้รับการยอมรับอย่างกว้างขวาง วันนี้กูเกิลประกาศออก TensorFlow 1.0 ในงานสัมมนา TensorFlow Developer Summit แล้ว

ของใหม่ใน TensorFlow 1.0 ได้แก่

Tags:
Node Thumbnail

กูเกิลเปิดตัวโครงการ Grumpy ตัวแปลงโค้ดภาษา Python เป็นภาษา Go แล้วรันได้ในตัว โดยเป้าหมายของโครงการคือโค้ดที่เป็นภาษา Python ล้วนทั้งหมดจะสามารถรันบน Grumpy ได้ทันที

Grumpy เกิดจากความต้องการของกูเกิลที่รันโค้ด Python จำนวนมาก แต่โค้ดเหล่านั้นกลับไม่สามารถกระจายโหลดไปตามจำนวนเธรดได้ดีพอ จากข้อจำกัด global interpreter lock (GIL) ที่เป็นข้อจำกัดของ Python มาเป็นเวลานาน ทำให้บริการที่ใช้ Python มากๆ เช่น YouTube มีปัญหาไม่สามารถขยายระบบได้ดีนัก

โค้ดที่เขียนสำหรับ Grumpy โดยเฉพาะจะสามารถ import โมดูลของภาษา Go มาใช้งานได้ด้วย เช่น การเรียกโมดูล net/http

Tags:
Node Thumbnail

รายงานความนิยมภาษา TIOBE สรุปดัชนีเดือนตุลาคม พบว่าภาษาที่กลับมาได้รับความนิยมอย่างสูงตอนนี้กลับเป็นภาษา Go ที่ขึ้นมาจากอันดับ 65 ในปี 2015 มาเป็นอันดับ 16 ดัชนีความนิยมเพิ่มเป็น 1.809% เปลี่ยนแปลง +1.67%

ทาง TIOBE วิเคราะห์ว่าความนิยมของ Go มาจากความนิยม Docker ในช่วงหลัง ขณะที่ภาษาที่ได้รับความนิยมเพิ่มขึ้นคล้ายกันคือ Groovy มีคะแนนดัชนี TIOBE สูงขึ้นเรื่อยๆ มาตั้งแต่ปีที่แล้ว

ภาษา 5 อันดับแรกยังเป็น Java, C, C++, C#, และ Python ไม่เปลี่ยนแปลง แต่ Objective-C ที่เคยขึ้นสูงสุดถึง 12.875% เป็นอันดับ 3 ในปี 2014 และตกลงไปเรื่อยๆ ตอนนี้ก็กลับขึ้นมาใหม่อยู่ที่อันดับ 10

ที่มา - TIOBE

Tags:
Node Thumbnail

ทีมงานโอเพนซอร์สของไอบีเอ็มพอร์ตภาษา Go ของกูเกิลไปรันบน System z s390x พร้อมกับเปิดให้ดาวน์โหลดบน Github เคียงคู่กับโครงการอื่นๆ ที่ไอบีเอ็มพอร์ตไปยัง System z เช่น Cassandra, Spark, Mongo

ภาษา Go เปิดตัวในปี 2009 มีจุดเด่นที่วางกระบวนการทำงานขนานตั้งแต่ต้น กระบวนการสร้างเธรด (goroutine) และการสื่อสารระหว่างกันเป็นธรรมชาติของภาษาตั้งแต่ต้น และเป็นภาษาแห่งปีของดัชนี ITOBE จากการได้รับความนิยมเพิ่มขึ้นอย่างรวดเร็ว และตอนนี้คาดว่าจะเข้ามาอยู่ในทำเนียบภาษาที่ได้รับความนิยม 50 ภาษาแรกเร็วๆ นี้

Tags:
Topics: 
Node Thumbnail

ข่าวสั้นครับ คุณ Russ Cox นักพัฒนาภาษา Go ได้ออกมาประกาศว่า Go 1.5 จะเป็นรุ่นสุดท้ายที่ใช้ชื่อนี้ สำหรับรุ่นถัดไปจะเปลี่ยนไปใช้ชื่อว่า Al (ตัวอักษร 2 ตัวแรกของบริษัท Alphabet) และนับรุ่นต่อเป็น Al 1.6 เลยครับ

ที่มา: Twitter

Tags:
Topics: 
Node Thumbnail

ข่าวสั้นครับ คุณ Russ Cox นักพัฒนาภาษา Go ได้ออกมาประกาศว่า Go 1.5 จะเป็นรุ่นสุดท้ายที่ใช้ชื่อนี้ สำหรับรุ่นถัดไปจะเปลี่ยนไปใช้ชื่อว่า Al (ตัวอักษร 2 ตัวแรกของบริษัท Alphabet) และนับรุ่นต่อเป็น Al 1.6 เลยครับ

ที่มา: Twitter

Tags:
Topics: 
Node Thumbnail

Go ออกรุ่น 1.5 เป็นรุ่นหลักที่แนะนำให้นักพัฒนาใช้งาน รุ่นนี้แก้ปัญหาที่นักพัฒนาเรียกร้องกันมานานคือ garbage collector (GC) หน่วงทำให้มีปัญหาเมื่อใช้งานที่จองหน่วยความจำปริมาณมากๆ

นอกจากการแก้ปัญหาหลักแล้ว ยังมีการปรับปรุงอื่นๆ เช่น

  • รองรับการตั้งจำนวนเธรดด้วยตัวแปร GOMAXPROCS
  • รองรับการคอมไพล์เป็น shared library
  • รองรับ ARM และ iOS ดีขึ้น

รายการปรับแต่งอื่นๆ อ่านได้ในเอกสาร Go 1.5

ที่มา - Go Blog

Tags:
Topics: 
Node Thumbnail

หลังจากพ้นกำหนดการในการออกเวอร์ชันใหม่มากว่า 20 วัน ภาษา Go ก็ได้ฤกษ์ออกเวอร์ชัน 1.5 อย่างสมบูรณ์เสียที โดยในเวอร์ชันนี้ได้พัฒนาปรับปรุงขึ้นมาหลาย ๆ ส่วน อาทิเช่น

  • compiler และ runtime ที่เขียนด้วยภาษา Go ทั้งหมด (ข่าวเก่า)
  • Garbage Collector ทำงานแบบ Concurrent แล้ว
  • โปรแกรมภาษา Go จะถูกทำงานด้วยจำนวน core ของ CPU ทั้งหมดที่มี จากเดิมที่มีค่าเป็น 1 core ในเวอร์ชันก่อนหน้านี้
  • เพิ่มคำสั่งรองรับการทำ vendoring external dependencies ในระยะทดลอง

รายละเอียดอื่น ๆ สามารถติดตามได้จากที่มาของข่าว

Tags:
Node Thumbnail

แม้ว่าบริการของกูเกิลหลายบริการจะถูกบล็อคในจีนแต่ภาษา Go กลับได้รับความนิยมในจีนอย่างสูง ปริมาณการค้นหา golang บนกูเกิลมาจากในจีนมากที่สุดในโลก (ไม่รู้ว่าคนจีนเข้ากูเกิลได้อย่างไร?) เมื่อทางจีนจัดงาน GopherChina ทางทีมงาน Go ก็ส่ง Robert Griesemer ไปร่วมงานด้วย

Tags:
Node Thumbnail

Parse ผู้ให้บริการ API สำหรับแอพพลิเคชั่นบนสมาร์ทโฟนพัฒนาบริการขึ้นมาจาก Ruby on Rails เป็นหลัก แต่เมื่อจำนวนเครื่องลูกข่ายที่ต้องให้บริการเพิ่มขึ้นอย่างรวดเร็วและโค้ดมีขนาดใหญ่ขึ้นเรื่อยๆ Ruby on Rails กลับแสดงปัญหา

เพียงแค่ปี 2012 ทาง Parse ต้องดูแลเซิร์ฟเวอร์ถึง 200 เครื่องบน AWS เป็น unicorn worker 24 โปรเซสต่อเครื่องให้บริการ 3000 ครั้งต่อวินาทีให้กับแอพพลิเคชั่น 60,000 แอพ ระยะเวลาการขึ้นระบบแต่ละรอบใช้เวลา 20 นาที

Tags:
Node Thumbnail

คอมไพล์เลอร์ภาษา Go ก่อนหน้านี้พัฒนาด้วยภาษาซีมาโดยตลอด แต่เมื่อคืนที่ผ่านมา Russ Cox ทีมงานภาษา Go ก็ลบโค้ดเหล่านี้ออกจาก Git ใน master branch แล้ว

การที่ Go สามารถคอมไพล์ตัวเองได้ ทำให้ Go กลายเป็นภาษาในกลุ่ม self-hosting อีกหนึ่งตัว

ตอนนี้คอมไพล์เลอร์ที่เขียนด้วยภาษา Go ยังช้ากว่าที่เขียนด้วยซีอยู่เล็กน้อย แต่ Cox ระบุว่าน่าจะแก้ปัญหาได้ภายในสัปดาห์หน้า

ที่มา - @_rsc

Tags:
Topics: 
Node Thumbnail

ภาษา Go ได้รับความนิยมมากขึ้นเรื่อยๆ ตอนนี้บริษัท JoshSoftware จากอินเดียก็ประกาศจัดงานแข่งขัน Go Challenge โดยได้รับการสนับสนุนจากชุมชน การแข่งขันนี้จะมีทั้งหมด 9 ครั้งแต่ละครั้งจะมีคำถามเพียงข้อเดียวประกาศคำถามวันที่ 1 ของทุกเดือน โดยเชิญผู้เชี่ยวชาญมาออกคำถามให้

รางวัลแบ่งออกเป็นสองรางวัลคือ รางวัลคัดเลือกโดยผู้ออกคำถาม และรางวัลจากเสียงโหวต ทั้งสองรางวัลคล้ายๆ กันโดยมีสปอนเซอร์หลายรายร่วมให้รางวัล เช่น หนังสือจาก O'Reilly, บัตรของขวัญอเมซอนจาก InfluxDB, กระเป๋า Go จาก Apcera

การส่งคำตอบต้องสร้างบัญชีจาก GitHub แล้ว fork repository สำหรับส่งคำตอบออกไป จากนั้นจึงส่งคำตอบด้วย pull request

Tags:
Node Thumbnail

Amazon Web Services ประกาศเตรียมรองรับภาษา Go อย่างเป็นทางการ หลังจากตอนนี้ชุด SDK รองรับภาษา Java, C#, Ruby, Python, JavaScript, PHP, และ Objective C

ชุด SDK ใช้ชื่อว่า aws-go เป็นการพอร์ตมาจากโครงการเดียวกันของ Stripe โดยช่วงแรกจะเป็นโครงการทดลอง ทางอเมซอนจะเข้ามาเพิ่มชุดทดสอบ และเชิญชวนให้ชุมชนมาช่วยกันส่งความเห็น

โครงการอยู่ใน GitHub สามารถไปดาวน์โหลดมาเล่นกันได้

ที่มา - AWS Blog

Tags:
Node Thumbnail

บริการคลาวด์ของ DigitalOcean มีความพิเศษอย่างหนึ่งคือลูกค้าสามารถเข้าถึงหน้าจอคอนโซลได้จากเว็บ ทำให้จัดการเครื่องได้แม้จะเผลอคอนฟิกจนเน็ตเวิร์คไม่ทำงานก็ตาม ทาง Digital Ocean ประกาศว่าเพิ่งเขียนโค้ดในส่วนนี้เสียใหม่โดยใช้ภาษา Go

ประโยชน์ของการใช้ภาษา Go สำหรับ DigitalOcean ได้แก่ ประสิทธิภาพในการจัดการ TCP และ websocket ที่ดี ทำให้ความเร็วของคอนโซลดีขึ้น, ระบบอินเทอร์เฟซ (Interface) ทำให้โค้ดทดสอบได้ง่าย, มีไลบรารี net/http ในตัวทำให้ดีพลอยขึ้นระบบจริงได้โดยไม่ต้องดาวน์ระบบ, ระบบแพ็กเกจของ Go ทำให้แต่ละทีมแชร์โค้ดกันได้ง่าย

Tags:
Node Thumbnail

หนึ่งปีกว่าๆ หลังออก Go 1.0 รุ่น "เสถียร" ถึงตอนนี้ทีมงาน Go ก็ออกรุ่น 1.1 แล้ว โดยยังคงความเข้ากันได้กับ Go 1.0 เต็มรูปแบบ (เพราะทีมงานสัญญาไว้ตั้งแต่รุ่น 1.0)

การปรับปรุงในรุ่นนี้ส่วนมากจะเป็นการปรับปรุงประสิทธิภาพเป็นส่วนมาก เช่นการปรับปรุงความเร็วทั้งตัวคอมไพล์เลอร์, ลิงก์เกอร์, ตัวจัดการหน่วยความจำ, และระบบ goroutine โดยทั่วไปแล้วประสิทธิภาพจะดีขึ้น 30%-40%

การเปิดซอร์สทำให้ Go มีนักพัฒนาจากภายนอกกูเกิลมาร่วมส่งแพตซ์ถึง 2600 แพตซ์ จากนักพัฒนา 161 คน ในช่วงหลังผมเริ่มเห็นประกาศรับสมัครงานหาโปรแกรมเมอร์ที่มีประสบการณ์กับภาษานี้แล้ว ก็นับว่าเป็นอีกภาษาที่น่าศึกษาเอาไว้

ที่มา - Golang

Tags:
Node Thumbnail

ภาษา Go ที่เปิดตัวโดยกูเกิลเมื่อเดือนพฤศจิกายน 2009 มีอายุครบ 3 ปีแล้ว ซึ่งตอนนี้ก็มีผู้ใช้ภาษา Go มากมาย เช่น BBC, Novartis, SoundCloud, SmugMug, Canonical ส่วนกูเกิลก็ใช้ภาษา Go ในส่วนที่เห็นชัด ๆ คือ Doodle ที่เคลื่อนไหวได้ ในเทศกาลต่าง ๆ นั่นเอง

ตอนนี้นักพัฒนากำลังพัฒนาภาษา Go เวอร์ชัน 1.1 หลังจากเพิ่งปล่อยเวอร์ชัน 1.0 ไปเมื่อเดือนมีนาคมปีนี้ (ข่าวเก่า)

ที่มา - The H

Tags:
Node Thumbnail

โทรจัน Encriyoko เพิ่งถูกค้นพบเมื่อกลางเดือนที่ผ่านมา ตัวมันเองทำงานด้วยการเข้ารหัสไฟล์เอกสารจำนวนมากในเครื่อง โดยสร้างกุญแจการเข้ารหัสด้วยการสุ่มขึ้นมาหรือใช้กุญแจจากไฟล์ D:\nepia.dud จุดที่ทำให้มันน่าสนใจกว่าโทรจันอื่นๆ คือมันพัฒนาด้วยภาษา Go

ตัวโทรจันเป็นไฟล์ติดตั้งที่เขียนด้วย .NET ใช้ชื่อไฟล์ว่า GalaxyNxRoot.exe เมื่อติดตั้งแล้วจะได้สองไฟล์ที่พัฒนาด้วยภาษา Go นั่นคือ PPSAP.exe และ adbtool.exe ไฟล์แรกจะอัพโหลดข้อมูลเกี่ยวกับเครื่องของเรากลับไปยังเซิร์ฟเวอร์ อีกไฟล์หนึ่งจะดาวน์โหลด DLL สำหรับการเข้ารหัสไฟล์ในเครื่องของเรามารัน

ใครรูทเครื่องเล่นด้วยโปรแกรมแปลกๆ บ่อยๆ ก็ระวังตัวกันด้วยนะครับ

Tags:
Node Thumbnail

ภาษาที่กูเกิลสร้างขึ้นในตอนนี้คงมีสองภาษาสำคัญคือภาษา Dart สำหรับเว็บและภาษา Go สำหรับงานระดับล่างที่ต้องการประสิทธิภาพสูง ถ้าใครมีโอกาสฝึกภาษา Go มาก่อนหน้านี้จะพบว่าภาษาและไลบรารีมีการพัฒนาที่เร็วมากจนกระทั่งโค้ดเดิมใช้งานไม่ได้แม้พัฒนามาไม่นาน นั่นเป็นเพราะตัวภาษา Go ยังอยู่ระหว่างการพัฒนา แต่วันนี้กูเกิลก็ประกาศภาษา Go รุ่น 1.0 ที่จะรับประกันความเข้ากันได้ในรุ่นต่อๆ ไป (forward compatibility)

Tags:
Node Thumbnail

แม้จะไม่ได้แสดงตัวในส่วน keynote แต่ App Engine ก็เปิดฟีเจอร์ชุดใหม่ทันทีต่อจาก Android โดยการเพิ่มฟีเจอร์ส่วนมากเป็นการเพิ่มเอาใจลูกค้าองค์กร (ที่เป็นลูกค้าสำคัญของ App Engine)

Tags:
Node Thumbnail

แม้ว่าภายในกูเกิลนั้นจะใช้งานภาษา C++ และ Python อย่างหนักก็ตาม แต่ทั้งสองภาษาก็ยังมีข้อจำกัดอยู่บางส่วน ภาษา C++ นั้นต้องเสียเวลาในการคอมไพล์นานในการแก้ไขแต่ละครั้ง ส่วนภาษา Python นั้นมีปัญหาเรื้อรังในการรองรับมัลติคอร์ เพื่อแก้ปัญหานี้กูเกิลจึงเสนอ "ทางสายกลาง" ให้กับเราๆ ท่านๆ ด้วยภาษา Go

ภาษา Go เป็นภาษาที่ต้องการการคอมไพล์ เช่นเดียวกับภาษา C++ แต่มีข้อดีกว่าหลายประการคือ

Pages