[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-19-12-superdev%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520academy-all-all-createdAt:desc-default":3},{"data":4,"page":587,"perPage":588,"totalItems":589,"totalPages":590},[5,85,138,183,220,265,310,360,405,458,503,550],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":81,"published_at":82,"school_blog":77,"short_description":83,"title":6,"updated":84,"slug":78,"views":80},"JS2GO EP.2 The Basics: JavaScript กับ Go ต่างกันอย่างไร?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8rlgmm84fb8ed6k\u002F3_11zon_5_l0496fhi8r.webp","2026-03-04 08:27:03.497Z",{"keywords":10,"locale":49,"school_blog":59},[11,19,24,29,34,39,44],{"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:26:59.195Z","","gab60xd583s3qaw","Superdev School","2026-04-10 16:07:37.087Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:27:02.106Z","y326hq13xntn2i4","Programming Languages","2026-04-10 16:07:37.775Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:27:02.927Z","dptjn49w7xukqr7","Syntax","2026-04-10 16:07:37.966Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:24:43.639Z","mjcndls2y3h9ob6","Error Handling","2026-04-10 16:07:29.897Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:24:38.707Z","v8n5s20nj500amh","JavaScript vs Go","2026-04-10 16:07:29.238Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},"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":60,"collectionId":61,"collectionName":62,"created":15,"expand":63,"id":77,"slug":78,"updated":79,"views":80},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs",{"category":64},{"blogIds":65,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":71,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":72,"th":72},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-04-25 02:32:14.339Z","nrvmv21txad2n7a","javascript-vs-go-differences","2026-05-24 14:03:21.472Z",310,"8rlgmm84fb8ed6k","2025-07-15 01:48:39.876Z","เรียนรู้ความแตกต่างระหว่าง JavaScript และ Go ในเรื่องของ Syntax, Error Handling, และ หลักการออกแบบ เพื่อเข้าใจการเลือกใช้ภาษาในโปรเจกต์ต่าง ๆ","2026-04-25 02:47:20.840Z",{"alt":86,"cover_image_path":87,"created":88,"expand":89,"id":134,"published_at":135,"school_blog":130,"short_description":136,"title":86,"updated":137,"slug":131,"views":133},"EP.66 การใช้ Golang ร่วมกับ JSON Web Tokens (JWT) เพื่อจัดการกับระบบการยืนยันตัวตน (Authentication)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5p8k7lxxm75o9vs\u002F103_11zon_i57wahmqet.webp","2026-03-04 08:48:16.101Z",{"keywords":90,"locale":116,"school_blog":117},[91,96,101,106,111],{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-04-10 16:12:48.917Z",{"collectionId":12,"collectionName":13,"created":97,"created_by":15,"id":98,"name":99,"updated":100,"updated_by":15},"2026-03-04 08:48:14.773Z","rvtg1ba2zbmb32s","การจัดการผู้ใช้ด้วย JWT","2026-04-10 16:13:43.201Z",{"collectionId":12,"collectionName":13,"created":102,"created_by":15,"id":103,"name":104,"updated":105,"updated_by":15},"2026-03-04 08:48:15.037Z","sl8wru9sz7m3so7","การสร้าง JWT Token","2026-04-10 16:13:43.298Z",{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},"2026-03-04 08:48:15.405Z","7fgg8b58kbl6ytw","การใช้ JWT ใน Golang","2026-04-10 16:13:43.390Z",{"collectionId":12,"collectionName":13,"created":112,"created_by":15,"id":113,"name":114,"updated":115,"updated_by":15},"2026-03-04 08:48:15.762Z","b4d6q368ip2h0yk","การยืนยันตัวตน WebSocket","2026-04-10 16:13:43.502Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":119,"id":130,"slug":131,"updated":132,"views":133},"wqxt7ag2gn7xcmk",{"category":120},{"blogIds":121,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":125,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"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":126,"th":126},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","hhnqut20vjry7wq","golang-jwt-authentication-websocket","2026-05-24 11:24:49.346Z",278,"5p8k7lxxm75o9vs","2025-07-14 02:26:48.849Z","เรียนรู้วิธีการใช้ JSON Web Tokens (JWT) ใน Golang เพื่อสร้างระบบการยืนยันตัวตน (Authentication) ที่ปลอดภัยและมีประสิทธิภาพใน WebSocket Chat.","2026-05-06 08:38:19.443Z",{"alt":139,"cover_image_path":140,"created":141,"expand":142,"id":179,"published_at":180,"school_blog":175,"short_description":181,"title":139,"updated":182,"slug":176,"views":178},"EP.65 การเพิ่มระบบการกรองข้อความ (Message Filtering) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fowswelxoepoj0gp\u002F101_11zon_ubulw3ja7c.webp","2026-03-04 08:48:19.424Z",{"keywords":143,"locale":169,"school_blog":170},[144,149,154,159,164],{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:48:16.599Z","y6kdl4lnz3i5bvr","การกรองข้อความ WebSocket","2026-04-10 16:13:43.940Z",{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},"2026-03-04 08:48:17.031Z","rsowsqhsifxpoot","ระบบกรองข้อความในห้องแชท","2026-04-10 16:13:44.200Z",{"collectionId":12,"collectionName":13,"created":155,"created_by":15,"id":156,"name":157,"updated":158,"updated_by":15},"2026-03-04 08:48:17.744Z","y1hhfhr6r33nblh","การจัดการเนื้อหาห้องแชท","2026-04-10 16:13:44.363Z",{"collectionId":12,"collectionName":13,"created":160,"created_by":15,"id":161,"name":162,"updated":163,"updated_by":15},"2026-03-04 08:48:18.475Z","n26sxfz2d595rjk","การกรองคำต้องห้าม WebSocket","2026-04-10 16:13:44.538Z",{"collectionId":12,"collectionName":13,"created":165,"created_by":15,"id":166,"name":167,"updated":168,"updated_by":15},"2026-03-04 08:48:19.163Z","pmillzex6emosd6","ความปลอดภัยใน WebSocket Chat","2026-04-10 16:13:44.787Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":171,"id":175,"slug":176,"updated":177,"views":178},{"category":172},{"blogIds":173,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":174,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"h7yv6ksm6bs53t7","message-filtering-websocket-chat","2026-05-12 15:16:58.963Z",232,"owswelxoepoj0gp","2025-07-09 03:16:44.566Z","เรียนรู้วิธีเพิ่ม ระบบการกรองข้อความ (Message Filtering) ใน WebSocket Chat เพื่อให้สามารถกรองข้อความที่ไม่เหมาะสมและควบคุมเนื้อหาของการสนทนาในห้องแชทแบบเรียลไทม์!","2026-04-22 07:10:09.976Z",{"alt":184,"cover_image_path":185,"created":186,"expand":187,"id":216,"published_at":217,"school_blog":212,"short_description":218,"title":184,"updated":219,"slug":213,"views":215},"JS2GO EP.1 เริ่มต้นจาก JavaScript สู่ Go: พื้นฐานที่นักพัฒนาควรรู้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F98ivm3wc65qcnhf\u002F1_11zon_8_0l0qr2f0kr.webp","2026-03-04 08:27:18.718Z",{"keywords":188,"locale":206,"school_blog":207},[189,190,191,196,201],{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"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":192,"created_by":15,"id":193,"name":194,"updated":195,"updated_by":15},"2026-03-04 08:27:13.612Z","xk01lchy9wnxndd","เริ่มต้นจาก JavaScript สู่ Go","2026-04-10 16:07:38.639Z",{"collectionId":12,"collectionName":13,"created":197,"created_by":15,"id":198,"name":199,"updated":200,"updated_by":15},"2026-03-04 08:27:15.893Z","keubtbdqa4mblx3","การพัฒนาโปรแกรม","2026-04-10 16:07:38.769Z",{"collectionId":12,"collectionName":13,"created":202,"created_by":15,"id":203,"name":204,"updated":205,"updated_by":15},"2026-03-04 08:27:00.374Z","3zxor15qr0d9g3v","Go สำหรับนักพัฒนา","2026-04-10 16:07:37.511Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":15,"expand":208,"id":212,"slug":213,"updated":214,"views":215},{"category":209},{"blogIds":210,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":211,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"updated_by":15},[],{"en":72,"th":72},"5ejyd23037m1tc0","from-javascript-to-go","2026-05-12 19:30:53.349Z",415,"98ivm3wc65qcnhf","2025-07-08 08:29:27.354Z","เรียนรู้พื้นฐานของภาษา JavaScript และ Go รวมถึงความแตกต่างที่สำคัญในเชิงการใช้งานและการออกแบบ","2026-04-25 02:47:21.446Z",{"alt":221,"cover_image_path":222,"created":223,"expand":224,"id":261,"published_at":262,"school_blog":257,"short_description":263,"title":221,"updated":264,"slug":258,"views":260},"EP.64 การจัดการข้อผิดพลาด (Error Handling) ใน WebSocket Server ด้วย Golang","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fgi64nuyuuxt3p9o\u002F99_11zon_se0u83rzme.webp","2026-03-04 08:48:22.352Z",{"keywords":225,"locale":251,"school_blog":252},[226,231,236,241,246],{"collectionId":12,"collectionName":13,"created":227,"created_by":15,"id":228,"name":229,"updated":230,"updated_by":15},"2026-03-04 08:48:20.221Z","rdq8ziks7d5ow1m","การจัดการข้อผิดพลาด WebSocket","2026-04-10 16:13:45.243Z",{"collectionId":12,"collectionName":13,"created":232,"created_by":15,"id":233,"name":234,"updated":235,"updated_by":15},"2026-03-04 08:48:20.425Z","kssyg088tiyq272","ข้อผิดพลาดใน WebSocket Server","2026-04-10 16:13:45.345Z",{"collectionId":12,"collectionName":13,"created":237,"created_by":15,"id":238,"name":239,"updated":240,"updated_by":15},"2026-03-04 08:48:20.723Z","bxlg7joxteer1is","การจัดการข้อผิดพลาด Golang","2026-04-10 16:13:45.446Z",{"collectionId":12,"collectionName":13,"created":242,"created_by":15,"id":243,"name":244,"updated":245,"updated_by":15},"2026-03-04 08:48:21.368Z","k867kcg5z7u4rjp","ข้อผิดพลาดในการเชื่อมต่อ WebSocket","2026-04-10 16:13:45.739Z",{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},"2026-03-04 08:48:21.972Z","nmwh840qvis4a64","การจัดการข้อผิดพลาด Golang WebSocket","2026-04-10 16:13:45.986Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":253,"id":257,"slug":258,"updated":259,"views":260},{"category":254},{"blogIds":255,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":256,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"iotx8smkq7kievo","error-handling-websocket-server-golang","2026-05-26 00:44:35.266Z",242,"gi64nuyuuxt3p9o","2025-07-08 02:20:58.486Z","เรียนรู้วิธีการ จัดการข้อผิดพลาด (Error Handling) ใน WebSocket Server ด้วย Golang เพื่อให้ระบบ WebSocket ของเรามีความทนทานต่อข้อผิดพลาดและสามารถจัดการกับข้อผิดพลาดที่เกิดขึ้นได้อย่างมีประสิทธิภาพ!","2026-04-22 07:10:10.237Z",{"alt":266,"cover_image_path":267,"created":268,"expand":269,"id":306,"published_at":307,"school_blog":302,"short_description":308,"title":266,"updated":309,"slug":303,"views":305},"EP.63 การสร้างระบบการจัดการสิทธิ์ผู้ใช้ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2gwfq2275r6hr9k\u002F97_11zon_41oejpzl4i.webp","2026-03-04 08:48:24.186Z",{"keywords":270,"locale":296,"school_blog":297},[271,276,281,286,291],{"collectionId":12,"collectionName":13,"created":272,"created_by":15,"id":273,"name":274,"updated":275,"updated_by":15},"2026-03-04 08:48:22.358Z","rbxqkotli2tzkw2","WebSocket user permissions","2026-04-10 16:13:46.057Z",{"collectionId":12,"collectionName":13,"created":277,"created_by":15,"id":278,"name":279,"updated":280,"updated_by":15},"2026-03-04 08:48:22.909Z","tdnmoovlsx9cmf5","การควบคุมการเข้าถึงใน WebSocket","2026-04-10 16:13:46.240Z",{"collectionId":12,"collectionName":13,"created":282,"created_by":15,"id":283,"name":284,"updated":285,"updated_by":15},"2026-03-04 08:48:20.967Z","f35nlft1zjh1jx6","WebSocket chat room management","2026-04-10 16:13:45.606Z",{"collectionId":12,"collectionName":13,"created":287,"created_by":15,"id":288,"name":289,"updated":290,"updated_by":15},"2026-03-04 08:48:23.484Z","t0xhrzfym8c9lrk","ระบบการจัดการสิทธิ์ผู้ใช้","2026-04-10 16:13:46.490Z",{"collectionId":12,"collectionName":13,"created":292,"created_by":15,"id":293,"name":294,"updated":295,"updated_by":15},"2026-03-04 08:48:23.857Z","gc4dfxrgudrlnpj","การจัดการสิทธิ์ผู้ใช้ WebSocket","2026-04-10 16:13:46.556Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":298,"id":302,"slug":303,"updated":304,"views":305},{"category":299},{"blogIds":300,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":301,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"npnnilm5hzza4cb","user-permissions-management-websocket-chat","2026-05-14 18:52:30.850Z",244,"2gwfq2275r6hr9k","2025-07-07 11:12:03.801Z","เรียนรู้วิธีการสร้าง ระบบการจัดการสิทธิ์ผู้ใช้ ใน WebSocket Chat เพื่อให้สามารถกำหนดสิทธิ์การเข้าถึงและการทำงานภายในห้องแชทได้อย่างมีประสิทธิภาพ!","2026-04-22 07:10:10.462Z",{"alt":311,"cover_image_path":312,"created":313,"expand":314,"id":356,"published_at":357,"school_blog":352,"short_description":358,"title":311,"updated":359,"slug":353,"views":355},"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":315,"locale":346,"school_blog":347},[316,321,326,331,336,341],{"collectionId":12,"collectionName":13,"created":317,"created_by":15,"id":318,"name":319,"updated":320,"updated_by":15},"2026-03-04 08:48:25.439Z","n9r2r9xc1xok70g","การทำงานพร้อมกันใน Golang","2026-04-10 16:13:47.226Z",{"collectionId":12,"collectionName":13,"created":322,"created_by":15,"id":323,"name":324,"updated":325,"updated_by":15},"2026-03-04 08:48:25.812Z","sjjiyydh2zn4mjm","การตั้งเวลาใน Golang","2026-04-10 16:13:47.361Z",{"collectionId":12,"collectionName":13,"created":327,"created_by":15,"id":328,"name":329,"updated":330,"updated_by":15},"2026-03-04 08:48:26.008Z","5buf2ifq8tf997e","การยกเลิกงานใน Golang","2026-04-10 16:13:47.428Z",{"collectionId":12,"collectionName":13,"created":332,"created_by":15,"id":333,"name":334,"updated":335,"updated_by":15},"2026-03-04 08:48:26.308Z","n84ea80h1lx8ntq","การจัดการ concurrent tasks ใน Golang","2026-04-10 16:13:47.615Z",{"collectionId":12,"collectionName":13,"created":337,"created_by":15,"id":338,"name":339,"updated":340,"updated_by":15},"2026-03-04 08:48:24.452Z","6295poaan1deg78","Concurrent tasks Golang","2026-04-10 16:13:46.837Z",{"collectionId":12,"collectionName":13,"created":342,"created_by":15,"id":343,"name":344,"updated":345,"updated_by":15},"2026-03-04 08:48:24.249Z","itgw0smx0evk3u7","Golang context","2026-04-10 16:13:46.706Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":348,"id":352,"slug":353,"updated":354,"views":355},{"category":349},{"blogIds":350,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":351,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"bji62kx3jye65h3","context-golang-concurrent-tasks","2026-05-19 09:12:22.345Z",258,"2hovbk2n1ieorle","2025-07-07 03:34:27.384Z","เรียนรู้วิธีการใช้ Context ใน Golang เพื่อจัดการกับการทำงานที่มีการรอคอย และควบคุมการทำงานของหลายๆ task (concurrent tasks) ได้อย่างมีประสิทธิภาพ","2026-04-22 07:10:10.982Z",{"alt":361,"cover_image_path":362,"created":363,"expand":364,"id":401,"published_at":402,"school_blog":398,"short_description":403,"title":361,"updated":404,"slug":399,"views":305},"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":365,"locale":392,"school_blog":393},[366,371,376,381,386,391],{"collectionId":12,"collectionName":13,"created":367,"created_by":15,"id":368,"name":369,"updated":370,"updated_by":15},"2026-03-04 08:48:27.456Z","6apcqgw22qzbwor","WebSocket chat rooms","2026-04-10 16:13:48.045Z",{"collectionId":12,"collectionName":13,"created":372,"created_by":15,"id":373,"name":374,"updated":375,"updated_by":15},"2026-03-04 08:48:27.193Z","rpe7cuieidlcx80","Chat room management WebSocket","2026-04-10 16:13:47.977Z",{"collectionId":12,"collectionName":13,"created":377,"created_by":15,"id":378,"name":379,"updated":380,"updated_by":15},"2026-03-04 08:48:26.832Z","ke2vgz3360nnxdd","Multi-user WebSocket chat","2026-04-10 16:13:47.824Z",{"collectionId":12,"collectionName":13,"created":382,"created_by":15,"id":383,"name":384,"updated":385,"updated_by":15},"2026-03-04 08:48:26.531Z","fkyqvsheo2jrtgp","Real-time group messaging","2026-04-10 16:13:47.753Z",{"collectionId":12,"collectionName":13,"created":387,"created_by":15,"id":388,"name":389,"updated":390,"updated_by":15},"2026-03-04 08:48:23.275Z","1i0dr53eb0gzopq","WebSocket app development","2026-04-10 16:13:46.332Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":394,"id":398,"slug":399,"updated":400,"views":305},{"category":395},{"blogIds":396,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":397,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"6sy7p461buh2px1","chat-room-management-websocket","2026-05-25 04:57:26.433Z","sbikbcb3r3ck71s","2025-07-04 04:17:26.373Z","เรียนรู้วิธีการสร้างระบบ การจัดการห้องแชท ใน WebSocket เพื่อให้ผู้ใช้สามารถสร้าง, เข้าร่วม และจัดการห้องแชทของตัวเองได้อย่างมีประสิทธิภาพ","2026-04-22 07:10:11.139Z",{"alt":406,"cover_image_path":407,"created":408,"expand":409,"id":454,"published_at":455,"school_blog":450,"short_description":456,"title":406,"updated":457,"slug":451,"views":453},"สิ่งที่โปรแกรมเมอร์ต้องรู้เมื่อร่วมงานกับนักพัฒนาคนอื่น","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Feh0boef2ouen4y5\u002F4_1_11zon_v2doxn6yf0.webp","2026-03-04 08:48:05.607Z",{"keywords":410,"locale":436,"school_blog":437},[411,416,421,426,431],{"collectionId":12,"collectionName":13,"created":412,"created_by":15,"id":413,"name":414,"updated":415,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-04-10 16:07:36.426Z",{"collectionId":12,"collectionName":13,"created":417,"created_by":15,"id":418,"name":419,"updated":420,"updated_by":15},"2026-03-04 08:31:28.352Z","5o4lizrab3l8t7r","การพัฒนาซอฟต์แวร์","2026-04-10 16:07:41.121Z",{"collectionId":12,"collectionName":13,"created":422,"created_by":15,"id":423,"name":424,"updated":425,"updated_by":15},"2026-03-04 08:48:04.381Z","8ggen5huxjywzwd","การทำงานในทีม","2026-04-10 16:13:39.636Z",{"collectionId":12,"collectionName":13,"created":427,"created_by":15,"id":428,"name":429,"updated":430,"updated_by":15},"2026-03-04 08:48:04.682Z","mozura0vqyj9klh","การสื่อสารในทีม","2026-04-10 16:13:39.729Z",{"collectionId":12,"collectionName":13,"created":432,"created_by":15,"id":433,"name":434,"updated":435,"updated_by":15},"2026-03-04 08:48:05.051Z","beqc1umxq41zbug","การทำงานร่วมกัน","2026-04-10 16:13:39.898Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":438,"collectionId":61,"collectionName":62,"created":15,"expand":439,"id":450,"slug":451,"updated":452,"views":453},"spm4l1k5bgmhmmt",{"category":440},{"blogIds":441,"collectionId":66,"collectionName":67,"created":442,"created_by":15,"id":438,"image":443,"image_alt":15,"image_path":444,"label":445,"name":446,"priority":447,"publish_at":448,"scheduled_at":15,"status":75,"updated":449,"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":446,"th":446},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","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-04-22 07:10:07.981Z",{"alt":459,"cover_image_path":460,"created":461,"expand":462,"id":499,"published_at":500,"school_blog":495,"short_description":501,"title":459,"updated":502,"slug":496,"views":498},"การเขียนโค้ดให้ปลอดภัย: เทคนิคการป้องกันการโจมตีในเว็บแอป","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F00taha79oekar8v\u002F6_1_11zon_ncoinjk5m4.webp","2026-03-04 08:47:59.171Z",{"keywords":463,"locale":489,"school_blog":490},[464,469,474,479,484],{"collectionId":12,"collectionName":13,"created":465,"created_by":15,"id":466,"name":467,"updated":468,"updated_by":15},"2026-03-04 08:47:56.208Z","g2ivs7fr27gyvb0","ป้องกันการโจมตีในเว็บแอป","2026-04-10 16:13:37.227Z",{"collectionId":12,"collectionName":13,"created":470,"created_by":15,"id":471,"name":472,"updated":473,"updated_by":15},"2026-03-04 08:47:56.726Z","d3teeodb0259ttw","การเขียนโค้ดที่ปลอดภัย","2026-04-10 16:13:37.463Z",{"collectionId":12,"collectionName":13,"created":475,"created_by":15,"id":476,"name":477,"updated":478,"updated_by":15},"2026-03-04 08:47:57.420Z","hnstpdm2t5fp52m","การป้องกัน SQL Injection","2026-04-10 16:13:37.624Z",{"collectionId":12,"collectionName":13,"created":480,"created_by":15,"id":481,"name":482,"updated":483,"updated_by":15},"2026-03-04 08:47:57.843Z","ezs53k4e8t7cl20","การป้องกัน XSS","2026-04-10 16:13:37.893Z",{"collectionId":12,"collectionName":13,"created":485,"created_by":15,"id":486,"name":487,"updated":488,"updated_by":15},"2026-03-04 08:47:58.624Z","prhojme9tcdxytz","ความปลอดภัยในเว็บแอป","2026-04-10 16:13:38.177Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":438,"collectionId":61,"collectionName":62,"created":15,"expand":491,"id":495,"slug":496,"updated":497,"views":498},{"category":492},{"blogIds":493,"collectionId":66,"collectionName":67,"created":442,"created_by":15,"id":438,"image":443,"image_alt":15,"image_path":444,"label":494,"name":446,"priority":447,"publish_at":448,"scheduled_at":15,"status":75,"updated":449,"updated_by":15},[],{"en":446,"th":446},"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-04-22 07:10:07.020Z",{"alt":504,"cover_image_path":505,"created":506,"expand":507,"id":546,"published_at":547,"school_blog":542,"short_description":548,"title":504,"updated":549,"slug":543,"views":545},"How to ใช้ Git แบบมือโปร (แม้จะลืมคำสั่งบ่อย)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F601k82ytz0p9qsd\u002F1_1_11zon_ekpfrw2cvq.webp","2026-03-04 08:48:31.948Z",{"keywords":508,"locale":529,"school_blog":530},[509,514,519,524],{"collectionId":12,"collectionName":13,"created":510,"created_by":15,"id":511,"name":512,"updated":513,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"collectionId":12,"collectionName":13,"created":515,"created_by":15,"id":516,"name":517,"updated":518,"updated_by":15},"2026-03-04 08:48:30.465Z","16ep6861ritfhxp","การใช้งาน Git เบื้องต้น","2026-04-10 16:13:48.750Z",{"collectionId":12,"collectionName":13,"created":520,"created_by":15,"id":521,"name":522,"updated":523,"updated_by":15},"2026-03-04 08:48:31.026Z","vzru4ronm4s733d","Git สำหรับนักพัฒนา","2026-04-10 16:13:49.058Z",{"collectionId":12,"collectionName":13,"created":525,"created_by":15,"id":526,"name":527,"updated":528,"updated_by":15},"2026-03-04 08:48:31.602Z","7a7jvw6s2rs095k","การใช้งาน Git","2026-04-10 16:13:49.298Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":531,"collectionId":61,"collectionName":62,"created":15,"expand":532,"id":542,"slug":543,"updated":544,"views":545},"qn0d7xwatkleou1",{"category":533},{"blogIds":534,"collectionId":66,"collectionName":67,"created":535,"created_by":15,"id":531,"image":536,"image_alt":15,"image_path":537,"label":538,"name":539,"priority":447,"publish_at":540,"scheduled_at":15,"status":75,"updated":541,"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":539,"th":539},"How to","2025-02-04 08:40:59.666Z","2026-04-25 02:32:14.588Z","4eze8z99a7v1zz2","how-to-git-like-a-pro-even-when-you-forget","2026-05-22 14:26:41.572Z",325,"601k82ytz0p9qsd","2025-07-03 02:27:35.085Z","ลืมคำสั่ง Git บ่อยไม่ใช่ปัญหา! บทความนี้จะพาคุณเข้าใจแนวคิด วิธีคิด และเทคนิคการใช้ Git แบบมืออาชีพ ที่ไม่ต้องพิมพ์คล่องก็ใช้คล่องได้","2026-04-22 07:10:12.005Z",{"alt":551,"cover_image_path":552,"created":553,"expand":554,"id":583,"published_at":584,"school_blog":580,"short_description":585,"title":551,"updated":586,"slug":581,"views":355},"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":555,"locale":574,"school_blog":575},[556,557,562,563,564,569],{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":558,"created_by":15,"id":559,"name":560,"updated":561,"updated_by":15},"2026-03-04 08:48:28.330Z","kr1413m4fzwuc0h","Multi-user chat WebSocket","2026-04-10 16:13:48.361Z",{"collectionId":12,"collectionName":13,"created":382,"created_by":15,"id":383,"name":384,"updated":385,"updated_by":15},{"collectionId":12,"collectionName":13,"created":367,"created_by":15,"id":368,"name":369,"updated":370,"updated_by":15},{"collectionId":12,"collectionName":13,"created":565,"created_by":15,"id":566,"name":567,"updated":568,"updated_by":15},"2026-03-04 08:48:28.118Z","mke46zb9cmeoi7c","Group chat WebSocket","2026-04-10 16:13:48.300Z",{"collectionId":12,"collectionName":13,"created":570,"created_by":15,"id":571,"name":572,"updated":573,"updated_by":15},"2026-03-04 08:48:27.886Z","ymx9t9j2b8g259k","WebSocket group chat","2026-04-10 16:13:48.137Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":118,"collectionId":61,"collectionName":62,"created":15,"expand":576,"id":580,"slug":581,"updated":582,"views":355},{"category":577},{"blogIds":578,"collectionId":66,"collectionName":67,"created":122,"created_by":15,"id":118,"image":123,"image_alt":15,"image_path":124,"label":579,"name":126,"priority":127,"publish_at":128,"scheduled_at":15,"status":75,"updated":129,"updated_by":15},[],{"en":126,"th":126},"9f3tyn59u5noidm","group-chat-websocket","2026-05-21 21:39:57.602Z","k7kes7hshgxn4fp","2025-07-02 02:20:18.502Z","เรียนรู้วิธีเพิ่มฟีเจอร์การแชทแบบกลุ่ม (Group Chat) ใน WebSocket เพื่อให้ผู้ใช้สามารถเข้าร่วมแชทกลุ่มและส่งข้อความในกลุ่มผ่าน WebSocket","2026-04-22 07:10:11.556Z",19,12,414,35]