GyaanSetu JavaScript

ระบบนิเวศ JavaScript และ TypeScript

90 articlesDeep, practical knowledge

Apache DolphinScheduler 3.x จำเป็นต้องมีการปรับโครงสร้างคลัสเตอร์ใหม่ทั้งหมดและเปลี่ยนชื่อฐานข้อมูลเพื่อทำการอัปเกรด

การอัปเกรดนี้กำหนดให้คุณต้องเปลี่ยนชื่อตารางหลัก ย้ายข้อมูล JSON task blobs ไปยังตารางแบบ relational และเปลี่ยนจาก monolithic master มาเป็นโหนด MasterServer และ WorkerServer ที่แยกจากกัน โดยมีการประสานงานผ่าน ZooKeeper, JDBC หรือ Etcd

JavaScript · 3 min read

ความล้มเหลวของ OTP ในเยอรมนีเผยให้เห็นข้อผิดพลาดในการจัดเก็บหมายเลขโทรศัพท์ในฐานข้อมูล

ผู้ใช้งานถูกล็อกไม่ให้เข้าสู่ระบบเนื่องจากหมายเลขโทรศัพท์มือถือเยอรมันหมายเลขเดียวกันถูกจัดเก็บในฐานข้อมูลทั้งในรูปแบบ "0171 5550134" และ "+49 171 5550134" ส่งผลให้ OTP ถูกส่งไปยังข้อมูลที่ซ้ำซ้อนซึ่งไม่เคยส่งถึงมือผู้ใช้งาน

JavaScript · 3 min read

การขาด Index เปลี่ยน API 45 ms ให้กลายเป็นหายนะ 8 วินาที สำหรับข้อมูล 1.5 ล้านแถว

คอลัมน์ที่ไม่มี Index ทำลายฐานข้อมูลของเราได้อย่างไร เพียงแค่ Index ตัวเดียวที่หายไป ก็เปลี่ยน API 8ms ให้กลายเป็นฝันร้าย 8 วินาที เราได้ทำการทดสอบ Load Test ก่อนการปล่อยเวอร์ชันสำคัญ การพัฒนาในเครื่อง Local ทำงานได้...

JavaScript · 1 min read

เครื่องมือ Automation ของ Safari ปิดแท็บผิดพลาด เนื่องจาก Guard ตรวจไม่พบ Ownership Marker

การ Redirect ทำให้ Identifier ภายในของหน้าฟอร์มหายไป ส่งผลให้ Guard ปฏิเสธการเป็นเจ้าของ (ownership) และทำให้กระบวนการ Cleanup เลือกปิดแท็บปัจจุบันเป็นค่าเริ่มต้น จึงกลายเป็นการปิดหน้า Dashboard ของนักพัฒนาแทนที่จะเป็นแท็บที่หลุดจากการควบคุม (orphaned tab)

JavaScript · 4 min read

แพลตฟอร์มการเรียนรู้เปลี่ยนจากการใช้ vm Sandbox ของ Node มาเป็นระบบ AST Whitelisting

ปัจจุบันแพลตฟอร์มจะใช้ Acorn AST parser ในการวิเคราะห์ (parse) ทุกคิวรีที่นักเรียนเขียนขึ้น และจะปฏิเสธ node ใดก็ตามที่ไม่อยู่ในรายการอนุญาต (whitelist) ที่กำหนดไว้อย่างเข้มงวด ซึ่งช่วยกำจัดช่องโหว่จากการใช้ regex bypass และป้องกันไม่ให้ database handles จริงถูกเปิดเผยภายใน sandbox

JavaScript · 3 min read

ทีมผู้ใช้ Claude Code ลดค่าใช้จ่าย Token ลงได้ถึง 90% ด้วยการตั้งงบประมาณแบบ Hard Budgets และการใช้ Prompt Caching

คู่มือสำหรับนักพัฒนาฉบับใหม่เผยว่า การกำหนดเพดาน Token (hard token caps) การปรับ System Prompts ให้เสถียรเพื่อเพิ่มโอกาสเกิด Cache Hits และการเพิ่ม Context Manager ที่คำนึงถึงต้นทุน สามารถช่วยป้องกันปัญหา Token บวมที่แฝงอยู่ ซึ่งมักจะทำให้ค่าใช้จ่ายรายเดือนของ Claude Code พุ่งสูงขึ้นถึงเท่าตัว

JavaScript · 3 min read

useSyncExternalStore ของ React 18 ช่วยแก้ปัญหา UI กระพริบที่เกิดจากข้อมูลภายนอก

Hook ตัวใหม่นี้เข้ามาแทนที่รูปแบบเดิมที่ต้องใช้ useState และ useEffect ในการคัดลอกค่าจากภายนอก ช่วยป้องกันปัญหา tearing ในการทำ concurrent rendering และทำให้มั่นใจว่าทุกส่วนของ UI จะอ่านค่า snapshot เดียวกันในระหว่างรอบการเรนเดอร์

JavaScript · 4 min read

LiteRT.js เร่งความเร็ว MobileNetV2 ได้สูงถึง 2,439 FPS – เร็วกว่า TensorFlow.js กว่า 25 เท่า

ผลการทดสอบประสิทธิภาพบน Apple M2 Max แสดงให้เห็นว่า LiteRT.js ให้ค่าความหน่วงเพียง 0.41 ms (2,439 FPS) สำหรับ MobileNetV2 ในขณะที่ TensorFlow.js ทำได้เพียง 10.82 ms (92 FPS) โดยความแตกต่างของประสิทธิภาพจะยิ่งเพิ่มมากขึ้นเมื่อใช้โมเดลที่มีขนาดใหญ่ขึ้น อย่างไรก็ตาม นักพัฒนาจำเป็นต้องจัดการ GPU tensors ด้วยตนเอง และต้องรับมือกับการรองรับ WebGPU บนอุปกรณ์มือถือที่ยังคงมีจำกัด

