ขั้นตอนในการพัฒนาและเขียน test
ในการพัฒนาระบบงานนั้น สิ่งที่สำคัญของ developer ที่ไม่แพ้ไปกว่าการเขียน code เลย คือการ test หรือ ทดสอบและยังเป็นการทดสอบแบบอัตโนมัติอีกด้วยแน่นอนว่าต้องเขียน code ด้วยอีกชุด...
View ArticleGo :: เครื่องมือช่วยจัดเรียง field ใน Struct
Field ต่าง ๆ ใน Struct ของภาษา Go นั้นมักจะมีปัญหาเรื่องของลำดับ ซึ่งมีผลต่อการใช้งาน memoryซึ่งเคยเขียนอธิบายไว้ที่ blog เรื่องการจัดเรียง property ใน Struct เพื่อลดจำนวน memory...
View Articleเริ่มไม่ง่ายสำหรับภาษา Carbon
เห็นทาง Google ทำการแนะนำภาษา Carbonซึ่งเป็นอีกภาษาที่มีเป้าหมายเพื่อมาแทนที่ C++หรือเป็นอีกทางเลือกหนึ่งของ C++หรือปรับปรุงมาจากปัญหาของ C++อีกทั้งยังทำงานร่วมกับ C++...
View Articleสรุปปัญหาเรื่อง performance ที่แย่ ๆ ของ API ต่าง ๆ
หลายวันที่ผ่านมา มีโอกาสเข้าไปดูและแก้ไขปัญหาของ API ในระบบหนึ่ง ซึ่งมีปัญหาต่าง ๆ มากมายหนึ่งในนั้นคือ ผลการทำงานที่แย่ หรือ performance ไม่ดีทั้งช้า ใช้งาน CPU และ Memory เยอะ...
View Articleปัญหาที่เกิดมาจากการนำ Automation มาใช้
เรื่องเล่าสนุก ๆ เกี่ยวกับการนำแนวคิด Automation หรือ การทำงานแบบอัตโนมัติมาใช้งานทั้ง process และ เครื่องมือต่าง ๆโดยแนวคิดนี้ มักจะบอกว่ามันมีประโยชน์ ต่าง ๆ ดังนี้ ลด หรือ...
View Articleความสามารถที่น่าสนใจของ GitLab 15
ใน GitLab 15 ที่ออกมาตั้งแต่เดือนพฤษภาคมที่ผ่านมาและยังมีการ update มาเรื่อย ๆ มาจนถึงปัจจุบันใน version 15.2โดยมีความสามารถที่น่าสนใจ น่าใช้ดังนี้ สามารถเขียน Diagram ในรูปแบบของ Markdown ได้แล้ว...
View Articleน่าสนใจสำหรับ Guide to Android app modularization
เพิ่งเห็นว่าทาง Android Developer นั้นได้ปล่อยเอกสารเรื่อง Guide to Android app modularization ออกมาเป็นการพัฒนาโดยแบ่งเป็น module ย่อย ๆ เพื่อช่วยจัดการความซับซ้อนของระบบงานโดยเนื้อหาประกอบไปด้วย...
View ArticleIntelliJ IDEA 2022.2 นั้นใช้ Java 17 แล้ว
IntelliJ IDEA 2022.2 นั้นปล่อยออกมาให้ใช้งานกันแล้วซึ่ง Runtime จะใช้ Java 17 แล้วโดยที่ทำการ fork มาจาก OpenJDK 17ช่วยให้ปรับปรุง performance ของ IDE ให้ดีขึ้นเยอะทั้งการ render และ suggestion ต่าง ๆ...
View Articleสรุปการปรับปรุงให้ระบบ Continuous Integration (CI) ทำงานเร็วขึ้น
ปัญหา ระบบ CI/CD ของระบบงานนั้น ยิ่งเวลาผ่านไปทำไมยิ่งทำงานช้าลงเรื่อย ๆแถมก็ไม่มีใครมาแก้ไข หรือ ปรับปรุงอีกด้วยหรือว่ามันไม่มีคุณค่าต่อทีมกันแน่นะแต่ทุกคนก็นั่งรอให้ CI/CD ทำงานเสร็จ แล้วรอลุ้นดูผล...
View Articleสิ่งที่น่าสนใจใน Git 2.37
ไม่ได้ upgrade Git นาน พบว่าตอนนี้ออก version 2.37.2 มาแล้วเลยไปดูหน่อยว่ามันอะไรที่น่าสนใจบ้าง เริ่มที่เรื่องของการปรับปรุง performance ของ Gitfeature ที่พัฒนาด้วยภาษา perlก็จะเปลี่ยนมาเป็นภาษา C...
View Articleบันทึกเรื่อง Data architecture
กำลัง review เรื่อง Data architecture ของระบบงานพบว่าโครงสร้าง data , process การใช้งานและจัดการ dataมีรูปแบบดังรูป จากรูปจะเห็นได้ว่า Dev team ทำหน้าที่ดูแลระบบงาน และทำการจัดเก็บข้อมูลใน database...
View Articleเรื่องการประชุม กับ นักพัฒนา
จากการพูดคุยกับทีมพัฒนาหลาย ๆ ที่ ที่ทำงานแบบ Remote เป็นหลักต้องประชุมและคุยงานผ่าน Zoom, Microsoft Teams และ Google Meet เป็นต้นมักจะพูดเป็นสียงเดียวกันว่าประชุมหนักกว่าการประชุมในห้องประชุมแบบ...
View Articleเพิ่งสังเกตเห็นว่า Postman นั้นสนับสนุน gRPC แล้ว
เพิ่งสังเกตเห็นว่า Postman นั้นสนับสนุน gRPC แล้วซึ่งก่อนหน้านี้ก็สนับสนุน Web Socketแต่ยังอยู่ในสถานะ beta เท่านั้นโดยเราสามารถ upload proto file เข้ามายัง request ได้เลยจากนั้น Postman...
View Articleความรู้พื้นฐานเรื่อง Database sharding
วิธีการสำหรับการ scale database ให้รองรับข้อมูล และ traffic ที่มากขึ้นนั้น มีหลายวิธียกตัวอย่างเช่น การขยายเครื่องให้ใหญ่ขึ้นการเพิ่มเรื่องให้มากขึ้นการจัดทำ index แต่ถ้ามีข้อมูลในแต่ละ table มากขึ้น...
View Articleบันทึกเรื่อง API versioning จาก LinkedIn
บันทึกการอ่านบทความเรื่อง Under the hood: How we built API versioning for LinkedIn Marketing APIsทำการอธิบายแนวทางในการจัดการ version ของ maketing api...
View Articleบันทึกการพูดคุยเรื่อง Technical Debt และการจัดการ
ในการพูดคุยเรื่อง การจัดการ Technical Debt หรือหนี้เชิงเทคนิคว่าเราควรจัดการอย่างไรดีมีแนวทางอะไรที่น่าสนใจเพื่อช่วยลดให้น้อยลงมาดูกันหน่อย เริ่มด้วยคำถามดีกว่า เพื่อให้เราเองตอบว่ามีปัญหาหรือไม่ ?...
View Articleตอบคำถามเรื่อง การ tracing ข้อมูล message ที่ส่งเข้า Apache Kafka
จากที่ได้แบ่งปันเรื่องเกี่ยวกับ Microservices มานั้นมีคำถามที่น่าสนใจเกี่ยวกับการ tracing ข้อมูลของ message ที่ส่งเข้าไปยัง Apache Kafka ว่าส่งไปไหม ผลการทำงานเป็นอย่างไรรวมทั้งดูแบบ end-to-end...
View Articleปัญหาเรื่อง Data consistency จากระบบ Event-based driven
ปัญหาที่มักจะตามมาจากระบบที่พัฒนาตามแนวคิด Event-based driven หรือ Event-Driven Architecture นั่นคือเรื่อง Data consistency หรือความถูกต้องของข้อมูลเราจะจัดการปัญหานี้ได้อย่างไรบ้าง ?...
View Articleบันทึก การทำ cache ของ Apache Maven ใน Docker
บันทึกปัญหาที่เจอเกี่ยวการ build ระบบงานที่พัฒนาด้วย Java กับ Apache Mavenเพิ่มเติมความยากคือ เอาไป run ใน Docker อีกปัญหาที่เจอคือ เรื่องการ download dependency/library ใหม่ในขั้นตอนการ build Docker...
View Articleลองใช้งาน Volta มาจัดการ version ของ NodeJS
ในโลกของ JavaScript นั้นมีเครื่องมือใช้งานเยอะเหลือเกินเพื่อแก้ไขปัญหาต่าง ๆ หนึ่งในนั้นคือการจัดการ version ของ NodeJSเพื่อให้ใช้งาน version ต่าง ๆ ตามแต่ละ project ให้ง่ายขึ้นปกติก็จะมี nvm และ snm...
View Article