GyaanSetu WebDev

Frontend, Backend และ DevOps สำหรับเว็บยุคใหม่

395 articlesDeep, practical knowledge

MCP vs API: ทำไม API แบบดั้งเดิมถึงใช้ไม่ได้ผลกับ AI Agents

MCP vs API: ทำไม API แบบดั้งเดิมถึงใช้ไม่ได้ผลกับ AI Agents API แบบดั้งเดิมไม่สามารถตอบโจทย์ AI Agents ได้ เป็นเวลาหลายปีที่นักพัฒนาสร้างเว็บแอปพลิเคชันโดยใช้ REST และ GraphQL ซึ่งเครื่องมือเหล่านี้ทำงานได้ดีสำหรับมนุษย์ แต่...

WebDev · 2 min read

การยืนยันตัวตน API: API Keys vs JWT vs OAuth 2.0

การยืนยันตัวตน API: API Keys vs JWT vs OAuth 2.0 ครั้งหนึ่งผมเคยปล่อย API ออกไปโดยไม่มีการยืนยันตัวตน เพราะคิดว่าเป็นเพียงเครื่องมือใช้งานภายในธรรมดาๆ แต่สองสัปดาห์ต่อมา บอทของคู่แข่งก็เข้ามาดึงข้อมูล...

WebDev · 2 min read

เอเจนต์ขับรถได้ แต่คุณยังจำเป็นต้องรู้เส้นทาง

เอเจนต์ขับรถได้ แต่คุณยังจำเป็นต้องรู้เส้นทาง หลายคนต้องการส่งมอบ repository และเป้าหมายให้กับ AI agent แล้วเดินจากไปเฉยๆ พวกเขาต้องการมอบหมายงานทั้งหมดแบบเบ็ดเสร็จ นี่คือความท...

WebDev · 2 min read

Rate Limiter ของคุณไม่ใช่มาตรการควบคุมความปลอดภัย

Rate Limiter ของคุณไม่ใช่มาตรการควบคุมความปลอดภัย บอทตัวหนึ่งดึงข้อมูลทั้งหมดของพาสปอร์ตหนึ่งเล่มจาก API ของฉันภายในไม่กี่นาที โดยที่ Rate Limiter ของฉันไม่สามารถหยุดมันได้เลย ทั้งที่ตั้งขีดจำกัดไว้ที่ 3,000 ครั้งต่อเดือน...

WebDev · 2 min read

วิธีที่เราแก้ไขปัญหาการแสดงตัวอย่างบล็อกที่ผิดพลาด

วิธีที่เราแก้ไขปัญหาการแสดงตัวอย่างบล็อกที่ผิดพลาด ผมได้โพสต์ลิงก์บล็อกของเราบน X แต่รูปภาพตัวอย่างกลับแสดงผลผิดพลาด แทนที่จะเป็นรูปภาพบทความเชิงเทคนิค กลับกลายเป็นรูปแบนเนอร์ขายของแทน ผมจึงตรวจสอบ...

WebDev · 2 min read

ทำไมไฟในบ้านถึงดับไปครึ่งหนึ่ง แต่เบรกเกอร์กลับไม่ตัด

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

WebDev · 2 min read

A Width Check Broke a Kanji

A Width Check Broke a Kanji A name went into a terminal table and came out broken. The surname was 𠮷田. The first character is not the common 吉. It is 𠮷 (U+20BB7). This is a rare…

WebDev · 2 min read

สิ่งที่การกระโดดร่มคนเดียวสอนฉันเกี่ยวกับการออกแบบเว็บไซต์

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

WebDev · 2 min read

The AI Era: Democratizing the Ivory Tower

The AI Era: Democratizing the Ivory Tower History shows us that science is not always fair. For a long time, the academic world functioned as an exclusive club. This club often ig…

WebDev · 2 min read

ทดสอบอีเมลกู้คืน OAuth โดยไม่ต้องใช้กล่องจดหมายจริง

ทดสอบอีเมลกู้คืน OAuth โดยไม่ต้องใช้กล่องจดหมายจริง การทดสอบอีเมลกู้คืน OAuth ด้วยวิธีที่ง่ายเกินไปอาจสร้างความเสี่ยงด้านความปลอดภัย หลายทีมมักส่งลิงก์รีเซ็ตรหัสผ่านไปยังกล่องจดหมายที่ใช้ร่วมกันเพียงกล่องเดียว...

WebDev · 2 min read

วิธีการ Deploy NestJS บน Namecheap Shared Hosting

วิธีการ Deploy NestJS บน Namecheap Shared Hosting การ Deploy NestJS บน Namecheap shared hosting นั้นไม่เหมือนกับการ Deploy เว็บไซต์แบบ Static หรือแอป PHP คุณไม่สามารถเพียงแค่ทำการอัปโหลดไฟล์และ...

WebDev · 2 min read

ฉลากโภชนาการที่ซอฟต์แวร์ขาดหายไปมาโดยตลอด

ฉลากโภชนาการที่ซอฟต์แวร์ขาดหายไปมาโดยตลอด เมื่อวันที่ 9 ธันวาคม 2021 นักวิจัยด้านความปลอดภัยได้พบช่องโหว่ในไลบรารี Java ที่ชื่อว่า Log4j ภายใน 72 ชั่วโมง ระบบหลายร้อยล้านระบบ...

