[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-26-12-Rust%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520The%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Series-all-all-createdAt:desc-default":3},{"data":4,"page":533,"perPage":534,"totalItems":535,"totalPages":536},[5,95,136,177,218,254,286,327,367,408,451,489],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":91,"published_at":92,"school_blog":87,"short_description":93,"title":6,"updated":94,"slug":88,"views":90},"EP.49 การเพิ่มฟีเจอร์ลบข้อความที่ส่งไปแล้วใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fhpw4iykv94fpouk\u002F69_11zon_5awtjth4f1.webp","2026-03-04 08:50:52.847Z",{"keywords":10,"locale":59,"school_blog":69},[11,19,24,29,34,39,44,49,54],{"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:50:49.558Z","","8lxakhujb04wz6u","Chat UX","2026-04-10 16:14:28.724Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:50:49.965Z","ga8fw2l8y3mxjxg","Persistent Chat","2026-04-10 16:14:28.869Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:50:50.858Z","mt8vm4xyendwvlb","Remove Messages","2026-04-10 16:14:29.256Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:48:07.088Z","brfbypclggbbkcx","WebSocket API","2026-04-10 16:13:40.594Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:47:05.949Z","caufix9o52uw4bh","Real-Time Chat","2026-04-10 16:13:23.517Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},"2026-03-04 08:48:51.522Z","2jlqt2u73fp1rx3","Delete Messages","2026-04-10 16:13:55.108Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},"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":70,"collectionId":71,"collectionName":72,"created":15,"expand":73,"id":87,"slug":88,"updated":89,"views":90},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs",{"category":74},{"blogIds":75,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":81,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"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":82,"th":82},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-04-25 02:32:15.470Z","7t2sb10oxkgbs84","delete-messages-websocket-chat","2026-05-17 10:25:18.339Z",226,"hpw4iykv94fpouk","2025-03-24 01:52:33.217Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์ลบข้อความ (Delete Messages) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถลบข้อความที่เคยส่งไปแล้ว และอัปเดตผลลัพธ์แบบเรียลไทม์ให้กับผู้ใช้ทุกคนในห้องแชท","2026-04-22 07:10:38.824Z",{"alt":96,"cover_image_path":97,"created":98,"expand":99,"id":132,"published_at":133,"school_blog":128,"short_description":134,"title":96,"updated":135,"slug":129,"views":131},"EP.48 การเพิ่มระบบแสดงประวัติการแชทย้อนหลังใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbay4cv3ovysfubc\u002F67_11zon_40uw6qepjd.webp","2026-03-04 08:50:53.512Z",{"keywords":100,"locale":122,"school_blog":123},[101,106,107,112,113,114,115,116,117],{"collectionId":12,"collectionName":13,"created":102,"created_by":15,"id":103,"name":104,"updated":105,"updated_by":15},"2026-03-04 08:50:52.953Z","aqepcyhdmag8vg4","Chat Storage","2026-04-10 16:14:29.336Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":108,"created_by":15,"id":109,"name":110,"updated":111,"updated_by":15},"2026-03-04 08:48:39.993Z","cvqrwxwzdsgoz1u","Message History","2026-04-10 16:13:52.011Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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},"2026-03-04 08:50:53.155Z","peza6kmj1144b0x","Chat History","2026-04-10 16:14:29.504Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":124,"id":128,"slug":129,"updated":130,"views":131},{"category":125},{"blogIds":126,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":127,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"7r6wz7gyf1n7sxd","chat-history-websocket-chat","2026-05-13 12:05:42.458Z",245,"bay4cv3ovysfubc","2025-03-24 01:52:22.079Z","เรียนรู้วิธีเพิ่ม ระบบแสดงประวัติการแชทย้อนหลัง (Chat History) ใน WebSocket Chat โดยใช้ฐานข้อมูลและ GraphQL API เพื่อให้ผู้ใช้สามารถดูข้อความเก่าได้เมื่อเข้าสู่ระบบ","2026-04-22 07:10:38.924Z",{"alt":137,"cover_image_path":138,"created":139,"expand":140,"id":173,"published_at":174,"school_blog":169,"short_description":175,"title":137,"updated":176,"slug":170,"views":172},"EP.47 การเพิ่มฟีเจอร์โหมดห้ามรบกวน (Do Not Disturb Mode) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fl39f1av7k1eizbh\u002F65akfo46m73z_q8edvugcfk.webp","2026-03-04 08:50:54.947Z",{"keywords":141,"locale":163,"school_blog":164},[142,147,148,153,154,155,156,157,158],{"collectionId":12,"collectionName":13,"created":143,"created_by":15,"id":144,"name":145,"updated":146,"updated_by":15},"2026-03-04 08:50:53.623Z","k6w6fyr98usbg2e","Chat Notifications","2026-04-10 16:14:29.576Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":149,"created_by":15,"id":150,"name":151,"updated":152,"updated_by":15},"2026-03-04 08:50:53.943Z","fq0pc95e767vuu8","DND Mode","2026-04-10 16:14:29.674Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":159,"created_by":15,"id":160,"name":161,"updated":162,"updated_by":15},"2026-03-04 08:50:54.150Z","z33apwtejt9t7zn","Do Not Disturb","2026-04-10 16:14:29.832Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":165,"id":169,"slug":170,"updated":171,"views":172},{"category":166},{"blogIds":167,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":168,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"44cnqqbaf4uf842","do-not-disturb-websocket-chat","2026-05-21 16:19:56.812Z",234,"l39f1av7k1eizbh","2025-03-24 01:52:08.698Z","เรียนรู้วิธีเพิ่ม โหมดห้ามรบกวน (Do Not Disturb Mode - DND) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถปิดการแจ้งเตือนชั่วคราว และไม่รับข้อความแจ้งเตือนระหว่างที่โหมดนี้เปิดใช้งาน","2026-04-22 07:11:41.355Z",{"alt":178,"cover_image_path":179,"created":180,"expand":181,"id":214,"published_at":215,"school_blog":210,"short_description":216,"title":178,"updated":217,"slug":211,"views":213},"EP.46 การเพิ่มฟีเจอร์กำหนดสถานะผู้ใช้ (Custom User Status) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbgphqemqer6k6g1\u002F63k8w812lcsy_mrde1k2rf5.webp","2026-03-04 08:50:56.209Z",{"keywords":182,"locale":204,"school_blog":205},[183,188,189,194,195,196,197,198,199],{"collectionId":12,"collectionName":13,"created":184,"created_by":15,"id":185,"name":186,"updated":187,"updated_by":15},"2026-03-04 08:50:54.677Z","jgu82elfpwczlgf","Chat Presence","2026-04-10 16:14:29.896Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":190,"created_by":15,"id":191,"name":192,"updated":193,"updated_by":15},"2026-03-04 08:50:54.934Z","95t6zz8cpdp1zpf","Custom Status","2026-04-10 16:14:29.984Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},"2026-03-04 08:50:55.241Z","eftlak6vln9c1dc","User Status","2026-04-10 16:14:30.156Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":206,"id":210,"slug":211,"updated":212,"views":213},{"category":207},{"blogIds":208,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":209,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"a1tuyqqcw8tjoap","custom-user-status-websocket-chat","2026-05-11 10:54:07.038Z",229,"bgphqemqer6k6g1","2025-03-24 01:51:58.539Z","เรียนรู้วิธีเพิ่ม ระบบกำหนดสถานะผู้ใช้ (Custom User Status) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถตั้งสถานะ เช่น \"ออนไลน์\", \"ไม่ว่าง\", หรือ \"ออฟไลน์\" และอัปเดตสถานะแบบเรียลไทม์","2026-04-22 07:11:41.647Z",{"alt":219,"cover_image_path":220,"created":221,"expand":222,"id":250,"published_at":251,"school_blog":247,"short_description":252,"title":219,"updated":253,"slug":248,"views":249},"EP.45 การเพิ่มระบบแจ้งเตือนเมื่อมีผู้ใช้ใหม่เข้ามาใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Feu0h2r45625nipp\u002F61v19uv4p313_23zk7zajcm.webp","2026-03-04 08:50:57.925Z",{"keywords":223,"locale":241,"school_blog":242},[224,229,230,231,232,233,234,235,236],{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},"2026-03-04 08:50:55.786Z","bn9tuj0554z99gg","Active Users","2026-04-10 16:14:30.249Z",{"collectionId":12,"collectionName":13,"created":143,"created_by":15,"id":144,"name":145,"updated":146,"updated_by":15},{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":40,"created_by":15,"id":41,"name":42,"updated":43,"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":237,"created_by":15,"id":238,"name":239,"updated":240,"updated_by":15},"2026-03-04 08:50:56.096Z","pqk2xruvmm497x0","User Join Notification","2026-04-10 16:14:30.405Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":243,"id":247,"slug":248,"updated":15,"views":249},{"category":244},{"blogIds":245,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":246,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"ifugg17ps3z64cx","user-join-notification-websocket-chat",233,"eu0h2r45625nipp","2025-03-24 01:51:46.776Z","เรียนรู้วิธีเพิ่ม ระบบแจ้งเตือน (User Join Notification) เมื่อมีผู้ใช้ใหม่เข้ามาใน WebSocket Chat ทำให้ผู้ใช้ทุกคนสามารถรับรู้ได้ทันทีว่ามีผู้ใช้ใหม่เข้ามาในแชทแบบเรียลไทม์","2026-04-22 07:11:42.001Z",{"alt":255,"cover_image_path":256,"created":257,"expand":258,"id":282,"published_at":283,"school_blog":279,"short_description":284,"title":255,"updated":285,"slug":280,"views":281},"EP.44 การเพิ่มฟีเจอร์แสดงจำนวนผู้ใช้ที่ออนไลน์ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fxuf3om7s296u4xt\u002F59_11zon_k8duf0jpg3.webp","2026-03-04 08:50:58.885Z",{"keywords":259,"locale":273,"school_blog":274},[260,261,262,263,264,265,266,267,268],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":184,"created_by":15,"id":185,"name":186,"updated":187,"updated_by":15},{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":269,"created_by":15,"id":270,"name":271,"updated":272,"updated_by":15},"2026-03-04 08:50:56.957Z","8fdbu2zxdum36wl","Online Users","2026-04-10 16:14:30.588Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":275,"id":279,"slug":280,"updated":15,"views":281},{"category":276},{"blogIds":277,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":278,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"o80z3drd0e40piv","online-users-websocket-chat",242,"xuf3om7s296u4xt","2025-03-24 01:51:35.026Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์แสดงจำนวนผู้ใช้ที่ออนไลน์ (Active Users) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเห็นจำนวนผู้ใช้งานที่กำลังออนไลน์อยู่ในระบบแบบเรียลไทม์","2026-04-22 07:11:42.396Z",{"alt":287,"cover_image_path":288,"created":289,"expand":290,"id":323,"published_at":324,"school_blog":319,"short_description":325,"title":287,"updated":326,"slug":320,"views":322},"EP.43 การเพิ่มฟีเจอร์ปักหมุดข้อความ (Pinned Messages) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff4l95lly7crttk6\u002F57_11zon_ecoltakj2w.webp","2026-03-04 08:51:00.037Z",{"keywords":291,"locale":313,"school_blog":314},[292,297,298,303,304,305,306,307,308],{"collectionId":12,"collectionName":13,"created":293,"created_by":15,"id":294,"name":295,"updated":296,"updated_by":15},"2026-03-04 08:50:59.287Z","wg8gajk96i2keaj","Chat Management","2026-04-10 16:14:30.711Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":299,"created_by":15,"id":300,"name":301,"updated":302,"updated_by":15},"2026-03-04 08:50:59.507Z","ntfm42v1phime84","Pinned Chats","2026-04-10 16:14:30.841Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":309,"created_by":15,"id":310,"name":311,"updated":312,"updated_by":15},"2026-03-04 08:48:45.418Z","so81vnxshuuiu6h","Pinned Messages","2026-04-10 16:13:53.685Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":315,"id":319,"slug":320,"updated":321,"views":322},{"category":316},{"blogIds":317,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":318,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"3ntbs0bnwdc7lq4","pinned-messages-websocket-chat","2026-05-08 16:14:49.836Z",256,"f4l95lly7crttk6","2025-03-24 01:51:23.344Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์ปักหมุดข้อความ (Pinned Messages) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเก็บข้อความสำคัญไว้ดูภายหลังได้ รองรับการแจ้งเตือนแบบเรียลไทม์เมื่อมีข้อความถูกปักหมุด","2026-04-22 07:11:42.530Z",{"alt":328,"cover_image_path":329,"created":330,"expand":331,"id":363,"published_at":364,"school_blog":360,"short_description":365,"title":328,"updated":366,"slug":361,"views":249},"EP.42 การเพิ่มฟีเจอร์ Read Receipts (การแจ้งเตือนว่าอ่านแล้ว) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fh5qf4hc6itxocuz\u002F55_11zon_l1yk5jt9ob.webp","2026-03-04 08:51:01.823Z",{"keywords":332,"locale":354,"school_blog":355},[333,334,339,344,345,346,347,348,349],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":335,"created_by":15,"id":336,"name":337,"updated":338,"updated_by":15},"2026-03-04 08:50:59.960Z","up5egj6sjn2i72f","Chat Features","2026-04-10 16:14:30.905Z",{"collectionId":12,"collectionName":13,"created":340,"created_by":15,"id":341,"name":342,"updated":343,"updated_by":15},"2026-03-04 08:51:00.184Z","hnwyjmmf41r934k","Message Read Status","2026-04-10 16:14:31.053Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":350,"created_by":15,"id":351,"name":352,"updated":353,"updated_by":15},"2026-03-04 08:51:00.522Z","yqwzufwzpmf5p93","Read Receipts","2026-04-10 16:14:31.187Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":356,"id":360,"slug":361,"updated":362,"views":249},{"category":357},{"blogIds":358,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":359,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"q37y3cwja1kppep","read-receipts-websocket-chat","2026-05-13 06:56:17.808Z","h5qf4hc6itxocuz","2025-03-24 01:51:09.074Z","เรียนรู้วิธีเพิ่ม Read Receipts (แจ้งเตือนว่าอ่านแล้ว) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถทราบได้ว่าข้อความที่ส่งไปได้รับการอ่านแล้วหรือไม่ โดยใช้ WebSocket และฐานข้อมูล","2026-04-22 07:11:42.814Z",{"alt":368,"cover_image_path":369,"created":370,"expand":371,"id":404,"published_at":405,"school_blog":400,"short_description":406,"title":368,"updated":407,"slug":401,"views":403},"EP.41 การเพิ่มฟีเจอร์แสดงสถานะการพิมพ์ (Typing Indicator) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff0symmnhfpvutpu\u002F53_11zon_sdo62p0vh7.webp","2026-03-04 08:51:01.871Z",{"keywords":372,"locale":394,"school_blog":395},[373,374,379,380,385,386,387,388,389],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":375,"created_by":15,"id":376,"name":377,"updated":378,"updated_by":15},"2026-03-04 08:51:00.968Z","qivmit8ukkhb143","Typing Status","2026-04-10 16:14:31.248Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":381,"created_by":15,"id":382,"name":383,"updated":384,"updated_by":15},"2026-03-04 08:46:14.782Z","v0mhensk18fofru","WebSocket Chat","2026-04-10 16:13:10.563Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":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":390,"created_by":15,"id":391,"name":392,"updated":393,"updated_by":15},"2026-03-04 08:51:01.365Z","h5pcr9najjxfqwh","Typing Indicator","2026-04-10 16:14:31.411Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":70,"collectionId":71,"collectionName":72,"created":15,"expand":396,"id":400,"slug":401,"updated":402,"views":403},{"category":397},{"blogIds":398,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":399,"name":82,"priority":83,"publish_at":84,"scheduled_at":15,"status":85,"updated":86,"updated_by":15},[],{"en":82,"th":82},"qa8pf1ntbtf5iya","typing-indicator-websocket-chat","2026-05-20 02:32:52.606Z",297,"f0symmnhfpvutpu","2025-03-24 01:50:55.427Z","เรียนรู้วิธีเพิ่ม Typing Indicator (สถานะการพิมพ์) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเห็นเมื่อคู่สนทนากำลังพิมพ์ รองรับการแจ้งเตือนแบบเรียลไทม์ผ่าน WebSocket","2026-05-06 08:38:38.415Z",{"alt":409,"cover_image_path":410,"created":411,"expand":412,"id":447,"published_at":448,"school_blog":443,"short_description":449,"title":409,"updated":450,"slug":444,"views":446},"7 เทคนิค Clean Code เพื่อโค้ดคุณภาพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkkcjq36v8ovf377\u002F1wsr9xo1h84_jx6kiwdvw8.webp","2026-03-04 08:50:48.992Z",{"keywords":413,"locale":429,"school_blog":430},[414,419,424],{"collectionId":12,"collectionName":13,"created":415,"created_by":15,"id":416,"name":417,"updated":418,"updated_by":15},"2026-03-04 08:47:48.682Z","tjtve6zpa4tn6cr","Clean Code","2026-04-10 16:13:34.569Z",{"collectionId":12,"collectionName":13,"created":420,"created_by":15,"id":421,"name":422,"updated":423,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-04-10 16:07:36.426Z",{"collectionId":12,"collectionName":13,"created":425,"created_by":15,"id":426,"name":427,"updated":428,"updated_by":15},"2026-03-04 08:34:44.600Z","gegz59u7ho1kpai","เทคนิคการเขียนโค้ด","2026-04-10 16:08:21.449Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":431,"collectionId":71,"collectionName":72,"created":15,"expand":432,"id":443,"slug":444,"updated":445,"views":446},"qn0d7xwatkleou1",{"category":433},{"blogIds":434,"collectionId":76,"collectionName":77,"created":435,"created_by":15,"id":431,"image":436,"image_alt":15,"image_path":437,"label":438,"name":439,"priority":440,"publish_at":441,"scheduled_at":15,"status":85,"updated":442,"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":439,"th":439},"How to",0,"2025-02-04 08:40:59.666Z","2026-04-25 02:32:14.588Z","0qovmiyknwuvkzi","7-clean-code-techniques","2026-05-21 01:29:42.592Z",702,"kkcjq36v8ovf377","2025-03-21 09:54:15.917Z","เรียนรู้ 7 เทคนิคที่ช่วยให้การเขียนโค้ดของคุณมีคุณภาพและเข้าใจง่ายมากขึ้น","2026-04-22 07:10:38.087Z",{"alt":452,"cover_image_path":453,"created":454,"expand":455,"id":485,"published_at":486,"school_blog":481,"short_description":487,"title":452,"updated":488,"slug":482,"views":484},"5 โปรเจกต์ง่ายๆ สำหรับมือใหม่ เรียนโค้ดอย่างสนุกและใช้งานได้จริง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk90zl4w1sfi70ug\u002F1_1_pgt8k3rq0o.webp","2026-03-04 08:50:47.865Z",{"keywords":456,"locale":468,"school_blog":469},[457,462,467],{"collectionId":12,"collectionName":13,"created":458,"created_by":15,"id":459,"name":460,"updated":461,"updated_by":15},"2026-03-04 08:50:47.309Z","sbjq7yx6bvgzeyr","โปรเจกต์","2026-04-10 16:14:28.559Z",{"collectionId":12,"collectionName":13,"created":463,"created_by":15,"id":464,"name":465,"updated":466,"updated_by":15},"2026-03-04 08:47:19.758Z","s3esfvwr60x95g8","เขียนโค้ด","2026-04-10 16:13:27.408Z",{"collectionId":12,"collectionName":13,"created":420,"created_by":15,"id":421,"name":422,"updated":423,"updated_by":15},{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":470,"collectionId":71,"collectionName":72,"created":15,"expand":471,"id":481,"slug":482,"updated":483,"views":484},"spm4l1k5bgmhmmt",{"category":472},{"blogIds":473,"collectionId":76,"collectionName":77,"created":474,"created_by":15,"id":470,"image":475,"image_alt":15,"image_path":476,"label":477,"name":478,"priority":440,"publish_at":479,"scheduled_at":15,"status":85,"updated":480,"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":478,"th":478},"Knowledge","2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","hnwyvti5frqnobk","5-easy-projects-for-beginners","2026-05-20 08:30:40.848Z",266,"k90zl4w1sfi70ug","2025-03-21 09:53:25.894Z","เรียนรู้ 5 โปรเจกต์ที่เหมาะสำหรับมือใหม่ในการฝึกฝนการเขียนโค้ดอย่างสนุกและใช้งานได้จริง","2026-04-22 07:10:37.583Z",{"alt":490,"cover_image_path":491,"created":492,"expand":493,"id":529,"published_at":530,"school_blog":526,"short_description":531,"title":490,"updated":532,"slug":527,"views":528},"NVIDIA ใช้ AI ยกระดับเกม สู่ประสบการณ์ใหม่ที่สมจริงกว่าเดิม","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1qh0j0nit656uko\u002F1_2_tg45fsl52u.webp","2026-03-04 08:50:47.540Z",{"keywords":494,"locale":520,"school_blog":521},[495,500,505,510,515],{"collectionId":12,"collectionName":13,"created":496,"created_by":15,"id":497,"name":498,"updated":499,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-04-10 16:07:41.358Z",{"collectionId":12,"collectionName":13,"created":501,"created_by":15,"id":502,"name":503,"updated":504,"updated_by":15},"2026-03-04 08:50:45.784Z","thjmpjrwgv9xnu7","NVIDIA","2026-04-10 16:14:28.165Z",{"collectionId":12,"collectionName":13,"created":506,"created_by":15,"id":507,"name":508,"updated":509,"updated_by":15},"2026-03-04 08:50:46.132Z","n1twmghdi4wr8mz","วงการพัฒนาเกม","2026-04-10 16:14:28.255Z",{"collectionId":12,"collectionName":13,"created":511,"created_by":15,"id":512,"name":513,"updated":514,"updated_by":15},"2026-03-04 08:31:50.143Z","njbfvrm24d7pbv2","การพัฒนาเกม","2026-04-10 16:07:45.859Z",{"collectionId":12,"collectionName":13,"created":516,"created_by":15,"id":517,"name":518,"updated":519,"updated_by":15},"2026-03-04 08:31:39.503Z","3kryq9o3k6qygo9","อุตสาหกรรมเกม","2026-04-10 16:07:43.870Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":470,"collectionId":71,"collectionName":72,"created":15,"expand":522,"id":526,"slug":527,"updated":15,"views":528},{"category":523},{"blogIds":524,"collectionId":76,"collectionName":77,"created":474,"created_by":15,"id":470,"image":475,"image_alt":15,"image_path":476,"label":525,"name":478,"priority":440,"publish_at":479,"scheduled_at":15,"status":85,"updated":480,"updated_by":15},[],{"en":478,"th":478},"zgctunirwj9638e","nvidia-ai-gaming-new-realistic-experience",241,"1qh0j0nit656uko","2025-03-21 07:09:13.064Z","ค้นพบว่า NVIDIA ใช้ AI เพื่อยกระดับการพัฒนาเกมอย่างไร เปลี่ยนประสบการณ์ของโปรแกรมเมอร์และผู้เล่นทั่วโลก","2026-04-22 07:10:37.450Z",26,12,412,35]