เวลาที่หมุนเร็วขึ้นเมื่ออายุมากขึ้น

Theeruttop (Toppy)

เวลาที่หมุนเร็วขึ้นเมื่ออายุมากขึ้น

ขอมานั่งเล่าเรื่องราวตลอดปี 2566 ที่ผ่านมากันหน่อย ปีนี้เป็นปีที่รู้สึกเหนื่อยๆ และสุขภาพก็ไม่ค่อยดีเท่าไหร่

มาดูกันว่าปีนี้เป็นยังไงบ้าง

ช่วงต้นปีผมได้มีโอกาสหนีไปพักผ่อนที่พังงา ทริปนี้ตั้งใจจะพักจริงๆ เลยทิ้งทุกอย่างไว้ที่บ้าน แล้วออกไปเที่ยวแบบไม่คิดอะไรมาก

เรื่องการทำงาน ปีนี้ทำงานที่บ้านเป็นส่วนใหญ่ ต้องบอกว่าผมใช้เก้าอี้ Herman Miller และโต๊ะไฟฟ้าคุ้มมากๆ แม้จะราคาสูงแต่ช่วยทำให้การนั่งทำงานสบายขึ้น อาการปวดหลังก็ลดลงไปเยอะ

ผมรู้สึกคุ้มค่าตั้งแต่เดือนแรกที่ใช้งาน เพราะต้องนั่งทำงานหน้าคอมนานๆ การมีเก้าอี้ที่รองรับหลังดีๆ กับโต๊ะที่ปรับความสูงได้ตามต้องการ ช่วยให้ท่านั่งทำงานดีขึ้นมาก

ผมมองว่าผมคิดถูกแล้วที่ลงทุนกับอุปกรณ์พวกนี้ เพราะเป็นการลงทุนกับสุขภาพในระยะยาว โดยเฉพาะเมื่อต้อง WFH แบบเต็มตัว การมีสภาพแวดล้อมการทำงานที่ดีมีผลต่อทั้งสุขภาพและประสิทธิภาพในการทำงานมาก

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

แต่ก็ไม่ได้มีแต่เรื่องแย่ๆ นะ ปีนี้ผมได้เรียนรู้อะไรใหม่ๆ เยอะเหมือนกัน โดยเฉพาะงานด้าน Non-functional testing (NFT) ที่เน้นทดสอบประสิทธิภาพและความพร้อมของระบบก่อนใช้งานจริง

ผมได้เรียนรู้ตั้งแต่การวางแผน การออกแบบ Test Scenario ไปจนถึงการทำ Test Execution ทั้ง Load testing, Stress testing และ Volume Testing

อีกอย่างที่สนุกคือได้ลองตั้งค่า Jenkins pipeline สำหรับ Apache JMeter และได้จัดการกับ Redis ตั้งแต่การตั้งค่า Prometheus exporter ไปจนถึงการทำ Grafana Dashboard เพื่อเอามาวิเคราะห์การทำ api rate limit, microservice fail over scenario, Circuit breakers for fault tolerance scenario, Retry mechanisms, Fallback methods

🔍 งานทดสอบระบบที่ได้เรียนรู้

“จากโปรแกรมเมอร์ สู่นักทดสอบระบบ… งานนี้สนุกไม่แพ้เขียนโค้ด! 🚀“

Non-functional Testing (NFT)

ปีนี้ได้เรียนรู้เรื่องการทดสอบระบบแบบเจาะลึก ตั้งแต่:

1. การวางแผนและออกแบบ Test Scenario

  • Load Testing: ทดสอบว่าระบบรับโหลดได้เท่าไหร่ 📊
  • Stress Testing: ลองกดดันระบบสุดๆ ดูว่าจะรับไหวไหม 💪
  • Volume Testing: ทดสอบกับข้อมูลจำนวนมหาศาล 📈

2. การตั้งค่าระบบ Monitoring

  • Jenkins Pipeline สำหรับ Apache JMeter
  • Redis + Prometheus Exporter
  • Grafana Dashboard สำหรับดูข้อมูลแบบ Real-time

3. การทดสอบ Scenario ต่างๆ

  • API Rate Limiting ว่าคุมปริมาณ Request ได้ไหม
  • Microservice Failover เวลาระบบล่ม จะทำยังไง
  • Circuit Breakers สำหรับ Fault Tolerance
  • Retry Mechanisms เมื่อเกิดความผิดพลาด
  • Fallback Methods แผนสำรองต่างๆ

“งานทดสอบแบบนี้ทำให้เราเห็นภาพรวมของระบบชัดขึ้นมาก และรู้ว่าระบบที่ดีต้องรับมือกับปัญหาได้หลากหลาย!”

สิ่งที่ได้ทดลองเล่นๆ ในปีนี้ ฉบับคนขี้เกียจ

🎯 Mission: กลับไปเขียน Spring Boot อีกครั้ง!

