Image
By lew Founder on Tag: SpaceX, Development, JavaScript, Linux
SpaceX

ทีมงานซอฟต์แวร์ของ SpaceX ตั้งกระทู้ตอบคำถามบน Reddit ให้คนทั่วไปตั้งคำถามใดๆ ก็ได้ ทำให้ทีมงานมีโอกาสเปิดเผยข้อมูลเพิ่มเติม โดยประเด็นที่สำคัญคือหน้าจอสัมผัสของยาน Dragon นั้นรันอยู่บน Chromium โดยมีไลบรารีจาวาสคริปต์แบบ reactive ที่พัฒนาขึ้นเองเป็นการภายใน โดยหน้าจอนี้ไม่เกี่ยวอะไรกับหน้าจอรถของ Tesla

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

By lew Founder on Tag: Deno, JavaScript, Rust, TypeScript
Deno

Ryan Dahl ผู้เริ่มโครงการ Nodejs เมื่อปี 2009 และออกจากโครงการไปเมื่อปี 2012 กลับมาพัฒนาโครงการ Deno ที่เป็นรันไทม์สำหรับรันจาวาสคริปต์นอกเบราว์เซอร์เหมือนกัน แต่พัฒนาขึ้นด้วยแนวคิดที่ต่างออกไป โดยเลือกใช้ภาษา Rust ในการพัฒนา และสร้างโครงการ rust_v8 สำหรับนำเอาเอนจิน V8 มาใช้งาน และตอนนี้ Deno ก็ออกเวอร์ชั่น 1.0 พร้อมสำหรับการใช้งานจริงแล้ว

ฟีเจอร์สำคัญของ Deno ได้แก่

By lew Founder on Tag: JavaScript, NPM
JavaScript

โมดูล is-promise เป็นโมดูลง่ายๆ บน npm ที่ใช้ตรวจสอบว่าออปเจกต์ใดเป็น Promise บ้าง โดยตัวโมดูลเองมีความยาวเพียง 5 บรรทัดเท่านั้น (โค้ดอยู่ในภาพ) แต่การอัพเดตครั้งล่าสุดในเวอร์ชั่น 2.2.0 กลับทำให้โมดูลจำนวนมากไม่ทำงาน

ความผิดพลาดเกิดจากความพยายามซัพพอร์ต ES module แต่คอนฟิกที่ใส่มากลับไม่สมบูรณ์ ทำให้คำสั่งสำคัญๆ เช่น create-react-app หรือ firebase-tools ติดตั้งใหม่ไม่ได้

By mk Founder on Tag: Wikipedia, Wikimedia Foundation, MediaWiki, React, JavaScript, Vue.js
Wikipedia

Wikipedia ถือกำเนิดมาตั้งแต่ปี 2001 โดยใช้ซอฟต์แวร์ MediaWiki ที่เขียนขึ้นในยุคนั้น ซึ่งปัจจุบันก็มีหลายส่วนที่เริ่มล้าสมัยแล้ว

มูลนิธิ Wikimedia Foundation ในฐานะผู้ดูแลโครงการ Wikipedia จึงพยายาม "ยกเครื่อง" ซอฟต์แวร์ MediaWiki ให้ทันสมัยขึ้น หนึ่งในแผนการคือเปลี่ยนมาใช้เฟรมเวิร์คจาวาสคริปต์ตัวใหม่ๆ แทน jQuery ที่ใช้มานาน และเฟรมเวิร์คของตัวเองที่ชื่อ OOUI

By lew Founder on Tag: JavaScript, Facebook
JavaScript

เฟซบุ๊กเปิดซอร์สโครงการ Rome ชุดเครื่องมือพัฒนาจาวาสคริปต์ โดยรวมเอาทั้ง compiler, linter, formatter, bundler, และเฟรมเวิร์คทดสอบโค้ดในชุดเดียวกัน

จุดพิเศษของโครงการ Rome คือการตั้งเป้าว่าชุดเครื่องมือทั้งหมดจะสมบูรณ์ในตัวเอง ไม่ต้องใช้ dependency ภายนอกอีก ตัวโครงการเองใช้ compiler ในโครงการมา compile ตัวเอง ขณะที่การพัฒนาทั้งหมดใช้ภาษา TypeScript

By mk Founder on Tag: Node.js, Programming, JavaScript
Node.js

