ในฐานะคนที่ลงเอยมาเป็นวิศวกร build ของแอป Android แบบไม่รู้ตัว ขอลองฝากความเห็นไว้หน่อย..

> ระบบ build : gradle

ถึงจะใหญ่หรือซับซ้อนมากแค่ไหน ก็ต้องใช้ gradle อยู่ดี... (มองไกล)
มีโปรเจ็กต์ด้านล่างนี้กำลังดำเนินอยู่เพื่อปรับปรุงประสิทธิภาพการ build ของ gradle ในโปรเจ็กต์ที่ใหญ่หรือซับซ้อนมาก ดังนั้นถ้าคุณใช้ gradle กับโปรเจ็กต์ขนาดใหญ่ ก็ควรเตรียมการย้ายล่วงหน้าไว้จะดีกว่า

> โครงสร้างโมดูล : แยกตาม feature

ส่วนตัวผมมองว่าไม่มีเหตุผลจำเป็นที่จะต้องเปิดเผย architectural layer ออกมาที่ระบบ build
ในกรณีของแอปที่ผมดูแลอยู่ ผมทำให้ build system มองเห็นโมดูลเป็น feature-api / feature-impl

  • feature-app :
    • data model หรือ interface ที่เชื่อมกับโมดูลอื่น
  • feature-impl:
    • implementation จริงของ feature

ถ้าจัดแบบนี้ การเปลี่ยนโค้ดใน feature-impl จะไม่ส่งผลต่อโมดูลอื่นที่อ้างอิง feature-api (แยก dependency ออกจากกัน) จึงช่วยได้มากทั้งกับ incremental build และการเพิ่ม build cache hit rate

> unit test - junit 4

เรื่องนี้ดูเหมือนว่าการตัดสินใจของ Google จะมีบทบาทค่อนข้างมาก

 

น่าจะเป็น Clubhouse นะครับ ผมเองก็นึกถึงอันนั้นขึ้นมาพอดีเหมือนกัน

 

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

 

โห เป็นเกียรติของตระกูลฮัตเลยนะ

 

ทราฟฟิกน่าจะกระจุกตัวมหาศาลเฉพาะในช่วงเวลานั้น คงต้องมีการจัดการที่มีประสิทธิภาพนะครับ

 

กังวลว่าต่อไปอาจละเลยการดูแลโค้ดเบส TypeScript ที่มีอยู่เดิมหรือเปล่า

 

การพัฒนาภาษา C# ไม่ได้หยุดลงเสียทีเดียว แต่รู้สึกว่ามีเฟรมเวิร์กที่ใช้ C# หลายตัวถูกปล่อยปละละเลยมากเกินไป

 

กำลังลองทดสอบอยู่ และให้ความรู้สึกเหมือนชุดรวมมิตรแบบครบเครื่องเลยครับ

 

มีบทความลักษณะคล้ายกันถูกพูดซ้ำอยู่เรื่อย ๆ แต่ความโลภของมนุษย์นั้นไม่มีที่สิ้นสุด และเราก็ทำพลาดแบบเดิมซ้ำ ๆ

การที่ CPU ของคอมพิวเตอร์มีโหลด 100% ไม่ใช่เรื่องปกติ แต่พอเป็นโหลดงานของมนุษย์ 100% กลับสรุปกันว่า...ต้องขยันให้มากขึ้น

 

อืม.. พูดนอกเรื่องหน่อยว่าในช่วงไม่กี่ปีที่ผ่านมา มีการพบปรากฏการณ์แปลก ๆ ที่สตาร์ตอัปส่วนใหญ่ไปทาง Flutter ขณะที่บริษัทใหญ่ ๆ อย่าง META, OpenAI กลับไปทาง native..

 

ก็จริงครับ ความรู้สึกของนักพัฒนา .NET เองก็พอเข้าใจได้เหมือนกัน...

 

เป็นข่าวที่น่ายินดี! น่าแปลกที่ภาษา TypeScript ของ MS ดูเหมือนจะตัดสินใจเลือกสิ่งที่คาดไม่ถึงจริง ๆ อยู่หลายอย่าง ต่างจาก Dart ของ Google ที่พยายามจะมาแทนที่ JS สำหรับ MS แล้วนี่แทบจะเป็นโปรเจ็กต์โอเพนซอร์สชิ้นแรก ๆ และการเลือกแนวทางที่พยายามเข้ามาเสริม JS ก็ดูเป็นการตัดสินใจที่ชาญฉลาดมาก อีกทั้งในครั้งนี้ แม้บริษัทเองก็น่าจะมีภาษาของตัวเองอยู่มากมาย แต่การเลือก Go ของ Google สำหรับภาษาที่ใช้พอร์ตเป็นเนทีฟก็น่าประหลาดใจเช่นกัน

 

นักพัฒนา .NET และ Rust ดูเหมือนจะไม่พอใจกันมากเลย

 

เอ๊ะ แต่ฝั่ง deno น่าจะมีทูลเชนที่สร้างบน Rust อยู่แล้วไม่ใช่เหรอ... ทำไมจู่ ๆ กลายเป็น Go ล่ะ?

 

ผมเคยมีประสบการณ์ว่าเวลาใช้ generic type ที่ประกอบด้วยการเรียกซ้ำแบบ recursive มันช้าจนต้องใช้ทางเลือกอื่น ถ้าเร็วขึ้น 10 เท่า ก็คาดหวังได้เลยว่าส่วนแบบนี้น่าจะดีขึ้นด้วย

 

เธรดอภิปรายเรื่องทำไมถึงต้องเป็น Go น่าสนใจดีนะครับ

https://github.com/microsoft/typescript-go/discussions/411

ยังมีเรื่องที่ต้องคิดอีกเยอะ...

 

หลายคนจบลงที่ข้อ 4 ซึ่งน่าเสียดายมาก

  1. ยอมแพ้และทำแค่สิ่งที่ระบุไว้ใน job ladder เท่านั้น
 

เขียนด้วย Go~

 

พอดีปีนี้กำลังจะลองทำแอป Android อยู่พอดี เลยเป็นแนวทางที่มีประโยชน์มากครับ 555