“การกลับไปเจอเทคโนโลยีเก่าๆ เหมือนเจอเพื่อนเก่าที่ไม่ได้เจอกันนาน… จำหน้ากันแทบไม่ได้! 😅”

ที่มา: หลังจากใช้ NodeJS/NestJS มานาน ก็อยากลองกลับไปเขียน Spring Boot อีกครั้ง เพราะเห็นว่าเป็นที่นิยมในวงการธนาคารไทย

ความท้าทาย: พอไม่ได้แตะ Java และ Spring Boot มานาน ก็ลืม syntax ไปเยอะเลย 🤯

  • Stream API ที่เคยเขียนคล่อง
  • Functional Interfaces กับ Lambda ที่เคยใช้ประจำ
  • Optional เพื่อจัดการ Null Safety
  • Spring Bean Lifecycle ที่เคยท่องจำขึ้นใจ
  • Dependency Injection ทั้งแบบ Constructor, Setter, Field
  • Annotation ต่างๆ ที่เคยใช้บ่อยๆ
  • การเขียน Unit Testing ใน Spring Boot

สิ่งที่ได้เรียนรู้: ระบบ Product User Order โดยใช้:

  1. 🏗️ Spring Boot - เป็น Framework หลัก
  • การจัดการ Database Connection Pool
  • การทำ Caching ด้วย Redis
  • การจัดการ Transaction Management
  1. 🚪 Spring Cloud Gateway - จัดการ API Gateway
  • Route Configuration
  • Load Balancing
  • Circuit Breaker Pattern
  1. 🔒 Spring Security - ระบบ Authentication/Authorization
  • JWT Authentication
  • Role-based Access Control
  • OAuth2 Integration
  1. ⚙️ Spring Cloud Config - จัดการ Configuration
  • Centralized Configuration
  • Dynamic Configuration Updates
  • Environment-specific Configs
  1. 🗝️ Hashicorp Vault - จัดการ Secrets
  • Secret Management
  • Encryption as a Service
  • Dynamic Secrets
  1. 🎮 Kubernetes & Minikube
  • การ Deploy Application บน Kubernetes
  • การจัดการ Container Orchestration
  • การทำ Service Discovery
  • การตั้งค่า Resource Limits และ Requests
  • การทำ Health Checks และ Readiness Probes

“ถึง Macbook Pro 2018 จะเริ่มอืดๆ 🐌 แต่ก็สนุกมากที่ได้ลองทำทุกอย่างตั้งแต่ต้นจนจบ! 🚀“

🛍️ Project: ระบบ Order สินค้าแบบคนขี้เกียจ

“อยากรู้ว่า Kafka มันเร็วขนาดไหน แล้วก็อยากลองเล่นกับ State Management ของ React ด้วย! 🤓”

แรงบันดาลใจ: อยากทดลองเล่นกับ Kafka, Kong Gateway และอยากลองทำระบบตะกร้าสินค้าที่ตอบสนองแบบ Real-time เวลาเพิ่ม/ลดจำนวนสินค้า แถมต้องเก็บข้อมูลไว้ได้แม้จะ Logout ไป

Technology Stack:

  1. 🎨 Frontend: NextJS
  • ทำหน้า Order สินค้าและตะกร้า
  • จัดการ State Management เวลาเพิ่ม/ลบสินค้า
  • เก็บข้อมูลตะกร้าไว้แม้ Logout
  • แสดงสถานะ Cart และ Order
  1. 🛠️ Backend Services:
  • Order Service (NestJS)
  • Cart Service (NestJS) - เก็บข้อมูลตะกร้าแยกต่างหาก
  • Inventory Service (NestJS)
  1. 📬 Message Queue: Kafka
  • ส่ง Message ระหว่าง Services ทั้งสาม
  • ลองตั้งค่า Producer/Consumer
  • ทดสอบความเร็วในการรับส่ง Message
  1. 🚪 API Gateway: Kong
  • Route traffic ไปยัง Services ต่างๆ
  • ตั้งค่า Basic Authentication
  • ทดลองทำ Rate Limiting

สิ่งที่อยากทดลอง:

  1. Cart Management:
  • เวลาเพิ่ม/ลบสินค้า จะ Update ได้เร็วแค่ไหน
  • ทำยังไงให้ข้อมูลตะกร้าอยู่ครบหลัง Logout
  • จัดการ State ระหว่าง Cart กับ Inventory
  1. Message Flow:
  • Cart → Inventory (เช็คของในสต็อก)
  • Cart → Order (เวลากดสั่งซื้อ)
  • Order → Inventory (อัพเดทสต็อก)

“เป็นโปรเจคที่เน้นทดลองเล่นกับ State Management และ Message Queue… แถมได้ลองตั้งค่า Kong ด้วย! 🚀”

ปีหน้าถ้ามีโอกาส อยากลองศึกษาการพัฒนา RESTful API ด้วย Go และ Gin Framework ด้วยความที่ Go เป็นภาษาที่มีประสิทธิภาพสูงและเหมาะกับการทำ high-performance microservices แต่ยังคิดไม่ออกว่าจะทำ service อะไรดี 555 (อาจจะลองทำระบบจัดการ inventory ดู ถ้าไม่ขี้เกียจนะ 😅)

