Tag: javascript

31 รายการ

Blog

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

Node.js ออกแพตช์ความปลอดภัยตุลาคม: อัปเป็น 26.12.1, 24.22.1 หรือ 22.23.4

Node.js ปิดช่องโหว่ 10 รายการ ระดับ high 4 ตัว รวม Brotli decoder ที่อาจถูกใช้รันโค้ด และการหลบเช็กใบรับรอง TLS สรุปรุ่นที่ต้องอัปและสิ่งที่ควรเช็กวันนี้

น้องกาย
ภาพประกอบช่องโหว่ SlugFest: ชื่อคลังโค้ด GitHub เก่าที่ถูกจองใหม่ เชื่อมกับแพ็กเกจ npm ที่ปล่อยอัปเดตได้
newssecuritynpm

ช่องโหว่ SlugFest: แค่จดชื่อ repo เก่า ก็ปล่อยอัปเดตแทนแพ็กเกจ npm กว่า 1,500 ตัวได้

SlugFest ทำให้คนที่มาจองชื่อคลังโค้ดเก่ามีทางปล่อยอัปเดตแทนแพ็กเกจ npm ได้โดยไม่ขโมยรหัสผ่าน อ่านแล้วรู้ว่ากระทบเว็บที่คุณใช้ยังไง จุดที่ GitHub กับ Bloom พูดไม่ตรงกัน และแต่ละกลุ่มควรเช็กอะไร

น้องกาย
ขนมปังต้นฉบับถือกระจกตรวจวัตถุที่แสดงเฉพาะป้ายสถานะ ขณะที่ขวดความลับถูกปิดไว้ใต้ฝา
bunjavascriptlogging

Bun.inspect.custom: ทำ log อ่านง่ายโดยไม่เผลอพ่น secret

กำหนด representation ของ object ด้วย Bun.inspect.custom พร้อมทดสอบ redaction และเตือนว่าไม่ใช่ security boundary

พี่โชว์
การ์ตูนนากสีมิ้นต์ใส่เอี๊ยมเข็นรถเข็นไม้ที่บรรทุกเตา หม้อ และกล่องสูตรอาหาร ออกจากร้านเล็กไปยังประตูศูนย์อาหารขนาดใหญ่ ประตูร้านเดิมมีปฏิทินฉีกที่เหลือไม่กี่แผ่น
cloudflaredenojavascript

Cloudflare ซื้อ Deno แต่ผู้ใช้ต้องเริ่มวางแผนย้าย

ทีม Deno ไป Cloudflare แต่ runtime และ Deno Deploy มีเวลาสนับสนุนเหลือจำกัด เช็กผลกระทบต่อแอปร้านค้า งานรับจ้าง และงบย้ายระบบก่อนถึงกำหนด

น้องกาย
ขนมปังต้นฉบับจัดกล่องข้อมูลหลายชั้นลงแฟ้มอย่างเป็นระเบียบโดยไม่เขียนตัวอักษรบนภาพ
buntomlconfiguration

Bun.TOML.stringify: เขียน config โดยแยก data ออกจาก template

ใช้ TOML.stringify สร้าง config ที่ parse กลับได้ ตรวจ round-trip และหลีกเลี่ยงการต่อข้อความที่ escape ผิด

พี่โชว์
ชั้นวางพัสดุในโกดังมืด กล่องหนึ่งถูกกรีดเปิดมีแสงอำพันและเส้นใยคล้ายหนอนเลื้อยออกมา ข้างๆ มีคลิปบอร์ดเช็กลิสต์และม้วนเทปกันงัดแงะสีเขียว
securitynpmsupply-chain

ThaiCERT เตือน tensorlake ฝังหนอนขโมยสิทธิ์ ลบแพ็กเกจอย่างเดียวไม่จบ

แพ็กเกจที่ทีมพัฒนาไว้ใจอาจขโมยสิทธิ์ไปเผยแพร่มัลแวร์ต่อ อ่านผลกระทบต่อคนใช้แอปและลำดับรับมือที่ต้องกำจัดตัวเฝ้าโทเคนก่อนเพิกถอนสิทธิ์

น้องกาย
ขนมปังกลมต้นฉบับส่งซองข้อมูลที่ปิดครบผ่านหน้าต่าง และเก็บซองที่ยังขาดมุมไว้รอชิ้นถัดไป
bunjsonlstreaming

Bun.JSONL.parseChunk: อ่าน JSONL ทีละก้อนโดยไม่ทำ record ขาด

