4 คะแนน โดย GN⁺ 2024-03-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

แก้ไขบั๊กระบบชำระเงินเสร็จสิ้น

  • หลังจากงานเร่งด่วนที่ดำเนินการในเช้าวันนี้ ทีมชำระเงินได้แก้ไขบั๊กที่เรียกเก็บเงินค่าวันเพิ่มเติมจากผู้สมัครสมาชิกรายเดือนโดยผิดพลาด
  • ขณะนี้ชุดทดสอบทั้งหมดผ่านแล้ว และหลังจากที่ QA ยืนยันการแก้ไขในปี 2028 แล้ว SRE จะดำเนินการวิเคราะห์หลังเหตุการณ์

ความเห็นของ GN⁺

  • กรณีการแก้บั๊กครั้งนี้เน้นย้ำถึงความสำคัญของ QA (Quality Assurance) ในการพัฒนาซอฟต์แวร์ บั๊กที่ไม่ถูกค้นพบผ่านกระบวนการ QA อาจก่อปัญหาในสภาพแวดล้อมการใช้งานจริง และส่งผลโดยตรงต่อความพึงพอใจของลูกค้า
  • ขั้นตอน postmortem เป็นกระบวนการสำคัญสำหรับการวิเคราะห์สาเหตุและป้องกันการเกิดซ้ำหลังจากระบบล่มหรือเกิดบั๊ก ผ่านกระบวนการนี้ ทีมสามารถพัฒนาความสามารถในการแก้ปัญหาและจัดทำมาตรการป้องกันเพื่อไม่ให้เกิดปัญหาคล้ายกันอีก
  • ระบบชำระเงินอื่นที่มีฟังก์ชันคล้ายกัน ได้แก่ Stripe และ PayPal ซึ่งต่างก็มีความสามารถด้านความปลอดภัยและเสถียรภาพของตนเอง ก่อนใช้งานควรเปรียบเทียบคุณลักษณะและค่าใช้จ่ายของแต่ละบริการ
  • สิ่งที่ควรพิจารณาเมื่อเลือกใช้เทคโนโลยีนี้ ได้แก่ เสถียรภาพของระบบ ประสบการณ์ผู้ใช้ และความคุ้มค่าด้านต้นทุน นอกจากนี้ การตอบสนองอย่างรวดเร็วและการสื่อสารอย่างโปร่งใสเมื่อเกิดเหตุขัดข้องก็มีความสำคัญเช่นกัน
  • ประโยชน์ที่อาจได้รับจากการเลือกใช้เทคโนโลยีนี้คือการกู้คืนความเชื่อมั่นของลูกค้าและการปรับปรุงเสถียรภาพของระบบ แต่ในอีกด้านหนึ่งก็อาจมีต้นทุนระยะสั้น เช่น การหยุดชะงักของงานจากการแก้บั๊กฉุกเฉิน