Node.js ออกเวอร์ชัน 13.0 (และออกรุ่นแก้บั๊ก 13.0.1 ตามมาในวันถัดมา) ถือเป็นเวอร์ชันแรกของ Node.js สาย 13.x

ระบบการออกรุ่นของ Node.js ในปัจจุบันคือออกเวอร์ชันใหญ่ทุก 6 เดือน โดยแบ่งเป็นรุ่นเลขคี่ (ไม่เสถียร) และรุ่นเลขคู่ (เสถียร) และมีเงื่อนไขว่าเมื่อออกรุ่นเลขคี่แล้ว จะปรับเวอร์ชันของรุ่นเลขคู่เป็นรุ่นซัพพอร์ตระยะยาว (LTS) ทันที และเลื่อนรุ่น LTS สองรุ่นก่อนหน้าเป็นสถานะ Maintenance

การออก Node.js 13.0 จึงมีผลทำให้ Node.js 12 มีสถานะเป็น LTS (เริ่มนับที่ 12.13.0) และส่งผลให้ Node.js 8 LTS เข้าสถานะ Maintenance

By mk Founder on Tag: AMP, JavaScript, Open Source, Google
AMP

กูเกิลประกาศบริจาคโครงการ AMP (Accelerated Mobile Page) เข้าเป็นส่วนหนึ่งของมูลนิธิ OpenJS Foundation เพื่อให้เป็นโครงการโอเพนซอร์สอิสระ ไม่ขึ้นกับกูเกิลอีกต่อไป

OpenJS Foundation เป็นโครงการลูกของมูลนิธิ Linux Foundation โดยมีซอฟต์แวร์โอเพนซอร์สสาย JavaScript อยู่ในสังกัดทั้งหมด 32 ตัว ที่ดังๆ ก็อย่างเช่น Dojo, jQuery, Node.js เป็นต้น

By lew Founder on Tag: Facebook, React, Open Source, JavaScript
Facebook

เฟซบุ๊กประกาศเปิดซอร์สโครงการ Hermes JS Engine เอนจินจาวาสคริปต์สำหรับรันโค้ดบนโทรศัพท์มือถือ โดยเฉพาะแอนดรอยด์และเฟรมเวิร์ค React Native

จุดสำคัญของ Hermes คือมันไม่ได้โหลดโค้ดจาวาสคริปต์มาคอมไพล์ขณะที่รันครั้งแรกเหมือนเอนจินอื่นๆ แต่อาศัยการคอมไพล์ไว้ล่วงหน้าเป็นไบต์โค้ด เมื่อติดตั้งแอปแล้วตัวเอนจินจึงโหลดไบต์โค้ดมารัน ทำให้กระบวนการเปิดแอปเร็วขึ้น นอกจากความเร็วในการรันครั้งแรก Hermes ยังปรับการใช้หน่วยความจำให้ประหยัดหน่วยความจำขึ้น ลดเวลาการรัน garbage collection (GC) เพื่อให้แอปตอบสนองเร็ว

By mk Founder on Tag: Chrome, JavaScript, Development, Browser
Chrome

Chrome for iOS อาจเป็น Chrome เวอร์ชันที่คนไม่ค่อยนึกถึงสักเท่าไรนัก แต่ก็มีผู้ใช้งานเป็นจำนวนไม่น้อย (สถิติของ Blognone อยู่ราว 8% ของผู้ใช้ iOS ทั้งหมด)

ด้วยข้อจำกัดของแอปเปิลเอง ทำให้ Chrome for iOS (รวมถึงเบราว์เซอร์อื่นทุกตัว) ไม่สามารถใช้เอนจิน Blink ของตัวเองได้ และต้องใช้เอนจิน WebKit ที่มากับตัวระบบปฏิบัติการแทน

อย่างไรก็ตาม ตัวไบนารี WKWebView ของแอปเปิลกลับไม่ซัพพอร์ตฟีเจอร์ Safari Remote Debugging ทำให้การทดสอบเว็บเพจบน Chrome for iOS ทำได้ยากพอสมควร (สามารถทำได้หากคอมไพล์ Chrome for iOS เองทั้งหมดจากซอร์สโค้ด แต่ก็ยุ่งยากไม่น้อย)

By nrad6949 Writer on Tag: Fuchsia, Node.js, JavaScript
Fuchsia

