By lew Founder on Tag: Chrome, Programming
Chrome

โครงการ Google Chrome Labs ปล่อยโครงการ Carlo สำหรับเขียนแอปเดสก์ทอปด้วย Node แต่ใช้ Chrome เรนเดอร์หน้าจอแทนที่จะแพ็กเอาตัวเรนเดอร์ไปด้วยแบบ Electron

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

เมื่อเขียนแอปเสร็จแล้ว สามารถแพ็กเป็นไฟล์ executable ไฟล์เดียว เมื่อสั่งรันมันจะหาเบราว์เซอร์ Chrome ในเครื่องและเชื่อมต่อเข้าไปเอง หากไม่มี Chrome ในเครื่องจะขึ้นข้อความผิดพลาดและรันต่อไม่ได้

รองรับ Chrome 70 ขึ้นไป

By neizod Contributor on Tag: Zachtronics, Review, Games, Programming
Zachtronics

Zachtronics นั้นมีชื่อเสียงด้านเกมแก้ปัญหาให้ดีที่สุดภายใต้ข้อจำกัด (optimization puzzle game) มาอย่างเนิ่นนาน โดยเราเคยนำเสนอเกมก่อนๆ ไปบ้างแล้ว (รีวิวเกม [TIS-100][], [SHENZHEN I/O][]) และปีนี้ค่ายเกมดังกล่าวก็ได้ปล่อยเกมแนวเขียนโปรแกรมออกมาอีกครั้งในชื่อ EXAPUNKS ซึ่งมีที่มาจากการเอาคำนำ exa- ไปแทนที่ในคำว่า cyberpunk อันเป็นแฟนตาซีในตระกูลเดียวกับ The Matrix, Blade Runner, Ghost in the Shell นั่นเอง

แล้วเกมนี้จะวาดภาพโลกออกมาหน้าตาอย่างไร? เบื้องหลังระบบ/กฎเกณฑ์การแก้ปัญหาเป็นแบบไหน? มีอะไรเปลี่ยนแปลงเพิ่มเติมจากเกมก่อนหน้าบ้าง? มาพบคำตอบกันในรีวิวนี้ได้เลย

By mk Founder on Tag: Python, Security, Imperva, Programming
Python

ก่อนหน้านี้เพิ่งมีข่าว Python ได้รับความนิยมจนติด Top 3 ของ TIOBE ที่อ้างอิงข้อมูลจากซอฟต์แวร์ทั่วไปในภาพรวม ส่วนในโลกของบรรดาแฮ็กเกอร์สายมืด Python ก็ได้รับความสนใจไม่แพ้กัน

รายงานจากบริษัทความปลอดภัย Imperva ที่ไปสำรวจโค้ดของเครื่องมือที่ใช้โจมตีที่เปิดโค้ดไว้บน GitHub พบว่า Python ได้รับความนิยมเป็นอันดับหนึ่ง ด้วยส่วนแบ่งประมาณ 25% ของเครื่องมือทั้งหมด

Imperva วิเคราะห์ว่า Python ได้รับความนิยมสูงเพราะเรียนรู้ง่าย ไม่ต้องมีทักษะการเขียนโปรแกรมมาก ก็สามารถสร้างสคริปต์ที่ใช้ในการโจมตีได้ไม่ยากนัก

By mk Founder on Tag: Java, Oracle, Programming
Java

สัปดาห์ที่ผ่านมา Oracle ออก Java 11 รุ่นจริง ตามนโยบายใหม่ที่ออก Java รุ่นใหม่ทุก 6 เดือน เหมือนกับซอฟต์แวร์หลายตัวในยุคหลัง

ความพิเศษของ Java 11 คือเป็นรุ่น LTS ที่ซัพพอร์ตยาวนานถึงปี 2026 หรือนาน 8 ปี โดยรุ่น LTS ตัวก่อนหน้านี้คือ Java 8 ที่ยังเป็นรอบการออกแบบเดิม ดังนั้นใครที่สนใจย้ายจาก Java 8 มาเป็นเวอร์ชันใหม่กว่านั้น ก็มองมาที่ Java 11 ได้เลย (LTS ตัวหน้าคือ Java 17 กำหนดออกปี 2021)

By mk Founder on Tag: Python, TIOBE, Ranking, Programming
Python

ในการจัดอันดับภาษาโปรแกรมยอดนิยมของ TIOBE Index ประจำเดือนกันยายน 2018 มีการเปลี่ยนแปลงที่น่าสนใจคือ Python มาแรง และสามารถเบียด C++ ขึ้นมาเป็นภาษายอดนิยมอันดับ 3 ได้สำเร็จ ถือเป็นครั้งแรกที่ Python เข้าติดชาร์ทในอันดับ Top 3

อันดับหนึ่งยังเป็น Java ที่คะแนน 17.43% ตามด้วยอันดับสอง C ที่ 15.44% ส่วนอันดับสาม Python มีคะแนน 7.65% เบียด C++ ตกไปอันดับสี่ที่ 7.39%

By mk Founder on Tag: Facebook, Development, Programming
Facebook