1 ความคิดเห็น

 
GN⁺ 2024-03-01
ความเห็นจาก Hacker News
  • เรื่องที่เพื่อนในจีนได้ยินมา: มีบั๊กในส่วนคำนวณอายุของแอปจองใบรับรองการสมรส โดยเมื่อคำนวณจากอายุขั้นต่ำตามกฎหมาย 22 ปีด้วยการลบจากปี ผลลัพธ์กลับออกมาเป็นวันที่ 29 กุมภาพันธ์ 2002 ซึ่งไม่มีอยู่จริง แอปพยายามนำวันที่นี้ไปเทียบกับวันเกิดของผู้ใช้ แต่โค้ดจัดการข้อผิดพลาดดันสมมติว่าความผิดพลาดทั้งหมดเกิดจากการเปรียบเทียบ จึงปฏิเสธการจองใบรับรองการสมรสทั้งหมดโดยบอกว่าผู้ใช้ยังอายุน้อยเกินกว่าจะแต่งงานได้
  • มีผลิตภัณฑ์หนึ่งที่ใช้ ChatGPT API และใช้เวอร์ชัน 3.5 Turbo โดยในคำขอมีวันที่บางส่วนรวมอยู่ด้วย ซึ่งปกติควรจะคืนข้อความกลับมา แต่วันนี้กลับส่งข้อผิดพลาดโดยคิดว่าวันที่ 29 กุมภาพันธ์ 2024 เป็นวันที่ไม่ถูกต้อง สามารถทำให้เกิดซ้ำได้ค่อนข้างง่ายผ่านเว็บอินเทอร์เฟซในบางครั้ง โดยมันจะบอกก่อนว่าเป็นวันที่ไม่ถูกต้อง แล้วระหว่างอธิบายก็เริ่มรู้ตัวว่าพลาด และบางครั้งก็แก้คำตอบของตัวเอง
  • วันนี้ Cloudflare ส่งใบแจ้งหนี้มา แต่ชื่อไฟล์ PDF ที่แนบมาคือ cloudflare-invoice-1970-01-01.pdf
  • ที่ร้าน ICA ในสวีเดน ไม่สามารถรับชำระเงินด้วยบัตรได้ในเช้าวันพฤหัสบดี ลูกค้าต้องจ่ายด้วยเงินสด, Swish หรือผ่านแอปแทน สาเหตุของปัญหาคือปัญหาภายในระบบชำระเงินของ ICA ที่เกิดจากวันที่เพิ่มขึ้นมาในเดือนกุมภาพันธ์หรือวันอธิกสุรทิน ICA เป็นเครือข่ายร้านขายของชำที่ใหญ่ที่สุดในสวีเดน
  • ซอฟต์แวร์บางตัวเขียนข้อมูลลงไดเรกทอรีแบบหมุนเวียนตามวันที่ ระหว่างดีบักด้วยตนเองบนระบบทดสอบ พบว่ามันล้มเหลวตอนสร้างไดเรกทอรีครั้งแรกในวันที่ 29 กุมภาพันธ์ตามเวลา UTC สุดท้ายพบว่าเป็นเพราะพื้นที่ดิสก์ไม่พอ แต่ก็มั่นใจอยู่เกินชั่วโมงว่าเป็นบั๊กปีอธิกสุรทิน
  • มีบอตตัวหนึ่งที่โพสต์สถิติสภาพอากาศรายวันของซานฟรานซิสโกลง Mastodon ซึ่งวันนี้ไม่ได้โพสต์ตามกำหนด มันดึงข้อมูลอุณหภูมิสูงสุด ต่ำสุด และปริมาณน้ำฝนของวันเดียวกันนั้นตั้งแต่ปี 1875 ถึงปัจจุบัน แต่เกิดข้อผิดพลาดเพราะไม่มีวันที่ 29 กุมภาพันธ์ 1875
  • กลับกันเลย! บางบริการที่ปกติจะไม่อวยพรวันเกิดในปีที่ไม่ใช่ปีอธิกสุรทิน กลับมาอวยพรให้ในวันนี้ ฉันเกิดวันที่ 29 กุมภาพันธ์
  • ตัวอย่างที่ชัดเจนคือ Theatrhythm Final Bar Line เกม Final Fantasy แนวจังหวะ ที่ไม่ได้รองรับการจัดการวันอธิกสุรทิน ทำให้วันนี้ผู้เล่นไม่สามารถเล่นเกมได้ สามารถเปิดเกมได้ แต่เล่นจริงไม่ได้
  • มีแอป Rails 6 อยู่ตัวหนึ่ง และมีเทสต์ที่คาดว่า time_ago_in_words(1.year.from_now) จะคืนค่าเป็น "ประมาณ 1 ปี" แต่เทสต์ล้มเหลว ตอนแรกคิดว่าเป็นเทสต์ที่ไม่นิ่ง แต่ก็สามารถทำให้เกิดซ้ำบนเครื่องตัวเองได้ เพราะถ้ารันโค้ดนั้นในวันอธิกสุรทิน มันจะคืนค่าเป็น "เกือบ 1 ปี" สามารถลองได้ใน Rails console
  • ที่นิวซีแลนด์ ปั๊มน้ำมันบางแห่งไม่สามารถใช้งานหัวจ่ายได้ในวันพฤหัสบดี เนื่องจาก "leap year glitch" ในซอฟต์แวร์ชำระเงิน โดยทั้งปั๊มน้ำมันและผู้ให้บริการระบบชำระเงินได้ยืนยันเรื่องนี้