3 คะแนน โดย GN⁺ 2023-07-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความนี้กล่าวถึงระบบแชต Unix แบบเรียบง่าย (suc) ที่สามารถมอบความสามารถหลักของแพลตฟอร์มแชตยอดนิยมอย่าง Slack และ Mattermost ได้
  • suc ถูกสร้างขึ้นด้วยโค้ด bash เพียง 5 บรรทัด จึงมีน้ำหนักเบามากเมื่อเทียบกับระบบแชตอื่น
  • suc ใช้ SSH, API ควบคุมการเข้าถึงของ Unix และความเป็นโมดูลาร์แบบข้อความในการจัดการการยืนยันตัวตนและการควบคุมสิทธิ์การเข้าถึง
  • โปรเซส suc สามารถรันได้โดยผู้ใช้ที่ผ่านการยืนยันตัวตนแล้วเท่านั้น และการยืนยันตัวตนจะจัดการผ่าน SSH
  • การควบคุมสิทธิ์การเข้าถึงถูกจัดการด้วยโมเดลความเป็นเจ้าของไฟล์และโปรเซส รวมถึงสิทธิ์อนุญาตของ Unix ทำให้สามารถสื่อสารได้อย่างปลอดภัย
  • ด้วย codebase ขนาดเล็กของ suc และการพึ่งพาความสามารถพื้นฐานของ Unix จึงมีแนวโน้มที่จะทำงานได้แม่นยำและปลอดภัยกว่าระบบแชตที่ใหญ่และซับซ้อนกว่า
  • suc สามารถทำฟังก์ชันหลักของ Mattermost ได้ด้วยโค้ดเพียง 0.005% ซึ่งเน้นให้เห็นถึงประสิทธิภาพและความเรียบง่าย
  • บทความยังกล่าวถึงข้อดีของระบบคอนฟิกเชิงประกาศอย่าง GNU Guix ซึ่งช่วยให้การจัดการช่องของ suc ง่ายขึ้น
  • suc รองรับความสามารถด้าน rich text สำหรับจัดรูปแบบข้อความด้วยสไตล์และตัวเลือกฟอร์แมตที่หลากหลาย
  • ระบบแชตนี้ประกอบด้วยไบนารีสองตัวคือ suc ที่เขียนลงไฟล์ช่อง และ usuc ที่อ่านจากไฟล์ช่องพร้อมทั้งมอบความสามารถเพิ่มเติม
  • usuc สามารถเรียกใช้เครื่องมืออื่นอย่าง pygmentize และ gum เพื่อทำ syntax highlighting และผสานการทำงานกับซอฟต์แวร์ภายนอกได้
  • บทความยกตัวอย่างการใช้ suc เพื่อวัตถุประสงค์ต่าง ๆ เช่น ทอยลูกเต๋า รันการทดสอบ และสร้างการผสาน git/suc
  • การอ่านจากช่อง suc สามารถใช้เครื่องมืออย่าง tail หรือ lnav เพื่อกรองข้อความ ใส่บุ๊กมาร์ก หรือทำ SQL query กับข้อความได้
  • ยังสามารถสร้างบอตด้วย suc ได้ โดยให้ส่วนติดต่อแบบข้อความสำหรับงานอย่างการแปลงหน่วย
  • suc มอบความสามารถเกือบทั้งหมดของระบบแชตที่ซับซ้อนอย่าง Mattermost และ Slack แม้จะมี codebase ที่เล็กกว่ามาก
  • บทความปิดท้ายด้วยการกล่าวว่า suc ใช้งานได้บนเซิร์ฟเวอร์ GNU Guix และมีตัวเลือกให้เช่า VPS สำหรับอินสแตนซ์ส่วนตัว

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

 
GN⁺ 2023-07-06
ความเห็นบน Hacker News
  • การพูดคุยเกี่ยวกับการทำ "suc" (Simple Unix Chat) ซึ่งเป็นยูทิลิตีที่นำความสามารถฝั่งเซิร์ฟเวอร์แบบ Slack และ Discord มาทำใหม่ด้วยโค้ดเบสขนาดเล็ก
  • "suc" ไม่ได้สร้างสิ่งที่มีอยู่แล้วขึ้นมาใหม่ แต่ใช้เครื่องมือและแนวทางแบบ Unix ที่มีอยู่เดิม
  • การยืนยันตัวตนใช้ SSH ส่วนแชนเนลก็เป็นเพียงไฟล์ที่จัดการด้วยกลุ่มผู้ใช้และสิทธิ์ของไฟล์
  • การรองรับ rich text การอัปโหลดไฟล์ และอื่น ๆ ทำได้ด้วยวิธีเขียนข้อมูลที่ต้องการลงในแชนเนลแล้วให้ไคลเอนต์เป็นผู้ตีความ
  • สามารถสร้างบอตได้ง่ายโดยทำอินพุต/เอาต์พุตกับไฟล์ของแชนเนล
  • "suc" ยอมรับว่าไม่สามารถสร้าง Slack เวอร์ชันโคลนสมบูรณ์ได้ด้วยโค้ดเพียงไม่กี่บรรทัด แต่แสดงให้เห็นพลังของเครื่องมือ Unix แบบเรียบง่าย
  • การเปรียบเทียบกับ Slack และ Discord ถูกวิจารณ์อย่างจริงจัง เพราะแพลตฟอร์มเหล่านี้มีฟีเจอร์สำคัญอย่างการแชร์หน้าจอและแชตเสียง
  • บทความนี้ได้รับคำชมที่ชี้ให้เห็นปัญหาของซอฟต์แวร์ที่เทอะทะ และเสนอทางเลือกที่ใช้ประโยชน์จากระบบและซับซิสเต็มเดิมอย่างชาญฉลาด
  • การนำคำสั่ง Unix มาประกอบกันถูกมองว่าเป็นวิธีทรงพลังในการสร้างแอปพลิเคชันที่ซับซ้อน แต่ก็ถูกวิจารณ์เรื่องข้อจำกัดและการขาดแนวทางแก้ปัญหาที่ชัดเจน