Tags:
Topics: 
Node Thumbnail

Russ Cox วิศวกรกิตติมศักดิ์ (Distinguished Engineer) ของกูเกิล และทีมพัฒนาภาษา Go เขียนบล็อคถึงประเด็นที่นักพัฒนาโมดูล color.js และ faker.js ใส่โค้ดทำให้แอปอื่นๆ พังโดยจงใจ ว่ายังดีที่โค้ดนี้ไม่ได้ทำอะไรมุ่งร้ายมากไปกว่าทำให้แอปพังเพราะโค้ดพิมพ์ขยะจนเต็มหน้า แต่หลังจากเหตุการณ์นี้ NPM ควรปรับปรุงเพื่อรับมือปัญหาแบบนี้ในอนาคต

Tags:
Node Thumbnail

ผู้ใช้ GitHub ชื่อบัญชี Marak เป็นผู้ดูแลโครงการโอเพนซอร์สจำนวนมากและช่วงสัปดาห์ที่ผ่านมาเขาใส่โค้ดรัน infinite loop เข้าไปยังโครงการ color.js (4,300 stars) และ faker.js (795 stars) ส่งผลให้โมดูลและแอปอื่นๆ ที่ใส่โมดูลเหล่านี้เป็น dependency ไม่สามารถทำงานได้ หน้าจอจะค้างและพิมพ์ขยะออกมาไม่หยุด

Marak ไม่ได้แถลงบอกเหตุผลที่เขาทำแบบนี้ไว้โดยตรงแต่เขาแสดงภาพ Aaron Swartz โปรแกรมเมอร์นักกิจกรรมที่ฆ่าตัวตาย หลังถูกจับเนื่องจากเอาคอมพิวเตอร์ไปเชื่อมต่อเครือข่ายของ MIT เพื่อดาวน์โหลดรายงานวิทยาศาสตร์

Tags:
Node Thumbnail

เฟรมเวิร์ค AngularJS เวอร์ชันแรก 1.x ที่เปิดตัวตั้งแต่ปี 2010 หมดระยะซัพพอร์ตแล้วเมื่อสิ้นปี 2021 ถือเป็นการปิดตำนาน AngularJS เวอร์ชันแรกที่เขียนด้วยภาษา JavaScript

เมื่อปี 2015 กูเกิลจับมือกับไมโครซอฟท์สร้างเฟรมเวิร์ค Angular (ไม่มี JS) ด้วยภาษา TypeScript ขึ้นมาใหม่แทนการพัฒนา AngularJS เวอร์ชันแรกต่อ และยังใช้งานมาจนถึงปัจจุบัน (เวอร์ชันล่าสุดขณะที่เขียนคือ 13.x ออกเมื่อปลายปี 2021)

การที่ Angular ทั้งสองเวอร์ชันมีชื่อคล้ายกัน (แต่ใช้ด้วยกันไม่ได้) ทำให้เกิดความสับสนไม่น้อย เพื่อให้แยกแยะได้ง่าย หลายคนเลือกเรียกโครงการใหม่ว่า Angular 2 หรือ Angular 2+ แทน

Tags:
Node Thumbnail

Ruby on Rails ออกเวอร์ชันใหญ่ 7.0 ซึ่งมีการเปลี่ยนแปลงสำคัญ 2 เรื่องคือ ไม่ต้องผูกกับโลกของ Node.js อีกแล้ว และเปลี่ยนระบบ front-end มาเป็นตัวใหม่คือ Hotwire

David Heinemeier Hansson หรือ DHH ผู้สร้าง Rails อธิบายว่าโครงสร้างของภาษา JavaScript ในอดีตเป็นปัญหาของโปรแกรมเมอร์มาก ทางออกจึงเป็นการเขียนภาษาอื่นแล้วแปลงเป็น JavaScript (เรียกว่า transpiling เช่น CoffeeScript หรือ Babel) ที่ช่วยให้เขียนโค้ดง่ายขึ้น แต่ก็ต้องแลกมาด้วยความซับซ้อนที่เพิ่มขึ้น