JavaScript · 4 min read

ตัวอักษร 10 ตัวที่มีค่าสูงกว่าใน WWF ช่วยสร้างความได้เปรียบถึง 11 คะแนนในคำศัพท์ขนาดใหญ่

จากการวิเคราะห์รายการคำศัพท์ ENABLE จำนวน 172,835 รายการ ผลการศึกษาเผยว่าตัวอักษรที่มีค่าสูง 10 ตัวของ WWF ช่วยให้ได้เปรียบเฉลี่ย 2.52 คะแนนต่อคำ ในขณะที่ Scrabble นำหน้า WWF เพียงแค่ตัวอักษร H และ Y เท่านั้น และไม่เคยนำหน้าเกิน 3 คะแนน

JavaScript · 3 min read

แค่เปิด 5 แท็บทิ้งไว้ การรีเฟรช JWT เพียงครั้งเดียวก็อาจทำให้ผู้ใช้ถูกออกจากระบบทั้งหมดได้

เมื่อมี 5 แท็บทำการรีเฟรช JWT ที่หมดอายุในเสี้ยววินาทีเดียวกัน ระบบหลังบ้านจะมองว่าการเรียกซ้ำเหล่านั้นเป็นการโจมตีแบบ Replay Attack จึงทำการยกเลิก Refresh Token และทำให้ผู้ใช้ถูกออกจากระบบในทุกแท็บ ซึ่งเป็นสถานการณ์ที่ระบบป้องกันแบบแท็บเดียวไม่สามารถป้องกันได้

JavaScript · 3 min read

ความเป็นมาตรฐานเดียวกันไม่ใช่เป้าหมายที่คุณจะไปถึง แต่มันคือค่าสมาชิกที่คุณต้องจ่าย ทุกองค์กรด้านวิศวกรรมจะค้นพบสิ่งนี้ในที่สุด

ความเป็นมาตรฐานเดียวกันไม่ใช่เป้าหมายที่คุณจะไปถึง แต่มันคือค่าสมาชิกที่คุณต้องจ่าย ทุกองค์กรด้านวิศวกรรมจะค้นพบความจริงนี้ในที่สุด โดยมักจะเป็นช่วงเวลาที่ทีมที่สองหรือสามเริ่ม...

JavaScript · 6 min read

มีรายงานบั๊กที่ท้าทายทุกสัญชาตญาณในการดีบั๊ก ผู้ใช้โทรศัพท์ Android สเปกต่ำบอกว่าแอปหายไปเฉยๆ

มีรายงานบั๊กที่ท้าทายทุกสัญชาตญาณในการดีบั๊ก ผู้ใช้โทรศัพท์ Android สเปกต่ำบอกว่าแอปหายไปเฉยๆ ไม่ใช่ตอนเปิดแอป ไม่ใช่ตอนแตะหรือปัดหน้าจอจุดไหนเป็นพิเศษ ประมาณ...

JavaScript · 6 min read

เมื่อคุณกำลังพัฒนาด้วย Node.js การจัดการข้อผิดพลาดดูเหมือนจะง่ายจนเกินไปในช่วงแรก คุณแค่ครอบ route ด้วย try catch แล้วส่ง

เมื่อคุณกำลังพัฒนาด้วย Node.js การจัดการข้อผิดพลาดดูเหมือนจะง่ายจนเกินไปในช่วงแรก คุณแค่ครอบ route ด้วย try catch ส่ง status code 500 กลับไป แล้วปล่อยให้ฝั่ง client ตัดสินใจว่าจะทำอย่างไรต่อไป...

JavaScript · 5 min read

ไฟล์คอนฟิกที่เพิ่งใช้งานได้เมื่อห้าวินาทีก่อน ตอนนี้กลายเป็นเศษซาก JSON ที่พังเสียหายขนาด 347 ไบต์ เครื่องมือ CLI ของคุณจะไม่เริ่มทำงาน และ

ไฟล์คอนฟิกที่เพิ่งใช้งานได้เมื่อห้าวินาทีก่อน ตอนนี้กลายเป็นเศษซาก JSON ที่พังเสียหายขนาด 347 ไบต์ เครื่องมือ CLI ของคุณจะไม่เริ่มทำงาน ผู้ใช้งานที่เพียงแค่กด Ctrl C เพราะการอัปเดตนั้นใช้เวลา...

JavaScript · 6 min read

หากคุณเคยขอให้นักพัฒนา “ขยายโลโก้ให้ใหญ่ขึ้น” หรือบอกดีไซน์เนอร์ว่า “ช่วยแก้ข้อผิดพลาดของฐานข้อมูลหน่อย” คุณก็ไม่ใช่

หากคุณเคยขอให้นักพัฒนา “ขยายโลโก้ให้ใหญ่ขึ้น” หรือบอกดีไซน์เนอร์ว่า “ช่วยแก้ข้อผิดพลาดของฐานข้อมูลหน่อย” คุณไม่ใช่คนเดียวที่เป็นแบบนี้ คนส่วนใหญ่ที่ไม่ได้อยู่ในสายเทคโนโลยีมักจะใช้คำว่า “การออกแบบเว็บไซต์” และ “...

JavaScript · 3 min read