[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-6-12-superdev%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520academy-all-all-createdAt:desc-default":3},{"data":4,"page":510,"perPage":511,"totalItems":512,"totalPages":513},[5,69,122,171,212,242,274,316,353,393,425,458],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":65,"published_at":66,"school_blog":62,"short_description":67,"title":6,"updated":68,"slug":63,"views":64},"JS2GO EP.50 การ Deploy Application: Go vs Node.js สำหรับระบบ Production","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8hbhqgc0757fiic\u002Fcover_image_js2_go_ep_50_deploying_applications_go_vs_node_156u4kg4w1.oductionSystems.webp","2026-03-04 08:44:47.832Z",{"keywords":10,"locale":34,"school_blog":44},[11,19,24,29],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-04 08:44:47.024Z","","p4tvi007knx0nib","Deploy Application","2026-04-10 16:12:49.798Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:24:40.405Z","05u3tysava2z6ga","Node.js","2026-04-10 16:07:29.504Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-04-10 16:12:49.890Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":45,"collectionId":46,"collectionName":47,"created":15,"expand":48,"id":62,"slug":63,"updated":15,"views":64},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs",{"category":49},{"blogIds":50,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":54,"image_alt":15,"image_path":55,"label":56,"name":57,"priority":58,"publish_at":59,"scheduled_at":15,"status":60,"updated":61,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":57,"th":57},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-04-25 02:32:14.339Z","2qqbgr4sjupn62h","deploy-application-go-vs-nodejs-production",230,"8hbhqgc0757fiic","2025-12-30 10:59:34.161Z","บทสรุป End-to-End Deployment เปรียบเทียบ Go และ Node.js ในโลก Production ตั้งแต่ Build, Docker, Secrets, CI\u002FCD ไปจนถึง Zero-downtime Deployment จากประสบการณ์ใช้งานจริง","2026-05-08 06:51:57.596Z",{"alt":70,"cover_image_path":71,"created":72,"expand":73,"id":118,"published_at":119,"school_blog":114,"short_description":120,"title":70,"updated":121,"slug":115,"views":117},"Git สำหรับผู้เริ่มต้น: เข้าใจ Add, Commit, Push แบบเห็นภาพ ไม่ต้องท่องจำ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F0nq4jactw3ay5um\u002Finfographic_showing_git_workflow_working_directory_staging_area_and_local_repository_xretq2u7fp.webp","2026-03-04 08:44:47.152Z",{"keywords":74,"locale":100,"school_blog":101},[75,80,85,90,95],{"collectionId":12,"collectionName":13,"created":76,"created_by":15,"id":77,"name":78,"updated":79,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},"2026-03-04 08:44:45.516Z","3nmqs1jfzhl7unv","สอน Git","2026-04-10 16:12:49.430Z",{"collectionId":12,"collectionName":13,"created":86,"created_by":15,"id":87,"name":88,"updated":89,"updated_by":15},"2026-03-04 08:44:45.738Z","zii0fvxs1ygxi1r","Git สำหรับมือใหม่","2026-04-10 16:12:49.524Z",{"collectionId":12,"collectionName":13,"created":91,"created_by":15,"id":92,"name":93,"updated":94,"updated_by":15},"2026-03-04 08:44:46.125Z","reeulx12kt2xrmk","พื้นฐาน Git","2026-04-10 16:12:49.619Z",{"collectionId":12,"collectionName":13,"created":96,"created_by":15,"id":97,"name":98,"updated":99,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-04-10 16:12:47.226Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":102,"collectionId":46,"collectionName":47,"created":15,"expand":103,"id":114,"slug":115,"updated":116,"views":117},"spm4l1k5bgmhmmt",{"category":104},{"blogIds":105,"collectionId":51,"collectionName":52,"created":106,"created_by":15,"id":102,"image":107,"image_alt":15,"image_path":108,"label":109,"name":110,"priority":111,"publish_at":112,"scheduled_at":15,"status":60,"updated":113,"updated_by":15},[],"2026-03-04 08:31:18.590Z","50hyjr6os45_ayazwr5gq7.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7.png",{"en":110,"th":110},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","8ljoi174s3n7xdv","git-for-beginners-visual-guide","2026-05-25 07:45:53.848Z",278,"0nq4jactw3ay5um","2025-12-30 10:31:28.406Z","เลิกตั้งชื่อไฟล์ Project_Final ได้แล้ว! มาทำความเข้าใจพื้นฐาน Git ผ่านภาพจำที่เข้าใจง่าย เรียนรู้ขั้นตอน Add, Commit และ Push แบบโปรแกรมเมอร์มืออาชีพ","2026-05-08 06:51:57.438Z",{"alt":123,"cover_image_path":124,"created":125,"expand":126,"id":167,"published_at":168,"school_blog":163,"short_description":169,"title":123,"updated":170,"slug":164,"views":166},"EP.123 Load Balancing & Sticky Sessions สำหรับ WebSocket (Production-Ready Guide)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9jkgoya0lc1xyon\u002Fcover_image_ep_gqh5x2ytmj.onsforWebSocket.webp","2026-03-04 08:44:49.572Z",{"keywords":127,"locale":149,"school_blog":150},[128,133,134,139,144],{"collectionId":12,"collectionName":13,"created":129,"created_by":15,"id":130,"name":131,"updated":132,"updated_by":15},"2026-03-04 08:44:48.724Z","s6xhnfomy7n5ycp","WebSocket Server","2026-04-10 16:12:50.171Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-04-10 16:08:08.875Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:44:49.054Z","vbjgbr5ah0kh43p","Real-time System","2026-04-10 16:12:50.311Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":152,"id":163,"slug":164,"updated":165,"views":166},"wqxt7ag2gn7xcmk",{"category":153},{"blogIds":154,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":158,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],"2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":159,"th":159},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-05-26 07:53:18.863Z",269,"9jkgoya0lc1xyon","2025-12-30 09:45:56.384Z","เจาะลึกการออกแบบ Load Balancer สำหรับ WebSocket ตั้งแต่หลักการ Sticky Session ไปจนถึงแนวทาง Scale ระบบจริงบน Kubernetes เพื่อป้องกันการหลุดของ connection และรองรับผู้ใช้จำนวนมากในระดับ Production","2026-05-08 06:51:58.260Z",{"alt":172,"cover_image_path":173,"created":174,"expand":175,"id":208,"published_at":209,"school_blog":204,"short_description":210,"title":172,"updated":211,"slug":205,"views":207},"EP.122 ขยายระบบ WebSocket ข้าม Region ด้วย Geo-distributed Scaling","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fknc34p98jnuu78s\u002Fcover_image_ep_wgq6o3mql5.iesforWebSocket.webp","2026-03-04 08:44:49.918Z",{"keywords":176,"locale":198,"school_blog":199},[177,182,183,188,193],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":184,"created_by":15,"id":185,"name":186,"updated":187,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-04-10 16:12:46.399Z",{"collectionId":12,"collectionName":13,"created":189,"created_by":15,"id":190,"name":191,"updated":192,"updated_by":15},"2026-03-04 08:44:49.245Z","mmj7m8vbrznqxx6","Geo-Distributed","2026-04-10 16:12:50.450Z",{"collectionId":12,"collectionName":13,"created":194,"created_by":15,"id":195,"name":196,"updated":197,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-04-10 16:12:50.583Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":200,"id":204,"slug":205,"updated":206,"views":207},{"category":201},{"blogIds":202,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":203,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],{"en":159,"th":159},"br3q5z8ln357s53","websocket-geo-scaling-strategies","2026-05-13 08:24:48.462Z",226,"knc34p98jnuu78s","2025-12-30 09:45:47.000Z","เรียนรู้แนวทางขยาย WebSocket Server แบบข้ามภูมิภาค เพื่อลด latency รองรับผู้ใช้ทั่วโลก และวางโครงสร้างให้พร้อมระดับ Enterprise","2026-05-08 06:51:58.530Z",{"alt":213,"cover_image_path":214,"created":215,"expand":216,"id":238,"published_at":239,"school_blog":234,"short_description":240,"title":213,"updated":241,"slug":235,"views":237},"EP.121 Deploy WebSocket Server บน Kubernetes ให้เสถียรและพร้อมใช้งานจริง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F7zzc9diqnbfzpd5\u002Fcover_image_ep_itflh3jc0p.oductionSystems.webp","2026-03-04 08:44:50.865Z",{"keywords":217,"locale":228,"school_blog":229},[218,219,220,225,226,227],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"collectionId":12,"collectionName":13,"created":221,"created_by":15,"id":222,"name":223,"updated":224,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-04-10 16:12:43.373Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":230,"id":234,"slug":235,"updated":236,"views":237},{"category":231},{"blogIds":232,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":233,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],{"en":159,"th":159},"jdvfu3khsdfw08k","deploy-websocket-server-kubernetes-production","2026-05-19 09:18:42.195Z",275,"7zzc9diqnbfzpd5","2025-12-29 10:10:07.916Z","เรียนรู้วิธี Deploy WebSocket Server ด้วย Kubernetes ตั้งแต่การสร้าง Docker Image, ตั้งค่า Load Balancer, ใช้ Sticky Session, Auto Scaling และจัดการ Graceful Shutdown ให้พร้อมใช้งานในระดับ Production จริง","2026-05-08 06:51:58.854Z",{"alt":243,"cover_image_path":244,"created":245,"expand":246,"id":270,"published_at":271,"school_blog":266,"short_description":272,"title":243,"updated":273,"slug":267,"views":269},"EP.120 Whiteboard & Real-time Drawing Synchronization ด้วย WebSocket","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fb3o64zx8imsejrd\u002Fcover_image_ep_siccboj32o.onwithWebSocket.webp","2026-03-04 08:44:52.925Z",{"keywords":247,"locale":260,"school_blog":261},[248,249,253,254,255],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},{"collectionId":12,"collectionName":13,"created":250,"created_by":15,"id":251,"name":159,"updated":252,"updated_by":15},"2026-03-04 08:44:51.471Z","hlato0hav8vo8wm","2026-04-10 16:12:50.850Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":256,"created_by":15,"id":257,"name":258,"updated":259,"updated_by":15},"2026-03-04 08:44:51.688Z","ztv5f26qud778za","whiteboard","2026-04-10 16:12:50.940Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":262,"id":266,"slug":267,"updated":268,"views":269},{"category":263},{"blogIds":264,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":265,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],{"en":159,"th":159},"clsm7oxkvsptxhx","ep-120-realtime-whiteboard-drawing-websocket","2026-05-25 19:49:50.035Z",241,"b3o64zx8imsejrd","2025-12-29 04:41:19.809Z","ออกแบบระบบ Whiteboard ที่รองรับการวาดพร้อมกันหลายคนแบบเรียลไทม์ ด้วย Go และ WebSocket พร้อมแนวคิด undo\u002Fredo และ performance optimization","2026-05-08 06:51:59.489Z",{"alt":275,"cover_image_path":276,"created":277,"expand":278,"id":312,"published_at":313,"school_blog":308,"short_description":314,"title":275,"updated":315,"slug":309,"views":311},"JS2GO EP.49 Security สำหรับ Backend ด้วย Go และ Node.js","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fik5ueoh4be7ojlt\u002Fcover_image_js2_go_ep_49_backend_security_with_go_and_node_3l4haf828s.js.webp","2026-03-04 08:44:53.727Z",{"keywords":279,"locale":302,"school_blog":303},[280,285,290,295,300,301],{"collectionId":12,"collectionName":13,"created":281,"created_by":15,"id":282,"name":283,"updated":284,"updated_by":15},"2026-03-04 08:44:52.376Z","7kgkxt1b9xd0cca","Authorization","2026-04-10 16:12:51.107Z",{"collectionId":12,"collectionName":13,"created":286,"created_by":15,"id":287,"name":288,"updated":289,"updated_by":15},"2026-03-04 08:34:18.095Z","z3u3nql685g5e3b","Authentication","2026-04-10 16:08:11.664Z",{"collectionId":12,"collectionName":13,"created":291,"created_by":15,"id":292,"name":293,"updated":294,"updated_by":15},"2026-03-04 08:44:53.062Z","puutdnxuitnxxgq","Backend","2026-04-10 16:12:51.264Z",{"collectionId":12,"collectionName":13,"created":296,"created_by":15,"id":297,"name":298,"updated":299,"updated_by":15},"2026-03-04 08:44:52.790Z","tkf1l5rauw0t7m0","Secure API Design","2026-04-10 16:12:51.172Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":15,"expand":304,"id":308,"slug":309,"updated":310,"views":311},{"category":305},{"blogIds":306,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":54,"image_alt":15,"image_path":55,"label":307,"name":57,"priority":58,"publish_at":59,"scheduled_at":15,"status":60,"updated":61,"updated_by":15},[],{"en":57,"th":57},"q6au12trb7ipmxx","js2go-ep49-backend-security-authentication-authorization-validation","2026-05-25 18:19:53.101Z",256,"ik5ueoh4be7ojlt","2025-12-24 10:19:35.052Z","สรุปพื้นฐาน Security ที่ระบบ Backend ต้องมี ตั้งแต่ Authentication Authorization และ Data Validation พร้อมแนวทางใช้งานจริงใน Go และ Node.js สำหรับระบบ Production","2026-05-08 06:51:59.827Z",{"alt":317,"cover_image_path":318,"created":319,"expand":320,"id":349,"published_at":350,"school_blog":345,"short_description":351,"title":317,"updated":352,"slug":346,"views":348},"JS2GO EP.48 Logging & Monitoring for Production (Go & Node.js)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fssj081nxo3m7iqh\u002Fcover_image_js2_go_ep_48_logging_monitoring_for_production_go_node_qpowgw7zj4.js.webp","2026-03-04 08:44:54.485Z",{"keywords":321,"locale":339,"school_blog":340},[322,327,332,333,338],{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:44:53.651Z","tuo9u1ayxlr8xvm","Monitoring System","2026-04-10 16:12:51.456Z",{"collectionId":12,"collectionName":13,"created":328,"created_by":15,"id":329,"name":330,"updated":331,"updated_by":15},"2026-03-04 08:44:54.012Z","e283qzmjw1vq2l4","Logging Production","2026-04-10 16:12:51.523Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":334,"created_by":15,"id":335,"name":336,"updated":337,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":15,"expand":341,"id":345,"slug":346,"updated":347,"views":348},{"category":342},{"blogIds":343,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":54,"image_alt":15,"image_path":55,"label":344,"name":57,"priority":58,"publish_at":59,"scheduled_at":15,"status":60,"updated":61,"updated_by":15},[],{"en":57,"th":57},"d8jrjoxb8k7la64","js2go-ep48-logging-monitoring-production-go-nodejs","2026-05-24 03:29:03.812Z",236,"ssj081nxo3m7iqh","2025-12-23 04:57:48.010Z","จากการมีแค่ log สู่การเข้าใจระบบทั้งก้อน เรียนรู้ Structured Logging, Correlation ID, Metrics, Tracing และ Error Monitoring เพื่อให้ระบบ Go และ Node.js พร้อมใช้งานจริงในระดับ Production และ Microservices","2026-05-08 06:51:59.957Z",{"alt":354,"cover_image_path":355,"created":356,"expand":357,"id":389,"published_at":390,"school_blog":385,"short_description":391,"title":354,"updated":392,"slug":386,"views":388},"Work-Life Balance แบบ Programmer: วิธีไม่ให้หมดไฟในวงการนี้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkwwrvw3iltat93v\u002Fwork_life_balance_for_programmers_how_to_avoid_burnout_in_the_tech_industry_762b9s96my.webp","2026-03-04 08:44:58.989Z",{"keywords":358,"locale":379,"school_blog":380},[359,364,369,374],{"collectionId":12,"collectionName":13,"created":360,"created_by":15,"id":361,"name":362,"updated":363,"updated_by":15},"2026-03-04 08:35:12.499Z","9bexb3o9mxg9dei","Burnout","2026-04-10 16:12:39.924Z",{"collectionId":12,"collectionName":13,"created":365,"created_by":15,"id":366,"name":367,"updated":368,"updated_by":15},"2026-03-04 08:44:58.046Z","h2p9vyglxcuqfov","ชีวิตโปรแกรมเมอร์","2026-04-10 16:12:52.407Z",{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"updated_by":15},"2026-03-04 08:44:58.280Z","hoxhv4dr3heikf6","โปรแกรมเมอร์หมดไฟ","2026-04-10 16:12:52.474Z",{"collectionId":12,"collectionName":13,"created":375,"created_by":15,"id":376,"name":377,"updated":378,"updated_by":15},"2026-03-04 08:44:57.697Z","rw5wz1cf9aox58p","Work-Life Balance","2026-04-10 16:12:52.284Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":102,"collectionId":46,"collectionName":47,"created":15,"expand":381,"id":385,"slug":386,"updated":387,"views":388},{"category":382},{"blogIds":383,"collectionId":51,"collectionName":52,"created":106,"created_by":15,"id":102,"image":107,"image_alt":15,"image_path":108,"label":384,"name":110,"priority":111,"publish_at":112,"scheduled_at":15,"status":60,"updated":113,"updated_by":15},[],{"en":110,"th":110},"sy7kac0t03r9dox","work-life-balance-for-programmers","2026-05-26 15:04:56.482Z",232,"kwwrvw3iltat93v","2025-12-22 02:12:40.992Z","การทำงานสายโปรแกรมเมอร์เต็มไปด้วยความกดดัน เดดไลน์ และการเรียนรู้ไม่สิ้นสุด บทความนี้จะพาคุณเข้าใจ Work-Life Balance สำหรับ Programmer อย่างแท้จริง พร้อมแนวคิดและวิธีดูแลตัวเอง เพื่อทำงานได้ดีโดยไม่หมดไฟในระยะยาว","2026-05-08 06:52:01.275Z",{"alt":394,"cover_image_path":395,"created":396,"expand":397,"id":421,"published_at":422,"school_blog":417,"short_description":423,"title":394,"updated":424,"slug":418,"views":420},"EP.119 สร้างระบบ Real-time Document Editing แบบ Google Docs ด้วย WebSocket และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnyzij7kxx6kmddu\u002Fcover_image_ep_ylr3nwpk30.gWebSocketandGo.webp","2026-03-04 08:44:56.148Z",{"keywords":398,"locale":411,"school_blog":412},[399,400,401,406],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":402,"created_by":15,"id":403,"name":404,"updated":405,"updated_by":15},"2026-03-04 08:44:54.877Z","ype7kkszqa7py9n","Real-time Document","2026-04-10 16:12:51.779Z",{"collectionId":12,"collectionName":13,"created":407,"created_by":15,"id":408,"name":409,"updated":410,"updated_by":15},"2026-03-04 08:44:54.550Z","dhhilrqrpmtr3x7","Google Docs","2026-04-10 16:12:51.619Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":413,"id":417,"slug":418,"updated":419,"views":420},{"category":414},{"blogIds":415,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":416,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],{"en":159,"th":159},"nez2cwex9p6we4q","realtime-document-editing-with-go-websocket","2026-05-12 11:21:18.066Z",242,"nyzij7kxx6kmddu","2025-12-22 02:12:35.702Z","เรียนรู้การพัฒนาระบบแก้ไขเอกสารแบบหลายคนพร้อมกันแบบ Real-time ด้วย Go และ WebSocket พร้อมแนวคิดจัดการ Conflict และ Version Control","2026-05-08 06:52:00.506Z",{"alt":426,"cover_image_path":427,"created":428,"expand":429,"id":454,"published_at":455,"school_blog":450,"short_description":456,"title":426,"updated":457,"slug":451,"views":453},"EP.118 การสร้างระบบ AI + WebSocket สำหรับ IoT แบบเรียลไทม์","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fusojgv4mbo51ee9\u002Fcover_image_ep_5u7zo3et9b.emforIoTDevices.webp","2026-03-04 08:44:57.441Z",{"keywords":430,"locale":444,"school_blog":445},[431,432,437,438,443],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":433,"created_by":15,"id":434,"name":435,"updated":436,"updated_by":15},"2026-03-04 08:44:56.136Z","1ant8hjpcxuj8a2","IoT","2026-04-10 16:12:51.845Z",{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},{"collectionId":12,"collectionName":13,"created":439,"created_by":15,"id":440,"name":441,"updated":442,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-04-10 16:07:41.358Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":151,"collectionId":46,"collectionName":47,"created":15,"expand":446,"id":450,"slug":451,"updated":452,"views":453},{"category":447},{"blogIds":448,"collectionId":51,"collectionName":52,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":449,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":60,"updated":162,"updated_by":15},[],{"en":159,"th":159},"3wlgaoume77bwtm","golang-ep118-ai-websocket-iot-real-time","2026-05-24 03:23:52.154Z",252,"usojgv4mbo51ee9","2025-12-22 02:12:30.693Z","เรียนรู้การสร้างระบบ IoT อัจฉริยะด้วย Go + WebSocket ที่ผสาน AI เพื่อทำ Anomaly Detection และ Predictive Maintenance แบบเรียลไทม์ พร้อมแนวทางใช้งานจริงในระดับ Production","2026-05-08 06:52:00.864Z",{"alt":459,"cover_image_path":460,"created":461,"expand":462,"id":506,"published_at":507,"school_blog":502,"short_description":508,"title":459,"updated":509,"slug":503,"views":505},"ไขความลับ \"Nano Banana\": ทำไม AI ชื่อกล้วยๆ ถึงล้มแชมป์เก่าได้ราบคาบ?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fndyl8vxkneahr45\u002Fdigital_glowing_banana_graphic_representing_nano_banana_the_codename_for_google_s_new_gemini_image_m_4di09vp1hq.webp","2026-03-04 08:45:01.197Z",{"keywords":463,"locale":489,"school_blog":490},[464,469,474,479,484],{"collectionId":12,"collectionName":13,"created":465,"created_by":15,"id":466,"name":467,"updated":468,"updated_by":15},"2026-03-04 08:44:59.347Z","zx9l4eq448df98a","Gemini AI","2026-04-10 16:12:52.674Z",{"collectionId":12,"collectionName":13,"created":470,"created_by":15,"id":471,"name":472,"updated":473,"updated_by":15},"2026-03-04 08:45:00.090Z","yxvyznmahwofbr4","Gemini Image Generation","2026-04-10 16:12:52.934Z",{"collectionId":12,"collectionName":13,"created":475,"created_by":15,"id":476,"name":477,"updated":478,"updated_by":15},"2026-03-04 08:45:00.752Z","2c5b5bcrxk9qvpy","สร้างภาพด้วย AI","2026-04-10 16:12:53.208Z",{"collectionId":12,"collectionName":13,"created":480,"created_by":15,"id":481,"name":482,"updated":483,"updated_by":15},"2026-03-04 08:44:59.765Z","51knaqayw5mn73i","Google Gemini","2026-04-10 16:12:52.773Z",{"collectionId":12,"collectionName":13,"created":485,"created_by":15,"id":486,"name":487,"updated":488,"updated_by":15},"2026-03-04 08:45:00.498Z","21720ewj4b2qmja","Nano Banana","2026-04-10 16:12:53.080Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":491,"collectionId":46,"collectionName":47,"created":15,"expand":492,"id":502,"slug":503,"updated":504,"views":505},"pkuzfil3b4ug2ea",{"category":493},{"blogIds":494,"collectionId":51,"collectionName":52,"created":495,"created_by":15,"id":491,"image":496,"image_alt":15,"image_path":497,"label":498,"name":499,"priority":111,"publish_at":500,"scheduled_at":15,"status":60,"updated":501,"updated_by":15},[],"2026-03-04 08:31:47.860Z","3w9eadde0ql_vquww3nx7o.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fpkuzfil3b4ug2ea\u002F3w9eadde0ql_vquww3nx7o.png",{"en":499,"th":499},"Cutting-Edge Tech","2025-01-27 08:43:38.395Z","2026-04-25 02:32:14.847Z","r41jxqt4x4t621a","nano-banana-google-gemini-ai-reveal","2026-05-25 19:10:20.464Z",266,"ndyl8vxkneahr45","2025-12-17 11:47:04.517Z","เจาะลึกเบื้องหลัง \"Nano Banana\" ชื่อลับของ Gemini Image Model ที่เอาชนะ Midjourney ในการทดสอบ Blind Test ด้วยฟีเจอร์เขียนข้อความแม่นยำและความเข้าใจบริบทระดับเทพ พร้อมวิธีใช้งานจริง","2026-05-08 06:52:01.468Z",6,12,414,35]