[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-29-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":585,"perPage":586,"totalItems":587,"totalPages":588},[5,101,163,212,255,293,343,394,428,488,528,559],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":97,"published_at":98,"school_blog":93,"short_description":99,"title":6,"updated":100,"slug":94,"views":96},"EP.40 การเพิ่มฟีเจอร์อัปโหลดไฟล์ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fjcsygzeq0ejxspb\u002F51_11zon_r3kuowrjrz.webp","2026-03-04 08:51:11.103Z",{"keywords":10,"locale":64,"school_blog":74},[11,19,24,29,34,39,44,49,54,59],{"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:51:07.889Z","76qprkevbgfdps8","svzsiusj88bni77","Chat Media Upload","2026-06-07 06:48:45.974Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:51:08.283Z","ux24tskiyudefze","Firebase Storage","2026-06-07 06:48:46.109Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:51:08.494Z","bqukhjhwr4yxnts","AWS S3","2026-06-07 06:48:46.212Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:51:08.805Z","75w01ebjq7zfrpt","GraphQL File Upload","2026-06-07 06:48:46.314Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:51:09.476Z","l1ipjxpi9rr2jgh","WebSocket File Sharing","2026-06-07 06:48:46.666Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:47:05.949Z","caufix9o52uw4bh","Real-Time Chat","2026-06-07 06:47:19.595Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":60,"created_by":15,"id":61,"name":62,"updated":63,"updated_by":15},"2026-03-04 08:51:09.841Z","6hrhrxemlcwn5fx","File Upload","2026-06-07 06:48:46.792Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},"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":75,"collectionId":76,"collectionName":77,"created":78,"expand":79,"id":93,"slug":94,"updated":95,"views":96},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":80},{"blogIds":81,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":87,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":88,"th":88},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","fwc905ic8t3yry7","file-upload-websocket-chat","2026-06-10 13:31:00.835Z",301,"jcsygzeq0ejxspb","2025-03-17 02:13:24.978Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์การอัปโหลดไฟล์ ใน WebSocket Chat โดยใช้ Go และ GraphQL รองรับการแชร์ไฟล์ผ่าน WebSocket และจัดเก็บไฟล์ลงเซิร์ฟเวอร์หรือระบบ Cloud Storage เช่น AWS S3 หรือ Firebase Storage","2026-06-07 06:44:38.723Z",{"alt":102,"cover_image_path":103,"created":104,"expand":105,"id":159,"published_at":160,"school_blog":155,"short_description":161,"title":102,"updated":162,"slug":156,"views":158},"EP.39 การขยายระบบ WebSocket ด้วย Redis และ Kubernetes","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fwtxa0ha74atq366\u002F49_11zon_kqn9miy906.webp","2026-03-04 08:51:12.061Z",{"keywords":106,"locale":149,"school_blog":150},[107,112,117,122,127,128,129,134,139,144],{"collectionId":12,"collectionName":13,"created":108,"created_by":15,"id":109,"name":110,"updated":111,"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":113,"created_by":15,"id":114,"name":115,"updated":116,"updated_by":15},"2026-03-04 08:44:32.713Z","b9jmymu9lbpj60c","High Availability","2026-06-07 06:46:35.110Z",{"collectionId":12,"collectionName":13,"created":118,"created_by":15,"id":119,"name":120,"updated":121,"updated_by":15},"2026-03-04 08:44:29.876Z","ozn15duk6wovj6g","Microservices","2026-06-07 06:46:34.292Z",{"collectionId":12,"collectionName":13,"created":123,"created_by":15,"id":124,"name":125,"updated":126,"updated_by":15},"2026-03-04 08:51:09.083Z","qnfn648h0o2s90l","Real-Time API","2026-06-07 06:48:46.422Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-06-07 06:46:00.116Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-06-07 06:45:59.786Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:48:01.322Z","qwms9vhmllldxj2","WebSocket Load Balancing","2026-06-07 06:47:40.468Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:44:50.258Z","nrtw5001po78dez","WebSocket Scaling","2026-06-07 06:46:39.944Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":151,"id":155,"slug":156,"updated":157,"views":158},{"category":152},{"blogIds":153,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":154,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"1idpw9dwit26mgw","websocket-scaling-redis-kubernetes","2026-06-22 02:38:31.015Z",325,"wtxa0ha74atq366","2025-03-17 02:13:16.338Z","เรียนรู้วิธี ขยายขีดความสามารถของ WebSocket โดยใช้ Redis Pub\u002FSub และ Kubernetes เพื่อรองรับการใช้งานที่มีผู้ใช้จำนวนมาก และปรับปรุงประสิทธิภาพของระบบแบบเรียลไทม์","2026-06-07 06:44:38.965Z",{"alt":164,"cover_image_path":165,"created":166,"expand":167,"id":208,"published_at":209,"school_blog":204,"short_description":210,"title":164,"updated":211,"slug":205,"views":207},"EP.38 การเพิ่มระบบ Push Notification ให้กับ WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9ue9oos4kb64mhy\u002F47_11zon_34uis645ce.webp","2026-03-04 08:51:13.948Z",{"keywords":168,"locale":198,"school_blog":199},[169,174,179,184,185,186,187,192,193],{"collectionId":12,"collectionName":13,"created":170,"created_by":15,"id":171,"name":172,"updated":173,"updated_by":15},"2026-03-04 08:51:12.024Z","mfphds63msma911","Chat Alerts","2026-06-07 06:48:46.869Z",{"collectionId":12,"collectionName":13,"created":175,"created_by":15,"id":176,"name":177,"updated":178,"updated_by":15},"2026-03-04 08:48:07.088Z","brfbypclggbbkcx","WebSocket API","2026-06-07 06:47:42.485Z",{"collectionId":12,"collectionName":13,"created":180,"created_by":15,"id":181,"name":182,"updated":183,"updated_by":15},"2026-03-04 08:51:12.327Z","oe33epaljgufqzf","Web Push API","2026-06-07 06:48:47.019Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"updated_by":15},"2026-03-04 08:51:12.685Z","v6aqa9mkbj1i0fg","Firebase Cloud Messaging","2026-06-07 06:48:47.160Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"collectionId":12,"collectionName":13,"created":194,"created_by":15,"id":195,"name":196,"updated":197,"updated_by":15},"2026-03-04 08:46:14.110Z","itovzjisctbn2ej","Push Notification","2026-06-07 06:47:03.775Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":200,"id":204,"slug":205,"updated":206,"views":207},{"category":201},{"blogIds":202,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":203,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"gw6n09i49lxlddz","push-notifications-websocket-chat","2026-06-09 08:55:01.366Z",319,"9ue9oos4kb64mhy","2025-03-17 02:09:10.313Z","เรียนรู้วิธีเพิ่ม Push Notification ให้กับ WebSocket Chat โดยใช้ Web Push API และ Firebase Cloud Messaging (FCM) เพื่อแจ้งเตือนผู้ใช้เมื่อมีข้อความใหม่แม้ในขณะที่ไม่ได้เปิดแอปพลิเคชัน","2026-06-07 06:44:39.066Z",{"alt":213,"cover_image_path":214,"created":215,"expand":216,"id":251,"published_at":252,"school_blog":247,"short_description":253,"title":213,"updated":254,"slug":248,"views":250},"5 AI ที่โปรแกรมเมอร์ควรรู้จักในปี 2025","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F18z96bknnzx6qu5\u002F1_1_cggdqqcu3j.webp","2026-03-04 08:51:06.946Z",{"keywords":217,"locale":233,"school_blog":234},[218,223,228],{"collectionId":12,"collectionName":13,"created":219,"created_by":15,"id":220,"name":221,"updated":222,"updated_by":15},"2026-03-04 08:51:06.053Z","y0wcqyw8j5uupu4","เครื่องมือ AI 2025","2026-06-07 06:48:45.446Z",{"collectionId":12,"collectionName":13,"created":224,"created_by":15,"id":225,"name":226,"updated":227,"updated_by":15},"2026-03-04 08:51:06.280Z","zs2m0kscb57qc0e","เครื่องมือเขียนโค้ด AI","2026-06-07 06:48:45.659Z",{"collectionId":12,"collectionName":13,"created":229,"created_by":15,"id":230,"name":231,"updated":232,"updated_by":15},"2026-03-04 08:50:21.022Z","0ltre3q3qnf1pry","AI สำหรับโปรแกรมเมอร์","2026-06-07 06:48:33.867Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":235,"collectionId":76,"collectionName":77,"created":78,"expand":236,"id":247,"slug":248,"updated":249,"views":250},"spm4l1k5bgmhmmt",{"category":237},{"blogIds":238,"collectionId":82,"collectionName":83,"created":239,"created_by":15,"id":235,"image":240,"image_alt":78,"image_path":241,"label":242,"name":243,"priority":244,"publish_at":245,"scheduled_at":78,"status":91,"updated":246,"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":243,"th":243},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","n1xnqwt0b7717eh","5-ai-tools-programmers-should-know-in-2025","2026-05-22 17:48:48.796Z",374,"18z96bknnzx6qu5","2025-03-14 03:50:40.353Z","ทำความรู้จักกับ AI เครื่องมือสำคัญสำหรับโปรแกรมเมอร์ในปี 2025 ที่จะช่วยเพิ่มประสิทธิภาพการทำงานและพัฒนาทักษะใหม่ๆ ของโปรแกรมเมอร์","2026-06-07 06:44:38.155Z",{"alt":256,"cover_image_path":257,"created":258,"expand":259,"id":289,"published_at":290,"school_blog":285,"short_description":291,"title":256,"updated":292,"slug":286,"views":288}," Gemini Code Assist เครื่องมือใหม่จาก Google Cloud ที่โปรแกรมเมอร์ต้องไม่พลาด!","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff6thszeuc2twb8h\u002F1i93k1cchww_t7e6p0u9gs.webp","2026-03-04 08:51:15.302Z",{"keywords":260,"locale":272,"school_blog":273},[261,266,271],{"collectionId":12,"collectionName":13,"created":262,"created_by":15,"id":263,"name":264,"updated":265,"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":267,"created_by":15,"id":268,"name":269,"updated":270,"updated_by":15},"2026-03-04 08:51:07.368Z","wynpt4076z752li","Google Cloud","2026-06-07 06:48:45.902Z",{"collectionId":12,"collectionName":13,"created":224,"created_by":15,"id":225,"name":226,"updated":227,"updated_by":15},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":274,"collectionId":76,"collectionName":77,"created":78,"expand":275,"id":285,"slug":286,"updated":287,"views":288},"pkuzfil3b4ug2ea",{"category":276},{"blogIds":277,"collectionId":82,"collectionName":83,"created":278,"created_by":15,"id":274,"image":279,"image_alt":78,"image_path":280,"label":281,"name":282,"priority":244,"publish_at":283,"scheduled_at":78,"status":91,"updated":284,"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":282,"th":282},"Cutting-Edge Tech","2025-01-27 08:43:38.395Z","2026-06-07 06:45:02.895Z","9dr13t3e3j2ns13","gemini-code-assist-new-google-cloud-tool-for-programmers","2026-06-21 15:56:47.937Z",212,"f6thszeuc2twb8h","2025-03-14 02:52:24.408Z","Google Cloud เปิดตัว Gemini AI เครื่องมือฟรีที่ช่วยนักพัฒนาทั่วโลกในการเขียนและตรวจสอบโค้ด เพิ่มประสิทธิภาพและคุณภาพได้โดยไม่มีค่าใช้จ่าย","2026-06-07 06:44:39.511Z",{"alt":294,"cover_image_path":295,"created":296,"expand":297,"id":339,"published_at":340,"school_blog":335,"short_description":341,"title":294,"updated":342,"slug":336,"views":338},"EP.35 การเก็บประวัติการแชทในระบบ WebSocket และ GraphQL Subscription","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F0gb1senrcdbkegy\u002F41_1_g8bqjpnllm.webp","2026-03-04 08:51:19.750Z",{"keywords":298,"locale":329,"school_blog":330},[299,300,301,302,307,312,317,318,323,324],{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":175,"created_by":15,"id":176,"name":177,"updated":178,"updated_by":15},{"collectionId":12,"collectionName":13,"created":303,"created_by":15,"id":304,"name":305,"updated":306,"updated_by":15},"2026-03-04 08:50:52.953Z","aqepcyhdmag8vg4","Chat Storage","2026-06-07 06:48:41.758Z",{"collectionId":12,"collectionName":13,"created":308,"created_by":15,"id":309,"name":310,"updated":311,"updated_by":15},"2026-03-04 08:51:13.649Z","wcctbc65iq5n4bj","GraphQL API","2026-06-07 06:48:47.406Z",{"collectionId":12,"collectionName":13,"created":313,"created_by":15,"id":314,"name":315,"updated":316,"updated_by":15},"2026-03-04 08:51:17.295Z","x5fbzy09361bbm5","Chat Database","2026-06-07 06:48:48.582Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},"2026-03-04 08:46:53.342Z","5ac1xgod1ehyqva","GraphQL Subscriptions","2026-06-07 06:47:15.654Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"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:50:53.155Z","peza6kmj1144b0x","Chat History","2026-06-07 06:48:41.933Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":331,"id":335,"slug":336,"updated":337,"views":338},{"category":332},{"blogIds":333,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":334,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"h9qo5h7vbko0hq3","storing-chat-history-websocket-graphql","2026-06-20 21:55:18.087Z",297,"0gb1senrcdbkegy","2025-03-13 02:23:55.565Z","เรียนรู้วิธีใช้ WebSocket และ GraphQL Subscription ในการเก็บประวัติการแชทลงฐานข้อมูล รองรับการดึงข้อมูลย้อนหลังและอัปเดตแบบเรียลไทม์ เพื่อให้ระบบแชทของคุณมีความสมบูรณ์มากขึ้น","2026-06-07 06:44:40.235Z",{"alt":344,"cover_image_path":345,"created":346,"expand":347,"id":390,"published_at":391,"school_blog":386,"short_description":392,"title":344,"updated":393,"slug":387,"views":389},"EP.34 การสร้างระบบแชทแบบเรียลไทม์ด้วย GraphQL และ WebSocket ใน Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fh4wo4wjrss229ds\u002F39_11zon_4799hcze22.webp","2026-03-04 08:51:20.301Z",{"keywords":348,"locale":380,"school_blog":381},[349,354,355,356,357,358,359,364,369,374,375],{"collectionId":12,"collectionName":13,"created":350,"created_by":15,"id":351,"name":352,"updated":353,"updated_by":15},"2026-03-04 08:51:14.205Z","laiwsvubam25wcf","GraphQL","2026-06-07 06:48:47.745Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":360,"created_by":15,"id":361,"name":362,"updated":363,"updated_by":15},"2026-03-04 08:46:14.782Z","v0mhensk18fofru","WebSocket Chat","2026-06-07 06:47:04.148Z",{"collectionId":12,"collectionName":13,"created":365,"created_by":15,"id":366,"name":367,"updated":368,"updated_by":15},"2026-03-04 08:51:19.718Z","jqvc882wc9kcby8","Chat Application","2026-06-07 06:48:48.851Z",{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"updated_by":15},"2026-03-04 08:51:19.902Z","ybwrb9ksy12o89r","API Development","2026-06-07 06:48:49.008Z",{"collectionId":12,"collectionName":13,"created":118,"created_by":15,"id":119,"name":120,"updated":121,"updated_by":15},{"collectionId":12,"collectionName":13,"created":376,"created_by":15,"id":377,"name":378,"updated":379,"updated_by":15},"2026-03-04 08:51:19.396Z","u64yt1w9x0lqknb","System Scalability","2026-06-07 06:48:48.744Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":382,"id":386,"slug":387,"updated":388,"views":389},{"category":383},{"blogIds":384,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":385,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"nk24bp8xvrc361u","graphql-websocket-go-chat-system","2026-05-23 00:22:31.829Z",268,"h4wo4wjrss229ds","2025-03-13 02:23:41.152Z","เรียนรู้วิธีใช้ GraphQL Subscriptions และ WebSocket เพื่อสร้างระบบแชทแบบเรียลไทม์ใน Go รองรับการส่งข้อความแบบทันที และออกแบบให้สามารถปรับขนาดได้อย่างมีประสิทธิภาพ","2026-06-07 06:44:40.414Z",{"alt":395,"cover_image_path":396,"created":397,"expand":398,"id":424,"published_at":425,"school_blog":420,"short_description":426,"title":395,"updated":427,"slug":421,"views":423},"EP.33 การใช้ GraphQL กับ WebSocket ใน Go เพื่อสร้าง API แบบเรียลไทม์","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fwvtxft45t14gr55\u002F37_11zon_64v0xbav43.webp","2026-03-04 08:51:21.289Z",{"keywords":399,"locale":414,"school_blog":415},[400,405,406,407,408,409,410,411,412,413],{"collectionId":12,"collectionName":13,"created":401,"created_by":15,"id":402,"name":403,"updated":404,"updated_by":15},"2026-03-04 08:32:51.346Z","tmzmy6jyz1n35rr","Go Programming","2026-06-07 06:45:51.178Z",{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"updated_by":15},{"collectionId":12,"collectionName":13,"created":175,"created_by":15,"id":176,"name":177,"updated":178,"updated_by":15},{"collectionId":12,"collectionName":13,"created":308,"created_by":15,"id":309,"name":310,"updated":311,"updated_by":15},{"collectionId":12,"collectionName":13,"created":123,"created_by":15,"id":124,"name":125,"updated":126,"updated_by":15},{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"collectionId":12,"collectionName":13,"created":350,"created_by":15,"id":351,"name":352,"updated":353,"updated_by":15},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":416,"id":420,"slug":421,"updated":422,"views":423},{"category":417},{"blogIds":418,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":419,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"px1qxx8n6lqolc4","graphql-websocket-go-real-time-api","2026-06-13 18:11:36.895Z",291,"wvtxft45t14gr55","2025-03-11 02:35:33.007Z","เรียนรู้วิธีใช้ GraphQL Subscriptions ร่วมกับ WebSocket ในภาษา Go เพื่อสร้าง API แบบเรียลไทม์ รองรับการเปลี่ยนแปลงข้อมูลได้อย่างรวดเร็ว","2026-06-07 06:44:40.606Z",{"alt":429,"cover_image_path":430,"created":431,"expand":432,"id":484,"published_at":485,"school_blog":480,"short_description":486,"title":429,"updated":487,"slug":481,"views":483},"EP.32 การเชื่อมต่อ WebSocket กับ Microservices ใน Go เพื่อสร้างระบบที่ยืดหยุ่นและปรับขนาดได้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fpwnam0fl1hwhxju\u002F353lqnvabxpp_zqrwc825ow.webp","2026-03-04 08:51:24.233Z",{"keywords":433,"locale":474,"school_blog":475},[434,439,444,445,450,455,460,465,470,471,472,473],{"collectionId":12,"collectionName":13,"created":435,"created_by":15,"id":436,"name":437,"updated":438,"updated_by":15},"2026-03-04 08:51:22.473Z","xnw2u62a1h7c0ra","การออกแบบระบบ","2026-06-07 06:48:49.770Z",{"collectionId":12,"collectionName":13,"created":440,"created_by":15,"id":441,"name":442,"updated":443,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-06-07 06:46:39.574Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"collectionId":12,"collectionName":13,"created":446,"created_by":15,"id":447,"name":448,"updated":449,"updated_by":15},"2026-03-04 08:51:21.416Z","t0608colrvvnvt5","API Gateway","2026-06-07 06:48:49.331Z",{"collectionId":12,"collectionName":13,"created":451,"created_by":15,"id":452,"name":453,"updated":454,"updated_by":15},"2026-03-04 08:51:21.627Z","lbet9y3a94m7s7o","gRPC","2026-06-07 06:48:49.466Z",{"collectionId":12,"collectionName":13,"created":456,"created_by":15,"id":457,"name":458,"updated":459,"updated_by":15},"2026-03-04 08:34:03.856Z","9dujh23qyko22y0","Load Balancing","2026-06-07 06:45:57.012Z",{"collectionId":12,"collectionName":13,"created":461,"created_by":15,"id":462,"name":463,"updated":464,"updated_by":15},"2026-03-04 08:44:30.561Z","mh6or11b3q7afdh","Microservices Architecture","2026-06-07 06:46:34.508Z",{"collectionId":12,"collectionName":13,"created":466,"created_by":15,"id":467,"name":468,"updated":469,"updated_by":15},"2026-03-04 08:51:21.925Z","qfrlqpe72r1b6yi","WebSocket Gateway","2026-06-07 06:48:49.546Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":118,"created_by":15,"id":119,"name":120,"updated":121,"updated_by":15},{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":78,"expand":476,"id":480,"slug":481,"updated":482,"views":483},{"category":477},{"blogIds":478,"collectionId":82,"collectionName":83,"created":84,"created_by":15,"id":75,"image":85,"image_alt":78,"image_path":86,"label":479,"name":88,"priority":89,"publish_at":90,"scheduled_at":78,"status":91,"updated":92,"updated_by":15},[],{"en":88,"th":88},"8y1pu1r9wjxgave","websocket-microservices-go","2026-06-21 06:22:57.596Z",305,"pwnam0fl1hwhxju","2025-03-10 02:57:14.310Z","เรียนรู้วิธีเชื่อมต่อ WebSocket กับ Microservices ในภาษา Go เพื่อพัฒนาแอปพลิเคชันแบบกระจายตัว รองรับการทำงานขนาดใหญ่ และปรับขนาดได้อย่างมีประสิทธิภาพ","2026-06-07 06:44:41.304Z",{"alt":489,"cover_image_path":490,"created":491,"expand":492,"id":524,"published_at":525,"school_blog":520,"short_description":526,"title":489,"updated":527,"slug":521,"views":523},"กฎ 5 ข้อที่โปรแกรมเมอร์ต้องรู้เพื่อพัฒนาตัวเอง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fqakhbq1nia2fhyn\u002F1_4_xgqa8rxgxv.webp","2026-03-04 08:31:36.222Z",{"keywords":493,"locale":514,"school_blog":515},[494,499,504,509],{"collectionId":12,"collectionName":13,"created":495,"created_by":15,"id":496,"name":497,"updated":498,"updated_by":15},"2026-03-04 08:31:20.883Z","29ti7c8hcsjymix","พัฒนาตัวเอง","2026-06-07 06:45:24.497Z",{"collectionId":12,"collectionName":13,"created":500,"created_by":15,"id":501,"name":502,"updated":503,"updated_by":15},"2026-03-04 08:31:22.961Z","jn6w3illgsos5oz","การพัฒนาทักษะการเขียนโปรแกรม","2026-06-07 06:45:25.001Z",{"collectionId":12,"collectionName":13,"created":505,"created_by":15,"id":506,"name":507,"updated":508,"updated_by":15},"2026-03-04 08:31:32.390Z","ot5uljwpcl41ojj","คำแนะนำจาก Bill Gates","2026-06-07 06:45:28.210Z",{"collectionId":12,"collectionName":13,"created":510,"created_by":15,"id":511,"name":512,"updated":513,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":235,"collectionId":76,"collectionName":77,"created":78,"expand":516,"id":520,"slug":521,"updated":522,"views":523},{"category":517},{"blogIds":518,"collectionId":82,"collectionName":83,"created":239,"created_by":15,"id":235,"image":240,"image_alt":78,"image_path":241,"label":519,"name":243,"priority":244,"publish_at":245,"scheduled_at":78,"status":91,"updated":246,"updated_by":15},[],{"en":243,"th":243},"qp4o7x3nkiycvg7","5-rules-programmers-must-know-for-self-improvement","2026-05-22 17:53:05.375Z",219,"qakhbq1nia2fhyn","2025-03-07 04:05:38.943Z","ค้นพบกฎ 5 ข้อจาก Bill Gates ที่จะช่วยให้โปรแกรมเมอร์พัฒนาตัวเองและก้าวสู่ความสำเร็จในยุคดิจิทัล","2026-06-07 06:42:53.171Z",{"alt":529,"cover_image_path":530,"created":531,"expand":532,"id":555,"published_at":556,"school_blog":551,"short_description":557,"title":529,"updated":558,"slug":552,"views":554},"แจกเว็บไซต์แบบฝึกหัดโค้ดสำหรับเตรียมสัมภาษณ์งาน","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fo7455mk9vbksd97\u002F1_4_gzitwsmqzk.webp","2026-03-04 08:51:24.396Z",{"keywords":533,"locale":545,"school_blog":546},[534,535,540],{"collectionId":12,"collectionName":13,"created":500,"created_by":15,"id":501,"name":502,"updated":503,"updated_by":15},{"collectionId":12,"collectionName":13,"created":536,"created_by":15,"id":537,"name":538,"updated":539,"updated_by":15},"2026-03-04 08:32:27.254Z","xl8ixz1jmfnab5f","ฝึกเขียนโปรแกรม","2026-06-07 06:45:42.496Z",{"collectionId":12,"collectionName":13,"created":541,"created_by":15,"id":542,"name":543,"updated":544,"updated_by":15},"2026-03-04 08:51:23.990Z","k1jzbjmkqqmt288","ฝึกเขียนโค้ดฟรี","2026-06-07 06:48:50.098Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":235,"collectionId":76,"collectionName":77,"created":78,"expand":547,"id":551,"slug":552,"updated":553,"views":554},{"category":548},{"blogIds":549,"collectionId":82,"collectionName":83,"created":239,"created_by":15,"id":235,"image":240,"image_alt":78,"image_path":241,"label":550,"name":243,"priority":244,"publish_at":245,"scheduled_at":78,"status":91,"updated":246,"updated_by":15},[],{"en":243,"th":243},"egg63fhzclqi2dn","coding-practice-websites-for-job-interview-preparation","2026-06-01 09:45:51.765Z",289,"o7455mk9vbksd97","2025-03-06 08:48:05.963Z","เตรียมความพร้อมสำหรับสัมภาษณ์งานด้านโปรแกรมมิ่งด้วยเว็บไซต์ฝึกหัดโค้ดยอดนิยมอย่าง LeetCode, HackerRank และ Codewars ที่ช่วยเพิ่มทักษะและความมั่นใจ","2026-06-07 06:44:41.437Z",{"alt":560,"cover_image_path":561,"created":562,"expand":563,"id":581,"published_at":582,"school_blog":577,"short_description":583,"title":560,"updated":584,"slug":578,"views":580},"แก้ปัญหา Docker Network: เมื่อ IP Pool เต็มและสร้าง Network ใหม่ไม่ได้!","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5wyfe9ekujkmjt5\u002Fdall_e_2025_02_10_17_37_o44flle68j.einspiredbySupe.webp","2026-03-04 08:51:24.781Z",{"locale":564,"school_blog":565},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":566,"collectionId":76,"collectionName":77,"created":78,"expand":567,"id":577,"slug":578,"updated":579,"views":580},"qn0d7xwatkleou1",{"category":568},{"blogIds":569,"collectionId":82,"collectionName":83,"created":570,"created_by":15,"id":566,"image":571,"image_alt":78,"image_path":572,"label":573,"name":574,"priority":244,"publish_at":575,"scheduled_at":78,"status":91,"updated":576,"updated_by":15},[],"2026-03-04 08:31:21.896Z","4jn5ccty4x9_2894s1fj97.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fqn0d7xwatkleou1\u002F4jn5ccty4x9_2894s1fj97.png",{"en":574,"th":574},"How to","2025-02-04 08:40:59.666Z","2026-06-07 06:45:02.619Z","1uc0aba4qa5jyc0","fixing-docker-network-issue","2026-05-26 07:12:58.159Z",244,"5wyfe9ekujkmjt5","2025-02-10 10:27:01.726Z","โดยปกติแล้ว Docker จะสร้าง Network ใหม่ให้กับแต่ละโปรเจกต์ และกำหนด 256 IPs (Subnet \u002F24) ต่อ Network แม้ว่าแต่ละโปรเจกต์อาจใช้แค่ 4-5 IP เท่านั้น! นั่นหมายความว่า Docker จอง IP โดยเปล่าประโยชน์มหาศาล จน Pool เต็มเร็วมาก","2026-06-07 06:44:41.577Z",29,12,432,36]