Programming Archive

ตอบคำถามเรื่อง การใช้งาน RabbitMQ

จากการสอนใน course Microservices workshop ที่ Skooldio ไปนั้น มีการแนะนำในเรื่องของการนำ messaging และ Event-based architecture มาใช้งาน และได้มีคำถามเกี่ยวกับการนำ RabbitMQ มาใช้งาน ว่าจะออกแบบตามที่ต้องการอย่างไรบ้าง

Read More…

[Golang] การจัดการ Timezone กับ Docker container ที่สร้างจาก Scratch image

ใน Golang 1.15 นั้นทำการเพิ่ม timezone database เข้ามา ซึ่งอยู่ใน package time/tzdata ผลที่ตามมาคือ ไม่ต้องกังวลกับการจัดการ Timezone database อีกต่อไป เพียงแค่ทำการกำหนดว่า ระบบของเราอยู่ใน Timezone ไหนเท่านั้นเอง ทำให้เราทำงานกับพวกเวลาได้อย่างถูกต้องแล้วมาลองดูการใช้งานง่าย ๆ กัน

Read More…

สวัสดี Go 1.15

หนึ่งสิ่งที่ทำการปรับปรุงใน Golang 1.15 นั่นก็คือ Linkerส่งผลให้ขนาดของ binary ที่สร้างออกมานั้นมีขนาดลดลงอย่างมาก โดยเปรียบเทียบกับ version 1.14 แล้ว ขนาดจะลดไป 5-10% กันเลยทั้ง library ที่ถูกประกาศ แต่ไม่ถูกใช้งาน หรืออาจจะใช้งานในขณะ runtime เท่านั้น ยิ่ง binary มีขนาดเล็กลงมาก ก็ย่อมส่งผลประโยชน์ต่อการพัฒนาและ deploy มากด้วยเช่นกัน

Read More…

Java 15 มีอะไรที่น่าสนใจ

ในเดือนกันยายนนี้ Java 15 จะถูกปล่อยออกมาให้ใช้งาน สิ่งที่นักพัฒนา Java ควรรู้ไว้บ้างคือ ความสามารถต่าง ๆ ที่จะเพิ่มเข้ามาใน Java 15 ว่าช่วยอำนวยความสะดวกและแก้ไขปัญหาต่าง ๆ อย่างไรบ้าง

Read More…

เรื่องที่น่าสนใจจากงาน SpringOne 2020

จากงาน SpringOne 2020 ที่ผ่านมานั้น มีหลาย ๆ เรื่องที่น่าสนใจเกี่ยวกับ ecosystem  ของ Spring, Cloud application ตลอดจนเครื่องมือต่าง ๆ เรื่องที่น่าสนใจประกอบไปด้วย Spring กับ Modern Java development แนวทางในการ build-ship-run ให้รวดเร็ว เพื่อสนับสนุน bussiness Reactive programming ด้วยการใช้งาน Reactor การจัดการความปลอดภัยของข้อมูล มาดูรายละเอียดในสองข้อแรกกันบ้าง น่าจะเกี่ยวข้องกับการพัฒนามากที่สุด

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง 5 Key Takeaways From My Experience with Microservices

เรื่องของ Microservices นั้น ไปที่ไหนก็มีแต่คนพูดถึง หรือบางครั้งมันกลายเป็นแนวทางหลักของระบบต่าง ๆ ไปแล้ว แต่บ่อยครั้งจะพบว่า เราเน้นไปเรื่องว่าจะทำ อย่างไร ก่อนปัญหาที่เราต้องการแก้ไข มันอาจจะทำให้เกิดปัญหามากมายตามมา จากบทความ 5 Key Takeaways From My Experience with Microservices ทำการสรุปจากประสบการณ์การนำแนวคิด Microservices มาใช้งาน ว่ามันมีข้อดีข้อเสีย ข้อระมัดระวังรวมทั้งความเข้าใจ จึงทำการสรุปไว้นิดหน่อย น่าจะพอมีประโยชน์บ้าง

Read More…

คำแนะนำสำหรับ API Testing

จากที่ได้แนะนำเรื่องการพัฒนาและทดสอบระบบงานพวก RESTFul API ไปนั้น มีคำถามที่น่าสนใจเกี่ยวกับการทดสอบว่า เราจะทำการทดสอบอย่างไรดี ? จะทดสอบใน level ไหนบ้างเช่น integration, unit และ component เป็นต้น จึงสรุปคำแนะนำออกมาเป็นข้อ ๆ แบบสั้น ๆ ดังนี้

Read More…

สวัสดี GitHub Container Registry [beta version]

จากเดิมที่ทาง GitHub ได้ปล่อย Package มาให้ใช้ ซึ่งสามารถเก็บ package ต่าง ๆ ได้มากมาย เช่น Node package และ Docker image เป็นต้น จากการใช้งานพบว่า พวก Docker image สำหรับสร้าง container นั้นมันเยอะมาก ๆ จึงได้ทำการแยกการบริการออกมาในชื่อว่า Container Registry ช่วยปรับปรุงการทำงานในรูปแบบ container ตั้งแต่การสร้าง การ deploy และ release ได้ง่ายขึ้น

Read More…

เรื่องน่ารู้เกี่ยวกับ Redis

ว่าง ๆ มาดูกันว่า Redis มีความสามารถอะไรที่น่าสนใจบ้าง บางอย่างก็น่ารู้ แต่บางอย่างก็ไม่น่ารู้ ก่อนอื่นต้องทำความรู้จักกับ Redis ก่อนว่า มันคือ No-SQL database ประเภทหนึ่ง ซึ่งจะเรียกว่า Key-value database โดยที่รูปแบบข้อมูลมีทั้ง string, hash, list, set และ sorted set ทำให้ถูกเรียกว่าเป็น Data Structure Database

Read More…

[Golang] สรุปการใช้งาน environment variable

สำหรับการจัดการพวกค่า configuration ต่าง ๆ ของระบบงาน จาก 12-factor นั้นแนะนำให้จัดการผ่าน environment variable เพื่อแยกระหว่าง code และ configuration ต่าง ๆ ออกจากกันในแต่ละ environment และช่วยลดปัญหาเรื่อง security อีกด้วย

Read More…