Go Language

Tags:
Node Thumbnail

Google ประกาศอัพเดต App Engine ใหม่ โดยเพิ่มเมมโมรี่ให้ App Engine ยุคที่สองเป็น 2 เท่าของเดิม, ประกาศให้ Go 1.12 และ PHP 7.3 เข้าสู่สถานะ GA และรองรับ Java 11 ในสถานะเบต้า

เรื่องแรก คือการเพิ่มเมมโมรี่ให้ App Engine สองเท่าจากเดิม คือผู้ใช้จะสามารถโหลดไลบรารีเข้าไปใน App Engine ได้เยอะกว่าเดิม และการเพิ่มเมมโมรี่นี้ Google เพิ่มให้อัตโนมัติ ฝั่งผู้ใช้ไม่ต้องทำอะไร และไม่เก็บค่าใช้จ่ายเพิ่มเติมด้วย

ส่วนถัดไปคือ Google ประกาศให้รันไทม์สองภาษาบน App Engine คือ Go 1.12 และ PHP 7.3 เข้าสู่สถานะ GA อย่างเป็นทางการ

Tags:
Node Thumbnail

Google Cloud เปิดตัวรันไทม์สำหรับภาษา Go สำหรับการใช้งานบน Cloud Functions บริการคลาวด์แบบ serverless ของ Google เพิ่มเติมจากรันไทม์ Node.js และ Python ในปัจจุบัน

Google ระบุว่า Cloud Functions รองรับภาษา Go เวอร์ชันล่าสุด 1.11 รวมถึงแพคเกจอื่น ๆ ของ Go ผ่าน Go modules ด้วย โดยผู้ใช้เพียงสร้างไฟล์ go.mod ไว้ ซึ่งเมื่อดีพลอยลง Cloud Functions ระบบก็จะติดตั้งแพคเกจที่ระบุไว้ในไฟล์ให้

ตอนนี้ Cloud Functions ได้เริ่มเปิดให้ผู้ใช้ทดสอบรันไทม์ Go 1.11 เวอร์ชันเบต้าแล้ว รายละเอียดเพิ่มเติมอ่านได้จาก Google Cloud Docs

Tags:
Topics: 
Node Thumbnail

Russ Cox (@_rsc) นักพัฒนาโครงการ Go ประกาศข้อเสนอชุด Go 2 สำหรับการปรับปรุงส่วนสำคัญๆ ของภาษา Go ได้แก่การดักความผิดพลาด และการรองรับ Generic

การดักความผิดพลาดจากเดิมที่ภาษา Go ไม่ใช้ exception แต่อาศัยการคืนค่าความผิดพลาดและต้องตรวจสอบทุก statement ทำให้โค้ดค่อนข้างเลอะ การออกแบบใหม่อาศัยคำสำคัญ check และ handle โดย check ไว้ตรวจว่าฟังก์ชั่นที่ตามหลังทำงานผิดพลาดหรือไม่ และ handle ทำหน้าที่เป็นชุดคำสั่งจัดการความผิดพลาดที่เกิดขึ้น

อีกส่วนคือการรองรับ Generics ที่ระบุว่าตัวแปรที่จะถือว่าใช้งานได้ต้องมีหน้าตาเป็นอย่างไรบ้าง เช่น รองรับการเปรียบเทียบค่ากัน หรือสามารถรวมค่าเข้าด้วยกันได้

Tags:
Node Thumbnail

กูเกิลสร้างไลบรารี Go Cloud สำหรับการใช้งานคลาวด์ในซอฟต์แวร์ให้สามารถย้ายค่ายได้ง่ายขึ้น โดยตอนนี้รองรับเฉพาะ Google Cloud และ AWS เท่านั้น ฟีเจอร์ที่รองรับแล้ว ได้แก่ สตอเรจ, ฐานข้อมูล (MySQL), การคอนฟิกรันไทม์, และการรันเซิร์ฟเวอร์

ตอนนี้โครงการยังอยู่ระดับอัลฟ่า แปลว่าอาจจะมีการปรับแก้ API อย่างหนักได้ก่อนออกตัวจริง กูเกิลสาธิตการใช้งาน เช่นการอ่านและเขียนไฟล์ด้วยบริการคลาวด์ที่ API จะต่างกันระหว่างค่ายเพียงแค่ส่วนการเซ็ตอัพเท่านั้น แต่ส่วนกลไกการทำงานอื่นใช้ API เดียวกันไม่ว่าจะเป็นคลาวด์เจ้าใด

Tags:
Topics: 
Node Thumbnail

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

นอกจากตัวโลโก้ ทางโครงการยังแจกธีมนำเสนอสำหรับ Google Slides สำหรับใช้ในการประชุมภาษา Go ตามงานต่างๆ โดยมีสัญญาอนุญาตเป็น Creative Commons SA 4.0

ที่มา - Go Blog

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 สำหรับการเข้ารหัสไฟล์ในเครื่องของเรามารัน

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

Pages