คำอธิบายนี้เป็นความเข้าใจของผมเองนะครับ ไม่รับรองความถูกต้อง
- ระบบอ่านข้อมูลมาจากฐานข้อมูล แล้วสร้างเป็น HTML ส่งมาให้เบราเซอร์
- เพื่อเป็นการลดภาระการคำนวณให้ GotoKnow -- HTML ที่สร้างขึ้นมาแล้ว ก็เก็บไว้ในแคชเพื่อที่ว่าถ้ามีใครเรียกมาใหม่ จะได้ไม่ต้องสร้างใหม่
- ถ้ามี 14 ความเห็นก็ไม่มีปัญหาอะไร แต่พอมีความเห็นที่ 15 แทนที่ GotoKnow จะสร้างความเห็นหน้าแรกใหม่ทั้ง 15 ความเห็น กลับไปคิดว่าตัวเองต้องสนใจแต่หน้าที่สอง ซึ่งตรงนี้เป็นการตัดสินใจเกี่ยวกับ boundary condition ที่ไม่ถูกต้องครับ (ก็เลยเป็นบั๊ก)
- ส่วนที่ว่าพอลบความเห็นออกแล้วทำไมจึงกลับมา ผมไม่แน่ใจจริงๆ ครับ -- แต่ต้องถือว่าเป็นโชคมหาศาลที่ดูเหมือนกับว่า GotoKnow สร้างหน้าความเห็นใหม่ทั้งหมด
- ความเห็นที่ 15 ไม่ได้หายไปไหน (ข้อความอยู่ในฐานข้อมูลอยู่แล้ว) และไม่ได้หลุดจอครับ เพียงแต่ GotoKnow ไปหยิบ HTML ในแคชมาแสดงให้เราดู แล้วแคชนั้นก็ไม่ได้รวมความเห็นที่ 15 เอาไว้