2 คะแนน โดย GN⁺ 2024-02-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • AhoA Git ที่สร้างด้วย AWK

    • AWK สามารถทำอะไรได้มากกว่าสคริปต์บรรทัดเดียวแบบง่าย ๆ
    • โปรเจ็กต์นี้เป็นโปรเจ็กต์ทดลองเพื่อสำรวจหลักการทำงานภายในของ Git และความสามารถใหม่ ๆ ของ GNU AWK
    • ตั้งใจให้ไม่น่าจะมีประโยชน์นอกเหนือจากความบันเทิงและการเรียนรู้
  • เริ่มต้นใช้งาน

    • ต้องใช้ gawk เวอร์ชัน 5.0 ขึ้นไป และใช้ pigz สำหรับการบีบอัด zlib
    • ใช้ความสามารถที่เหลือจาก GNU coreutils
    • สามารถรันได้บนระบบ Linux ส่วนใหญ่ แต่ไม่ใช่บน BSD หรือ Mac
    • มีตัวอย่างการใช้คำสั่ง เช่น การเริ่มต้น การเพิ่มไฟล์ และการตรวจสอบโครงสร้างไฟล์
  • การมีส่วนร่วม

    • ยินดีรับทุกความคิดเห็นที่ช่วยเพิ่มพูนความรู้เกี่ยวกับ AWK หรือ Git
  • รายการสิ่งที่ต้องทำ

    • มีแผนจะรองรับฟีเจอร์อย่าง init, add/rm, status, commit, reset, branch, switch, config (อ่านอย่างเดียว), ls-files, cat-file เป็นต้น
    • ไม่มีแผนจะเพิ่มความสามารถด้านเครือข่าย จึงจะไม่มีฟีเจอร์ clone หรือ push

ความคิดเห็นจาก GN⁺

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

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

 
GN⁺ 2024-02-12
ความคิดเห็นจาก Hacker News
  • เสน่ห์ของ Awk:

    • Awk เป็นภาษาโปรแกรมที่ทรงพลังซึ่งพบเห็นได้บ่อยในระบบตระกูลยูนิกซ์
    • มักถูกใช้เป็นคำสั่งบรรทัดเดียวเพื่อดึงข้อความบางส่วนจากผลลัพธ์มาตรฐาน (stdout) ที่ถูก pipe มา
    • สามารถใช้ Awk เป็นภาษาสคริปต์ทั่วไปได้ และในหลายด้านก็ดีกว่า bash
    • เมื่อ Perl ออกมา มันพยายามรวมจุดเด่นของ shell, awk และ sed เข้าด้วยกัน แต่ท้ายที่สุดภาพลักษณ์ด้านลบของ Perl ก็ทำให้ผู้คนย้ายไปใช้ภาษาอื่น
  • The AWK Programming Language, Second Edition:

    • หนังสือ The AWK Programming Language ฉบับพิมพ์ครั้งที่สองวางจำหน่ายในเดือนกันยายน 2023
    • ฉบับพิมพ์ครั้งแรกตีพิมพ์ในปี 1988 และสามารถเข้าถึงได้ทางออนไลน์
    • มีลิงก์ไปยังการสนทนาที่เกี่ยวข้อง
  • ข้อเสนอเพื่อปรับปรุงโค้ด Awk:

    • มีการเสนอแพตช์เพื่อเพิ่มคำสั่ง let ให้ GNU Awk เพื่อแยกความต่างระหว่างพารามิเตอร์ของฟังก์ชันกับตัวแปรโลคัล แต่โครงการปฏิเสธ
    • กลับกัน พวกเขาแนะนำให้ทำเวอร์ชัน fork ที่เปลี่ยนชื่อจาก GNU Awk เอง
  • ประโยชน์ใช้สอยของ Awk:

    • เมื่อมีคนบอกว่าบรรทัดคำสั่งของลินุกซ์คือสภาพแวดล้อมการพัฒนาที่ดีที่สุด Awk ก็มักถูกยกเป็นหนึ่งในเหตุผลนั้น
    • แค่รู้พื้นฐานของ Awk ก็ทำงานได้หลายอย่างแล้ว และอาจทำให้ IDE ดูไม่มีประสิทธิภาพ
    • เพื่อช่วยคนที่อยากเรียน Awk มีการไปบรรยายที่ Linux Fest Northwest และอัปโหลดวิดีโอบันทึกไว้บน YouTube
  • ประสบการณ์ทำโปรเจ็กต์ด้วย Awk:

    • มีประสบการณ์สร้างวิกิแบบเว็บด้วย Awk บนเราเตอร์ที่มีหน่วยความจำจำกัดมาก
    • เนื่องจากพึ่งพาไลบรารีไม่ได้ จึงต้องลงมือทำของพื้นฐานเอง ซึ่งทำให้ได้เรียนรู้ทั้งวิธีทำงานของวิกิและศักยภาพของ Awk
  • ความสามารถในการขยายของ Awk:

    • ไม่มีแผนจะเพิ่มความสามารถด้านเครือข่ายให้ Awk แต่สามารถทำ git clone หรือ push ไปยังรีโพซิทอรีที่อยู่ในไดเรกทอรีอื่นได้
  • ศักยภาพของยูทิลิตี GNU:

    • มีความรู้สึกว่าด้วยยูทิลิตีและโปรแกรมของ GNU เพียงอย่างเดียว ก็น่าจะสร้างฐานข้อมูลและเครื่องมือประมวลผลที่เหนือกว่าเครื่องมือเฉพาะทางได้ทั้งด้านประสิทธิภาพและฟังก์ชัน
  • การใช้งาน cppawk:

    • หากใช้ cppawk ก็สามารถใช้ #include ได้ และอ้างอิงแบบสัมพันธ์กับไฟล์โดยไม่ต้องใช้ AWKPATH
    • เมื่อนำไปใช้กับโปรเจ็กต์ที่พัฒนามาตั้งแต่ก่อนมี cppawk ก็สามารถ "build" โปรแกรมที่ผ่านการ preprocess แล้วให้เป็นไฟล์เดียวได้
  • ตัวอย่างการใช้งาน Awk ที่หลากหลาย:

    • โปรเจ็กต์อย่าง sed-chess และ awk-raycaster แสดงให้เห็นถึงความเป็นไปได้อันหลากหลายของ Awk
  • เรื่องน่าสนุกที่เกี่ยวกับ Awk:

    • "Aho" เป็นคำในภาษาญี่ปุ่นที่มีความหมายว่า คนโง่