ใช้ parseChunk กับ read/done/error เพื่อเก็บ remainder ระหว่าง chunk พร้อมจำกัด buffer และหยุดเมื่อเจอ JSON เสีย

พี่โชว์
ขนมปังกลมต้นฉบับกำลังสับรางระหว่างประตูรันตรงกับทางแยกนำเข้าโมดูลบนโต๊ะสว่าง
bunjavascripttypescript

Bun.main: แยกไฟล์ที่ถูกรันตรงจากไฟล์ที่ถูก import

ใช้ Bun.main เทียบ import.meta.path เพื่อป้องกัน side effect ตอนทดสอบและ reuse module

พี่โชว์
ขนมปังตัวละครต้นฉบับกำลังปล่อยเมล็ดกลมจากนาฬิกาทรายลงรางเรียงตามเวลา
bunjavascriptuuid

Bun.randomUUIDv7: สร้าง UUID ที่เรียงตามเวลาได้โดยไม่ทำเป็น timestamp

ใช้ Bun.randomUUIDv7 สร้าง identifier แบบ time-ordered พร้อมทดสอบรูปแบบ ลำดับ และอธิบายข้อจำกัดด้าน privacy กับ distributed ordering

พี่โชว์
ขนมปังกลมต้นฉบับกำลังเทสีจากกระปุกสามรูปแบบผ่านกรวยเดียวลงถาดตัวอย่างสีบนโต๊ะสีมิ้นต์
bunjavascriptdesign-tokens

Bun.color: แปลง design token หลายรูปแบบโดยไม่เขียน parser สีเอง

ใช้ Bun.color แปลง HEX, RGB และ named color เป็นรูปแบบมาตรฐาน พร้อม validation ก่อนส่งค่าไป CLI หรือ renderer

พี่โชว์
ขนมปังกลมต้นฉบับผลักแฟ้มผ่านวงแหวน URL ให้ลงรางโฟลเดอร์ครีมโดยชื่อยังครบ
bunfile-urlpaths

Bun.fileURLToPath: แปลง file URL เป็นพาธโดยไม่พังช่องว่างและอักขระ escape

ใช้ Bun.fileURLToPath แทนการอ่าน pathname ตรง ๆ เมื่อต้องเปิดไฟล์ข้างโมดูลอย่างข้ามแพลตฟอร์ม

พี่โชว์
กระต่ายต้นฉบับสังเกตลูกแก้วเคลื่อนบนรางเวลาที่เดินหน้าอย่างต่อเนื่อง
bunjavascriptperformance

Bun.nanoseconds: จับเวลาช่วงสั้นด้วยนาฬิกา monotonic

วัด elapsed time ของโค้ดด้วย Bun.nanoseconds โดยไม่สับสนกับเวลาปฏิทิน พร้อมตัวอย่างที่รันจริง

น้องกาย
ขนมปังกลมต้นฉบับกำลังเปิดกล่องไม้ซ้อนชั้นสองใบและเทียบช่องด้านในทีละชั้น
bunjavascripttesting

Bun.deepEquals: เทียบ config ซ้อนชั้นโดยรู้ว่า strict ต่างตรงไหน

ใช้ Bun.deepEquals ตรวจ snapshot ของ object พร้อมขอบเขต sparse array, undefined และ instance

พี่โชว์
ขนมปังกลมต้นฉบับตรวจลูกบอลเวอร์ชันบนสายพานให้ผ่านกรอบช่วงสีเขียว โดยก้อน prerelease สีอำพันรออยู่นอกกรอบ
bunsemvertooling

Bun.semver: เช็กช่วงเวอร์ชันก่อนเปิด Feature โดยไม่ดึง Package เพิ่ม

ใช้ Bun.semver.satisfies และ order ตรวจ compatibility ของ plugin/runtime พร้อมระวัง prerelease และการใช้เวอร์ชันเป็น safety boundary

พี่โชว์
ขนมปังกลมต้นฉบับกำลังลากตะแกรงลายดาวผ่านกองแฟ้มเพื่อแยกแฟ้มสีเขียว
bunjavascriptfilesystem

Bun.Glob: สแกนไฟล์ตาม pattern โดยตั้งขอบเขต symlink ให้ชัด

ใช้ Bun.Glob จับคู่และสแกนไฟล์ พร้อมค่า dot, followSymlinks และ onlyFiles ที่ต้องเลือกก่อนแตะ repository จริง

พี่โชว์
นากต้นฉบับเลื่อนกรอบหน้าเว็บสองใบผ่านรางเปลี่ยนฉากสีมิ้นต์บนโต๊ะสว่าง
reactjavascriptfrontend