ทีมวิศวกรของ Facebook เปิดตัว SapFix เครื่องมือช่วยดีบั๊กด้วยพลัง AI ที่ล้ำหน้าถึงขั้นแก้บั๊กหรือเขียนแพตช์ให้อัตโนมัติด้วยในบางกรณี

SapFix ถูกนำมาใช้งานจริงแล้วในกระบวนการพัฒนาแอพ Facebook Android โดย Facebook ระบุว่าเป็นครั้งแรกที่นำ AI มาใช้ตรวจหาบั๊กในงานที่ใหญ่ระดับนี้

การทำงานของ SapFix มักใช้คู่กับเครื่องมืออีกตัวของ Facebook คือ Sapienz ซึ่งทำหน้าที่รัน automate testing ให้ก่อน เมื่อ Sapienz พบบั๊กแล้วจะส่งต่อให้กับ SapFix ช่วยวิเคราะห์หาแนวทางแก้ไข ซึ่งเป็นไปได้หลายแบบ

By lew Founder on Tag: HHVM, PHP, Programming
HHVM

โครงการ HHVM หรือ HipHop Virtual Machine ของเฟซบุ๊กประกาศแยกทางจาก PHP แล้ว โดยต่อจากนี้จะซัพพอร์ตภาษา Hack อย่างเดียว

HHVM เปิดตัวสู่โลกภายนอกเมื่อปี 2010 โดยเป็นตัวคอมไพล์ภาษา PHP ให้กลายเป็น C++ เพื่อให้ประสิทธิภาพการทำงานเท่าซอฟต์แวร์แบบ native อย่างไรก็ตาม ภายหลัง HHVM เริ่มพัฒนาภาษา Hack โดยแก้ไขข้อจำกัดของ PHP เช่น การเพิ่มการตรวจสอบชนิดตัวแปร, รองรับ generics, รองรับฟังก์ชั่น lambda

By lew Founder on Tag: Go, Programming
Go

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

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

By nutmos Writer on Tag: Microsoft, Quantum Computer, Education, Programming
Microsoft

Microsoft เปิดตัวโครงการโอเพ่นซอร์สใหม่ Quantum Katas ที่จะช่วยเป็นโปรแกรมการสอนการคำนวณแบบควอนตัมและการโปรแกรมภาษา Q#

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

สำหรับเนื้อหาของ Quantum Katas ตอนนี้มีอยู่สี่หมวดใหญ่ ๆ คือ

By mk Founder on Tag: Visual Studio, Microsoft, Python, Programming, Open Source
Visual Studio

ผู้ใช้ Visual Studio คงคุ้นเคยกับฟีเจอร์ช่วยแนะนำการเขียนโค้ด IntelliSense กันเป็นอย่างดี ล่าสุดไมโครซอฟท์จะเปิด IntelliSense ให้กับ IDE ตัวอื่นๆ ที่ไม่ใช่ของตัวเองแล้ว

เบื้องหลังการทำงานของ IntelliSense ในยุคปัจจุบัน ไม่ได้รันอยู่บน Visual Studio โดยตรง แต่รันบน Language Server ที่ทำหน้าที่อ่านและวิเคราะห์โค้ดในแต่ละภาษา แล้วส่งข้อมูลกลับไปยังตัว IDE ผ่าน Language Server Protocol (LSP) ที่ใช้ฟอร์แมตแบบ JSON

By mk Founder on Tag: Games, Sega, Artificial Intelligence, Programming, Alien
Games

Aliens: Colonial Marines เป็นเกมเก่าที่ออกในปี 2013 บน Windows, PS3, Xbox 360 พัฒนาโดย Gearbox, จัดจำหน่ายโดย Sega ตัวเกมไม่มีอะไรน่าจดจำมากนัก ได้คะแนนรีวิวเฉลี่ย Metacritic ไปเพียง 45/100 (เวอร์ชันพีซี)

ชื่อเสียงของเกม (ในแง่ลบ) มาจากระบบ AI ควบคุมเอเลี่ยนที่ห่วยแตก เอเลี่ยนเดินผ่านผู้เล่นโดยไม่สนใจโจมตี จนแฟนๆ นำมาล้อกันและปลายเป็นมีมอยู่ช่วงหนึ่ง

เกมนี้กลับมาเป็นที่สนใจอีกครั้ง เมื่อชุมชนนัก modder ค้นพบว่าระบบ AI ห่วยแตกเป็นเพราะโค้ดในเกมสะกดผิด!

By lew Founder on Tag: Kotlin, Android, Udacity, Programming, Education
Kotlin

กูเกิลส่งผู้เชี่ยวชาญของตัวเองทำวิชา Kotlin Bootcamp ติวเข้มการเขียนโปรแกรมภาษา Kotlin ที่กำลังเป็นภาษาสำหรับแอนดรอยด์เต็มรูปแบบเท่ากับจาวา โดยการติวเข้มจะทำให้วิชารวมสั้นเพียงประมาณ 8 ชั่วโมงเท่านั้น ครอบคลุมเนื้อหาหลักๆ 5 ส่วน ได้แก่

By lew Founder on Tag: Go, Programming
Go

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

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

ที่มา - Go Blog

