[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-26-12-Tailwind%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520CSS-all-all-createdAt:desc-default":3},{"data":4,"page":532,"perPage":533,"totalItems":534,"totalPages":535},[5,95,136,177,218,253,285,326,366,407,450,488],{"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-12 22:06:46.264Z",233,"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":249,"published_at":250,"school_blog":247,"short_description":251,"title":219,"updated":252,"slug":248,"views":172},"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":172},{"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","eu0h2r45625nipp","2025-03-24 01:51:46.776Z","เรียนรู้วิธีเพิ่ม ระบบแจ้งเตือน (User Join Notification) เมื่อมีผู้ใช้ใหม่เข้ามาใน WebSocket Chat ทำให้ผู้ใช้ทุกคนสามารถรับรู้ได้ทันทีว่ามีผู้ใช้ใหม่เข้ามาในแชทแบบเรียลไทม์","2026-04-22 07:11:42.001Z",{"alt":254,"cover_image_path":255,"created":256,"expand":257,"id":281,"published_at":282,"school_blog":278,"short_description":283,"title":254,"updated":284,"slug":279,"views":280},"EP.44 การเพิ่มฟีเจอร์แสดงจำนวนผู้ใช้ที่ออนไลน์ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fxuf3om7s296u4xt\u002F59_11zon_k8duf0jpg3.webp","2026-03-04 08:50:58.885Z",{"keywords":258,"locale":272,"school_blog":273},[259,260,261,262,263,264,265,266,267],{"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":268,"created_by":15,"id":269,"name":270,"updated":271,"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":274,"id":278,"slug":279,"updated":15,"views":280},{"category":275},{"blogIds":276,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":277,"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":286,"cover_image_path":287,"created":288,"expand":289,"id":322,"published_at":323,"school_blog":318,"short_description":324,"title":286,"updated":325,"slug":319,"views":321},"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":290,"locale":312,"school_blog":313},[291,296,297,302,303,304,305,306,307],{"collectionId":12,"collectionName":13,"created":292,"created_by":15,"id":293,"name":294,"updated":295,"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":298,"created_by":15,"id":299,"name":300,"updated":301,"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":308,"created_by":15,"id":309,"name":310,"updated":311,"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":314,"id":318,"slug":319,"updated":320,"views":321},{"category":315},{"blogIds":316,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":317,"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":327,"cover_image_path":328,"created":329,"expand":330,"id":362,"published_at":363,"school_blog":359,"short_description":364,"title":327,"updated":365,"slug":360,"views":172},"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":331,"locale":353,"school_blog":354},[332,333,338,343,344,345,346,347,348],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":334,"created_by":15,"id":335,"name":336,"updated":337,"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":339,"created_by":15,"id":340,"name":341,"updated":342,"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":349,"created_by":15,"id":350,"name":351,"updated":352,"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":355,"id":359,"slug":360,"updated":361,"views":172},{"category":356},{"blogIds":357,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":358,"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":367,"cover_image_path":368,"created":369,"expand":370,"id":403,"published_at":404,"school_blog":399,"short_description":405,"title":367,"updated":406,"slug":400,"views":402},"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":371,"locale":393,"school_blog":394},[372,373,378,379,384,385,386,387,388],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":374,"created_by":15,"id":375,"name":376,"updated":377,"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":380,"created_by":15,"id":381,"name":382,"updated":383,"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":389,"created_by":15,"id":390,"name":391,"updated":392,"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":395,"id":399,"slug":400,"updated":401,"views":402},{"category":396},{"blogIds":397,"collectionId":76,"collectionName":77,"created":78,"created_by":15,"id":70,"image":79,"image_alt":15,"image_path":80,"label":398,"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":408,"cover_image_path":409,"created":410,"expand":411,"id":446,"published_at":447,"school_blog":442,"short_description":448,"title":408,"updated":449,"slug":443,"views":445},"7 เทคนิค Clean Code เพื่อโค้ดคุณภาพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkkcjq36v8ovf377\u002F1wsr9xo1h84_jx6kiwdvw8.webp","2026-03-04 08:50:48.992Z",{"keywords":412,"locale":428,"school_blog":429},[413,418,423],{"collectionId":12,"collectionName":13,"created":414,"created_by":15,"id":415,"name":416,"updated":417,"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":419,"created_by":15,"id":420,"name":421,"updated":422,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-04-10 16:07:36.426Z",{"collectionId":12,"collectionName":13,"created":424,"created_by":15,"id":425,"name":426,"updated":427,"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":430,"collectionId":71,"collectionName":72,"created":15,"expand":431,"id":442,"slug":443,"updated":444,"views":445},"qn0d7xwatkleou1",{"category":432},{"blogIds":433,"collectionId":76,"collectionName":77,"created":434,"created_by":15,"id":430,"image":435,"image_alt":15,"image_path":436,"label":437,"name":438,"priority":439,"publish_at":440,"scheduled_at":15,"status":85,"updated":441,"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":438,"th":438},"How to",0,"2025-02-04 08:40:59.666Z","2026-04-25 02:32:14.588Z","0qovmiyknwuvkzi","7-clean-code-techniques","2026-05-20 01:26:14.368Z",700,"kkcjq36v8ovf377","2025-03-21 09:54:15.917Z","เรียนรู้ 7 เทคนิคที่ช่วยให้การเขียนโค้ดของคุณมีคุณภาพและเข้าใจง่ายมากขึ้น","2026-04-22 07:10:38.087Z",{"alt":451,"cover_image_path":452,"created":453,"expand":454,"id":484,"published_at":485,"school_blog":480,"short_description":486,"title":451,"updated":487,"slug":481,"views":483},"5 โปรเจกต์ง่ายๆ สำหรับมือใหม่ เรียนโค้ดอย่างสนุกและใช้งานได้จริง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk90zl4w1sfi70ug\u002F1_1_pgt8k3rq0o.webp","2026-03-04 08:50:47.865Z",{"keywords":455,"locale":467,"school_blog":468},[456,461,466],{"collectionId":12,"collectionName":13,"created":457,"created_by":15,"id":458,"name":459,"updated":460,"updated_by":15},"2026-03-04 08:50:47.309Z","sbjq7yx6bvgzeyr","โปรเจกต์","2026-04-10 16:14:28.559Z",{"collectionId":12,"collectionName":13,"created":462,"created_by":15,"id":463,"name":464,"updated":465,"updated_by":15},"2026-03-04 08:47:19.758Z","s3esfvwr60x95g8","เขียนโค้ด","2026-04-10 16:13:27.408Z",{"collectionId":12,"collectionName":13,"created":419,"created_by":15,"id":420,"name":421,"updated":422,"updated_by":15},{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":469,"collectionId":71,"collectionName":72,"created":15,"expand":470,"id":480,"slug":481,"updated":482,"views":483},"spm4l1k5bgmhmmt",{"category":471},{"blogIds":472,"collectionId":76,"collectionName":77,"created":473,"created_by":15,"id":469,"image":474,"image_alt":15,"image_path":475,"label":476,"name":477,"priority":439,"publish_at":478,"scheduled_at":15,"status":85,"updated":479,"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":477,"th":477},"Knowledge","2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","hnwyvti5frqnobk","5-easy-projects-for-beginners","2026-05-19 12:53:56.216Z",263,"k90zl4w1sfi70ug","2025-03-21 09:53:25.894Z","เรียนรู้ 5 โปรเจกต์ที่เหมาะสำหรับมือใหม่ในการฝึกฝนการเขียนโค้ดอย่างสนุกและใช้งานได้จริง","2026-04-22 07:10:37.583Z",{"alt":489,"cover_image_path":490,"created":491,"expand":492,"id":528,"published_at":529,"school_blog":525,"short_description":530,"title":489,"updated":531,"slug":526,"views":527},"NVIDIA ใช้ AI ยกระดับเกม สู่ประสบการณ์ใหม่ที่สมจริงกว่าเดิม","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1qh0j0nit656uko\u002F1_2_tg45fsl52u.webp","2026-03-04 08:50:47.540Z",{"keywords":493,"locale":519,"school_blog":520},[494,499,504,509,514],{"collectionId":12,"collectionName":13,"created":495,"created_by":15,"id":496,"name":497,"updated":498,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-04-10 16:07:41.358Z",{"collectionId":12,"collectionName":13,"created":500,"created_by":15,"id":501,"name":502,"updated":503,"updated_by":15},"2026-03-04 08:50:45.784Z","thjmpjrwgv9xnu7","NVIDIA","2026-04-10 16:14:28.165Z",{"collectionId":12,"collectionName":13,"created":505,"created_by":15,"id":506,"name":507,"updated":508,"updated_by":15},"2026-03-04 08:50:46.132Z","n1twmghdi4wr8mz","วงการพัฒนาเกม","2026-04-10 16:14:28.255Z",{"collectionId":12,"collectionName":13,"created":510,"created_by":15,"id":511,"name":512,"updated":513,"updated_by":15},"2026-03-04 08:31:50.143Z","njbfvrm24d7pbv2","การพัฒนาเกม","2026-04-10 16:07:45.859Z",{"collectionId":12,"collectionName":13,"created":515,"created_by":15,"id":516,"name":517,"updated":518,"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":469,"collectionId":71,"collectionName":72,"created":15,"expand":521,"id":525,"slug":526,"updated":15,"views":527},{"category":522},{"blogIds":523,"collectionId":76,"collectionName":77,"created":473,"created_by":15,"id":469,"image":474,"image_alt":15,"image_path":475,"label":524,"name":477,"priority":439,"publish_at":478,"scheduled_at":15,"status":85,"updated":479,"updated_by":15},[],{"en":477,"th":477},"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]