19 คะแนน โดย xguru 2021-04-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บันทึกย้อนมองจากผู้พัฒนา rqlite ฐานข้อมูลแบบกระจายน้ำหนักเบาที่สร้างบน SQLite

→ จุดเริ่มต้นมาจากการลองทำสนุก ๆ เพื่อกระจายการทำ replication ของ SQLite ด้วย RAFT

  • ถ้าเป็นไปได้ ให้เริ่มจากสิ่งเล็ก ๆ และพัฒนาทีละฟีเจอร์

  • หลีกเลี่ยงการเขียนโค้ดใหม่ครั้งใหญ่โดยไม่มีผลลัพธ์ระหว่างทางที่ชัดเจน

  • ความคิดสร้างสรรค์นั้นไม่สม่ำเสมอและคาดเดาไม่ได้

  • สิ่งที่ช่วยยกระดับคุณภาพของโค้ดคือ test coverage ที่กว้างขวาง

→ เขียน test case ให้ใกล้เคียงกับโค้ดจริงให้มากที่สุด

→ ต้องคง integration test สำหรับ smoke test เอาไว้เสมอ

→ unit test คือหัวใจสำคัญ หากไม่มี coverage ที่ยอดเยี่ยมในระดับ unit test ซอฟต์แวร์ก็ไม่มีวันมีคุณภาพสูงได้

  • Go มีประสิทธิภาพต่อการพัฒนามากพอตลอด 7 ปี และยังคงสนุกกับมันอยู่

  • การโปรโมตเป็นเรื่องยาก ใช้เวลา 7 ปีถึงจะได้ 8000 Star บน GitHub

  • การเขียนโปรแกรมเป็นสิ่งที่เยียวยาใจ (therapeutic)

→ งานประจำของฉันคือการบริหารโปรแกรมเมอร์ (Engineering Manager ที่ Google) ซึ่งก็น่าสนใจ แต่ไม่เหมือนกับการได้ลงมือเขียนโค้ดเอง

→ การเขียนโปรแกรมในฐานะกิจกรรมของทีม ต้องมีทั้งรูปแบบการเขียนโค้ด นโยบายการแก้บั๊ก การรีวิวโค้ด การจัดลำดับความสำคัญของฟีเจอร์ ฯลฯ การสร้างซอฟต์แวร์ในระดับทีมจึงต้องมีงานที่ไม่ใช่การเขียนโค้ดอยู่มาก

→ แต่ในโปรเจกต์ของฉันเองมีอิสระเต็มที่ ฉันกำหนดสไตล์การเขียนโค้ดเอง เลือกฟีเจอร์เอง ตัดสินใจเองว่าจะแก้บั๊กไหน และไม่ต้องไปประชุมด้วย

  • แม้จะพัฒนามา 7 ปีแล้ว แต่ก็ยังมีสิ่งที่ต้องทำอีกมาก

→ คิดว่าคงไม่มีวันไปถึงจุดที่เรียกว่า "it's done"

→ เหมือนที่ทหารผ่านศึกพูดไว้ว่า "พวกเขาไม่ได้ตายไป แค่ค่อย ๆ เลือนหายไป" (จาก "Old soldiers never die, they simply fade away")

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

 
xguru 2021-04-19

rqlite - ฐานข้อมูลแบบกระจายน้ำหนักเบาที่ทำงานบน SQLite https://th.news.hada.io/topic?id=3636