Programming Archive

บันทึกการเดินทาง Microservices Journey

เริ่มต้นจากสถาปัตยกรรมของระบบงาน (Application Architecture) สถาปัตยกรรมของ software นั้นมีหลากหลายรูปแบบ แต่แนวโน้มของสถาปัตยกรรมต่าง ๆ ล้วนพยายามแยกส่วนการทำงานออกเป็นชิ้นเล็ก (Decomposition) โดยแต่ละชิ้นต้องทำงานได้ด้วยตัวเอง (Service) ระบบงานใหญ่ ๆ เรามักจะเรียกว่า Monolithic ส่วนระบบงานที่เราทำการแบ่งเป็น Service เล็ก ๆ จะเรียกว่า Microservice

Read More…

สรุปการใช้งาน Docker ในการพัฒนาระบบงานไว้นิดหน่อย

พอดีในวงกินเบียร์มีการพูดคุยเรื่องการใช้งาน Docker สำหรับการพัฒนาระบบงาน ซึ่งมันมีทางเลือกในการใช้งานหลากหลายแนวทางมาก ๆ ดังนั้นจึงสรุปไว้กันลืมนิดหน่อย ว่าคุยอะไรไปบ้าง (เท่าที่จำได้น่าจะคุยและ demo ให้ดูประมาณไม่เกิน 10 นาที) มาเริ่มกันเลย

Read More…

แก้ปัญหา env: bash\r: No such file or directory

ปัญหาที่พบเจอ มี shell script บางตัวที่ทำการ run แล้วจะเจอ error ดังนี้ env: bash\r: No such file or directory จะทำการแก้ไขอย่างไรดี

Read More…

สวัสดี Amazon Corretto

ในวันที่ 14 พฤศจิกายนที่ผ่านมา ทาง Amazon ได้ประกาศปล่อย Amazon Corretto ออกมาให้ใช้งาน ซึ่งเป็น Preview version เพื่อให้ลองทดสอบใช้งานกันเล่น ๆ ส่วนตัว stable ต้องรอช่วง Q1 ของปีหน้า เป็น OpenJDK (Open Java Development Kit) ที่ทาง Amazon Web Server (AWS) ใช้งานภายใน แน่นอนว่า ใน OpenJDK ตัวนี้ ทำการแก้ไขและปรับปรุงเพื่อให้สามารถรองรับการใช้งานที่หนัก ๆ ได้ ทั้งในมุมของ scaling ทั้งในมุมของ performance ทั้งในมุมของ security ที่สำคัญกว่านั้นคือ เรื่องของการ support แบบ LTS (Long Term Support) ทั้งหมดนี้ใช้ฟรี ไม่มีค่าใช้จ่าย

Read More…

Robolectric ถูกเพิ่มเข้ามาใน AndroidX Testing แล้ว

หลังจากที่ AndroidX Testing ถูกเพิ่มเข้ามาใน JetPack แล้ว Version ล่าสุดของ AndroidX Testing คือ 1.0.0 ซึ่งมีการเปลี่ยนแปลงที่น่าสนใจดังนี้ เพิ่ม Robolectric 4.0 เข้ามา ค่าของ minSdkVersion เป็น 14 และ targetSdkVersion เป็น 28 สนับสนุน Instant apps แล้ว

Read More…

เมื่อใดควรทำการ upgrade version ของภาษา Go

ไปอ่านเจอบทความที่น่าสนใจคือ When Should You Upgrade Go ? ทำการอธิบายว่า เมื่อใดควรที่จะทำการ upgrade version ใหม่ ๆ ของภาษา Go ซึ่งทำการอธิบายเข้าใจง่ายดี แน่นอนว่า ในตอนนี้ Go 1.11.2 ออกมาแล้ว จากนั้นก็ 1.11.3 เพื่อรอ release ถัดไปคือ 1.12 คำถามคือ ในตอนนี้เราควร upgrade ไปยัง 1.11.2 เลยดีไหม

Read More…

สรุปแนวทางการนำ Microservices มาใช้งานของ Medium.com Part 2

จาก Part ที่ 1 สรุปปัญหาและการนำแนวคิดของ Microservices มาใช้งานและแก้ไขปัญหา มาใน Part ที่ 2 มาดูแนวทางการใช้งานกัน ซึ่งทางทีมพัฒนาของ Medium.com ได้แบ่งแนวทางการนำ Microservices มาใช้ ออกเป็น 7 ข้อ มาดูกันว่าแต่ละข้อเป็นอย่างไรบ้าง

Read More…

Go module :: มาลองสร้าง module ใช้เองแบบ Local

มีคำถามว่า ถ้าต้องการทำ module ใช้เอง โดยใช้แบบ local หรือบนเครื่องเราเอง ต้องทำอย่างไรบ้าง ? ที่นี่มีคำตอบแบบง่าย ๆ มาดูกัน

Read More…

Golang :: จดบันทึกการใช้งาน Go Module

จากบทความเรื่อง Introduction to Go Modules in Go v1.11, Goodbye GOPATH! ไม่ต้องทำการกำหนด environment ชื่อ GOPATH แล้ว รวมทั้งสามารถพัฒนาระบบนอก GOPATH ได้โดยไม่ต้องกำหนดค่าอะไรเพิ่มเติม ซึ่งเป็นปรับปรุงเรื่องการจัดการ dependency ให้ดีและง่ายขึ้นนั่นเอง ดังนั้นจึงสรุปการใช้งานไว้นิดหน่อย กันลืม

Read More…

สรุปจากบทความ Code: Align the happy path to the left edge

เห็นบทความเรื่อง Code: Align the happy path to the left edge ที่กลุ่ม Golang Thailand ผู้พูดคือ คนเขียนหนังสือ Go Programming Blueprints นั่นเอง ซึ่งพูดในงาน Golang UK Conference ตั้งแต่ปี 2016 เห็นว่าน่าสนใจจึงนำมาสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…