Tutorial

A collection of 178 posts

ทำไม 0.3 + 0.6 ถึงได้ 0.8999999 กับปัญหา Floating Point Approximation

ทำไม 0.3 + 0.6 ถึงได้ 0.8999999 กับปัญหา Floating Point Approximation

การทำงานกับตัวเลขทศนิยมบนคอมพิวเตอร์มันมีความลับซ่อนอยู่ เราอาจจะเคยเจอเคสที่ เอา 0.3 + 0.6 แล้วมันได้ 0.899 ซ้ำไปเรื่อย ๆ ไม่ได้ 0.9 เพราะคอมพิวเตอร์ไม่ได้มองระบบทศนิยมเหมือนกับคนนั่นเอง บางตัวมันไม่สามารถเก็บได้ เลยจำเป็นจะต้องประมาณเอา เราเลยเรียกว่า Floating Point Approximation...

C เร็วกว่า Python จริง ๆ เหรอ ?

C เร็วกว่า Python จริง ๆ เหรอ ?

เราก็มักจะเจอประเด็นพวกเรื่องว่า ภาษาอะไรทำงานได้เร็วกว่าอีกภาษานึง แต่ภาษาที่เหมือนจะโดนเสียดแทงมากที่สุด เห็นจะหนีไม่พ้น C และ Python วันนี้เราจะมาทดลองดูกันว่า ที่เขาพูดกันเป็นเรื่องจริงมั้ย และ อะไรคือเบื้องหลังที่ทำให้เกิดผลแบบนั้นขึ้นกัน...

Loop FASTER is not to LOOP in Python

Loop FASTER is not to LOOP in Python

หลาย ๆ วันมาละ เรานั่งคุยกับเพื่อนกันว่า ถ้าเราต้องบวกเลขเยอะ ๆ เราจะ Loop เข้าไป ถามว่า เราจะทำเร็วกว่ากันแค่ไหน และที่เราบอกว่า For-Loop กับ While-Loop มันใช้แทนกันได้ มันแทนกันได้จริงแหละ แต่ Performance ละมันเป็นยังไง เราลองมาเล่นกันขำ ๆ ดีกว่า...

รันโปรแกรมเร็วขึ้นด้วย SIMD บน Apple Silicon โคตรเร็ว

รันโปรแกรมเร็วขึ้นด้วย SIMD บน Apple Silicon โคตรเร็ว

จะเป็นอย่างไร ถ้าเราบอกว่า เราสามารถเขียนโปรแกรมของเราให้เร็วขึ้นแบบก้าวกระโดด โดยเราไม่ต้องแบ่ง Core ไม่ต้อง Overclock CPU ของเรา แต่เราใช้ประโยชน์จากความสามารถ CPU ของเราได้ ผ่านการทำ SIMD...

กราบละ เลิกใช้ Select * สักที !

กราบละ เลิกใช้ Select * สักที !

เมื่อหลายวันก่อนอ่าน Code แล้วกำหมัด เพราะเขาบ่นว่า ทำไม Code เขารันได้ช้ามาก ๆ จนสุดท้ายมาเจอว่า เพราะเล่น Star ใน SQL Command เลย ทำให้ช้ามาก ๆ วันนี้เราจะมาเล่าว่า ทำไมเราไม่ควรใช้มัน และ เมื่อไหร่เราควรจะใช้...

บันทึกการ Upgrade Ghost 4.x เป็น 5.x เ_ย อะไรเนี่ย !!!!

บันทึกการ Upgrade Ghost 4.x เป็น 5.x เ_ย อะไรเนี่ย !!!!

หลังจากตอนก่อน Upgrade MySQL ไป วันนี้เรามาต่อกันที่อีกตัวที่ปวดหัวไม่ต่างกันเลยคือ Ghost CMS หรือเว็บ Blog ของเรานั่นเอง ที่ขยับมาใช้ MySQL 8 แล้วนั่นเอง จะเป็นยังไง ชิบหาย ขนาดไหน มาอ่านที่บทความนี้ได้เลย...

บันทึกการ Upgrade MySQL 5.7 เป็น 8 ความฮาจึงเกิดขึ้น

บันทึกการ Upgrade MySQL 5.7 เป็น 8 ความฮาจึงเกิดขึ้น

เรื่องของเรื่องมันมีอยู่ว่า เมื่อวาน เราทำการ Upgrade Home Assistant เป็น Version 2022.6.4 แล้วเรื่องมันเกิด เพราะ มันไม่ Support MySQL 5.7 อีกต่อไป จะต้อง Upgrade ไปเป็น Version 8 ความฮ่าจึงบังเกิด...

หยุด Dump Data ลง CSV ก่อน เรามีวิธีที่ดีกว่านี้

หยุด Dump Data ลง CSV ก่อน เรามีวิธีที่ดีกว่านี้

เวลาเราทำงานกับข้อมูลส่วนใหญ่ แล้วต้องการจะ Import & Export วิธีการเก็บแรก ๆ ที่เราคิดถึงน่าจะเป็น CSV แต่ถ้าเราบอกว่าเราเล่นกับข้อมูลขนาดใหญ่ละ มันแตกเลยนะ แต่วันนี้เรามีวิธีที่ดีกว่านี้มาเสนอกัน...

ทำ Command Line Interface ให้อลังการด้วย Rich

ทำ Command Line Interface ให้อลังการด้วย Rich

ไม่ได้เขียนบทความเกี่ยวกับ Programming มานาน วันนี้กลับมาด้วยอะไรรวย ๆ อย่าง Rich ที่จะทำให้เราสร้าง CLI แบบอลังการได้ง่าย ๆ เลย...