Go Language
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