[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-7-12-Web%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":511,"perPage":512,"totalItems":513,"totalPages":514},[5,71,124,173,214,244,276,318,355,395,427,460],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":67,"published_at":68,"school_blog":63,"short_description":69,"title":6,"updated":70,"slug":64,"views":66},"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","76qprkevbgfdps8","p4tvi007knx0nib","Deploy Application","2026-06-07 06:46:38.718Z",{"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-06-07 06:45:07.798Z",{"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-06-07 06:45:12.195Z",{"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-06-07 06:46:38.822Z",{"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":48,"expand":49,"id":63,"slug":64,"updated":65,"views":66},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs","",{"category":50},{"blogIds":51,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":57,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"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":58,"th":58},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-06-07 06:45:02.240Z","2qqbgr4sjupn62h","deploy-application-go-vs-nodejs-production","2026-06-07 20:48:56.681Z",233,"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-06-07 06:43:22.811Z",{"alt":72,"cover_image_path":73,"created":74,"expand":75,"id":120,"published_at":121,"school_blog":116,"short_description":122,"title":72,"updated":123,"slug":117,"views":119},"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":76,"locale":102,"school_blog":103},[77,82,87,92,97],{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},"2026-03-04 08:44:45.516Z","3nmqs1jfzhl7unv","สอน Git","2026-06-07 06:46:38.371Z",{"collectionId":12,"collectionName":13,"created":88,"created_by":15,"id":89,"name":90,"updated":91,"updated_by":15},"2026-03-04 08:44:45.738Z","zii0fvxs1ygxi1r","Git สำหรับมือใหม่","2026-06-07 06:46:38.466Z",{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"updated_by":15},"2026-03-04 08:44:46.125Z","reeulx12kt2xrmk","พื้นฐาน Git","2026-06-07 06:46:38.568Z",{"collectionId":12,"collectionName":13,"created":98,"created_by":15,"id":99,"name":100,"updated":101,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-06-07 06:46:35.800Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":104,"collectionId":46,"collectionName":47,"created":48,"expand":105,"id":116,"slug":117,"updated":118,"views":119},"spm4l1k5bgmhmmt",{"category":106},{"blogIds":107,"collectionId":52,"collectionName":53,"created":108,"created_by":15,"id":104,"image":109,"image_alt":48,"image_path":110,"label":111,"name":112,"priority":113,"publish_at":114,"scheduled_at":48,"status":61,"updated":115,"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":112,"th":112},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","8ljoi174s3n7xdv","git-for-beginners-visual-guide","2026-06-07 22:25:05.605Z",280,"0nq4jactw3ay5um","2025-12-30 10:31:28.406Z","เลิกตั้งชื่อไฟล์ Project_Final ได้แล้ว! มาทำความเข้าใจพื้นฐาน Git ผ่านภาพจำที่เข้าใจง่าย เรียนรู้ขั้นตอน Add, Commit และ Push แบบโปรแกรมเมอร์มืออาชีพ","2026-06-07 06:43:22.517Z",{"alt":125,"cover_image_path":126,"created":127,"expand":128,"id":169,"published_at":170,"school_blog":165,"short_description":171,"title":125,"updated":172,"slug":166,"views":168},"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":129,"locale":151,"school_blog":152},[130,135,136,141,146],{"collectionId":12,"collectionName":13,"created":131,"created_by":15,"id":132,"name":133,"updated":134,"updated_by":15},"2026-03-04 08:44:48.724Z","s6xhnfomy7n5ycp","WebSocket Server","2026-06-07 06:46:39.070Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":137,"created_by":15,"id":138,"name":139,"updated":140,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-06-07 06:46:00.116Z",{"collectionId":12,"collectionName":13,"created":142,"created_by":15,"id":143,"name":144,"updated":145,"updated_by":15},"2026-03-04 08:44:49.054Z","vbjgbr5ah0kh43p","Real-time System","2026-06-07 06:46:39.270Z",{"collectionId":12,"collectionName":13,"created":147,"created_by":15,"id":148,"name":149,"updated":150,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":154,"id":165,"slug":166,"updated":167,"views":168},"wqxt7ag2gn7xcmk",{"category":155},{"blogIds":156,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":160,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"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":161,"th":161},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-05-27 08:01:51.970Z",270,"9jkgoya0lc1xyon","2025-12-30 09:45:56.384Z","เจาะลึกการออกแบบ Load Balancer สำหรับ WebSocket ตั้งแต่หลักการ Sticky Session ไปจนถึงแนวทาง Scale ระบบจริงบน Kubernetes เพื่อป้องกันการหลุดของ connection และรองรับผู้ใช้จำนวนมากในระดับ Production","2026-06-07 06:43:23.353Z",{"alt":174,"cover_image_path":175,"created":176,"expand":177,"id":210,"published_at":211,"school_blog":206,"short_description":212,"title":174,"updated":213,"slug":207,"views":209},"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":178,"locale":200,"school_blog":201},[179,184,185,190,195],{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":186,"created_by":15,"id":187,"name":188,"updated":189,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-06-07 06:46:34.757Z",{"collectionId":12,"collectionName":13,"created":191,"created_by":15,"id":192,"name":193,"updated":194,"updated_by":15},"2026-03-04 08:44:49.245Z","mmj7m8vbrznqxx6","Geo-Distributed","2026-06-07 06:46:39.431Z",{"collectionId":12,"collectionName":13,"created":196,"created_by":15,"id":197,"name":198,"updated":199,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-06-07 06:46:39.574Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":202,"id":206,"slug":207,"updated":208,"views":209},{"category":203},{"blogIds":204,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":205,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"updated_by":15},[],{"en":161,"th":161},"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-06-07 06:43:23.504Z",{"alt":215,"cover_image_path":216,"created":217,"expand":218,"id":240,"published_at":241,"school_blog":236,"short_description":242,"title":215,"updated":243,"slug":237,"views":239},"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":219,"locale":230,"school_blog":231},[220,221,222,227,228,229],{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"updated_by":15},{"collectionId":12,"collectionName":13,"created":137,"created_by":15,"id":138,"name":139,"updated":140,"updated_by":15},{"collectionId":12,"collectionName":13,"created":223,"created_by":15,"id":224,"name":225,"updated":226,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-06-07 06:46:31.098Z",{"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":147,"created_by":15,"id":148,"name":149,"updated":150,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":232,"id":236,"slug":237,"updated":238,"views":239},{"category":233},{"blogIds":234,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":235,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"updated_by":15},[],{"en":161,"th":161},"jdvfu3khsdfw08k","deploy-websocket-server-kubernetes-production","2026-06-06 18:59:46.687Z",276,"7zzc9diqnbfzpd5","2025-12-29 10:10:07.916Z","เรียนรู้วิธี Deploy WebSocket Server ด้วย Kubernetes ตั้งแต่การสร้าง Docker Image, ตั้งค่า Load Balancer, ใช้ Sticky Session, Auto Scaling และจัดการ Graceful Shutdown ให้พร้อมใช้งานในระดับ Production จริง","2026-06-07 06:43:23.871Z",{"alt":245,"cover_image_path":246,"created":247,"expand":248,"id":272,"published_at":273,"school_blog":268,"short_description":274,"title":245,"updated":275,"slug":269,"views":271},"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":249,"locale":262,"school_blog":263},[250,251,255,256,257],{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"updated_by":15},{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":161,"updated":254,"updated_by":15},"2026-03-04 08:44:51.471Z","hlato0hav8vo8wm","2026-06-07 06:46:40.040Z",{"collectionId":12,"collectionName":13,"created":147,"created_by":15,"id":148,"name":149,"updated":150,"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":258,"created_by":15,"id":259,"name":260,"updated":261,"updated_by":15},"2026-03-04 08:44:51.688Z","ztv5f26qud778za","whiteboard","2026-06-07 06:46:40.164Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":264,"id":268,"slug":269,"updated":270,"views":271},{"category":265},{"blogIds":266,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":267,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"updated_by":15},[],{"en":161,"th":161},"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-06-07 06:43:24.279Z",{"alt":277,"cover_image_path":278,"created":279,"expand":280,"id":314,"published_at":315,"school_blog":310,"short_description":316,"title":277,"updated":317,"slug":311,"views":313},"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":281,"locale":304,"school_blog":305},[282,287,292,297,302,303],{"collectionId":12,"collectionName":13,"created":283,"created_by":15,"id":284,"name":285,"updated":286,"updated_by":15},"2026-03-04 08:44:52.376Z","7kgkxt1b9xd0cca","Authorization","2026-06-07 06:46:40.298Z",{"collectionId":12,"collectionName":13,"created":288,"created_by":15,"id":289,"name":290,"updated":291,"updated_by":15},"2026-03-04 08:34:18.095Z","z3u3nql685g5e3b","Authentication","2026-06-07 06:46:03.611Z",{"collectionId":12,"collectionName":13,"created":293,"created_by":15,"id":294,"name":295,"updated":296,"updated_by":15},"2026-03-04 08:44:53.062Z","puutdnxuitnxxgq","Backend","2026-06-07 06:46:40.599Z",{"collectionId":12,"collectionName":13,"created":298,"created_by":15,"id":299,"name":300,"updated":301,"updated_by":15},"2026-03-04 08:44:52.790Z","tkf1l5rauw0t7m0","Secure API Design","2026-06-07 06:46:40.418Z",{"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":48,"expand":306,"id":310,"slug":311,"updated":312,"views":313},{"category":307},{"blogIds":308,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":309,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"q6au12trb7ipmxx","js2go-ep49-backend-security-authentication-authorization-validation","2026-06-14 21:56:35.311Z",262,"ik5ueoh4be7ojlt","2025-12-24 10:19:35.052Z","สรุปพื้นฐาน Security ที่ระบบ Backend ต้องมี ตั้งแต่ Authentication Authorization และ Data Validation พร้อมแนวทางใช้งานจริงใน Go และ Node.js สำหรับระบบ Production","2026-06-07 06:43:24.586Z",{"alt":319,"cover_image_path":320,"created":321,"expand":322,"id":351,"published_at":352,"school_blog":347,"short_description":353,"title":319,"updated":354,"slug":348,"views":350},"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":323,"locale":341,"school_blog":342},[324,329,334,335,340],{"collectionId":12,"collectionName":13,"created":325,"created_by":15,"id":326,"name":327,"updated":328,"updated_by":15},"2026-03-04 08:44:53.651Z","tuo9u1ayxlr8xvm","Monitoring System","2026-06-07 06:46:40.799Z",{"collectionId":12,"collectionName":13,"created":330,"created_by":15,"id":331,"name":332,"updated":333,"updated_by":15},"2026-03-04 08:44:54.012Z","e283qzmjw1vq2l4","Logging Production","2026-06-07 06:46:40.937Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":336,"created_by":15,"id":337,"name":338,"updated":339,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"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":48,"expand":343,"id":347,"slug":348,"updated":349,"views":350},{"category":344},{"blogIds":345,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":346,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"d8jrjoxb8k7la64","js2go-ep48-logging-monitoring-production-go-nodejs","2026-06-14 01:46:58.031Z",239,"ssj081nxo3m7iqh","2025-12-23 04:57:48.010Z","จากการมีแค่ log สู่การเข้าใจระบบทั้งก้อน เรียนรู้ Structured Logging, Correlation ID, Metrics, Tracing และ Error Monitoring เพื่อให้ระบบ Go และ Node.js พร้อมใช้งานจริงในระดับ Production และ Microservices","2026-06-07 06:43:24.808Z",{"alt":356,"cover_image_path":357,"created":358,"expand":359,"id":391,"published_at":392,"school_blog":387,"short_description":393,"title":356,"updated":394,"slug":388,"views":390},"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":360,"locale":381,"school_blog":382},[361,366,371,376],{"collectionId":12,"collectionName":13,"created":362,"created_by":15,"id":363,"name":364,"updated":365,"updated_by":15},"2026-03-04 08:35:12.499Z","9bexb3o9mxg9dei","Burnout","2026-06-07 06:46:27.454Z",{"collectionId":12,"collectionName":13,"created":367,"created_by":15,"id":368,"name":369,"updated":370,"updated_by":15},"2026-03-04 08:44:58.046Z","h2p9vyglxcuqfov","ชีวิตโปรแกรมเมอร์","2026-06-07 06:46:41.730Z",{"collectionId":12,"collectionName":13,"created":372,"created_by":15,"id":373,"name":374,"updated":375,"updated_by":15},"2026-03-04 08:44:58.280Z","hoxhv4dr3heikf6","โปรแกรมเมอร์หมดไฟ","2026-06-07 06:46:41.931Z",{"collectionId":12,"collectionName":13,"created":377,"created_by":15,"id":378,"name":379,"updated":380,"updated_by":15},"2026-03-04 08:44:57.697Z","rw5wz1cf9aox58p","Work-Life Balance","2026-06-07 06:46:41.636Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":104,"collectionId":46,"collectionName":47,"created":48,"expand":383,"id":387,"slug":388,"updated":389,"views":390},{"category":384},{"blogIds":385,"collectionId":52,"collectionName":53,"created":108,"created_by":15,"id":104,"image":109,"image_alt":48,"image_path":110,"label":386,"name":112,"priority":113,"publish_at":114,"scheduled_at":48,"status":61,"updated":115,"updated_by":15},[],{"en":112,"th":112},"sy7kac0t03r9dox","work-life-balance-for-programmers","2026-06-10 11:01:27.769Z",238,"kwwrvw3iltat93v","2025-12-22 02:12:40.992Z","การทำงานสายโปรแกรมเมอร์เต็มไปด้วยความกดดัน เดดไลน์ และการเรียนรู้ไม่สิ้นสุด บทความนี้จะพาคุณเข้าใจ Work-Life Balance สำหรับ Programmer อย่างแท้จริง พร้อมแนวคิดและวิธีดูแลตัวเอง เพื่อทำงานได้ดีโดยไม่หมดไฟในระยะยาว","2026-06-07 06:43:25.935Z",{"alt":396,"cover_image_path":397,"created":398,"expand":399,"id":423,"published_at":424,"school_blog":419,"short_description":425,"title":396,"updated":426,"slug":420,"views":422},"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":400,"locale":413,"school_blog":414},[401,402,403,408],{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"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":404,"created_by":15,"id":405,"name":406,"updated":407,"updated_by":15},"2026-03-04 08:44:54.877Z","ype7kkszqa7py9n","Real-time Document","2026-06-07 06:46:41.155Z",{"collectionId":12,"collectionName":13,"created":409,"created_by":15,"id":410,"name":411,"updated":412,"updated_by":15},"2026-03-04 08:44:54.550Z","dhhilrqrpmtr3x7","Google Docs","2026-06-07 06:46:41.069Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":415,"id":419,"slug":420,"updated":421,"views":422},{"category":416},{"blogIds":417,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":418,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"updated_by":15},[],{"en":161,"th":161},"nez2cwex9p6we4q","realtime-document-editing-with-go-websocket","2026-05-26 19:25:14.652Z",243,"nyzij7kxx6kmddu","2025-12-22 02:12:35.702Z","เรียนรู้การพัฒนาระบบแก้ไขเอกสารแบบหลายคนพร้อมกันแบบ Real-time ด้วย Go และ WebSocket พร้อมแนวคิดจัดการ Conflict และ Version Control","2026-06-07 06:43:25.293Z",{"alt":428,"cover_image_path":429,"created":430,"expand":431,"id":456,"published_at":457,"school_blog":452,"short_description":458,"title":428,"updated":459,"slug":453,"views":455},"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":432,"locale":446,"school_blog":447},[433,434,439,440,445],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":435,"created_by":15,"id":436,"name":437,"updated":438,"updated_by":15},"2026-03-04 08:44:56.136Z","1ant8hjpcxuj8a2","IoT","2026-06-07 06:46:41.338Z",{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"updated_by":15},{"collectionId":12,"collectionName":13,"created":441,"created_by":15,"id":442,"name":443,"updated":444,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-06-07 06:45:27.147Z",{"collectionId":12,"collectionName":13,"created":142,"created_by":15,"id":143,"name":144,"updated":145,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":153,"collectionId":46,"collectionName":47,"created":48,"expand":448,"id":452,"slug":453,"updated":454,"views":455},{"category":449},{"blogIds":450,"collectionId":52,"collectionName":53,"created":157,"created_by":15,"id":153,"image":158,"image_alt":48,"image_path":159,"label":451,"name":161,"priority":162,"publish_at":163,"scheduled_at":48,"status":61,"updated":164,"updated_by":15},[],{"en":161,"th":161},"3wlgaoume77bwtm","golang-ep118-ai-websocket-iot-real-time","2026-06-01 18:25:26.840Z",253,"usojgv4mbo51ee9","2025-12-22 02:12:30.693Z","เรียนรู้การสร้างระบบ IoT อัจฉริยะด้วย Go + WebSocket ที่ผสาน AI เพื่อทำ Anomaly Detection และ Predictive Maintenance แบบเรียลไทม์ พร้อมแนวทางใช้งานจริงในระดับ Production","2026-06-07 06:43:25.541Z",{"alt":461,"cover_image_path":462,"created":463,"expand":464,"id":507,"published_at":508,"school_blog":504,"short_description":509,"title":461,"updated":510,"slug":505,"views":239},"ไขความลับ \"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":465,"locale":491,"school_blog":492},[466,471,476,481,486],{"collectionId":12,"collectionName":13,"created":467,"created_by":15,"id":468,"name":469,"updated":470,"updated_by":15},"2026-03-04 08:44:59.347Z","zx9l4eq448df98a","Gemini AI","2026-06-07 06:46:42.128Z",{"collectionId":12,"collectionName":13,"created":472,"created_by":15,"id":473,"name":474,"updated":475,"updated_by":15},"2026-03-04 08:45:00.090Z","yxvyznmahwofbr4","Gemini Image Generation","2026-06-07 06:46:42.509Z",{"collectionId":12,"collectionName":13,"created":477,"created_by":15,"id":478,"name":479,"updated":480,"updated_by":15},"2026-03-04 08:45:00.752Z","2c5b5bcrxk9qvpy","สร้างภาพด้วย AI","2026-06-07 06:46:42.777Z",{"collectionId":12,"collectionName":13,"created":482,"created_by":15,"id":483,"name":484,"updated":485,"updated_by":15},"2026-03-04 08:44:59.765Z","51knaqayw5mn73i","Google Gemini","2026-06-07 06:46:42.374Z",{"collectionId":12,"collectionName":13,"created":487,"created_by":15,"id":488,"name":489,"updated":490,"updated_by":15},"2026-03-04 08:45:00.498Z","21720ewj4b2qmja","Nano Banana","2026-06-07 06:46:42.647Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":493,"collectionId":46,"collectionName":47,"created":48,"expand":494,"id":504,"slug":505,"updated":506,"views":239},"pkuzfil3b4ug2ea",{"category":495},{"blogIds":496,"collectionId":52,"collectionName":53,"created":497,"created_by":15,"id":493,"image":498,"image_alt":48,"image_path":499,"label":500,"name":501,"priority":113,"publish_at":502,"scheduled_at":48,"status":61,"updated":503,"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":501,"th":501},"Cutting-Edge Tech","2025-01-27 08:43:38.395Z","2026-06-07 06:45:02.895Z","r41jxqt4x4t621a","nano-banana-google-gemini-ai-reveal","2026-06-13 19:47:21.528Z","ndyl8vxkneahr45","2025-12-17 11:47:04.517Z","เจาะลึกเบื้องหลัง \"Nano Banana\" ชื่อลับของ Gemini Image Model ที่เอาชนะ Midjourney ในการทดสอบ Blind Test ด้วยฟีเจอร์เขียนข้อความแม่นยำและความเข้าใจบริบทระดับเทพ พร้อมวิธีใช้งานจริง","2026-06-07 06:43:26.073Z",7,12,427,36]