เรื่องสุขภาพ (ที่น่าเป็นห่วงที่สุด)

ปีนี้สุขภาพแย่มากๆ ผมเป็นโรคเก๊าท์ (ค่ายูริคสูงถึง 9.5) เพราะมีกรดยูริกในเลือดสูงมานาน จนกลายเป็นผลึกไปเกาะตามข้อต่อ แถมยังมีไขมันพอกตับเพราะไม่ได้ควบคุมอาหารเลย ตอนที่อาการกำเริบ เดินแทบไม่ได้ ปวด บวม แดง ร้อน โดยเฉพาะบริเวณนิ้วหัวแม่เท้า… ต้องยอมรับว่าหลังโควิด ไม่ได้ออกกำลังกายจริงจังเลย ทั้งที่ปกติเคยว่ายน้ำและเดินเร็วอยู่เป็นประจำ

💰 เรื่องการเงิน (บันทึกของมนุษย์เงินเดือน)

“เงินเดือนเท่าเดิม แต่ค่าใช้จ่ายเพิ่มขึ้น… ชีวิตมันช่างน่าหัวเราะ!”

ในฐานะมนุษย์เงินเดือนธรรมดาที่ไม่มีรายได้เสริม (เฮ้อ… แต่ก่อนงานนอกเคยเยอะแยะ นี่ก็หายไปไหนหมดไม่รู้ 😢) ปีนี้สถานการณ์การเงินก็… ชิลล์ๆ ไม่หวือหวา ไม่มีอะไรน่าตื่นเต้น

📊 แผนการเงินของคนไม่รู้เรื่องการลงทุน

1. เงินเดือนส่วนใหญ่หมดไปกับ:

  • ฝากธนาคารแบบออมทรัพย์ (ดอกเบี้ยน้อยจนต้องส่องแว่นขยาย 🔍)
  • กินดื่ม ช้อปปิ้ง เที่ยวตามประสาคนรักความสุข 🛍️
  • ลงทุนแบบเซฟๆ ในหุ้นกู้เรตติ้ง AA+(tha) (ปลอดภัยไว้ก่อน เผื่อเศรษฐกิจพัง 😅)

2. การลงทุนเพื่อลดหย่อนภาษี:

  • ประกันสะสมทรัพย์
  • ประกันชีวิต
  • ประกันสุขภาพ

    “อย่างน้อยก็ได้ลดหย่อนภาษี… เฮฮา!” 🎉

📈 ลองเล่นกองทุนบ้างตามคำแนะนำ

  • กองทุนรวมหุ้นทั่วโลก (เผื่อหุ้นไทยไม่ไหว)
  • กองทุน SSF RMF (ใครๆ ก็บอกว่าดี)
  • พอร์ตส่วนใหญ่เน้นหุ้นกลุ่ม:
    • เทคโนโลยี 💻
    • สาธารณูปโภคพื้นฐาน 🏭
    • บริการการเงิน 🏦
    • การสื่อสาร 📱

💭 “ปีหน้า… ถ้าไม่ขี้เกียจนะ (ขี้เกียจตลอด 😅) อยากศึกษาเรื่องการลงทุนให้ลึกซึ้งขึ้น… แต่ว่า… หาวววว”

📚 เรื่องการอ่านหนังสือ (บันทึกของนักสะสมหนังสือที่อ่านไม่จบ)

“ชั้นหนังสือผมเหมือนห้องสมุดที่ไม่มีใครอ่านจบ… 😅”

ต้องสารภาพตามตรงว่าเป็นโรคชอบซื้อหนังสือมาสะสม (หรือจริงๆ แล้วแค่ชอบช็อปปิ้งกันแน่?) 🤔

สถิติการอ่านปีนี้:

  • ซื้อหนังสือมา: เยอะมาก
  • อ่านจบ: เกือบจะมี… แต่ไม่มี 😅
  • อ่านได้ 1/4: หลายเล่ม
  • แค่ถ่ายรูปลง Instagram: เยอะที่สุด 📸

ช่วงหลังๆ มานี้เลยลองปรับกลยุทธ์ใหม่ หันมาอ่านหนังสือแปลไทยแทน ด้วยเหตุผล (หรือข้ออ้าง) ที่ว่าอยากพัฒนาทักษะการอ่านและการเขียนภาษาไทยให้ดีขึ้น

“แต่ความจริงก็คือ… หาข้ออ้างซื้อหนังสือเพิ่มนั่นเอง! 🙈”


💭 แผนปีหน้า: ถ้าไม่ขี้เกียจนะ (คำนี้คุ้นๆ) จะพยายามอ่านให้จบซักเล่ม… หรือไม่ก็แค่ครึ่งเล่มก็ได้… หรือแค่บทแรกก็ยังดี… 📖 💤