บทความ

กำลังแสดงโพสต์จาก กันยายน, 2021

ว่ากันด้วยเรื่องของ Bug

รูปภาพ
ว่ากันด้วยเรื่องของ Bug สำหรับการพัฒนาโปรแกรมใดๆก็ตามแต่ หากไม่พบเจอกับสิ่งที่เรียกว่า Bug ก็ไม่น่าจะเรียกว่า ได้พัฒนาโปรแกรม แต่ถ้ามีเยอะมากเกินไป ก็คงไม่ไหว สำหรับโปรแกรมทดสอบคำนวณ FullMoon ในรอบนี้ก็เช่นกัน ซึ่ง Bug ของเรื่องนี้ เกิดขึ้นจากตรรกะที่ปรากฏอยู่เฉพาะในตำราฝั่งบ้านเรา ไม่ปรากฏในต้นทาง อาจเป็นเพราะความยาวนาน และเป็นแต่จำกฎเกณฑ์กัน ทำตามๆกันมา โดยไม่มีคนอธิบายหลักการให้ทราบ จึงทำให้การคำนวณนั้นเกิดปัญหา สุดท้าย ผู้เขียนจึงแก้ปัญหาด้วยการปรับใช้วิธีการของต้นทาง คือ ปรับเป็นสมผุสอาทิตย์บวก 180 องศา ลบสมผุสจันทร์ หารด้วย ภูจันทร์ เสีย เป็นอันจบเรื่องกัน อันที่จริง ยังมีวิธีการเทียบบัญญัติไตรยางศ์ อีกด้วย แต่ไม่ได้ใช้ เนื่องจากต้องปรับสูตรและตัวแปรใหม่ทั้งหมด เรื่องเลยจบลงที่การใช้สูตรต้นทางเสียจะดีกว่า ( เป็นวิธีการที่ไม่กระทบต่อโครงสร้างของโปรแกรมมากนัก) จากรูปที่ให้ไว้นี้ พบว่า เกิดปัญหา Bug ทางตรรกะ ที่เดือน 10 หรือตุลาคม นี่เอง โดยพบว่า เมื่อคำนวณโดยใช้คัมภีร์ ค่าที่ได้ออกมาเป็นค่าประหลาด จากการตรวจสอบโดยละเอียด พบว่าค่าที่ได้เกิดจากตรรกะที่ไม่เป็นไปตามสู

เมื่ออดีตพบกับปัจจุบัน ภาคคำนวณ FullMoon

รูปภาพ
  เมื่ออดีตพบกับปัจจุบัน ภาคคำนวณ FullMoon งานพัฒนาโปรแกรมคำนวณอุปราคาสารัมภ์   (เมื่ออดีตพบปัจจุบันภาคเวบไซต์) แวะมาบันทึกไว้สักหน่อยว่า ตอนนี้ ใช้ javascript ทำโปรแกรมหา FullMoon NewMoon ตามวิธีการในคัมภีร์สารัมภ์ได้แล้ว หลังจากที่ก่อนหน้านี้ ใช้แต่ spreadsheet ยอดนิยมกันมาเสียนาน วิธีการนั้นดูซับซ้อน ยอกย้อน น่าปวดหัวพอสมควร แต่ก็ผ่านมันมาได้ มีขัดใจอยู่อย่างเดียว เวลามันติด bug ไม่เคยแม้แต่จะฟ้องว่า เฮ้ย มันผิดนะเว้ย ที่บรรทัดไหน มีให้เห็นอย่างเดียวคือ คลิกแล้วไม่ตอบสนอง แถมไม่แสดงค่าที่ต้องการให้เห็นแม้แต่สักนิด ส่งผลให้คนทำนั้น มึนงงกันข้ามวัน ข้ามเดือน มาแล้วก็มี - _-‘ แถมวันดีคืนดี โค้ดก็หน้าตาเดิมๆ วันหนึ่ง รันไม่ได้ ข้ามไปอีกวันสองวัน เอามาลองทำใหม่ รันได้หน้าตาเฉย!!! เอาเข้าไป แบบนี้ ก็มี!!! -*- อย่างไรก็ตามแต่ เมื่อลากเข็นกันมาได้ถึงขนาดนี้แล้ว ก็ต้องขอบอกเทคโนโลยีที่ใช้ทำมันขึ้นมากันสักหน่อย ส่วนประกอบ javascript น่าจะ ES 6 หรือสูงกว่า ( ต่ำกว่าก็ได้นะ ยังรันได้ ไม่มีปัญหาอะไร) html/css นั้น ใช้ html ธรรมดา โล้นๆ แต่งแต้มโครงสร้างด้วย BootStrap V 5. x โ