WebDev · 2 min read

เอเจนต์ของคุณไม่ได้ทำ Prod พัง แต่เป็น Pipeline ของคุณต่างหาก

เอเจนต์ของคุณไม่ได้ทำ Prod พัง แต่เป็น Pipeline ของคุณต่างหาก เอเจนต์ของคุณไม่ได้ทำให้ระบบ production พัง แต่เป็น pipeline ของคุณที่ทำ หลายทีมใช้เอเจนต์ในการเปิด pull requests และใช้ CI ในการตรวจสอบ lint...

WebDev · 2 min read

อะไรคือสิ่งที่นิยามหนึ่งวัน?

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

WebDev · 2 min read

ทดสอบขั้นตอนการเปลี่ยนอีเมลใน React โดยไม่สับสนเรื่องลิงก์

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

WebDev · 3 min read

ฉันสร้าง CAD Editor บนเบราว์เซอร์ แล้วสอนให้ LLM ใช้งานมัน

ฉันสร้าง CAD Editor บนเบราว์เซอร์ แล้วสอนให้ LLM ใช้งานมัน ฉันลองถามแอปของฉันว่า "มีประตูและหน้าต่างกี่บาน?" AI ตอบกลับมาพร้อมกับจำนวนที่ถูกต้อง จากนั้นมันก็เพิ่มบางอย่างลงไป...

WebDev · 3 min read

CI/CD Pipeline ของผมผ่านฉลุยมา 3 เดือน — จนกระทั่งผมได้ลองอ่าน Log

CI/CD Pipeline ของผมผ่านฉลุยมา 3 เดือน — จนกระทั่งผมได้ลองอ่าน Log เครื่องหมายถูกสีเขียวมันให้ความรู้สึกดีจริงๆ ทุก Pull Request ผ่านหมด ทุกการ Deploy ใช้งานได้ปกติ แต่แล้วผู้ใช้งานก็แจ้งว่ามีฟีเจอร์หนึ่งพัง มัน...

WebDev · 2 min read

ทุกการปรับแต่งเบื้องหลังคะแนน Lighthouse ที่สมบูรณ์แบบ

ทุกการปรับแต่งเบื้องหลังคะแนน Lighthouse ที่สมบูรณ์แบบ ผมรัน Lighthouse บนไซต์ของผมอย่างต่อเนื่อง ซึ่งได้คะแนน 100 ตลอดในการรันแบบ local ทุกครั้ง และได้ 100 ในคะแนน Real Experience ของ Vercel เหล่า...

WebDev · 2 min read

ความสามารถ vs เครื่องมือใน Agentic AI

ความสามารถ vs เครื่องมือใน Agentic AI บ่อยครั้งที่ผู้คนวัดประสิทธิภาพของ AI agent จากจำนวนเครื่องมือที่พวกมันใช้งาน โดยมักจะตั้งคำถามว่าเอเจนต์สามารถท่องเว็บ รันโค้ด หรือสืบค้นฐานข้อมูลได้หรือไม่ บันทึก...

WebDev · 2 min read

Telegram Mini Apps ช่วยลดขั้นตอนการ Onboarding ของเราจาก 2 นาที เหลือเพียง 10 วินาทีได้อย่างไร

Telegram Mini Apps ช่วยลดขั้นตอนการ Onboarding ของเราจาก 2 นาที เหลือเพียง 10 วินาทีได้อย่างไร ผมเคยคิดว่าการสร้างเกมใหม่จะเป็นเรื่องยาก แต่ผมคิดผิด ส่วนที่ยากไม่ใช่ตรรกะของเกมหรือ...

WebDev · 2 min read

HTTP เพิ่งมีเมธอดใหม่เป็นครั้งแรกในรอบ 20 ปี

HTTP เพิ่งมีเมธอดใหม่เป็นครั้งแรกในรอบ 20 ปี คุณน่าจะเคยเจอสถานการณ์แบบนี้มาก่อน เช่น เมื่อคุณต้องการค้นหาสินค้า แต่ตัวกรองการค้นหามีข้อมูลมากเกินกว่าจะใส่ลงใน URL ได้ และเพื่อแก้ไขปัญหานี้ คุณจึงใช้...

WebDev · 2 min read

ทำไมแค่ ComboBox ถึงยังไม่พอ

ทำไมแค่ ComboBox ถึงยังไม่พอ คุณสร้างแอปพลิเคชันทางธุรกิจ คุณแก้ปัญหาเดิมๆ ซ้ำแล้วซ้ำเล่า คุณสร้างระบบค้นหาลูกค้า คุณสร้างช่องกรอกข้อมูลสินค้าแบบเติมคำอัตโนมัติ คุณสร้าง...

WebDev · 2 min read

สิ่งที่ผมได้เรียนรู้ในฐานะนักพัฒนา PHP แบบ Sync เกี่ยวกับ Async PHP

สิ่งที่ผมได้เรียนรู้ในฐานะนักพัฒนา PHP แบบ Sync เกี่ยวกับ Async PHP ผมทำงานกับ Laravel มาหลายปี ผมใช้ PHP แบบ sync เมื่อมี request เข้ามา กระบวนการจะทำงาน และส่ง response ออกไป ผมไม่เคย...

WebDev · 2 min read