Tags:
Node Thumbnail

บริษัท Vercel ผู้สร้างเฟรมเวิร์คจาวาสคริปต์ชื่อดัง Next.js ประกาศระดมทุนซีรีส์ D จำนวน 150 ล้านดอลลาร์ ทำให้บริษัทมีมูลค่า 2.5 พันล้านดอลลาร์

ธุรกิจของ Vercel คือเป็นแพลตฟอร์มสำหรับพัฒนาเว็บ front-end ที่รองรับเฟรมเวิร์คหลากหลาย (ไม่ใช่แค่ Next.js แต่รวมถึงตัวอื่นๆ เช่น Vue.js, Ember, Angular) โดยระบบของ Vercel จะรองรับการโฮสต์ไฟล์แบบ serverless นักพัฒนาไม่ต้องดูแลระบบเอง (วัดตามจำนวนครั้งที่เรียกใช้งาน) จัดการเรื่องความปลอดภัยและ CDN ที่กระจายอยู่ทั่วโลก (edge network) เพื่อให้เว็บไซต์ตอบสนองรวดเร็วต่อผู้ใช้ในแต่ละพื้นที่ นักพัฒนาสนใจแค่การพัฒนาเว็บอย่างเดียว ไม่ต้องมีภาระเรื่องการจัดการโครงสร้างพื้นฐานอื่นๆ

Tags:
Topics: 
Node Thumbnail

ไลบรารี coa หรือ Command-Option-Argument เป็นไลบรารีสำหรับอ่านคำสั่ง command line ยอดนิยมบน npm ถูกแฮกและคนร้ายสามารถปล่อยเวอร์ชั่นมุ่งร้าย 2.0.3, 2.0.4, 2.1.1, 2.1.3, และ 3.1.3 ให้เหยื่อดาวน์โหลดผ่าน npm ได้สั้นๆ ไม่กี่ชั่วโมง

อัตราการใช้งาน coa สูงมาก มียอดดาวน์โหลดเกือบ 9 ล้านครั้งต่อสัปดาห์ ช่วงเวลาไม่กี่ชั่วโมงก็อาจจะถูกดาวน์โหลดไปแล้วนับแสนครั้ง

Tags:
Node Thumbnail

ในผลการสำรวจนักพัฒนาของ Stack Overflow ประจำปี 2021 ที่เพิ่งออกมาเมื่อต้นเดือนนี้ มีเรื่องที่เซอร์ไพร์สคือ เว็บเฟรมเวิร์คที่นักพัฒนา "รัก" มากที่สุด (most loved web framework) มีแชมป์ 2 รายได้คะแนนเท่ากันคือ ASP.NET Core และ Svelte

กรณีของ ASP.NET Core ไม่ใช่เรื่องน่าแปลกใจ เพราะเป็นแชมป์เก่าของปี 2020 อยู่ก่อนแล้ว แต่ Svelte เป็นเฟรมเวิร์คใหม่ที่ยังไม่เคยติดอันดับใดๆ มาก่อนในการสำรวจปี 2020 กลับโผล่เข้าชาร์ทมาพรวดเดียวครองอันดับหนึ่งร่วมได้ทันที ทำให้เกิดกระแสความสนใจในโครงการ Svelte เพิ่มตามมา

บทความนี้จะแนะนำข้อมูลเบื้องต้นของ Svelte ว่ามีอะไรน่าสนใจ ถึงทำให้ผงาดขึ้นมาเป็นเฟรมเวิร์คที่นักพัฒนารักที่สุดได้อย่างรวดเร็ว

Tags:
Node Thumbnail

Redmonk บริษัทวิเคราะห์ข้อมูลนักพัฒนา ออกรายงานอันดับภาษาโปรแกรมยอดนิยมประจำไตรมาสสามปี 2021 โดยใช้แหล่งข้อมูลจาก GitHub (จำนวนโค้ด/แกนนอน) และ Stack Overflow (จำนวนการพูดคุย/แกนตั้ง) มาผสมกัน

