React ถ้าใช้ useEffect ควรเขียน Cleanup functions วิธีใช้งานแบบผิด ๆ ที่มือใหม่อาจจะพลาด
Intro
- StrictMode problems
- useEffect and deps problems
- Primitive and Non-Primitive
- Cleanup function
สวัสดีครับ 🤗 ทักทายจากที่หายไปนานที่ไม่ได้ลงบทความใหม่ ๆ ที่จริงก็ draft ไว้หลายบทความแต่ก็ไม่ได้ปล่อยออกมา เพราะช่วงหลัง ๆ เขียนไปเขียนมารู้สึกว่า ทำไมมันเขียนยากจัง 😅
ดังนั้นบทความนี้จะเป็นการเล่าเรื่องสบาย ๆ ที่อยากจะเขียนส่งท้ายปี และก็ไม่ได้มีหัวข้ออะไรเป็นพิเศษครับ 😊
สวัสดีครับ วันนี้ไม่ได้มาเขียนบทความเกี่ยวกับ Programming แต่อย่างใด แต่จะมาลองเล่าเรื่องสบาย ๆ เกี่ยวกับแนวคิดดี ๆ น่ารัก ๆ จาก Buy Me a Coffee ☕️

สวัสดีครับ บทความนี้เป็นเนื้อหาที่เกี่ยวกับ Docker เหมาะสำหรับผู้ที่มีพื้นฐานเรื่อง Docker มาก่อน ซึ่งจะอธิบายถึงวิธีการใช้งาน Docker context
บทความนี้เป็นการสรุปไว้สำหรับทบทวน และมีตัวอย่างเล็กน้อยจากเนื้อหาอ้างอิง ซึ่งจะไม่ได้อธิบายเนื้อหามาก
สวัสดีครับ บทความรีวิวอีกแล้ว 😄 แต่บทความนี้จะยาวหน่อยนะครับ โดยเป็นการรีวิว App จ่ายค่าส่วนกลางของหมู่บ้านพัฒนาด้วย Line LIFF ที่ผมเป็นผู้พัฒนาขึ้นมาเอง โดยที่ไม่มีค่าใช้จ่าย และใช้งานฟรี โดยจะมีแยกเป็น 2 ส่วนคือ
App ระบบจ่ายค่าส่วนกลางของหมู่บ้าน ใช้เวลาพัฒนาประมาณ 1 เดือน ทำงานบน LINE Front-end Framework (LIFF) สำหรับใช้งานในหมู่บ้านจัดสรร โดยเป็น App ที่พัฒนาบนพื้นฐานให้ใช้งานง่ายสำหรับผู้ใช้งาน และ พยายามใช้ Tools ฟรีให้มากที่สุด
สวัสดีครับ บทความนี้จะรีวิว ROCK (Pi) 4A 4GB ที่รองรับ M.2 บอร์ดทางเลือกทดแทน Raspberry Pi แต่เป็นรีวิวที่ไม่ได้เปรียบทับกับ Raspberry Pi ตรง ๆ ทุกอย่างนะครับ แต่อยากเขียนไว้เป็นข้อมูลสำหรับผู้ที่กำลังหาข้อมูล Development board สักตัว
ที่จริงอยากได้ Single Board Computer (SBC) สักอันมาใช้งานมาสักพักแล้วครับ และช่วงนี้ดูเหมือนว่า Raspberry Pi สินค้าขาดตลาดรึเปล่าเพราะราคาสูงมาก Raspberry Pi 4 รุ่น 4GB ราคาเกือบ 5,000 บาทเลย และราคานี้ก็ยังไม่รวมอุปกรณ์เสริมอื่น ๆ
ผมหาข้อมูลจนได้ไปพบกับเจ้า ROCK Pi 4 ราคาก็ค่อนข้างถูกกว่ามาก และประสิทธิภาพของบอร์ดนั้นก็ถือว่าดีมากจึงซื้อมาใช้เลยทันที ดังนั้นบทความนี้จึงตั้งใจรีวิวเพื่อเล่า ข้อดี-ข้อเสีย ของบอร์ด ROCK Pi 4 และก่อนที่จะสั่งซื้อมาใช้งานก็พบว่ารีวิว ROCK Pi 4 จากคนไทยยังไม่มี (พบว่าส่วนใหญ่มีแต่ของ Raspberry Pi)
สวัสดีครับ บทความนี้จะแชร์เทคนิคเพิ่มประสิทธิภาพในการโหลดหน้าเว็บ Apps และขนาดของ Bundle size ด้วย Dynamically Importing Components ของ React.lazy
ใน JavaScript frameworks เช่น React โดยปกติจะใช้ Statically import สำหรับการเรียก Components ซึ่งเมื่อเปิด Apps ก็จะเป็นการเรียกใช้ทันที แต่บางทีก็ไม่ได้มีความจำเป็นที่จะต้องการทันทีขนาดนั้น
Dynamically Importing จึงเป็นเทคนิคที่เข้ามาช่วยแก้ปัญหานี้เพื่อใช้ Import Components เมื่อจำเป็นต้องเรียกใช้เท่านั้น
ปัญหาของ Statically import คือการเรียกใช้ Components ทันทีโดยไม่ได้คำนึงว่าจะใช้งานหรือไม่ แต่ลองคิดดูว่า บาง Component จะ Render หลังจาก User interacts เท่านั้น หรือก็จากเงื่อนไขบางอย่าง ตัวอย่างดังนี้
สวัสดีครับ ห่างหายไปนานเลย เพราะยุ่ง ๆ ครับ บทความนี้จะรีวิวสินค้า แต่ปกติไม่ค่อยได้เขียนบทความเกี่ยวกับรีวิวสินค้าเท่าไหร่ เพราะไม่ค่อยถนัด แต่ที่เขียนบทความนี้เพราะอยากจะมาเล่าการใช้งาน เพราะผมเพิ่งจะได้ของมาใช้งานสักพัก และเห็นว่าดีก็เลยอยากจะรีวิว Router Opal (GL-SFT1200) ขนาด Pocket-sized ด้วยพลัง OpenWrt เผื่อมีท่านอื่นสนใจครับ 😊
สวัสดีครับ จากบทความครั้งก่อนได้พูดถึง เทคนิค Debouncing โดยบทความนี้จะพูดถึงเทคนิค Throttling ที่มีความคล้ายคลึงกัน ซึ่งเป็นเทคนิคที่มีประโยชน์ช่วยเพิ่มประสิทธิภาพ Performance ได้ทั้ง Frontend App และ Backend App ที่ช่วยแก้ปัญหาการเกิด callback จำนวนมากจาก Event listeners มีรายละเอียดดังนี้
สวัสดีครับ บทความนี้จะพามารู้จักกับ Debouncing โดย Debouncing เป็นเทคนิคที่มีประโยชน์ในการเพิ่มประสิทธิภาพ Performance ของ Client-side applications โดยเป็นหนึ่งเทคนิคในหลายสิ่งที่สำคัญในการพัฒนา Web App และ Software ซึ่งตามปกติโปรแกรมเมอร์จำเป็นต้องเขียนโค้ดโปรแกรมโดยคำนึง Performance เพื่อที่จะเพิ่มประสบการณ์ผู้ใช้งานที่ดี (UX) กับ Software