อาจเป็นสัญญาณที่ดีสำหรับนักพัฒนาสาย JavaScript เมื่อ Yang Guo หนึ่งในนักพัฒนาของโครงการ Node.js ประกาศออกทวิตว่ากำลังช่วย Google หาคนทำงานอยู่ โดยเป็นนักพัฒนาที่สามารถพอร์ต (port) โครงการ Node.js ลง Fuchsia ได้

รายละเอียดของทวิตระบุว่า นักพัฒนาที่ได้ตำแหน่งนี้จะได้ทำงานในตำแหน่งวิศวกรซอฟต์แวร์ที่ Google ประจำสำนักงานเมืองมิวนิค ประเทศเยอรมนี และจะต้องทำงานในสถานที่จริงเท่านั้น โดยจะต้องมีประสบการณ์ในการพัฒนา Node.js ส่วนแกนที่สำคัญ (core), C++ และ C++ toolchain ด้วย

By nutmos Writer on Tag: JavaScript, Code, Japan, Crime
JavaScript

ตำรวจญี่ปุ่นในเมือง Kariya ได้เข้าจับกุมเด็กนักเรียนหญิงวัย 13 ปีในคดีอาชญากรรมข้อหากระจายโค้ดอันตราย หลังจากที่เธอนำลิงก์ที่ใส่โค้ด infinite loop ที่เขียนด้วย JavaScript แปะลงเว็บบอร์ด

By lew Founder on Tag: TensorFlow, Open Source, Programming, Swift, JavaScript
TensorFlow

กูเกิลปล่อยโครงการย่อยสำหรับ TensorFlow บนภาษาอื่นๆ เพิ่มเติมในงาน TensorFlow Dev Summit ปีนี้ โดยอัพเดต TensorFlowJS เป็นรุ่น 1.0 พร้อมใช้งานแล้ว

TensorFlowJS มาพร้อมกับเมเดลพร้อมใช้ 5 โมเดล ได้แก่

By mk Founder on Tag: Google, Security, JavaScript
Google

กูเกิลปรับนโยบายความปลอดภัยของการใช้งานบัญชี Google Account โดยบังคับว่าเบราว์เซอร์ต้องเปิดใช้งาน JavaScript ตอนล็อกอินเสมอ

เหตุผลของกูเกิลเป็นเรื่องความปลอดภัย โดยระบบตรวจสอบความเสี่ยงขณะยืนยันตัวตนของกูเกิล จำเป็นต้องใช้ JavaScript ในการทำงาน กรณีของคนส่วนใหญ่คงไม่มีปัญหาและไม่ต้องเปลี่ยนแปลงอะไร แต่กูเกิลก็ให้ข้อมูลว่ามีผู้ใช้ประมาณ 0.1% ที่ปิด JavaScript ในเบราว์เซอร์

By lew Founder on Tag: JavaScript, Security
JavaScript

นักพัฒนาโมดูลย่อยของโครงการ ESLint ถูกขโมยบัญชีใน npm แล้วฝังโค้ดเข้าไป กระทบ eslint-scope และ eslint-config-eslint ทำให้นักพัฒนารายอื่นๆ ที่ดาวน์โหลดโมดูลนี้ระหว่างวันที่ 11-12 ที่ผ่านมาได้รับโค้ดที่เป็นมัลแวร์ไป

ตัวโค้ดจะดาวน์โหลดโคดจาก pastebin มาอีกทีหนึ่งแล้วรันโค้ดตามนั้นทันที

ตอนนี้คาดว่ามีนักพัฒนาดาวน์โหลดโค้ดในช่วงเวลาดังกล่าวไปประมาณ 4,500 ราย ใครที่ใช้ ESLint ควรตรวจสอบว่าใช้โมดูลย่อยทั้งสองอยู่หรือไม่ และดาวน์เกรดโมดูลลงระหว่างรอทางโครงการปล่อยโมดูลเวอร์ชั่นใหม่ที่ลบโค้ดอันตรายออกแล้ว

By nismod Writer on Tag: Facebook, Security, Privacy, JavaScript
Facebook