ผลจากการจัดอันดับของ Redmonk ไม่ต่างจากอันดับของสำนักอื่นๆ (เช่น JetBrains หรือ GitHub) เพราะ Top 3 เป็นภาษายอดนิยมชุดเดียวกัน โดยอันดับหนึ่งคือ JavaScript ตามด้วย Python และ Java เป็นอันดับสองร่วม

Tags:
Node Thumbnail

JetBrains ออกรายงานสำรวจข้อมูลนักพัฒนาประจำปี 2021 จากผู้ตอบแบบสอบถาม 31,743 คนใน 183 ประเทศ มีข้อมูลที่น่าสนใจดังนี้

Tags:
Node Thumbnail

กูเกิลออก Chrome 91 ที่ระบุว่าเร็วขึ้นสูงสุด 23% อันเป็นผลมาจากคอมไพเลอร์จาวาสคริปต์ตัวใหม่ Sparkplug

เดิมทีเอนจิน V8 ของ Chrome มีคอมไพเลอร์ 2 ระดับคือ Ignition ที่เริ่มแปลงจาวาสคริปต์ชั้นแรกเป็น byte code และ Turbofan ทำหน้าที่ปรับแต่ง (optimize) เป็น machine code ที่มีประสิทธิภาพสูง โดยอิงจากข้อมูลที่ได้ตอนแปลง byte code มาช่วยปรับแต่ง ปัญหาของแนวทางเดิมคือ Turbofan เริ่มทำงานช้ากว่า Ignition มาก

Tags:
Node Thumbnail

Deno รันไทม์สำหรับรันจาวาสคริปต์บนเซิร์ฟเวอร์ คู่แข่ง NodeJS ออกเวอร์ชั่น 1.9 โดยมีฟีเจอร์ใหญ่คือการเตรียมเปลี่ยน HTTP Server ในตัว จากเดิมที่เป็นเซิร์ฟเวอร์เขียนด้วย TypeScript มาเป็นโครงการ Hyper ที่เป็นภาษา Rust (ตัว Deno เองเป็น Rust อยู่แล้ว)

การเปลี่ยนเซิร์ฟเวอร์ใหม่ทำให้ Deno จะรองรับ HTTP/2 ไปด้วย และประสิทธิภาพยังดีขึ้นถึง 48% จากการทดสอบตอบกลับด้วยข้อความ Hello World อย่างเดียว แต่ตอนนี้ฟีเจอร์นี้ยังปิดไว้เป็นค่าเริ่มต้น ต้องเปิดด้วยออปชั่น --unstable เท่านั้น

ฟีเจอร์อื่นๆ เช่น

Tags:
Node Thumbnail

Deno โครงการรันไทม์จาวาสคริปต์สำหรับเซิร์ฟเวอร์คู่แข่ง Nodejs ที่สร้างโดยผู้เริ่มโครงการ Nodejs เองประกาศตั้งบริษัท Deno Company พร้อมเงินทุนประเดิม 4.9 ล้านดอลลาร์

ในบล็อคประกาศเปิดตัวบริษัท ผู้ก่อตั้ง Deno ยืนยันว่าโครงการ Deno จะเป็นโอเพนซอร์สสัญญาอนุญาต MIT ต่อไป และจะไม่กั๊กฟีเจอร์บางส่วนเอาไว้ทำการค้า (รูปแบบ open core) ที่โครงการโอเพนซอร์สจำนวนมากทำกัน แต่จะสร้างธุรกิจจากโครงการโอเพนซอร์สแทน

แม้ในการประกาศครั้งนี้จะไม่ได้ระบุว่าธุรกิจที่จะทำเงินมีอะไรบ้าง แต่ Deno ก็มีบริการ Deno Deploy บริการรันไทม์จาวาสคริปต์ที่รันบน CDN ทั่วโลกให้บริการอยู่

