Skip to main content

ALL Tags

Search this Blog

Kongvut Sangkla
Tags:

Intro

จากตอนที่ 1 เจาะลึกความลับ Shallow และ Deep Copies ใน JavaScript เกิดความสงสัยต่อเรื่องการเก็บ Reference Address ทำให้ตั้งสมมุติฐานว่า ถ้ามีการใช้ Pointer ร่วมกันก็ แสดงว่าก็ส่งผลถึงความเร็ว ประสิทธิภาพ และการใช้ Memory ซึ่งถ้าเราสมมุติว่ามีโค้ดแบบนี้

Kongvut Sangkla
Tags:

Intro

สวัสดีครับ บทความนี้มีหัวข้อเกี่ยวกับ เจาะลึกความลับ Shallow และ Deep copies ใน JavaScript ที่ผมจึงได้พยายามอ่านและรวบรวมความเข้าใจเขียนเป็นบทความไว้ โดยมีรายละเอียดความคล้าย และความแตกต่างกันพอสมควร ซึ่งบทความมี 2 ตอนดังนี้

ในบทความนี้คุณจะได้เรียนรู้เกี่ยวกับความแตกต่างระหว่าง deep และ shallow copies ใน JavaScript ทำไมเราจึงควรใช้วิธีสร้างแบบใด และเมื่อใดควรใช้อย่างใด เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นที่เราอาจจะเข้าใจผิด เพราะความไม่รู้ และเรื่องประสิทธิภาพ

Imgur

Kongvut Sangkla

Intro

สวัสดีครับ เมื่อคืนก่อนจะนอนบังเอิญอ่านไปเจอตัวช่วยเขียน git commit messages ที่เป็นโปรเจค Open-source บน github ชื่อ https://github.com/di-sukharev/opencommit ดูแล้วน่าสนใจมาก ๆ

พอวันต่อมา ได้ลองใช้ดูพบว่ามันเจ๋งมาก ๆ เลยขอเอามาเขียนแชร์ไว้สักหน่อย 😄

Kongvut Sangkla

Intro

สวัสดีครับ 🤗 ทักทายจากที่หายไปนานที่ไม่ได้ลงบทความใหม่ ๆ ที่จริงก็ draft ไว้หลายบทความแต่ก็ไม่ได้ปล่อยออกมา เพราะช่วงหลัง ๆ เขียนไปเขียนมารู้สึกว่า ทำไมมันเขียนยากจัง 😅

ดังนั้นบทความนี้จะเป็นการเล่าเรื่องสบาย ๆ ที่อยากจะเขียนส่งท้ายปี และก็ไม่ได้มีหัวข้ออะไรเป็นพิเศษครับ 😊

Kongvut Sangkla
Tags:

Intro

สวัสดีครับ วันนี้ไม่ได้มาเขียนบทความเกี่ยวกับ Programming แต่อย่างใด แต่จะมาลองเล่าเรื่องสบาย ๆ เกี่ยวกับแนวคิดดี ๆ น่ารัก ๆ จาก Buy Me a Coffee ☕️

Imgur

Kongvut Sangkla
Tags:

Intro

สวัสดีครับ บทความนี้เป็นเนื้อหาที่เกี่ยวกับ Docker เหมาะสำหรับผู้ที่มีพื้นฐานเรื่อง Docker มาก่อน ซึ่งจะอธิบายถึงวิธีการใช้งาน Docker context

บทความนี้เป็นการสรุปไว้สำหรับทบทวน และมีตัวอย่างเล็กน้อยจากเนื้อหาอ้างอิง ซึ่งจะไม่ได้อธิบายเนื้อหามาก

Kongvut Sangkla

Intro

สวัสดีครับ บทความรีวิวอีกแล้ว 😄 แต่บทความนี้จะยาวหน่อยนะครับ โดยเป็นการรีวิว App จ่ายค่าส่วนกลางของหมู่บ้านพัฒนาด้วย Line LIFF ที่ผมเป็นผู้พัฒนาขึ้นมาเอง โดยที่ไม่มีค่าใช้จ่าย และใช้งานฟรี โดยจะมีแยกเป็น 2 ส่วนคือ

  1. การทำงานของ App
  2. Tech stacks ที่ใช้ทั้งหมด

App ระบบจ่ายค่าส่วนกลางของหมู่บ้าน ใช้เวลาพัฒนาประมาณ 1 เดือน ทำงานบน LINE Front-end Framework (LIFF) สำหรับใช้งานในหมู่บ้านจัดสรร โดยเป็น App ที่พัฒนาบนพื้นฐานให้ใช้งานง่ายสำหรับผู้ใช้งาน และ พยายามใช้ Tools ฟรีให้มากที่สุด

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้จะรีวิว 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)

Kongvut Sangkla

Intro

สวัสดีครับ บทความนี้จะแชร์เทคนิคเพิ่มประสิทธิภาพในการโหลดหน้าเว็บ 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 เท่านั้น หรือก็จากเงื่อนไขบางอย่าง ตัวอย่างดังนี้