[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-21-12-Web%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":618,"perPage":619,"totalItems":620,"totalPages":621},[5,76,126,176,229,274,321,359,420,465,520,565],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":72,"published_at":73,"school_blog":68,"short_description":74,"title":6,"updated":75,"slug":69,"views":71},"EP.63 การสร้างระบบการจัดการสิทธิ์ผู้ใช้ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2gwfq2275r6hr9k\u002F97_11zon_41oejpzl4i.webp","2026-03-04 08:48:24.186Z",{"keywords":10,"locale":39,"school_blog":49},[11,19,24,29,34],{"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:48:22.358Z","76qprkevbgfdps8","rbxqkotli2tzkw2","WebSocket user permissions","2026-06-07 06:47:49.480Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:48:22.909Z","tdnmoovlsx9cmf5","การควบคุมการเข้าถึงใน WebSocket","2026-06-07 06:47:49.673Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:48:20.967Z","f35nlft1zjh1jx6","WebSocket chat room management","2026-06-07 06:47:48.777Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:48:23.484Z","t0xhrzfym8c9lrk","ระบบการจัดการสิทธิ์ผู้ใช้","2026-06-07 06:47:50.045Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:48:23.857Z","gc4dfxrgudrlnpj","การจัดการสิทธิ์ผู้ใช้ WebSocket","2026-06-07 06:47:50.127Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},"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":50,"collectionId":51,"collectionName":52,"created":53,"expand":54,"id":68,"slug":69,"updated":70,"views":71},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":55},{"blogIds":56,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":62,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"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":63,"th":63},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","npnnilm5hzza4cb","user-permissions-management-websocket-chat","2026-06-14 00:24:39.561Z",247,"2gwfq2275r6hr9k","2025-07-07 11:12:03.801Z","เรียนรู้วิธีการสร้าง ระบบการจัดการสิทธิ์ผู้ใช้ ใน WebSocket Chat เพื่อให้สามารถกำหนดสิทธิ์การเข้าถึงและการทำงานภายในห้องแชทได้อย่างมีประสิทธิภาพ!","2026-06-07 06:44:07.609Z",{"alt":77,"cover_image_path":78,"created":79,"expand":80,"id":122,"published_at":123,"school_blog":118,"short_description":124,"title":77,"updated":125,"slug":119,"views":121},"EP.62 การใช้ Context ใน Golang เพื่อจัดการกับการทำงานที่มีการรอคอย (concurrent tasks)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2hovbk2n1ieorle\u002F95_11zon_2nl6eg2jiv.webp","2026-03-04 08:48:26.956Z",{"keywords":81,"locale":112,"school_blog":113},[82,87,92,97,102,107],{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"updated_by":15},"2026-03-04 08:48:25.439Z","n9r2r9xc1xok70g","การทำงานพร้อมกันใน Golang","2026-06-07 06:47:50.878Z",{"collectionId":12,"collectionName":13,"created":88,"created_by":15,"id":89,"name":90,"updated":91,"updated_by":15},"2026-03-04 08:48:25.812Z","sjjiyydh2zn4mjm","การตั้งเวลาใน Golang","2026-06-07 06:47:51.094Z",{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"updated_by":15},"2026-03-04 08:48:26.008Z","5buf2ifq8tf997e","การยกเลิกงานใน Golang","2026-06-07 06:47:51.234Z",{"collectionId":12,"collectionName":13,"created":98,"created_by":15,"id":99,"name":100,"updated":101,"updated_by":15},"2026-03-04 08:48:26.308Z","n84ea80h1lx8ntq","การจัดการ concurrent tasks ใน Golang","2026-06-07 06:47:51.374Z",{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},"2026-03-04 08:48:24.452Z","6295poaan1deg78","Concurrent tasks Golang","2026-06-07 06:47:50.395Z",{"collectionId":12,"collectionName":13,"created":108,"created_by":15,"id":109,"name":110,"updated":111,"updated_by":15},"2026-03-04 08:48:24.249Z","itgw0smx0evk3u7","Golang context","2026-06-07 06:47:50.276Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":114,"id":118,"slug":119,"updated":120,"views":121},{"category":115},{"blogIds":116,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":117,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"bji62kx3jye65h3","context-golang-concurrent-tasks","2026-06-24 00:57:40.698Z",262,"2hovbk2n1ieorle","2025-07-07 03:34:27.384Z","เรียนรู้วิธีการใช้ Context ใน Golang เพื่อจัดการกับการทำงานที่มีการรอคอย และควบคุมการทำงานของหลายๆ task (concurrent tasks) ได้อย่างมีประสิทธิภาพ","2026-06-07 06:44:08.075Z",{"alt":127,"cover_image_path":128,"created":129,"expand":130,"id":172,"published_at":173,"school_blog":168,"short_description":174,"title":127,"updated":175,"slug":169,"views":171},"EP.61 การสร้างระบบการจัดการห้องแชท (Chat Room Management) ใน WebSocket","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fsbikbcb3r3ck71s\u002F93_11zon_tap28zzmaz.webp","2026-03-04 08:48:27.822Z",{"keywords":131,"locale":162,"school_blog":163},[132,137,142,147,152,157],{"collectionId":12,"collectionName":13,"created":133,"created_by":15,"id":134,"name":135,"updated":136,"updated_by":15},"2026-03-04 08:48:27.456Z","6apcqgw22qzbwor","WebSocket chat rooms","2026-06-07 06:47:51.886Z",{"collectionId":12,"collectionName":13,"created":138,"created_by":15,"id":139,"name":140,"updated":141,"updated_by":15},"2026-03-04 08:48:27.193Z","rpe7cuieidlcx80","Chat room management WebSocket","2026-06-07 06:47:51.787Z",{"collectionId":12,"collectionName":13,"created":143,"created_by":15,"id":144,"name":145,"updated":146,"updated_by":15},"2026-03-04 08:48:26.832Z","ke2vgz3360nnxdd","Multi-user WebSocket chat","2026-06-07 06:47:51.708Z",{"collectionId":12,"collectionName":13,"created":148,"created_by":15,"id":149,"name":150,"updated":151,"updated_by":15},"2026-03-04 08:48:26.531Z","fkyqvsheo2jrtgp","Real-time group messaging","2026-06-07 06:47:51.571Z",{"collectionId":12,"collectionName":13,"created":153,"created_by":15,"id":154,"name":155,"updated":156,"updated_by":15},"2026-03-04 08:48:23.275Z","1i0dr53eb0gzopq","WebSocket app development","2026-06-07 06:47:49.833Z",{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":164,"id":168,"slug":169,"updated":170,"views":171},{"category":165},{"blogIds":166,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":167,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"6sy7p461buh2px1","chat-room-management-websocket","2026-06-10 07:35:07.174Z",245,"sbikbcb3r3ck71s","2025-07-04 04:17:26.373Z","เรียนรู้วิธีการสร้างระบบ การจัดการห้องแชท ใน WebSocket เพื่อให้ผู้ใช้สามารถสร้าง, เข้าร่วม และจัดการห้องแชทของตัวเองได้อย่างมีประสิทธิภาพ","2026-06-07 06:44:08.316Z",{"alt":177,"cover_image_path":178,"created":179,"expand":180,"id":225,"published_at":226,"school_blog":221,"short_description":227,"title":177,"updated":228,"slug":222,"views":224},"สิ่งที่โปรแกรมเมอร์ต้องรู้เมื่อร่วมงานกับนักพัฒนาคนอื่น","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Feh0boef2ouen4y5\u002F4_1_11zon_v2doxn6yf0.webp","2026-03-04 08:48:05.607Z",{"keywords":181,"locale":207,"school_blog":208},[182,187,192,197,202],{"collectionId":12,"collectionName":13,"created":183,"created_by":15,"id":184,"name":185,"updated":186,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"updated_by":15},"2026-03-04 08:31:28.352Z","5o4lizrab3l8t7r","การพัฒนาซอฟต์แวร์","2026-06-07 06:45:26.911Z",{"collectionId":12,"collectionName":13,"created":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},"2026-03-04 08:48:04.381Z","8ggen5huxjywzwd","การทำงานในทีม","2026-06-07 06:47:41.355Z",{"collectionId":12,"collectionName":13,"created":198,"created_by":15,"id":199,"name":200,"updated":201,"updated_by":15},"2026-03-04 08:48:04.682Z","mozura0vqyj9klh","การสื่อสารในทีม","2026-06-07 06:47:41.606Z",{"collectionId":12,"collectionName":13,"created":203,"created_by":15,"id":204,"name":205,"updated":206,"updated_by":15},"2026-03-04 08:48:05.051Z","beqc1umxq41zbug","การทำงานร่วมกัน","2026-06-07 06:47:41.743Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":209,"collectionId":51,"collectionName":52,"created":53,"expand":210,"id":221,"slug":222,"updated":223,"views":224},"spm4l1k5bgmhmmt",{"category":211},{"blogIds":212,"collectionId":57,"collectionName":58,"created":213,"created_by":15,"id":209,"image":214,"image_alt":53,"image_path":215,"label":216,"name":217,"priority":218,"publish_at":219,"scheduled_at":53,"status":66,"updated":220,"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":217,"th":217},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","bbaz039n31dqhpt","what-programmers-need-to-know-when-working-in-a-team","2026-05-13 17:22:05.375Z",238,"eh0boef2ouen4y5","2025-07-03 10:05:24.576Z","การทำงานร่วมกันในทีมโปรแกรมเมอร์เป็นสิ่งสำคัญในการพัฒนาซอฟต์แวร์ที่มีคุณภาพ โปรแกรมเมอร์ต้องรู้ถึงการสื่อสารที่ดี การใช้เครื่องมือที่เหมาะสม และการประสานงานกับนักพัฒนาคนอื่น ๆ เพื่อให้โปรเจกต์สำเร็จได้อย่างมีประสิทธิภาพ","2026-06-07 06:44:05.324Z",{"alt":230,"cover_image_path":231,"created":232,"expand":233,"id":270,"published_at":271,"school_blog":266,"short_description":272,"title":230,"updated":273,"slug":267,"views":269},"การเขียนโค้ดให้ปลอดภัย: เทคนิคการป้องกันการโจมตีในเว็บแอป","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F00taha79oekar8v\u002F6_1_11zon_ncoinjk5m4.webp","2026-03-04 08:47:59.171Z",{"keywords":234,"locale":260,"school_blog":261},[235,240,245,250,255],{"collectionId":12,"collectionName":13,"created":236,"created_by":15,"id":237,"name":238,"updated":239,"updated_by":15},"2026-03-04 08:47:56.208Z","g2ivs7fr27gyvb0","ป้องกันการโจมตีในเว็บแอป","2026-06-07 06:47:38.237Z",{"collectionId":12,"collectionName":13,"created":241,"created_by":15,"id":242,"name":243,"updated":244,"updated_by":15},"2026-03-04 08:47:56.726Z","d3teeodb0259ttw","การเขียนโค้ดที่ปลอดภัย","2026-06-07 06:47:38.560Z",{"collectionId":12,"collectionName":13,"created":246,"created_by":15,"id":247,"name":248,"updated":249,"updated_by":15},"2026-03-04 08:47:57.420Z","hnstpdm2t5fp52m","การป้องกัน SQL Injection","2026-06-07 06:47:38.865Z",{"collectionId":12,"collectionName":13,"created":251,"created_by":15,"id":252,"name":253,"updated":254,"updated_by":15},"2026-03-04 08:47:57.843Z","ezs53k4e8t7cl20","การป้องกัน XSS","2026-06-07 06:47:39.165Z",{"collectionId":12,"collectionName":13,"created":256,"created_by":15,"id":257,"name":258,"updated":259,"updated_by":15},"2026-03-04 08:47:58.624Z","prhojme9tcdxytz","ความปลอดภัยในเว็บแอป","2026-06-07 06:47:39.518Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":209,"collectionId":51,"collectionName":52,"created":53,"expand":262,"id":266,"slug":267,"updated":268,"views":269},{"category":263},{"blogIds":264,"collectionId":57,"collectionName":58,"created":213,"created_by":15,"id":209,"image":214,"image_alt":53,"image_path":215,"label":265,"name":217,"priority":218,"publish_at":219,"scheduled_at":53,"status":66,"updated":220,"updated_by":15},[],{"en":217,"th":217},"bzlral8xaidart1","secure-coding-techniques-to-prevent-web-app-attacks","2026-05-13 17:13:15.679Z",285,"00taha79oekar8v","2025-07-03 09:51:00.281Z","เรียนรู้วิธีป้องกันการโจมตีในเว็บแอป เช่น SQL Injection, XSS, และการจัดการเซสชัน เพื่อเสริมสร้างความปลอดภัยให้กับเว็บแอปของคุณ","2026-06-07 06:44:04.370Z",{"alt":275,"cover_image_path":276,"created":277,"expand":278,"id":317,"published_at":318,"school_blog":313,"short_description":319,"title":275,"updated":320,"slug":314,"views":316},"How to ใช้ Git แบบมือโปร (แม้จะลืมคำสั่งบ่อย)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F601k82ytz0p9qsd\u002F1_1_11zon_ekpfrw2cvq.webp","2026-03-04 08:48:31.948Z",{"keywords":279,"locale":300,"school_blog":301},[280,285,290,295],{"collectionId":12,"collectionName":13,"created":281,"created_by":15,"id":282,"name":283,"updated":284,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":286,"created_by":15,"id":287,"name":288,"updated":289,"updated_by":15},"2026-03-04 08:48:30.465Z","16ep6861ritfhxp","การใช้งาน Git เบื้องต้น","2026-06-07 06:47:52.915Z",{"collectionId":12,"collectionName":13,"created":291,"created_by":15,"id":292,"name":293,"updated":294,"updated_by":15},"2026-03-04 08:48:31.026Z","vzru4ronm4s733d","Git สำหรับนักพัฒนา","2026-06-07 06:47:53.201Z",{"collectionId":12,"collectionName":13,"created":296,"created_by":15,"id":297,"name":298,"updated":299,"updated_by":15},"2026-03-04 08:48:31.602Z","7a7jvw6s2rs095k","การใช้งาน Git","2026-06-07 06:47:53.448Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":302,"collectionId":51,"collectionName":52,"created":53,"expand":303,"id":313,"slug":314,"updated":315,"views":316},"qn0d7xwatkleou1",{"category":304},{"blogIds":305,"collectionId":57,"collectionName":58,"created":306,"created_by":15,"id":302,"image":307,"image_alt":53,"image_path":308,"label":309,"name":310,"priority":218,"publish_at":311,"scheduled_at":53,"status":66,"updated":312,"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":310,"th":310},"How to","2025-02-04 08:40:59.666Z","2026-06-07 06:45:02.619Z","4eze8z99a7v1zz2","how-to-git-like-a-pro-even-when-you-forget","2026-06-23 04:38:57.491Z",328,"601k82ytz0p9qsd","2025-07-03 02:27:35.085Z","ลืมคำสั่ง Git บ่อยไม่ใช่ปัญหา! บทความนี้จะพาคุณเข้าใจแนวคิด วิธีคิด และเทคนิคการใช้ Git แบบมืออาชีพ ที่ไม่ต้องพิมพ์คล่องก็ใช้คล่องได้","2026-06-07 06:44:09.107Z",{"alt":322,"cover_image_path":323,"created":324,"expand":325,"id":355,"published_at":356,"school_blog":351,"short_description":357,"title":322,"updated":358,"slug":352,"views":354},"EP.60 การเพิ่มฟีเจอร์การแชทแบบกลุ่ม (Group Chat) ใน WebSocket","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk7kes7hshgxn4fp\u002F91_11zon_81s7dvjfs5.webp","2026-03-04 08:48:28.973Z",{"keywords":326,"locale":345,"school_blog":346},[327,328,333,334,335,340],{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},{"collectionId":12,"collectionName":13,"created":329,"created_by":15,"id":330,"name":331,"updated":332,"updated_by":15},"2026-03-04 08:48:28.330Z","kr1413m4fzwuc0h","Multi-user chat WebSocket","2026-06-07 06:47:52.313Z",{"collectionId":12,"collectionName":13,"created":148,"created_by":15,"id":149,"name":150,"updated":151,"updated_by":15},{"collectionId":12,"collectionName":13,"created":133,"created_by":15,"id":134,"name":135,"updated":136,"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:48:28.118Z","mke46zb9cmeoi7c","Group chat WebSocket","2026-06-07 06:47:52.184Z",{"collectionId":12,"collectionName":13,"created":341,"created_by":15,"id":342,"name":343,"updated":344,"updated_by":15},"2026-03-04 08:48:27.886Z","ymx9t9j2b8g259k","WebSocket group chat","2026-06-07 06:47:52.003Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":347,"id":351,"slug":352,"updated":353,"views":354},{"category":348},{"blogIds":349,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":350,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"9f3tyn59u5noidm","group-chat-websocket","2026-06-24 22:16:23.047Z",259,"k7kes7hshgxn4fp","2025-07-02 02:20:18.502Z","เรียนรู้วิธีเพิ่มฟีเจอร์การแชทแบบกลุ่ม (Group Chat) ใน WebSocket เพื่อให้ผู้ใช้สามารถเข้าร่วมแชทกลุ่มและส่งข้อความในกลุ่มผ่าน WebSocket","2026-06-07 06:44:08.801Z",{"alt":360,"cover_image_path":361,"created":362,"expand":363,"id":416,"published_at":417,"school_blog":412,"short_description":418,"title":360,"updated":419,"slug":413,"views":415},"EP.59 การทำให้ WebSocket Server รองรับการสเกล (Scalability) ด้วย Redis","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fg6sooep7we6bwc0\u002F89_11zon_pwaaovzod7.webp","2026-03-04 08:48:36.170Z",{"keywords":364,"locale":406,"school_blog":407},[365,370,375,380,385,390,395,400,401],{"collectionId":12,"collectionName":13,"created":366,"created_by":15,"id":367,"name":368,"updated":369,"updated_by":15},"2026-03-04 08:48:01.927Z","vcknw4qrrifzlfg","WebSocket scalability","2026-06-07 06:47:40.736Z",{"collectionId":12,"collectionName":13,"created":371,"created_by":15,"id":372,"name":373,"updated":374,"updated_by":15},"2026-03-04 08:48:33.630Z","0ywh76lu4wdls2m","Redis WebSocket","2026-06-07 06:47:54.311Z",{"collectionId":12,"collectionName":13,"created":376,"created_by":15,"id":377,"name":378,"updated":379,"updated_by":15},"2026-03-04 08:48:32.974Z","eisfqhcev64quw9","scalable WebSocket server","2026-06-07 06:47:54.054Z",{"collectionId":12,"collectionName":13,"created":381,"created_by":15,"id":382,"name":383,"updated":384,"updated_by":15},"2026-03-04 08:48:32.209Z","48y556uc6leq7y0","real-time chat WebSocket","2026-06-07 06:47:53.735Z",{"collectionId":12,"collectionName":13,"created":386,"created_by":15,"id":387,"name":388,"updated":389,"updated_by":15},"2026-03-04 08:48:31.837Z","ahb1ycvssncgam5","WebSocket chat app","2026-06-07 06:47:53.603Z",{"collectionId":12,"collectionName":13,"created":391,"created_by":15,"id":392,"name":393,"updated":394,"updated_by":15},"2026-03-04 08:48:05.655Z","jbilbz5mzbvhi7v","WebSocket performance","2026-06-07 06:47:41.927Z",{"collectionId":12,"collectionName":13,"created":396,"created_by":15,"id":397,"name":398,"updated":399,"updated_by":15},"2026-03-04 08:48:31.334Z","mc8i2g75noi47kf","Redis chat app","2026-06-07 06:47:53.307Z",{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},{"collectionId":12,"collectionName":13,"created":402,"created_by":15,"id":403,"name":404,"updated":405,"updated_by":15},"2026-03-04 08:48:30.822Z","9oaikj2kr22tbp3","server scaling","2026-06-07 06:47:53.046Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":408,"id":412,"slug":413,"updated":414,"views":415},{"category":409},{"blogIds":410,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":411,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"mlvpzlynlgvljj8","scalability-websocket-redis","2026-06-27 16:49:21.088Z",370,"g6sooep7we6bwc0","2025-07-01 04:30:02.627Z","เรียนรู้วิธีทำให้ WebSocket Server รองรับการสเกล (scalability) โดยใช้ Redis เพื่อจัดการกับการเชื่อมต่อจำนวนมากและเพิ่มประสิทธิภาพในการส่งข้อมูลในห้องแชท","2026-06-07 06:44:09.832Z",{"alt":421,"cover_image_path":422,"created":423,"expand":424,"id":461,"published_at":462,"school_blog":457,"short_description":463,"title":421,"updated":464,"slug":458,"views":460},"ภาษาโปรแกรมไหนที่ AI ช่วยได้ดีที่สุด?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fixcxzwysbioksol\u002F1_11zon_v96fkmi4wh.webp","2026-03-04 08:48:34.962Z",{"keywords":425,"locale":451,"school_blog":452},[426,431,436,441,446],{"collectionId":12,"collectionName":13,"created":427,"created_by":15,"id":428,"name":429,"updated":430,"updated_by":15},"2026-03-04 08:48:34.224Z","6pi9mba8h9or09q","เรียนเขียนโค้ดสำหรับมือใหม่","2026-06-07 06:47:54.525Z",{"collectionId":12,"collectionName":13,"created":432,"created_by":15,"id":433,"name":434,"updated":435,"updated_by":15},"2026-03-04 08:47:35.642Z","tj6xtx4ji1rcii3","Dev มือใหม่","2026-06-07 06:47:28.713Z",{"collectionId":12,"collectionName":13,"created":437,"created_by":15,"id":438,"name":439,"updated":440,"updated_by":15},"2026-03-04 08:48:34.544Z","qbi78u2s6o5rysg","ภาษาโปรแกรมสำหรับ AI","2026-06-07 06:47:54.764Z",{"collectionId":12,"collectionName":13,"created":442,"created_by":15,"id":443,"name":444,"updated":445,"updated_by":15},"2026-03-04 08:46:17.391Z","mcvwsp90ncvhb1i","AI เขียนโค้ด","2026-06-07 06:47:05.282Z",{"collectionId":12,"collectionName":13,"created":447,"created_by":15,"id":448,"name":449,"updated":450,"updated_by":15},"2026-03-04 08:46:45.708Z","wakiabpnjndfezm","การเขียนโค้ด","2026-06-07 06:47:14.247Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":209,"collectionId":51,"collectionName":52,"created":53,"expand":453,"id":457,"slug":458,"updated":459,"views":460},{"category":454},{"blogIds":455,"collectionId":57,"collectionName":58,"created":213,"created_by":15,"id":209,"image":214,"image_alt":53,"image_path":215,"label":456,"name":217,"priority":218,"publish_at":219,"scheduled_at":53,"status":66,"updated":220,"updated_by":15},[],{"en":217,"th":217},"me9fk0crbod9pdp","which-programming-language-does-ai-assist-best","2026-05-13 16:30:27.983Z",298,"ixcxzwysbioksol","2025-06-30 09:18:18.820Z","รู้หรือไม่ว่า AI ไม่ได้เก่งพอ ๆ กันกับทุกภาษา? บทความนี้จะพาไปดูว่า AI เข้ากับภาษาไหนได้ดีที่สุด และมือใหม่ควรเริ่มจากภาษาอะไรเพื่อให้ใช้ AI ได้คุ้มสุด ๆ","2026-06-07 06:44:09.417Z",{"alt":466,"cover_image_path":467,"created":468,"expand":469,"id":516,"published_at":517,"school_blog":513,"short_description":518,"title":466,"updated":519,"slug":514,"views":171},"EP.58 การเพิ่มฟีเจอร์การแจ้งเตือนแบบพุช (Push Notification) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fee16b1lv755io0i\u002F87_11zon_gd2zq24qse.webp","2026-03-04 08:48:38.351Z",{"keywords":470,"locale":507,"school_blog":508},[471,476,481,486,491,496,501,502],{"collectionId":12,"collectionName":13,"created":472,"created_by":15,"id":473,"name":474,"updated":475,"updated_by":15},"2026-03-04 08:48:35.607Z","rsvzi74wxb7fgkg","Push notification WebSocket","2026-06-07 06:47:54.837Z",{"collectionId":12,"collectionName":13,"created":477,"created_by":15,"id":478,"name":479,"updated":480,"updated_by":15},"2026-03-04 08:45:13.969Z","pyniezbvfdbyuyc","real-time notifications","2026-06-07 06:46:46.125Z",{"collectionId":12,"collectionName":13,"created":482,"created_by":15,"id":483,"name":484,"updated":485,"updated_by":15},"2026-03-04 08:48:35.998Z","k12bqrgg1jktbeq","WebSocket chat push notifications","2026-06-07 06:47:55.007Z",{"collectionId":12,"collectionName":13,"created":487,"created_by":15,"id":488,"name":489,"updated":490,"updated_by":15},"2026-03-04 08:48:37.086Z","lyvc6m6wy8i75nq","การพัฒนาแอปพลิเคชันแชท","2026-06-07 06:47:55.501Z",{"collectionId":12,"collectionName":13,"created":492,"created_by":15,"id":493,"name":494,"updated":495,"updated_by":15},"2026-03-04 08:47:08.604Z","qgbhpvuawt0d7sv","real-time alerts","2026-06-07 06:47:20.419Z",{"collectionId":12,"collectionName":13,"created":497,"created_by":15,"id":498,"name":499,"updated":500,"updated_by":15},"2026-03-04 08:48:37.396Z","7rautg2afwgj00c","ฟีเจอร์ WebSocket","2026-06-07 06:47:55.675Z",{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},{"collectionId":12,"collectionName":13,"created":503,"created_by":15,"id":504,"name":505,"updated":506,"updated_by":15},"2026-03-04 08:48:36.895Z","ccyxp32uzuvwz0s","push notification service","2026-06-07 06:47:55.426Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":509,"id":513,"slug":514,"updated":515,"views":171},{"category":510},{"blogIds":511,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":512,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"j7h3wxlxac9s4z4","push-notification-websocket-chat","2026-06-15 20:30:40.580Z","ee16b1lv755io0i","2025-06-30 02:15:56.769Z","เรียนรู้วิธีการเพิ่มฟีเจอร์การแจ้งเตือนแบบพุชใน WebSocket Chat เพื่อให้ผู้ใช้สามารถรับการแจ้งเตือนแบบเรียลไทม์เมื่อมีข้อความใหม่หรือการอัปเดตในห้องแชท","2026-06-07 06:44:10.079Z",{"alt":521,"cover_image_path":522,"created":523,"expand":524,"id":561,"published_at":562,"school_blog":557,"short_description":563,"title":521,"updated":564,"slug":558,"views":560},"ทำไม Chatbot ที่เก่งอาจทำให้ข้อมูลรั่วไหลได้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fu2mhhpx5125bkqr\u002F11zon_chat_2zrxg2khsk.webp","2026-03-04 08:48:43.311Z",{"keywords":525,"locale":551,"school_blog":552},[526,531,536,541,546],{"collectionId":12,"collectionName":13,"created":527,"created_by":15,"id":528,"name":529,"updated":530,"updated_by":15},"2026-03-04 08:34:03.189Z","yqlfsj6oely2c95","ความปลอดภัย","2026-06-07 06:45:56.756Z",{"collectionId":12,"collectionName":13,"created":532,"created_by":15,"id":533,"name":534,"updated":535,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-06-07 06:45:27.147Z",{"collectionId":12,"collectionName":13,"created":537,"created_by":15,"id":538,"name":539,"updated":540,"updated_by":15},"2026-03-04 08:48:41.773Z","uc16pxif1psq7lu","ความเสี่ยงจาก AI","2026-06-07 06:47:57.158Z",{"collectionId":12,"collectionName":13,"created":542,"created_by":15,"id":543,"name":544,"updated":545,"updated_by":15},"2026-03-04 08:48:42.372Z","2dytofkpqe73ici","AI Security","2026-06-07 06:47:57.446Z",{"collectionId":12,"collectionName":13,"created":547,"created_by":15,"id":548,"name":549,"updated":550,"updated_by":15},"2026-03-04 08:48:42.854Z","4l4xr9ykm93i5cl","ระบบ Chatbot","2026-06-07 06:47:57.722Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":209,"collectionId":51,"collectionName":52,"created":53,"expand":553,"id":557,"slug":558,"updated":559,"views":560},{"category":554},{"blogIds":555,"collectionId":57,"collectionName":58,"created":213,"created_by":15,"id":209,"image":214,"image_alt":53,"image_path":215,"label":556,"name":217,"priority":218,"publish_at":219,"scheduled_at":53,"status":66,"updated":220,"updated_by":15},[],{"en":217,"th":217},"j64fipgw27bm0fj","ai-chatbot-security-risk","2026-06-25 19:51:10.208Z",221,"u2mhhpx5125bkqr","2025-06-27 12:14:12.202Z","แม้ AI จะช่วยให้การสื่อสารภายในองค์กรและกับลูกค้าดีขึ้น แต่ถ้าไม่มีระบบป้องกันข้อมูลที่เหมาะสม Chatbot อาจกลายเป็นช่องโหว่ความปลอดภัยร้ายแรง","2026-06-07 06:44:10.908Z",{"alt":566,"cover_image_path":567,"created":568,"expand":569,"id":614,"published_at":615,"school_blog":610,"short_description":616,"title":566,"updated":617,"slug":611,"views":613},"EP.57 การเพิ่มฟีเจอร์การควบคุมการเข้าถึงห้องแชท (Access Control)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2381m4bafuusepx\u002F85_11zon_6t4lm3c2p6.webp","2026-03-04 08:48:40.666Z",{"keywords":570,"locale":604,"school_blog":605},[571,572,577,582,583,584,589,594,599],{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},{"collectionId":12,"collectionName":13,"created":573,"created_by":15,"id":574,"name":575,"updated":576,"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":578,"created_by":15,"id":579,"name":580,"updated":581,"updated_by":15},"2026-03-04 08:48:39.055Z","ktwpd8009t428ea","real-time access control","2026-06-07 06:47:56.436Z",{"collectionId":12,"collectionName":13,"created":487,"created_by":15,"id":488,"name":489,"updated":490,"updated_by":15},{"collectionId":12,"collectionName":13,"created":497,"created_by":15,"id":498,"name":499,"updated":500,"updated_by":15},{"collectionId":12,"collectionName":13,"created":585,"created_by":15,"id":586,"name":587,"updated":588,"updated_by":15},"2026-03-04 08:48:38.634Z","6lj1eoz26dsxxsy","user management in chat rooms","2026-06-07 06:47:56.292Z",{"collectionId":12,"collectionName":13,"created":590,"created_by":15,"id":591,"name":592,"updated":593,"updated_by":15},"2026-03-04 08:48:38.290Z","1nyt0wqcgvcl9vm","chat room access control","2026-06-07 06:47:56.091Z",{"collectionId":12,"collectionName":13,"created":595,"created_by":15,"id":596,"name":597,"updated":598,"updated_by":15},"2026-03-04 08:48:37.970Z","axhdcbnxy7jl4ge","WebSocket chat access","2026-06-07 06:47:55.932Z",{"collectionId":12,"collectionName":13,"created":600,"created_by":15,"id":601,"name":602,"updated":603,"updated_by":15},"2026-03-04 08:48:37.762Z","8uw33w756fmqerq","Access control WebSocket","2026-06-07 06:47:55.853Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":606,"id":610,"slug":611,"updated":612,"views":613},{"category":607},{"blogIds":608,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":609,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"ielx8h08fimrsxc","access-control-websocket-chat","2026-06-20 19:20:28.405Z",251,"2381m4bafuusepx","2025-06-27 11:11:56.769Z","เรียนรู้วิธีการเพิ่มฟีเจอร์การควบคุมการเข้าถึงห้องแชทใน WebSocket Chat เพื่อให้ผู้ดูแลสามารถควบคุมการเข้าถึงห้องแชทได้ตามสิทธิที่กำหนด","2026-06-07 06:44:10.426Z",21,12,434,37]