By lew Founder on Tag: Google, Education, Programming, Mobile App
Google

กูเกิลมีศูนย์บ่มเพาะโครงการภายในที่ชื่อว่า Area 120 มาหลายปี โครงการล่าสุดของศูนย์นี้ก็ออกมาเป็นแอปบนแอนดรอยด์และ iOS ที่ชื่อว่า Grasshopper เป็นแอปสอนเขียนโปรแกรมทีละขั้น

By mk Founder on Tag: WebAssembly, Mozilla, IDE, Development, Programming
WebAssembly

เป็นที่รู้กันดีว่า Mozilla ผลักดันเทคโนโลยี WebAssembly แบบสุดตัว ปัจจุบันเว็บเบราว์เซอร์ 4 ค่ายใหญ่ล้วนรองรับ WebAssembly กันหมดแล้ว ผลงานใหม่ล่าสุดของ Mozilla จึงหันไปจับตลาดนักพัฒนา ด้วยการเปิดตัว IDE สำหรับ WebAssembly โดยเฉพาะ

By mk Founder on Tag: Rust, JavaScript, Mozilla, WebAssembly, Development, Programming
Rust

Mozilla ประกาศแผนการพัฒนาให้ภาษา Rust ทำงานร่วมกับ JavaScript ในการใช้เขียนเว็บร่วมกัน

แนวทางของ Mozilla ไม่ได้ต้องการให้ Rust มาแทน JavaScript แต่มองว่าถ้าส่วนไหนจำเป็นต้องใช้ Rust เพื่อประสิทธิภาพที่ดีกว่า (เช่น การ parse ข้อมูลขนาดใหญ่) ก็สามารถใช้ Rust เขียนส่วนนั้น แล้วนำมาใช้ร่วมกับ JavaScript ในส่วนอื่นได้

วิธีการที่ Mozilla ใช้คือคอมไพล์ Rust เป็น WebAssembly ก่อน แล้วค่อยให้ WebAssembly ทำงานร่วมกับ JavaScript อีกทอดหนึ่ง ซึ่งวิธีนี้จะเปิดให้ใช้ภาษาอื่นนอกจาก Rust ในระยะยาว โดย Mozilla ระบุว่ามีแผนจะแปลง C/C++ เป็น WebAssembly ในอนาคตด้วย

By lew Founder on Tag: Programming, Education
Programming

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

By mk Founder on Tag: Java, Oracle, Programming, Open Source
Java

รวดเร็วปานจรวด เพียง 6 เดือนหลังจาก Java SE 9 ในเดือนกันยายนปีที่แล้ว ก็ได้เวลาของ Java SE 10 ครับ

การออก Java 10 อยู่ภายใต้นโยบายใหม่ของ Oracle ที่จะออก Java รุ่นใหม่ทุก 6 เดือน ลักษณะเดียวกับที่เราเห็นในซอฟต์แวร์โอเพนซอร์สหลายโครงการ โดย Java 10 ถือเป็นรุ่นแรกที่ใช้ระบบออกรุ่นแบบใหม่นี้ และมีเลขเวอร์ชันอีกแบบคือ 18.3 (ปี.เดือน)

By lew Founder on Tag: LLVM, Open Source, Programming
LLVM

LLVM โครงการเฟรมเวิร์คสำหรับการสร้างคอมไพล์เลอร์ ออกเวอร์ชั่น 6.0 โดยฟีเจอร์สำคัญที่สุดคงเป็นการอิมพลีเมนต์ Retpoline ป้องกันการโจมตี Spectre

ฟีเจอร์สำหรับ x86 ที่เพิ่มมาคือการรองรับคำสั่งและซีพียูใหม่ๆ ดีขึ้นมาก เช่น สามารถใช้ชุดคำสั่ง AVX512 ในซีพียูอินเทลได้ดีขึ้น รองรับการคอมไพล์โค้ดให้ตรงกับซีพียูรุ่นใหม่ๆ ของทั้งอินเทลและเอเอ็มดี ในแง่ของระบบปฎิบัติการก็รองรับการออกข้อมูลดีบัก CodeView ได้สมบูรณ์กว่าเดิม

By sunnywalker Writer on Tag: Mattel, Barbie, Education, Programming
Mattel

Mattel แบรนด์เจ้าของตุ๊กตา Barbie จับมือกับ Tynker บริษัทสร้างบทเรียนการเขียนโค้ดให้เด็ก เตรียมเปิดตัวตุ๊กตา Barbie ใหม่ 7 แบบ ที่มาพร้อมกับบทเรียนเขียนโค้ด โดยจะเปิดตัวในช่วงฤดูร้อนปีนี้

ในบทเรียนที่มาพร้อมกับตุ๊กตา มีสอนวิทยาการคอมพิวเตอร์เบื้องต้นและการเขียนโปรแกรม เด็กๆ จะได้เรียนเขียนโค้ดผ่านตุ๊กตาอาชีพต่างๆ เช่น สัตวแพทย์, นักบินอวกาศและวิศวกรหุ่นยนต์ โดยเริ่มจากระดับ beginner หรือ K แล้วค่อยไต่ระดับขึ้นไป

Subscribe to Programming