Go Language
Tags:
Go

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

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

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

ที่มา - @_rsc

Tags:

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

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

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

ที่มา - Go Challenge

Tags:
AWS

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

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

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

ที่มา - AWS Blog

Tags:
Go

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

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

การปรับปรุงโค้ดใหม่ทำให้ลูกค้าสามารถเชื่อมต่อคอนโซลจากเดิมต้องใช้เวลาหลายวินาที เหลือเพียงระดับมิลลิวินาทีเท่านั้น พร้อมกับโหลดโดยรวมของระบบที่ลดลง

ที่มา - DigitalOcean

Tags:
Go

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

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

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

ที่มา - Golang

Tags:
Go

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

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

ที่มา - The H

Tags:

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

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

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

ที่มา - Symantec

Tags:
Go

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

สำหรับปัญหาของการเปลี่ยนแปลงก่อนหน้านี้ กูเกิลมีเครื่องมือ go fix ให้ช่วยแก้ไขปัญหาให้โค้ดทำงานกับมาตรฐานภาษารุ่น 1.0 นี้ได้เป็นส่วนใหญ่ นอกจากนี้ยังมีความสามารถใหม่ๆ เช่น รองรับอักขระ Unicode, ไลบรารี time, และการเปลี่ยนแปลงอีกหลายอย่าง และเครื่องมือ go command ที่ช่วยคอมไพล์ทั้งโครงการโดยไม่ต้องเขียน build script

ภาษา Go นั้นมีที่ใช้งานจริงสำคัญคือ App Engine ของกูเกิลเอง รอบนี้กูเกิลก็ออก SDK รุ่นที่รองรับภาษา Go รุ่นใหม่ออกมาพร้อมกัน

มีใครเริ่มเอาไปใช้งานที่ไหนกันบ้างแล้ว?

ที่มา - Golang

Tags:
App Engine

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

  • Backends API: เป็นการรองรับการทำงานหลังบ้านอย่างเต็มรูปแบบ โดยงานบางอย่างที่ต้องการการคำนวณต่อเนื่องมากกว่าจะเป็นงานที่ทำแล้วจบไปเช่นเว็บทั่วไป Backends API จะให้เลือกได้ว่าต้องการซีพียูและหน่วยความจำเท่าใด โดยซีพียูจะอยู่ในช่วง 600-4800MHz และแรมอยู่ในช่วง 128-1024MB โดยสามารถเปิดให้ Backends รับ HTTP Request จากภายนอกได้โดยตรงหากต้องการ
  • Pull Queues: มาพร้อมกับ Backends โดยจากเดิมที่ Task API จะเรียกโค้ดส่วนรับงานขึ้นมาทำงานเมื่อมีงานในคิว ก็ให้ Backends สามารถมาดึงงานออกไปทำเมื่อพร้อมได้
  • SQL และ SSL: เป็นฟีเจอร์ที่ออกมาจาก Google Apps for Business ที่เปิดตัวไปเมื่อปีที่แล้ว โดยตอนนี้ผู้ใช้ที่จ่ายเงินของ Google Apps จะสามารถทำ SSL ได้บนโดเมนของตัวเอง และมี SQL Server ให้ใช้งานเต็มรูปแบบ
  • รองรับ ภาษา Go: อาจจะเรียกว่ารองรับได้ไม่เต็มปากนัก เพราะ API ที่รองรับในภาษา Go นั้นยังห่างจากภาษาอื่นๆ อยู่มากโดยทำงานพื้นฐานได้อย่างจำกัดเท่านั้น แต่กูเกิลระบุว่าภาษา Go จะมีค่าใช้จ่ายด้านซีพียูถูกกว่าภาษาอื่นๆ เพราะถูกคอมไพล์มาแล้ว

นอกจากนี้แล้วกูกิลยังเปลี่ยนแนวทางการคิดค่าใช้จ่ายใหม่ด้วยการไปคิดตาม "จำนวน" API ที่เรียกใช้แทนการคำนวณจากเวลาของซีพียู เพื่อให้นักพัฒนาคาดเดาค่าใช้จ่ายของซอฟต์แวร์ตัวเองได้ง่ายขึ้น

ที่มา - App Engine Blog (1, 2)

Tags:
Go

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

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

  • คอมไพล์เร็วมาก กูเกิลโชว์ให้ดูว่าการคอมไพล์โค้ดนับแสนบรรทัดทำได้ภายใน 10 วินาที บนโน้ตบุ๊ก
  • มีระบบจัดการหน่วยความจำในตัว ไม่ต้องจัดการคืนตัวแปรเอง
  • มี type เช่นเดียวกับ C++
  • รองรับมัลติคอร์เต็มรูปแบบ สนับสนุนการใช้ Coroutine แบบเดียวกับ Erlang

ดาวน์โหลดใช้งานได้เลยตอนนี้ ที่ Go

มันเกี่ยวอะไรกับวีซ่าเปล่าหว่า

ที่มา - ArsTechnica, InformationWeek