Tags:
Node Thumbnail

Alex Birsan รายงานถึงการโจมตีองค์กรขนาดใหญ่จำนวนมากด้วยการสร้างแพ็กเกจไลบรารีเลียนแบบชื่อไลบรารีในองค์กรแล้วไปวางตามบริการดาวน์โหลดไลบรารีไม่ว่าจะเป็น RubyGems, npm, หรือ PyPI

องค์กรขนาดใหญ่จำนวนมากมักมีไลบรารีเฉพาะทางของตัวเองใช้งานภายในเป็นเรื่องปกติ และหลายครั้งชื่อไลบรารีเหล่านี้ก็หลุดออกมาสู่โลกภายนอก เช่น Paypal เคยทำไฟล์ package.json ที่ใช้ภายในหลุดออกมาอยู่บน GitHub ทำให้รู้ว่าบริษัทมีการใช้งานไลบรารีภายในเช่น pplogger, auth-paypal, wurfl-paypal, analytics-paypal เป็นต้น หรือแม้แต่แอปเปิลก็เคยทำรายชื่อแพ็กเกจเหล่านี้หลุดออกมาเช่นกัน

Tags:
Node Thumbnail

วันที่ 4 ธันวาคม 1995 เป็นวันแรกที่ Netscape และ Sun Microsystems ประกาศเปิดตัวภาษา JavaScript ร่วมกัน เปิดโลกเข้าสู่ยุคที่เบราว์เซอร์สามารถรันโปรแกรมได้ในตัว จากเดิมเป็นเพียงโปรแกรมแสดงผลเอกสารเท่านั้น

ประกาศยังแสดงให้เห็นว่าเหตุผลของชื่อ JavaScript แม้ว่าภาษานี้จะสมบูรณ์ในตัวเอง แต่ทาง Sun ก็ระบุว่า JavaScript จะเป็นตัวเติมเต็ม Java Applet (ปลั๊กอินแสดงโปรแกรมซับซ้อนในเบราว์เซอร์ ที่ถูก Macromedia Flash ชิงตลาดไปในภายหลัง) จุดน่าสนใจเช่นทั้งสองบริษัทประกาศตั้งแต่แรกว่า JavaScript สามารถใช้งานบนเซิร์ฟเวอร์ได้ และบริษัทที่ซื้อซอร์สโค้ด Java ไปก็จะได้สิทธิ์ใช้ซอร์สโค้ด JavaScript ด้วย

Tags:
Node Thumbnail

โครงการ Deno รันไทม์ JavaScript/TypeScript ที่เขียนด้วยภาษา Rust ของผู้สร้าง Node.js เปิดตัวเวอร์ชัน 1.0 ไปเมื่อเดือนพฤษภาคม

ตอนนี้ Deno เดินทางมาถึงเวอร์ชัน 1.5 โดยปรับปรุงทั้งเรื่องฟีเจอร์และประสิทธิภาพอย่างรวดเร็ว ของใหม่ในเวอร์ชันนี้คือ Deno เปลี่ยนมาใช้คอมไพเลอร์ชื่อ swc ที่เขียนด้วยภาษา Rust เช่นกัน ทำให้ประสิทธิภาพตอนเช็คชนิดของตัวแปร (type-check) เพิ่มขึ้น 3 เท่า (หรือ 15 เท่าถ้าระบุว่าไม่ต้องเช็คเลย)

ในฝั่งของขนาดโค้ด ทีม Deno ปรับวิธีการจัดการไฟล์ bundle ใหม่ ให้ลดขนาดโค้ดลงได้มาก บาง bundle อาจมีขนาดลดลงได้ถึง 35%

Tags:
Node Thumbnail