นักวิจัยจาก Princeton's Center for Information Technology Policy รายงานการค้นพบ JavaScript ของ 3rd Party ที่ฝังอยู่บนหน้าเว็บไซต์ที่มีปลั๊กอิน Login with Facebook สามารถดึงข้อมูลผู้ใช้และ User ID มาจากเฟซบุ๊ก เสมือนเป็นหน้าเว็บไซต์ (1st Party) นั้น เมื่อผู้ใช้กดล็อกอินผ่านเฟซบุ๊ก

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: TensorFlow, JavaScript
TensorFlow

โครงการ TensorFlow เปิดตัวโครงการย่อย TensorFlow.js สำหรับการพัฒนาโมเดล deep learning บนเบราว์เซอร์หรือ Node.js (กำลังพัฒนา) โดยมุ่งเป้าจะทำให้โมเดล deep learning ที่รันบนจาวาสคริปต์นี้เร่งความเร็วด้วยฮาร์ดแวร์แบบเดียวกับโครงการหลัก

การรันโมเดลบนเบราว์เซอร์จะอาศัย WebGL ในการเชื่อมต่อกับชิปกราฟิกเพื่อเร่งความเร็ว ขณะที่การรันบน Node.js เตรียมจะรองรับทั้งบนชิปกราฟิก, ซีพียู, และ TPU ชิปสำหรับ deep learning ของกูเกิลเอง

By lew Founder on Tag: NPM, JavaScript, Bug
NPM

ผู้ใช้รายงานบั๊กใน npm 5.7.0 หากรันด้วยสิทธิ์ root อาจจะทำให้ระบบไฟล์เสียหายถึงขั้นต้องติดตั้งระบบปฎิบัติการใหม่

บั๊กนี้เกิดจากแพตช์ที่เปลี่ยนแพ็กเกจจาก mkdirp เป็น correct-mkdir แต่เกิดผลข้างเคียงทำให้ความเป็นเจ้าของโฟลเดอร์เปลี่ยนไป กระทบโฟลเดอร์สำคัญๆ เช่น /etc /usr /boot

ปัญหานี้ไม่ได้กระทบลินุกซ์ทุกรุ่น และวินโดวส์ก็ไม่ได้รับผลกระทบ แต่มีผู้ใช้ FreeBSD รายงานว่าได้รับผลกระทบเช่นกัน อย่างไรก็ตามตอนนี้ npm 5.7.1 ออกมาแล้วก็ควรหันไปใช้รุ่นใหม่ก่อน

By mk Founder on Tag: Firefox, JavaScript, Compiler, WebAssembly, Browser, Mozilla
Firefox

เราทราบกันดีว่า Firefox 57 เร็วขึ้นกว่าเดิมมาก แต่นั่นเป็นเพียงจุดเริ่มต้นเท่านั้น เพราะ Mozilla มีแผนปรับปรุงเอนจินอีกมาก และใน Firefox 58 ก็มีของใหม่ที่ช่วยให้การประมวลผล JavaScript เร็วขึ้นอีก

ที่ผ่านมา Firefox รองรับ WebAssembly หรือการคอมไฟล์ JavaScript เป็นไบนารีเพื่อให้ได้ประสิทธิภาพดีขึ้นกว่าเดิม ใน Firefox 58 จะปรับปรุงการคอมไพล์ WebAssembly โดยใช้เทคนิค 2 อย่างประกอบกัน

By nutmos Writer on Tag: WebAssembly, JavaScript, W3C, Browser
WebAssembly

WebAssembly ฟอร์แมตไบนารีแบบใหม่สำหรับเว็บเบราว์เซอร์โดยวิศวกรจาก Google, Microsoft, Mozilla, WebKit ที่ทำงานร่วมกันเพื่อรันเว็บแอพให้ได้ความเร็วใกล้เคียงกับแอพแบบเนทีฟ ตอนนี้ถือว่าเป็นฟอร์แมตที่ได้รับการรองรับจากเว็บเบราว์เซอร์เจ้าใหญ่ทั้งหมดสี่เจ้าแล้ว หลังจากที่ล่าสุด Safari และ Microsoft Edge เพิ่งอัพเดตรองรับไป เพิ่มเติมจาก Firefox และ Chrome ที่รองรับไปก่อนหน้านี้ ส่วนเบราว์เซอร์ที่ใช้ฐานจาก Chromium อย่าง Opera และ Vivaldi ก็จะรองรับในอีกไม่นานนัก

Subscribe to JavaScript