Part 5 · ห้องควบคุม Terminal, tmux และ maw

บทที่ 45: ดูว่าใครอยู่และงานเป็นอย่างไร ผ่านแผง maw

บทสั้นสำหรับมือใหม่ใน Part 5: ห้องควบคุม Terminal, tmux และ maw

ภาพสองช่องแสดงเจ้าของมองคนทำงานผ่านหน้าต่าง และเมื่อปิดหน้าต่าง คนในบ้านก็ยังทำงานต่อ
Terminal เปรียบเหมือนหน้าต่างที่ใช้ดู ส่วน tmux เปรียบเหมือนบ้านที่เก็บห้องทำงานไว้ข้างใน
เห็นภาพก่อนอ่าน

สามเรื่องที่ควรจำ

  1. รายชื่อ สุขภาพ และเนื้องานตอบคนละคำถาม

    ประเด็นจากหัวข้อ “สามเรื่องที่ควรจำ”

  2. บอกเวลาและขอบเขตทุกครั้งที่สรุปสถานะ

    ประเด็นจากหัวข้อ “สามเรื่องที่ควรจำ”

  3. ไม่พบในรายการเดียว ไม่เท่ากับไม่มีอยู่

    ประเด็นจากหัวข้อ “สามเรื่องที่ควรจำ”

สรุปแก่นของบทที่ 45 เป็นจุดสังเกตที่กลับมาทบทวนได้รวดเร็ว

สถานการณ์ใกล้ตัว

รายงานตอนเช้าบอกว่า “House-B ออฟไลน์” เพราะไม่ปรากฏในหน้าจอหนึ่ง แต่ภายหลังพบว่า House-B อยู่ในทีมระดับอื่นและเพิ่งส่งไฟล์เสร็จ การสรุปเร็วจากหลักฐานเดียวทำให้ Jan แจกงานซ้ำและเกิดรายงานสองชุด

ต้นทุนมาจากภาษาที่แน่นอนเกินหลักฐาน คำว่า “ไม่พบในรายการนี้ ณ เวลา…” ปลอดภัยกว่า “ไม่มี” และทำให้คนถัดไปรู้ว่าต้องตรวจอะไรต่อ ความเร็วของระบบไม่ใช่สาเหตุในกรณีนี้

ผลลัพธ์ของบทนี้

คุณจะอ่านรายชื่อ session สุขภาพระบบ และภาพล่าสุดแยกกัน พร้อมอธิบายได้ว่าแต่ละหลักฐานตอบคำถามอะไรและตอบอะไรไม่ได้

ศัพท์ใหม่ในบทนี้

  1. สุขภาพระบบ (health): การตรวจองค์ประกอบ เช่น tmux เซิร์ฟเวอร์ พื้นที่ และการเชื่อมต่อ
  2. กิจกรรม (activity): การจัดประเภทว่าภาพของ pane เปลี่ยนไปหรือไม่ในช่วงหนึ่ง
  3. ทะเบียน (registry): รายชื่อที่ระบบบันทึกว่ารู้จัก ไม่เท่ากับรายการ process สดทั้งหมด
  4. หลักฐานสถานะ: ข้อมูลที่ใช้สนับสนุนข้อสรุปเรื่องการทำงาน
  5. เวลาตรวจ (checked at): เวลาที่ข้อมูลสถานะถูกอ่าน เพราะสถานะอาจเปลี่ยนภายหลัง

ภาพเปรียบเทียบ

รายชื่อ session เหมือนกระดานลงเวลาหน้าตึก สุขภาพระบบเหมือนแผงไฟฟ้า และ peek เหมือนมองงานบนโต๊ะผ่านกระจก ไม่มีชิ้นใดชิ้นหนึ่งบอกได้ครบว่ารายงานถูกต้องและพร้อมให้เจ้าของอนุมัติ

ทะเบียนก็เหมือนสมุดรายชื่อพนักงาน คนมีชื่อในสมุดอาจไม่อยู่ที่โต๊ะ ส่วนคนที่มาช่วยชั่วคราวอาจอยู่ในอาคารทั้งที่ยังไม่มีชื่อในสมุด

แก่นของเรื่อง

ใช้คำสั่งตามคำถาม ไม่เปิดทุกหน้าปัดพร้อมกัน:

🟡 ถามว่า “มีห้องงานใดปรากฏอยู่”

maw ls

ก่อนเริ่ม: กำหนดว่าจะดูเฉพาะ local หรือขอบเขตใด และไม่แชร์ชื่อจริง
ผลที่คาด: ได้รายการห้องงานที่ maw มองเห็น ณ เวลานั้น
หยุดเมื่อ: ปลายทางหรือขอบเขตไม่ชัด
กู้คืน: บันทึกว่า “ยังไม่ยืนยัน” และขอรายการที่ผู้ดูแลตรวจแล้ว

🟡 ถามว่า “องค์ประกอบพื้นฐานมีสัญญาณผิดปกติหรือไม่”

maw health