Firefox ออกเวอร์ชัน 83 โดยถือเป็นรุ่นที่มีของใหม่หลายอย่าง ฟีเจอร์สำคัญคือการอัพเกรดเอนจินจาวาสคริปต์ SpiderMonkey ครั้งใหญ่ อัพเดตตัวนี้มีชื่อว่า Warp (หรือ WarpBuilder) เป็นการปรับปรุงกระบวนการทำงานของคอมไพเลอร์ just-in-time (JIT) ใหม่ ผลที่ได้คือประสิทธิภาพดีขึ้น 20% ในการโหลดหน้าเว็บ Google Docs, เฉลี่ยแล้ว 15%, ตอบสนองดีขึ้น 12% และใช้หน่วยความจำน้อยลง 8% โดยเฉลี่ย (รายละเอียดเรื่อง Warp สำหรับผู้สนใจ)

Tags:
Node Thumbnail

Next.js เฟรมเวิร์คเว็บ React แบบ server side render (SSR) ออกเวอร์ชั่น 10.0 โดยมีฟีเจอร์ใหม่เพิ่มขึ้นหลายอย่าง เช่น

Tags:
Node Thumbnail

โครงการ ReactJS ประกาศออกเวอร์ชั่น 17 ที่ระบุชัดว่าไม่มีฟีเจอร์ใหม่ แต่เป็นการปรับโครงสร้างเพื่อรองรับการอัพเกรดทีละส่วน และฟีเจอร์ใหม่ทั้งหมดถูกดันออกไปใน ReactJS 18

เดิมแอปที่พัฒนาด้วย ReactJS จะต้องอัพเกรดตัวเฟรมเวิร์คพร้อมกันทั้งแอป แต่หลายครั้งโค้ดบางส่วนไม่ได้พัฒนามานานทำให้ไม่สามารถอัพเกรดได้ ใน ReactJS 17 จะเปิดทางให้แอปสามารถดาวน์โหลด React เวอร์ชั่นเก่าขึ้นมาใช้งานบางส่วนได้ ทาง React เตรียมแอปสาธิตเอาไว้ โดยสามารถรัน React JS 17.0 ในแอปหลัก และรัน ReactJS 16.8 หรือเก่ากว่านั้นในบาง component ได้

Tags:
Node Thumbnail

AWS โอเพนซอร์สโครงการ Diagram Maker ไลบรารีจาวาสคริปต์สำหรับสร้างตัววาดแผนภาพ ที่แอปพลิเคชั่นจำนวนมากก็ต้องใช้งานกันอยู่แล้ว โดย AWS ระบุว่าไลบรารีที่มีอยู่เดิมไม่เหมาะกับงาน IoT เนื่องจากไลบรารีบางตัวก็เป็นระดับล่างเกินไปหรือบางตัวมี API ระดับสูงก็อินทิเกรดกับแอปพลิเคชั่นได้ยาก

Diagram Maker ของ AWS มีฟีเจอร์มาให้ในตัวค่อนข้างครบ ได้แก่

Tags:
Node Thumbnail

เก็บตกข่าวความเคลื่อนไหวฝั่ง React Native นะครับ ตัวโครงการ React Native ที่พัฒนาโดย Facebook รองรับเพียงแค่ 2 แพลตฟอร์มมือถือคือ Android และ iOS

แต่เมื่อปีที่แล้ว ไมโครซอฟท์อาสาเข้ามาทำ React Native for Windows โดยรองรับทั้งการสร้างแอพแบบ WPF และ UWP

Tags:
Node Thumbnail

Vue.js เฟรมเวิร์คจาวาสคริปต์ยอดนิยมอีกตัวประกาศออกรุ่น 3.0 One Piece หลังจากพัฒนามานานถึงสองปี มีการปรับปรุงตามข้อเสนอทั้งหมด 37 รายการ นักพัฒนาที่เกี่ยวข้องรวม 99 คน

โครงสร้างภายในของ Vue 3.0 ถูกแตกออกเป็นโมดูลย่อยๆ จำนวนมากเพื่อให้ระยะเวลาโหลดน้อยลงและการดูแลง่ายขึ้น รวมถึงการใช้ API ระดับล่างสำหรับงานเฉพาะทางก็ทำได้แล้วในเวอร์ชั่นนี้

