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

AsmBB คืออะไร?

  • AsmBB เป็นเอนจินเว็บฟอรัมที่เร็วมากและมีน้ำหนักเบา ซึ่งเขียนโดย JohnFound
  • ทั้งระบบเขียนด้วยภาษาแอสเซมบลี และใช้ SQLite เป็นแบ็กเอนด์ฐานข้อมูล
  • สามารถทำงานได้แม้บนโฮสติ้งประสิทธิภาพต่ำ และรองรับผู้เข้าชมจำนวนมากพร้อมกันได้โดยแทบไม่มีความหน่วง
  • เป็นเว็บแอปพลิเคชันที่ปลอดภัยมาก เนื่องจากการออกแบบภายในและการลดการพึ่งพาองค์ประกอบภายนอก
  • รองรับฐานข้อมูลแบบเข้ารหัสเพื่อความปลอดภัยที่สูงขึ้น
  • ต้องการสภาพแวดล้อมรันไทม์น้อยมาก: เซิร์ฟเวอร์ Linux x86 (ได้ทั้ง 32 บิตและ 64 บิต) โดยไม่จำเป็นต้องมีไลบรารีพิเศษติดตั้งล่วงหน้า
  • ทำงานได้ดีแม้บน VPS ที่เล็กและราคาถูกที่สุด และยังใช้งานได้บน shared hosting ที่รองรับ FastCGI
  • ต้องใช้เว็บเซิร์ฟเวอร์ที่รองรับอินเทอร์เฟซ FastCGI และได้ทดสอบแล้วกับ Nginx, Apache, Lighttpd, Hiawatha และ RWASA
  • ปรับแต่งได้ง่ายด้วยระบบเทมเพลตที่ทรงพลัง ทำให้สามารถปรับแต่งฟอรัมได้สะดวกโดยไม่ต้องแก้โค้ดจริงโดยตรง

ดาวน์โหลด ติดตั้ง และแฮ็ก

  • ดาวน์โหลดแพ็กเกจไบนารีโดยตรง: asmbb.tar.gz (ลิงก์นี้จะชี้ไปยังแพ็กเกจไบนารีเวอร์ชันล่าสุดเสมอ)
  • ติดตามความคืบหน้า รายงานบั๊ก และโคลนซอร์ส: คลังซอร์ส AsmBB
  • ติดตั้งบนเซิร์ฟเวอร์ของคุณเพื่อใช้งานฟอรัมที่เร็วที่สุด: บทแนะนำการติดตั้งด้วย NGINX และ systemd
  • ติดตั้งด้วย RWASA ได้ในเวลาไม่ถึง 2 นาที: วิดีโอสอนที่สามารถรับชมได้บน YouTube เช่นกัน

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

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

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

 
GN⁺ 2024-01-15
ความเห็นจาก Hacker News
  • ข้อสงสัยเกี่ยวกับความปลอดภัยของ AsmBB

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

    • แม้จะมองในแง่บวกต่อการใช้ภาษาแอสเซมบลี แต่ก็กล่าวว่าการลด dependency ไม่ได้หมายถึงความปลอดภัยเสมอไป
    • การลด dependency ช่วยลดช่องโหว่ที่อาจเกิดขึ้นได้ แต่ภาษาแอสเซมบลีเองก็ไม่ได้รับประกัน memory safety จึงอาจเพิ่มความเสี่ยงได้
    • แสดงความชื่นชอบต่อแอปพลิเคชันที่เขียนด้วยแอสเซมบลี และเสนอเพิ่มเติมว่าถ้าแปลงไปเป็น aarch64 เพื่อรันบน Pi-Zero หรือ Pi-W ได้ก็น่าจะดี
  • การศึกษาเกี่ยวกับฟอรัมแบบกระจายศูนย์

    • กำลังศึกษาฟอรัมแบบกระจายศูนย์ และกล่าวถึงว่าหลังจาก Usenet เสื่อมความนิยมลง ซอฟต์แวร์ฟอรัมอย่าง phpBB ก็ได้รับความนิยมขึ้นมา
    • ตั้งคำถามถึงความจำเป็นของฟอรัมรูปแบบใหม่ที่ผสานความสามารถด้านการกระจายและการทำสำเนาเข้ากับประสบการณ์ผู้ใช้
    • มองว่านี่เป็นความท้าทายแบบระบบกระจายศูนย์และน่าสนุกเหมือนการแก้ปริศนา
  • เวลาในการประมวลผลและความสำคัญของ CDN

    • ชี้ว่าแม้เวลาประมวลผลจะเร็วมาก แต่การส่งเอกสารไปยังเดนมาร์กก็ยังใช้เวลา 500-1000ms
    • ในกรณีนี้ CDN อาจมีประสิทธิภาพมากกว่าโค้ดที่ทำงานเร็ว
  • ข้อสงสัยเกี่ยวกับวิธีเชื่อมต่อฐานข้อมูลด้วยโค้ดแอสเซมบลี

    • สงสัยว่าโค้ดแอสเซมบลีเชื่อมต่อกับฐานข้อมูลอย่างไร
    • บอกว่าในทางทฤษฎีเข้าใจได้ แต่การเขียนงานง่าย ๆ ขึ้นมาน่าจะต้องใช้ความพยายามมหาศาล
  • การเขียนโค้ดแอสเซมบลีโดยใช้ SQLite เป็นแบ็กเอนด์

    • ระบุว่าแม้จะเขียนด้วยแอสเซมบลี แต่ใช้ SQLite เป็นแบ็กเอนด์
    • ชี้ว่าในหลายแอปพลิเคชัน คอขวดมักเป็น I/O มากกว่า CPU
  • การขอคำอธิบายเรื่องการรองรับอักขระอีโมจิยูนิโค้ด

    • ต้องการข้อมูลเพิ่มเติมเกี่ยวกับคำอธิบายที่ว่ารองรับอักขระอีโมจิยูนิโค้ดด้วยวิธีที่ "native จริง ๆ"
  • ความเห็นเรื่องปุ่มปิด live notification และการเปิดเผยรายชื่อผู้ใช้

    • ระบุว่ามีปุ่มสำหรับปิด live notification
    • ตั้งข้อสงสัยว่าการแสดงรายชื่อผู้ใช้ฟอรัมแก่ผู้ที่ยังไม่ได้ล็อกอินอาจไม่ใช่ความคิดที่ดี และสงสัยว่าสามารถตั้งค่าได้หรือไม่
  • ความต้องการ rate limit สำหรับ live notification

    • กล่าวว่าการแจ้งเตือนแบบสดเกิดขึ้นถี่เกินไป จึงควรมี rate limit สำหรับสิ่งนี้
  • ชี้ว่าขาดข้อมูลเกี่ยวกับภาษาแอสเซมบลีและระบบปฏิบัติการ

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

    • กล่าวว่าสามารถทำสิ่งคล้ายกันนี้ด้วยภาษา C โดยไม่ใช้ standard library ได้
    • ระบุว่าไม่มี dependency นอกจาก system call และเสนอว่าการใช้ภาษาแอสเซมบลีอาจไม่มีเหตุผลอื่นมากไปกว่าการฝึกเชิงปัญญา