ก่อนเริ่ม: รู้ว่าผลลัพธ์อาจมีข้อมูลเครื่อง พื้นที่ หรือ peer
ผลที่คาด: ได้รายงานสุขภาพของส่วนต่าง ๆ ที่โปรแกรมเบื้องหลังตรวจพบ
หยุดเมื่อ: มีคำแนะนำให้ซ่อมอัตโนมัติหรือเปลี่ยน config
กู้คืน: เก็บเฉพาะข้อความปัญหาและส่งให้ผู้ดูแล ไม่รันคำสั่งแก้ตามเดา

🟡 ถามว่า “ข้อความล่าสุดของ target จำลองพูดว่าอะไร”: สำหรับผู้ดูแลที่ได้รับสิทธิ์

maw peek demo-house-a

ก่อนเริ่ม: ยืนยัน target จากรายการและตรวจว่ามีสิทธิ์เห็นเนื้อหา
ผลที่คาด: ได้ภาพช่วงท้ายโดยไม่ attach
หยุดเมื่อ: พบ secret ข้อมูลลูกค้า สุขภาพ หรือข้อความที่ไม่เกี่ยวกับคำถาม
กู้คืน: หยุดอ่าน ไม่คัดลอก และใช้รายงานที่ปกปิดข้อมูลแทน

maw activity และการอ่าน scrollback เต็มเป็นเครื่องมือที่อาจช่วยผู้ดูแลวิเคราะห์เพิ่ม แต่ไม่จำเป็นสำหรับแบบฝึกเริ่มต้น เพราะยิ่งอ่านลึกยิ่งเพิ่มความเสี่ยงด้านข้อมูลและการตีความ

ตัวอย่างจำลองตามกระบวนการ Oracle V4

เวลา 08:00 น. maw ls จำลองแสดง Jan กับ House-A maw health ไม่มีสัญญาณพื้นฐานผิดปกติ และ peek สังเคราะห์ของ House-A บอกว่า “ส่งรายงานแล้ว รอ Jan ตรวจ” ข้อสรุปที่เหมาะสมคือ:

“พบ Jan และ House-A ในรายการ local ณ 08:00 น. ระบบพื้นฐานไม่รายงานปัญหาในภาพตรวจนี้ House-A ระบุว่าส่งรายงานแล้ว แต่ยังต้องตรวจไฟล์และผล QA ก่อนเรียกว่างานผ่าน”

นี่คือภาษาที่ช่วยตัดสินใจโดยไม่ขยายความสำเร็จเกินหลักฐาน

หยุดก่อน

ข้อสรุปสถานะของคุณบอกทั้งเวลาที่ตรวจ สิ่งที่พบ และสิ่งที่ยังพิสูจน์ไม่ได้แล้วหรือยัง

ลองทำอย่างปลอดภัย

🟢 ภารกิจ: เขียนรายงานสถานะจากการ์ดจำลอง

ใช้การ์ดสามใบที่ผู้สอนเตรียม: รายชื่อ, health และข้อความล่าสุด เขียนสรุปสองประโยคโดยต้องมีเวลา ขอบเขต และสิ่งที่ยังไม่รู้

ก่อนเริ่ม: การ์ดทั้งหมดเป็นข้อมูลตัวอย่าง
ผลที่คาด: ไม่มีคำว่า “แน่นอน” หรือ “พร้อมใช้” หากไม่มี artifact และ QA
หยุดเมื่อ: การ์ดหนึ่งใบขัดกับอีกใบ
กู้คืน: บันทึกความขัดแย้งและขอหลักฐานเพิ่ม แทนการเลือกใบที่ถูกใจ

ระวังความเข้าใจผิด

ความเข้าใจผิด: “health ผ่าน แปลว่างานผ่าน”
สิ่งที่แม่นกว่า: health ตรวจโครงพื้นฐาน ไม่ได้ตรวจความถูกต้องของเนื้อหาธุรกิจ

ความเข้าใจผิด: “ข้อความเปลี่ยน แปลว่ากำลังคืบหน้า”
สิ่งที่แม่นกว่า: activity เป็นสัญญาณหนึ่ง อาจเป็น error ซ้ำหรือ log ที่ไม่เกี่ยวกับผลลัพธ์

สามเรื่องที่ควรจำ

  1. รายชื่อ สุขภาพ และเนื้องานตอบคนละคำถาม
  2. บอกเวลาและขอบเขตทุกครั้งที่สรุปสถานะ
  3. ไม่พบในรายการเดียว ไม่เท่ากับไม่มีอยู่

คำถามชวนคิด

รายงานสถานะในธุรกิจของคุณมีประโยคใดที่ควรเปลี่ยนจากคำตัดสินเป็นข้อความ “พบอะไร ณ เวลาใด”

สะพานไปบทถัดไป

เมื่ออ่านสถานะได้แล้ว เราจะเตรียมงานให้ Jan ด้วย brief ที่มนุษย์อ่านรู้เรื่อง ก่อนพูดถึงคำสั่งส่งเพียงหนึ่งคำสั่ง


ค้นทั้งเล่ม

อยากรู้เรื่องอะไร

พิมพ์อย่างน้อย 2 ตัวอักษร