จุดเด่นคือประสิทธิภาพการรัน Vue ดีขึ้นทุกกรณีเทียบกับ Vue 2 และการใช้แรมก็ลดลงเหลือครึ่งเดียวเท่านั้น

Tags:
Node Thumbnail

Moment.js ไลบรารีแสดงวันและเวลาในภาษาจาวาสคริปต์ที่ได้รับความนิยมสูง (ดาวบน GitHub มากกว่า 44,000 ดาว และยอดดาวน์โหลดสัปดาห์ละ 12 ล้านครั้ง) ประกาศหยุดพัฒนาโดยระบุเหตุผลว่าโครงสร้างเดิมไม่เหมาะกับนักพัฒนาใหม่ และตัวจาวาสคริปต์เองก็มีออปเจก์ Intl เพื่อรองรับวิธีการแสดงวันและเวลาแล้ว แต่ Moment.js ไม่รองรับ

กระบวนการหยุดพัฒนาของ Moment.js จะแก้ไขช่องโหว่ร้ายแรงต่อไป และจะเพิ่ม timezone ใหม่ๆ ตามฐานข้อมูลของ IANA แต่จะไม่มีการเพิ่มฟีเจอร์ใดๆ รวมถึงไม่มีการแก้ไขพฤติกรรมแปลกๆ (quirk) และไม่มีการออกเวอร์ชั่น 3 อีก

ทาง Moment.js แนะนำไลบรารีทดแทนหลายตัว ได้แก่

Tags:
Node Thumbnail

Josh Larson วิศวกร Vox Media สร้างเฟรมเวิร์ค Flareact เป็นเฟรมเวิร์คทดลองที่ได้รับแรงบันดาลใจมาจาก Next.js เพื่อให้แอปพลิเคชั่นแบบ React สามารถเรนเดอร์ด้วย Cloudflare Workers ได้

ปกติแล้ว React ออกแบบสำหรับสร้างแอปพลิเคชั่นที่เรนเดอร์ฝั่งเบราว์เซอร์ทั้งหมด หลายครั้งประสิทธิภาพบนเบราว์เซอร์ไม่ดีนัก และบริการหลายตัวที่ต้องการอ่าน HTML โดยไม่สามารถเรนเดอร์ React ได้ก็จะได้ข้อมูลไม่ครบ การทำ server side rendering (SSR) จึงเป็นฟีเจอร์สำคัญที่หลายเว็บใช้งานกัน เช่น Next.js ที่ได้รับความนิยมสูง

Tags:
Node Thumbnail

Bootstrap เฟรมเวิร์คสำหรับเขียนเว็บชื่อดัง ประกาศออกเวอร์ชัน 5.0 Alpha 1 มีการเปลี่ยนแปลงสำคัญคือเลิกใช้เฟรมเวิร์ค jQuery ที่ใช้มายาวนาน เปลี่ยนมาใช้โค้ด JavaScript ปกติแทน ด้วยเหตุผลว่าฟีเจอร์ของ JavaScript และเบราว์เซอร์รุ่นใหม่ๆ สามารถทดแทน jQuery ได้แล้ว

ผลของการเลิกใช้ JQuery ช่วยให้ขนาดไฟล์เว็บที่สร้างด้วย Bootstrap เล็กลง และเว็บเพจโหลดได้เร็วขึ้น ทีมงาน Bootstrap บอกว่ายังต้องปรับปรุงแก้ไขการแสดงผลอีกหลายจุดหลังถอด jQuery ออกไป ซึ่งก็จะค่อยๆ แก้ไขในรุ่นทดสอบถัดๆ ไป

Bootstrap 5 ยังเลิกซัพพอร์ต Internet Explorer แล้ว ทำให้เรียกใช้ฟีเจอร์เว็บใหม่ๆ ได้ เช่น CSS custom properties

Pages