React 19.3 ทำ View Transitions และ Fragment Refs เป็น Stable: อัปเกรดแบบไม่ทำ motion พัง

สรุป React 19.3 จากประกาศทางการ พร้อมลำดับทดลอง ViewTransition, Fragment refs, Trusted Types และข้อจำกัดบน DOM

พี่โชว์
นากต้นฉบับเปลี่ยนเฟืองสามชิ้นในเครื่อง runtime สีเขียว โดยมีเกจ TLS และ HTTP แยกกัน
nodejsjavascriptopenssl

Node.js 26.8.2 อัปเดต OpenSSL, Undici และ npm: Patch ที่ควร Canary ก่อนขยับ Current

อ่าน release note Node.js 26.8.2 แบบใช้งานจริง แยก runtime dependency, private API deprecation และแผนตรวจ TLS/HTTP ก่อน rollout

พี่โชว์
นากต้นฉบับจัดกล่องโมดูลสีเขียวลงรถส่งของสามคันตามเส้นทางหน้าเว็บที่ต่างกัน
nextjsturbopackjavascript

Turbopack แบ่ง JavaScript Chunk อย่างไร: ปรับโหลดหน้าโดยไม่ไล่แตก Bundle แบบเดาสุ่ม

สรุปแนวคิด chunking จากทีม Next.js พร้อมวิธีวัด shared code, navigation cost และขอบเขตของ experimental controls

พี่โชว์
ขนมปังกลมต้นฉบับกำลังเรียงการ์ดสถานะเป็นตารางบนโต๊ะสีครีมและมิ้นต์
bunjavascriptlogging

Bun.inspect.table: ได้ตารางอ่านง่ายเป็น string ก่อนส่งเข้า log หรือ snapshot

ต่างจาก console.table ตรงที่คืนค่า string ทำให้จัดเก็บ ส่งต่อ และเทสต์ output ได้ตรงๆ

พี่โชว์
ขนมปังตัวละครต้นฉบับกำลังเสียบสายเข้ากับหน้าต่างเทอร์มินัลและกล่องโปรเซสบนโต๊ะสีเขียวอ่อน
bunterminalpty

Bun Terminal: แยกอายุ PTY ออกจาก subprocess ให้ถูก

ใช้ Bun.spawn กับ pseudo-terminal อย่างมี lifecycle ชัดเจน รอ proc.exited ปิด terminal และรับมือความต่างข้ามแพลตฟอร์ม

พี่โชว์
มาสคอตขนมปังกลมต้นฉบับกำลังตัดเชือก context ที่ผูกถุงข้อมูลกับนาฬิกาทรายบนโต๊ะสว่าง
bunjavascriptperformance

Bun 1.4.2 แก้ AsyncLocalStorage กัก context ไว้นานเกินงาน

แพตช์ regression ที่ค่าระดับ request ยังถูกอ้างถึงโดย timer และ promise พร้อม smoke test ก่อน rollout

พี่โชว์
นากกายสีมิ้นต์ชี้ลูกศรอำพันระหว่างบล็อกเครื่องมือสองก้อนบนโต๊ะมิ้นต์สว่าง
bunjavascriptrust

Bun 1.4: รันไทม์ที่เขียนใหม่จาก Zig เป็น Rust

สรุปจากบล็อกทางการ Bun v1.4 ว่ามีการ rewrite เป็น Rust พร้อมไฮไลต์เรื่องความเข้ากันได้กับ Node และประสิทธิภาพ

น้องกาย
นากกายสีมิ้นต์ถือการ์ดแผนที่แพ็กเกจข้างลังหกเหลี่ยมบนโต๊ะมิ้นต์
nodejsjavascriptlts

Node.js 24.20.0 LTS: package maps กับ permission.drop ในสาย Krypton

สรุปไฮไลต์ SEMVER-MINOR ของ Node.js 24.20.0 ที่ออก 26 ส.ค. 2026 ทั้ง package maps, permission.drop, --permission-audit และ stream/iter

น้องกาย
ขนมปังกลมต้นฉบับกำลังปรับคันโยกให้สายพานงานสามเส้นเดินพร้อมกันบนโต๊ะสว่าง
bunjavascripttooling

Bun 1.4 รันหลาย Script พร้อมกัน: ใช้ --parallel โดยยังอ่าน Log รู้เรื่อง

จัดงาน build และ lint ที่เป็นอิสระให้รันพร้อมกันด้วย bun run --parallel พร้อมขอบเขตที่ควรกลับไปใช้ sequential

