[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-9-12-How%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520to-all-all-createdAt:desc-default":3},{"data":4,"page":525,"perPage":526,"totalItems":527,"totalPages":528},[5,71,119,156,208,252,284,312,354,407,449,487],{"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},"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":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:35:12.499Z","76qprkevbgfdps8","9bexb3o9mxg9dei","Burnout","2026-06-07 06:46:27.454Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:44:58.046Z","h2p9vyglxcuqfov","ชีวิตโปรแกรมเมอร์","2026-06-07 06:46:41.730Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:44:58.280Z","hoxhv4dr3heikf6","โปรแกรมเมอร์หมดไฟ","2026-06-07 06:46:41.931Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"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},"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},"spm4l1k5bgmhmmt","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:31:18.590Z","50hyjr6os45_ayazwr5gq7.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7.png",{"en":58,"th":58},"Knowledge",0,"2026-03-18 02:25:41.222Z","published","2026-06-07 06:45:02.533Z","sy7kac0t03r9dox","work-life-balance-for-programmers","2026-06-27 15:11:33.631Z",242,"kwwrvw3iltat93v","2025-12-22 02:12:40.992Z","การทำงานสายโปรแกรมเมอร์เต็มไปด้วยความกดดัน เดดไลน์ และการเรียนรู้ไม่สิ้นสุด บทความนี้จะพาคุณเข้าใจ Work-Life Balance สำหรับ Programmer อย่างแท้จริง พร้อมแนวคิดและวิธีดูแลตัวเอง เพื่อทำงานได้ดีโดยไม่หมดไฟในระยะยาว","2026-06-07 06:43:25.935Z",{"alt":72,"cover_image_path":73,"created":74,"expand":75,"id":115,"published_at":116,"school_blog":111,"short_description":117,"title":72,"updated":118,"slug":112,"views":114},"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":76,"locale":97,"school_blog":98},[77,82,87,92],{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":88,"created_by":15,"id":89,"name":90,"updated":91,"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":93,"created_by":15,"id":94,"name":95,"updated":96,"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":99,"collectionId":46,"collectionName":47,"created":48,"expand":100,"id":111,"slug":112,"updated":113,"views":114},"wqxt7ag2gn7xcmk",{"category":101},{"blogIds":102,"collectionId":52,"collectionName":53,"created":103,"created_by":15,"id":99,"image":104,"image_alt":48,"image_path":105,"label":106,"name":107,"priority":108,"publish_at":109,"scheduled_at":48,"status":61,"updated":110,"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":107,"th":107},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","nez2cwex9p6we4q","realtime-document-editing-with-go-websocket","2026-07-01 17:24:39.715Z",246,"nyzij7kxx6kmddu","2025-12-22 02:12:35.702Z","เรียนรู้การพัฒนาระบบแก้ไขเอกสารแบบหลายคนพร้อมกันแบบ Real-time ด้วย Go และ WebSocket พร้อมแนวคิดจัดการ Conflict และ Version Control","2026-06-07 06:43:25.293Z",{"alt":120,"cover_image_path":121,"created":122,"expand":123,"id":152,"published_at":153,"school_blog":148,"short_description":154,"title":120,"updated":155,"slug":149,"views":151},"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":124,"locale":142,"school_blog":143},[125,126,131,132,137],{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":127,"created_by":15,"id":128,"name":129,"updated":130,"updated_by":15},"2026-03-04 08:44:56.136Z","1ant8hjpcxuj8a2","IoT","2026-06-07 06:46:41.338Z",{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},{"collectionId":12,"collectionName":13,"created":133,"created_by":15,"id":134,"name":135,"updated":136,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-06-07 06:45:27.147Z",{"collectionId":12,"collectionName":13,"created":138,"created_by":15,"id":139,"name":140,"updated":141,"updated_by":15},"2026-03-04 08:44:49.054Z","vbjgbr5ah0kh43p","Real-time System","2026-06-07 06:46:39.270Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":99,"collectionId":46,"collectionName":47,"created":48,"expand":144,"id":148,"slug":149,"updated":150,"views":151},{"category":145},{"blogIds":146,"collectionId":52,"collectionName":53,"created":103,"created_by":15,"id":99,"image":104,"image_alt":48,"image_path":105,"label":147,"name":107,"priority":108,"publish_at":109,"scheduled_at":48,"status":61,"updated":110,"updated_by":15},[],{"en":107,"th":107},"3wlgaoume77bwtm","golang-ep118-ai-websocket-iot-real-time","2026-07-03 17:23:52.340Z",256,"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":157,"cover_image_path":158,"created":159,"expand":160,"id":204,"published_at":205,"school_blog":200,"short_description":206,"title":157,"updated":207,"slug":201,"views":203},"ไขความลับ \"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":161,"locale":187,"school_blog":188},[162,167,172,177,182],{"collectionId":12,"collectionName":13,"created":163,"created_by":15,"id":164,"name":165,"updated":166,"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":168,"created_by":15,"id":169,"name":170,"updated":171,"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":173,"created_by":15,"id":174,"name":175,"updated":176,"updated_by":15},"2026-03-04 08:45:00.752Z","2c5b5bcrxk9qvpy","สร้างภาพด้วย AI","2026-06-07 06:46:42.777Z",{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"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":183,"created_by":15,"id":184,"name":185,"updated":186,"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":189,"collectionId":46,"collectionName":47,"created":48,"expand":190,"id":200,"slug":201,"updated":202,"views":203},"pkuzfil3b4ug2ea",{"category":191},{"blogIds":192,"collectionId":52,"collectionName":53,"created":193,"created_by":15,"id":189,"image":194,"image_alt":48,"image_path":195,"label":196,"name":197,"priority":59,"publish_at":198,"scheduled_at":48,"status":61,"updated":199,"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":197,"th":197},"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-07-01 19:39:19.735Z",278,"ndyl8vxkneahr45","2025-12-17 11:47:04.517Z","เจาะลึกเบื้องหลัง \"Nano Banana\" ชื่อลับของ Gemini Image Model ที่เอาชนะ Midjourney ในการทดสอบ Blind Test ด้วยฟีเจอร์เขียนข้อความแม่นยำและความเข้าใจบริบทระดับเทพ พร้อมวิธีใช้งานจริง","2026-06-07 06:43:26.073Z",{"alt":209,"cover_image_path":210,"created":211,"expand":212,"id":248,"published_at":249,"school_blog":244,"short_description":250,"title":209,"updated":251,"slug":245,"views":247},"JS2GO EP.47 Dependency Injection ใน Go และ Node.js: ทำไมระบบใหญ่ต้องมี DI?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F89duht4c5ae6qrn\u002Fcover_image_js2_go_ep_47_dependency_injection_in_go_and_node_hehykg0srq.geSystemsNeedDI.webp","2026-03-04 08:45:02.070Z",{"keywords":213,"locale":230,"school_blog":231},[214,219,224,229],{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"updated_by":15},"2026-03-04 08:45:01.083Z","anx8rod7y41shjl","Clean Architecture","2026-06-07 06:46:42.927Z",{"collectionId":12,"collectionName":13,"created":220,"created_by":15,"id":221,"name":222,"updated":223,"updated_by":15},"2026-03-04 08:45:01.460Z","bbwe2jz83qa1d1j","Dependency Injection","2026-06-07 06:46:43.035Z",{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"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":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":232,"collectionId":46,"collectionName":47,"created":48,"expand":233,"id":244,"slug":245,"updated":246,"views":247},"hsa1afr8fcnd6qb",{"category":234},{"blogIds":235,"collectionId":52,"collectionName":53,"created":236,"created_by":15,"id":232,"image":237,"image_alt":48,"image_path":238,"label":239,"name":240,"priority":241,"publish_at":242,"scheduled_at":48,"status":61,"updated":243,"updated_by":15},[],"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":240,"th":240},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-06-07 06:45:02.240Z","i20pcnin578firk","js2go-ep47-dependency-injection-go-nodejs","2026-07-08 19:22:19.612Z",261,"89duht4c5ae6qrn","2025-12-17 02:25:59.478Z","DI คือเทคนิคสำคัญที่ช่วยให้ระบบทดสอบง่าย ลดการผูกติดกันของโค้ด และปรับเปลี่ยน implementation ได้โดยไม่กระทบส่วนอื่น บทความนี้อธิบายแนวคิด DI พร้อมโค้ดตัวอย่างใน Go (pgx\u002FGORM) และ Node.js รวมถึงวิธีทำให้ระบบพร้อมสำหรับ Production จริง","2026-06-07 06:43:26.371Z",{"alt":253,"cover_image_path":254,"created":255,"expand":256,"id":280,"published_at":281,"school_blog":276,"short_description":282,"title":253,"updated":283,"slug":277,"views":279},"JS2GO EP.46 การสร้าง Middleware และ Modular Architecture ใน Go และ Node.js","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fddfdxscguz1ldsl\u002Fcover_image_js2_go_ep_46_building_middleware_and_modular_architecture_in_go_and_node_exrof0jwyi.js.webp","2026-03-04 08:45:03.591Z",{"keywords":257,"locale":270,"school_blog":271},[258,259,260,265],{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":261,"created_by":15,"id":262,"name":263,"updated":264,"updated_by":15},"2026-03-04 08:45:02.900Z","12i9ika4aocvtm5","Modular Architecture","2026-06-07 06:46:43.146Z",{"collectionId":12,"collectionName":13,"created":266,"created_by":15,"id":267,"name":268,"updated":269,"updated_by":15},"2026-03-04 08:34:25.436Z","bctyeonwhcrzvq3","Middleware","2026-06-07 06:46:06.743Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":232,"collectionId":46,"collectionName":47,"created":48,"expand":272,"id":276,"slug":277,"updated":278,"views":279},{"category":273},{"blogIds":274,"collectionId":52,"collectionName":53,"created":236,"created_by":15,"id":232,"image":237,"image_alt":48,"image_path":238,"label":275,"name":240,"priority":241,"publish_at":242,"scheduled_at":48,"status":61,"updated":243,"updated_by":15},[],{"en":240,"th":240},"06v021j7mqri9t7","js2go-ep46-middleware-modular-architecture-go-nodejs","2026-07-08 19:25:12.650Z",258,"ddfdxscguz1ldsl","2025-12-17 02:25:26.894Z","เรียนรู้การสร้าง Middleware (Auth, Logging, Rate Limit) และออกแบบ Modular Architecture แบบองค์กรใน Go และ Node.js พร้อมตัวอย่างโค้ด Fiber + Express และ Best Practices ที่ใช้จริงในระบบ Production","2026-06-07 06:43:26.644Z",{"alt":285,"cover_image_path":286,"created":287,"expand":288,"id":308,"published_at":309,"school_blog":304,"short_description":310,"title":285,"updated":311,"slug":305,"views":307},"EP.117 การเชื่อมต่อ IoT Device หลายตัวด้วย WebSocket (Real-time IoT Network)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F6geyjq1575qgjai\u002Fcover_image_ep_gg70n9zn2d.-timeIoTNetwork.webp","2026-03-04 08:45:04.567Z",{"keywords":289,"locale":298,"school_blog":299},[290,295,296,297],{"collectionId":12,"collectionName":13,"created":291,"created_by":15,"id":292,"name":293,"updated":294,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-06-07 06:46:39.574Z",{"collectionId":12,"collectionName":13,"created":127,"created_by":15,"id":128,"name":129,"updated":130,"updated_by":15},{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":99,"collectionId":46,"collectionName":47,"created":48,"expand":300,"id":304,"slug":305,"updated":306,"views":307},{"category":301},{"blogIds":302,"collectionId":52,"collectionName":53,"created":103,"created_by":15,"id":99,"image":104,"image_alt":48,"image_path":105,"label":303,"name":107,"priority":108,"publish_at":109,"scheduled_at":48,"status":61,"updated":110,"updated_by":15},[],{"en":107,"th":107},"nboyiqnzglp5uh7","ep117-iot-multi-device-websocket","2026-06-14 08:59:26.973Z",215,"6geyjq1575qgjai","2025-12-15 01:58:37.695Z","เรียนรู้การสร้างระบบ IoT แบบ Real-time ด้วย Go และ WebSocket ที่รองรับอุปกรณ์หลายตัวพร้อมกัน พร้อมแนวทาง Authentication, Bandwidth Management และการขยายระบบให้รองรับอุปกรณ์นับหมื่น","2026-06-07 06:43:27.119Z",{"alt":313,"cover_image_path":314,"created":315,"expand":316,"id":350,"published_at":351,"school_blog":346,"short_description":352,"title":313,"updated":353,"slug":347,"views":349},"EP.116 การเพิ่มฟีเจอร์ Voice\u002FVideo แบบเรียลไทม์ด้วย WebRTC + WebSocket Signaling","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fvkhrndyjxf6sakd\u002Fcover_image_ep_kpibg1eae8.etSignalinginGo.webp","2026-03-04 08:45:06.410Z",{"keywords":317,"locale":340,"school_blog":341},[318,323,324,329,334,335],{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},"2026-03-04 08:45:05.836Z","37t2tvjs3vvty3x","WebRTC","2026-06-07 06:46:43.723Z",{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},{"collectionId":12,"collectionName":13,"created":325,"created_by":15,"id":326,"name":327,"updated":328,"updated_by":15},"2026-03-04 08:45:05.158Z","836if8oqwpocqe3","Voice Chat","2026-06-07 06:46:43.489Z",{"collectionId":12,"collectionName":13,"created":330,"created_by":15,"id":331,"name":332,"updated":333,"updated_by":15},"2026-03-04 08:45:04.918Z","2oi71a8zf6vf68l","Video Call","2026-06-07 06:46:43.246Z",{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"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:45:05.632Z","cof4vbc2ts3emn3","WebSocket Signaling","2026-06-07 06:46:43.558Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":99,"collectionId":46,"collectionName":47,"created":48,"expand":342,"id":346,"slug":347,"updated":348,"views":349},{"category":343},{"blogIds":344,"collectionId":52,"collectionName":53,"created":103,"created_by":15,"id":99,"image":104,"image_alt":48,"image_path":105,"label":345,"name":107,"priority":108,"publish_at":109,"scheduled_at":48,"status":61,"updated":110,"updated_by":15},[],{"en":107,"th":107},"9u83c9b4adi7p6e","ep116-realtime-voice-video-webrtc-websocket-go","2026-06-27 05:16:24.975Z",265,"vkhrndyjxf6sakd","2025-12-15 01:58:16.309Z","เรียนรู้วิธีสร้างระบบ Video Call และ Voice Chat แบบเรียลไทม์ด้วย WebRTC และ WebSocket Signaling ในภาษา Go พร้อมโค้ดตัวอย่างและแนวทางการออกแบบระบบระดับ Production","2026-06-07 06:43:27.528Z",{"alt":355,"cover_image_path":356,"created":357,"expand":358,"id":402,"published_at":403,"school_blog":398,"short_description":404,"title":405,"updated":406,"slug":399,"views":401},"Docker Compose คืออะไร? เครื่องมือสำคัญที่โปรแกรมเมอร์ยุคใหม่ต้องรู้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fhbhtvcn6m4zvtaf\u002Fcover_image_what_is_docker_compose_the_essential_tool_for_modern_developers_clkznj0vwv.webp","2026-03-04 08:45:07.426Z",{"keywords":359,"locale":385,"school_blog":386},[360,365,370,375,380],{"collectionId":12,"collectionName":13,"created":361,"created_by":15,"id":362,"name":363,"updated":364,"updated_by":15},"2026-03-04 08:35:11.709Z","ga2eo1rr4uw66mu","DevOps","2026-06-07 06:46:27.244Z",{"collectionId":12,"collectionName":13,"created":366,"created_by":15,"id":367,"name":368,"updated":369,"updated_by":15},"2026-03-04 08:45:06.613Z","mel6m5brnjq2zmy","Multi-container","2026-06-07 06:46:44.026Z",{"collectionId":12,"collectionName":13,"created":371,"created_by":15,"id":372,"name":373,"updated":374,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":376,"created_by":15,"id":377,"name":378,"updated":379,"updated_by":15},"2026-03-04 08:45:06.433Z","h61cls1b4isvvvx","Docker Compose","2026-06-07 06:46:43.945Z",{"collectionId":12,"collectionName":13,"created":381,"created_by":15,"id":382,"name":383,"updated":384,"updated_by":15},"2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-06-07 06:46:30.990Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":387,"collectionId":46,"collectionName":47,"created":48,"expand":388,"id":398,"slug":399,"updated":400,"views":401},"jwhmeg2uxwz0bkp",{"category":389},{"blogIds":390,"collectionId":52,"collectionName":53,"created":391,"created_by":15,"id":387,"image":392,"image_alt":48,"image_path":393,"label":394,"name":395,"priority":59,"publish_at":396,"scheduled_at":48,"status":61,"updated":397,"updated_by":15},[],"2026-03-04 08:31:40.635Z","1qt33a4n2u3_lr23qy62xh.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fjwhmeg2uxwz0bkp\u002F1qt33a4n2u3_lr23qy62xh.png",{"en":395,"th":395},"Tools & Resources","2025-01-31 09:55:27.001Z","2026-06-07 06:45:02.778Z","myt8jk36cr4iuqn","what-is-docker-compose-essential-tool-for-developers","2026-07-09 07:28:54.580Z",413,"hbhtvcn6m4zvtaf","2025-12-12 02:47:35.017Z","เรียนรู้ Docker Compose เครื่องมือจัดการ Multi-container ที่สำคัญที่สุดสำหรับโปรแกรมเมอร์และ DevOps สรุปวิธีการทำงาน พร้อมตัวอย่างไฟล์ docker-compose.yml ที่ทำให้การพัฒนาซอฟต์แวร์ง่ายขึ้นหลายเท่าตัว!","Docker Compose คืออะไร? เครื่องมือสำคัญที่โปรแกรมเมอร์ต้องรู้","2026-06-07 06:43:27.761Z",{"alt":408,"cover_image_path":409,"created":410,"expand":411,"id":445,"published_at":446,"school_blog":441,"short_description":447,"title":408,"updated":448,"slug":442,"views":444},"JS2GO EP.45 การจัดการ Transactions และ ACID ใน Go และ JavaScript","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F4buexxrk2sagdet\u002Fcover_image_js2_go_ep_dfqdfnfoh9.nGovsJavaScript.webp","2026-03-04 08:45:08.122Z",{"keywords":412,"locale":435,"school_blog":436},[413,414,419,424,425,430],{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},{"collectionId":12,"collectionName":13,"created":415,"created_by":15,"id":416,"name":417,"updated":418,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"collectionId":12,"collectionName":13,"created":420,"created_by":15,"id":421,"name":422,"updated":423,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":426,"created_by":15,"id":427,"name":428,"updated":429,"updated_by":15},"2026-03-04 08:45:07.600Z","k7yaeiuxv1skqiy","ACID","2026-06-07 06:46:44.234Z",{"collectionId":12,"collectionName":13,"created":431,"created_by":15,"id":432,"name":433,"updated":434,"updated_by":15},"2026-03-04 08:45:07.399Z","72jmv19z0d4abka","Transactions","2026-06-07 06:46:44.128Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":232,"collectionId":46,"collectionName":47,"created":48,"expand":437,"id":441,"slug":442,"updated":443,"views":444},{"category":438},{"blogIds":439,"collectionId":52,"collectionName":53,"created":236,"created_by":15,"id":232,"image":237,"image_alt":48,"image_path":238,"label":440,"name":240,"priority":241,"publish_at":242,"scheduled_at":48,"status":61,"updated":243,"updated_by":15},[],{"en":240,"th":240},"bk7k4smwq526one","js2go-ep45-transaction-acid-go-vs-javascript","2026-06-27 17:50:31.882Z",236,"4buexxrk2sagdet","2025-12-08 07:52:14.487Z","เรียนรู้พื้นฐานสำคัญของ Transaction, ACID, Deadlock, Isolation Level และวิธีทำธุรกรรมให้ถูกต้องในระบบ Production พร้อมตัวอย่างโค้ด Go (pgx\u002FGORM) และ Node.js (pg) ที่ใช้งานได้จริง","2026-06-07 06:43:28.011Z",{"alt":450,"cover_image_path":451,"created":452,"expand":453,"id":483,"published_at":484,"school_blog":479,"short_description":485,"title":450,"updated":486,"slug":480,"views":482},"JS2GO EP.44 การเชื่อมต่อ Database: SQL & NoSQL ใน JavaScript และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fy8ql3s3zg33thzx\u002Fcover_image_js2_go_ep_i85wxvw0ej.JavaScriptandGo.webp","2026-03-04 08:45:10.183Z",{"keywords":454,"locale":473,"school_blog":474},[455,456,461,462,467,468],{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},{"collectionId":12,"collectionName":13,"created":457,"created_by":15,"id":458,"name":459,"updated":460,"updated_by":15},"2026-03-04 08:45:08.439Z","wscthqnz8vx2sox","PostgreSQL","2026-06-07 06:46:44.506Z",{"collectionId":12,"collectionName":13,"created":415,"created_by":15,"id":416,"name":417,"updated":418,"updated_by":15},{"collectionId":12,"collectionName":13,"created":463,"created_by":15,"id":464,"name":465,"updated":466,"updated_by":15},"2026-03-04 08:45:09.036Z","l1oi3jpol4c4ezx","Database","2026-06-07 06:46:44.684Z",{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":469,"created_by":15,"id":470,"name":471,"updated":472,"updated_by":15},"2026-03-04 08:45:09.799Z","402ofda7qxj0vs0","การเชื่อมต่อฐานข้อมูล","2026-06-07 06:46:44.992Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":232,"collectionId":46,"collectionName":47,"created":48,"expand":475,"id":479,"slug":480,"updated":481,"views":482},{"category":476},{"blogIds":477,"collectionId":52,"collectionName":53,"created":236,"created_by":15,"id":232,"image":237,"image_alt":48,"image_path":238,"label":478,"name":240,"priority":241,"publish_at":242,"scheduled_at":48,"status":61,"updated":243,"updated_by":15},[],{"en":240,"th":240},"80o1aimylbrt97t","js2go-ep44-database-connection-sql-nosql-javascript-go","2026-07-08 11:27:06.789Z",229,"y8ql3s3zg33thzx","2025-12-08 07:51:54.211Z","สรุปวิธีเชื่อมต่อ PostgreSQL, MySQL, MongoDB และ Redis ใน JavaScript และ Go พร้อมตัวอย่างโค้ดจริง การตั้งค่า Connection Pool, การเลือก ORM\u002FQuery Builder และ Best Practices ที่ต้องรู้ก่อนขึ้นระบบ Production","2026-06-07 06:43:28.285Z",{"alt":488,"cover_image_path":489,"created":490,"expand":491,"id":521,"published_at":522,"school_blog":517,"short_description":523,"title":488,"updated":524,"slug":518,"views":520},"EP.114 การจัดการ Multi-device & Multi-session สำหรับ WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F3ijessvp7wgttqd\u002Fcover_image_ep_ozojn2qh39.ebSocketSystems.webp","2026-03-04 08:45:11.857Z",{"keywords":492,"locale":511,"school_blog":512},[493,498,499,500,505,510],{"collectionId":12,"collectionName":13,"created":494,"created_by":15,"id":495,"name":496,"updated":497,"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":138,"created_by":15,"id":139,"name":140,"updated":141,"updated_by":15},{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},{"collectionId":12,"collectionName":13,"created":501,"created_by":15,"id":502,"name":503,"updated":504,"updated_by":15},"2026-03-04 08:45:11.216Z","4pcpc8j9lxwki40","Multi-session","2026-06-07 06:46:45.378Z",{"collectionId":12,"collectionName":13,"created":506,"created_by":15,"id":507,"name":508,"updated":509,"updated_by":15},"2026-03-04 08:45:11.536Z","dam2zlrgu9l1qrd","Multi-device","2026-06-07 06:46:45.580Z",{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":99,"collectionId":46,"collectionName":47,"created":48,"expand":513,"id":517,"slug":518,"updated":519,"views":520},{"category":514},{"blogIds":515,"collectionId":52,"collectionName":53,"created":103,"created_by":15,"id":99,"image":104,"image_alt":48,"image_path":105,"label":516,"name":107,"priority":108,"publish_at":109,"scheduled_at":48,"status":61,"updated":110,"updated_by":15},[],{"en":107,"th":107},"wzoz7l3fkolypwa","ep114-multi-device-multi-session-websocket","2026-06-13 09:20:54.602Z",271,"3ijessvp7wgttqd","2025-12-08 03:47:51.843Z","เรียนรู้การออกแบบระบบ WebSocket ที่รองรับผู้ใช้ 1 คนเข้าใช้งานหลายอุปกรณ์พร้อมกันอย่างเสถียร ปลอดภัย และซิงก์ข้อมูลแบบเรียลไทม์ พร้อมตัวอย่างโค้ด Go และแนวทางระดับ Production","2026-06-07 06:43:28.743Z",9,12,443,37]