Bug of election calculation project
Friday, March 29, 2019, 07:40 AM
จากที่ได้ทำเว็บคำนวณผลคะแนนเลือกตั้ง2019เล่นๆไปคราวก่อน
วันนี้ กกต. ประกาศคะแนนอย่างเป็นทางการออกมา ซึ่งเป็นรูปแบบไฟล์ pdf แล้วมีคนแปลงเป็น google sheets ให้ตามลิงค์นี้
ผมก็เลยเอาไปแปลงในรูปแบบของ csv ที่ตัวเว็บที่ทำรองรับ ได้เป็นไฟล์นี้
ปรากฎว่าเจอข้อผิดพลาดสองประการในเว็บของตัวเอง
- ลืมทำให้ csv รองรับคะแนนไม่ออกเสียง ผลการคำนวณเก้าอี้บัญชีรายชื่อเลยคลาดเคลื่อนไป (เทียบกับผลการคำนวณของ workpoint)
- เวลาที่ใช้ประมวลผลจากไฟล์ csv นานมาก (ประมาณครึ่ง ชม.) จากการสังเกตพบว่าเกิดจากการเขียนโค้ด HTML ไม่มีประสิทธิภาพ ผมใช้วิธีเพิ่ม DOM Element สำหรับทุกการเพิ่มพรรค/เขต และการเพิ่มก็ไม่ได้เขียนให้ optimize อะไรเลย การเพิ่มทั้งหมด 350 เขต * ประมาณ 80 พรรค การเพิ่ม DOM Element แบบไม่มีประสิทธิภาพจำนวนเกือบ 30,000 ครั้งเลยกินเวลานานมาก แถมระหว่างนั้นก็ทำให้หน้าเว็บมัน not responding ไปซะอีก
เดี๋ยวไว้จะหาโอกาสปรับปรุงแก้ข้อผิดพลาดทั้งสองอัน เสร็จแล้วจะอัพเดทในหน้า projects ครับ