พี่โชว์
โต๊ะมิ้นต์มีบัตรเวอร์ชัน Bun และสวิตช์เปิดใช้งานบนแผง deploy
bunvercelruntime

Bun 1.4 บน Vercel Functions: เปิดใช้เองผ่าน bunVersion

สรุป changelog ของ Vercel วันที่ 20 ส.ค. 2026 ว่า Functions รองรับ Bun 1.4 แล้ว แต่ต้อง opt-in

น้องกาย
ภาพวาดมาสคอตขนมปังกลมต้นฉบับใช้แว่นขยายส่องแถบกระดาษจากเครื่องที่ชี้กองงานหนักที่สุด
bunjavascripttypescript

Bun 1.4 อ่าน CPU Profile เป็น Markdown: หา Hot Function ก่อนเดา

ใช้ --cpu-prof-md สร้างรายงาน Markdown จากโปรแกรม TypeScript และอ่านสัดส่วน CPU เพื่อหา bottleneck อย่างมีหลักฐาน

น้องกาย
ภาพวาดมาสคอตขนมปังกลมต้นฉบับหมุนนาฬิกาให้ลูกปัดจากวงเวลาหนึ่งตกลงช่องทำงานของอีกเขตเวลาหนึ่ง
bunjavascripttypescript

Workshop Bun 1.4 Cron: นัดงาน 9 โมงกรุงเทพฯ โดยไม่ฝากไว้กับ OS

ใช้ Bun.cron.parse ตรวจตารางเวลาและ timezone แบบ deterministic ก่อนย้ายงานเข้า Bun.cron

น้องกาย
ภาพวาดมาสคอตขนมปังกลมต้นฉบับกำลังหมุนมือจับให้กรอบภาพใหญ่ผ่านเครื่องแล้วออกมาเป็นกรอบเล็กบนโต๊ะสว่าง
bunjavascripttypescript

Workshop Bun 1.4 Image: ทำ Thumbnail WebP โดยไม่เพิ่ม Native Dependency

ลงมือใช้ Bun.Image อ่าน metadata จำกัดขนาดภาพ ย่อแบบรักษาสัดส่วน และตรวจผล WebP จริงในสคริปต์เดียว

น้องกาย
ลังซิปสีเขียวบนโต๊ะสว่าง ซิปสีอำพันถูกดึง แผ่นกระดาษสีบล็อกเขียวและฟ้าเลื่อนออกมา หมีเขียวมิ้นต์ใส่แว่นชี้ไปที่ลัง
nodejsjavascriptruntime

Node.js 26.8: เปิดไฟล์ซิปในตัวรันไทม์ และ REPL ที่เริ่มมีสีตามไวยากรณ์

สรุป Node.js 26.8.0 สาย Current ที่ออก 26 สิงหาคม 2026 จุดที่คนใช้งานทั่วไปสัมผัสได้คือไลบรารีซิปในตัว MIMEType.parse ที่ไม่โยนข้อผิดพลาด และไฮไลต์ใน REPL

พี่โชว์
ภาพวาดโทนสว่างในครัวรับแสงแดด กองกระดาษ Markdown ถูกป้อนเข้าเครื่องรีดสีเขียวแล้วออกมาเป็นหน้าเว็บที่จัดวางเรียบร้อย มีตะแกรงร่อนอยู่ปลายทาง แต่กระดาษสีส้มแผ่นหนึ่งเล็ดลอดผ่านไปตกบนโต๊ะ โดยมีตัวการ์ตูนขนมปังกลมชี้ไปที่แผ่นนั้น
bunjavascripttypescript

Bun 1.4 มี Markdown Parser ในตัว: เร็วและสะดวก แต่ยังต้องตั้งด่านความปลอดภัย

รู้จัก Bun.markdown ทั้ง html render และ react ผ่านมุมใช้งานจริง พร้อมตัวอย่างรันทดสอบด้วย Bun 1.4 และเหตุผลที่ห้ามส่ง HTML จากผู้ใช้เข้าเว็บตรง ๆ

พี่โชว์
คู่มือติดตั้ง React Native ฉบับเข้าใจง่าย
react-nativeinstallationmobile

คู่มือติดตั้ง React Native ฉบับเข้าใจง่าย

เรียนรู้วิธีติดตั้ง React Native สำหรับพัฒนา Mobile App ทั้ง iOS และ Android แบบละเอียด ตั้งแต่ตั้งค่า environment จนถึง build ครั้งแรก

Dev Team