[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-27-12-Tailwind%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520CSS-all-all-createdAt:desc-default":3},{"data":4,"page":547,"perPage":548,"totalItems":549,"totalPages":550},[5,96,136,168,209,249,290,333,371,415,445,497],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":92,"published_at":93,"school_blog":88,"short_description":94,"title":6,"updated":95,"slug":89,"views":91},"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":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:54.677Z","76qprkevbgfdps8","jgu82elfpwczlgf","Chat Presence","2026-06-07 06:48:42.440Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:50:49.558Z","8lxakhujb04wz6u","Chat UX","2026-06-07 06:48:41.016Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:50:54.934Z","95t6zz8cpdp1zpf","Custom Status","2026-06-07 06:48:42.604Z",{"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-06-07 06:47:42.485Z",{"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-06-07 06:47:19.595Z",{"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-06-07 06:45:08.193Z",{"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-06-07 06:45:07.798Z",{"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-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},"2026-03-04 08:50:55.241Z","eftlak6vln9c1dc","User Status","2026-06-07 06:48:42.743Z",{"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":73,"expand":74,"id":88,"slug":89,"updated":90,"views":91},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":75},{"blogIds":76,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":82,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"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":83,"th":83},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","a1tuyqqcw8tjoap","custom-user-status-websocket-chat","2026-06-03 10:14:33.628Z",230,"bgphqemqer6k6g1","2025-03-24 01:51:58.539Z","เรียนรู้วิธีเพิ่ม ระบบกำหนดสถานะผู้ใช้ (Custom User Status) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถตั้งสถานะ เช่น \"ออนไลน์\", \"ไม่ว่าง\", หรือ \"ออฟไลน์\" และอัปเดตสถานะแบบเรียลไทม์","2026-06-07 06:44:35.892Z",{"alt":97,"cover_image_path":98,"created":99,"expand":100,"id":132,"published_at":133,"school_blog":129,"short_description":134,"title":97,"updated":135,"slug":130,"views":131},"EP.45 การเพิ่มระบบแจ้งเตือนเมื่อมีผู้ใช้ใหม่เข้ามาใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Feu0h2r45625nipp\u002F61v19uv4p313_23zk7zajcm.webp","2026-03-04 08:50:57.925Z",{"keywords":101,"locale":123,"school_blog":124},[102,107,112,113,114,115,116,117,118],{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},"2026-03-04 08:50:55.786Z","bn9tuj0554z99gg","Active Users","2026-06-07 06:48:42.956Z",{"collectionId":12,"collectionName":13,"created":108,"created_by":15,"id":109,"name":110,"updated":111,"updated_by":15},"2026-03-04 08:50:53.623Z","k6w6fyr98usbg2e","Chat Notifications","2026-06-07 06:48:42.041Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":119,"created_by":15,"id":120,"name":121,"updated":122,"updated_by":15},"2026-03-04 08:50:56.096Z","pqk2xruvmm497x0","User Join Notification","2026-06-07 06:48:43.094Z",{"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":73,"expand":125,"id":129,"slug":130,"updated":73,"views":131},{"category":126},{"blogIds":127,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":128,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"ifugg17ps3z64cx","user-join-notification-websocket-chat",233,"eu0h2r45625nipp","2025-03-24 01:51:46.776Z","เรียนรู้วิธีเพิ่ม ระบบแจ้งเตือน (User Join Notification) เมื่อมีผู้ใช้ใหม่เข้ามาใน WebSocket Chat ทำให้ผู้ใช้ทุกคนสามารถรับรู้ได้ทันทีว่ามีผู้ใช้ใหม่เข้ามาในแชทแบบเรียลไทม์","2026-06-07 06:44:36.267Z",{"alt":137,"cover_image_path":138,"created":139,"expand":140,"id":164,"published_at":165,"school_blog":161,"short_description":166,"title":137,"updated":167,"slug":162,"views":163},"EP.44 การเพิ่มฟีเจอร์แสดงจำนวนผู้ใช้ที่ออนไลน์ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fxuf3om7s296u4xt\u002F59_11zon_k8duf0jpg3.webp","2026-03-04 08:50:58.885Z",{"keywords":141,"locale":155,"school_blog":156},[142,143,144,145,146,147,148,149,150],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":103,"created_by":15,"id":104,"name":105,"updated":106,"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":151,"created_by":15,"id":152,"name":153,"updated":154,"updated_by":15},"2026-03-04 08:50:56.957Z","8fdbu2zxdum36wl","Online Users","2026-06-07 06:48:43.220Z",{"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":73,"expand":157,"id":161,"slug":162,"updated":73,"views":163},{"category":158},{"blogIds":159,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":160,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"o80z3drd0e40piv","online-users-websocket-chat",242,"xuf3om7s296u4xt","2025-03-24 01:51:35.026Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์แสดงจำนวนผู้ใช้ที่ออนไลน์ (Active Users) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเห็นจำนวนผู้ใช้งานที่กำลังออนไลน์อยู่ในระบบแบบเรียลไทม์","2026-06-07 06:44:36.666Z",{"alt":169,"cover_image_path":170,"created":171,"expand":172,"id":205,"published_at":206,"school_blog":201,"short_description":207,"title":169,"updated":208,"slug":202,"views":204},"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":173,"locale":195,"school_blog":196},[174,179,180,185,186,187,188,189,190],{"collectionId":12,"collectionName":13,"created":175,"created_by":15,"id":176,"name":177,"updated":178,"updated_by":15},"2026-03-04 08:50:59.287Z","wg8gajk96i2keaj","Chat Management","2026-06-07 06:48:43.368Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":181,"created_by":15,"id":182,"name":183,"updated":184,"updated_by":15},"2026-03-04 08:50:59.507Z","ntfm42v1phime84","Pinned Chats","2026-06-07 06:48:43.494Z",{"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":191,"created_by":15,"id":192,"name":193,"updated":194,"updated_by":15},"2026-03-04 08:48:45.418Z","so81vnxshuuiu6h","Pinned Messages","2026-06-07 06:47:58.782Z",{"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":73,"expand":197,"id":201,"slug":202,"updated":203,"views":204},{"category":198},{"blogIds":199,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":200,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"3ntbs0bnwdc7lq4","pinned-messages-websocket-chat","2026-05-28 09:55:58.155Z",257,"f4l95lly7crttk6","2025-03-24 01:51:23.344Z","เรียนรู้วิธีเพิ่ม ฟีเจอร์ปักหมุดข้อความ (Pinned Messages) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเก็บข้อความสำคัญไว้ดูภายหลังได้ รองรับการแจ้งเตือนแบบเรียลไทม์เมื่อมีข้อความถูกปักหมุด","2026-06-07 06:44:36.772Z",{"alt":210,"cover_image_path":211,"created":212,"expand":213,"id":245,"published_at":246,"school_blog":242,"short_description":247,"title":210,"updated":248,"slug":243,"views":131},"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":214,"locale":236,"school_blog":237},[215,216,221,226,227,228,229,230,231],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":217,"created_by":15,"id":218,"name":219,"updated":220,"updated_by":15},"2026-03-04 08:50:59.960Z","up5egj6sjn2i72f","Chat Features","2026-06-07 06:48:43.652Z",{"collectionId":12,"collectionName":13,"created":222,"created_by":15,"id":223,"name":224,"updated":225,"updated_by":15},"2026-03-04 08:51:00.184Z","hnwyjmmf41r934k","Message Read Status","2026-06-07 06:48:43.788Z",{"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":232,"created_by":15,"id":233,"name":234,"updated":235,"updated_by":15},"2026-03-04 08:51:00.522Z","yqwzufwzpmf5p93","Read Receipts","2026-06-07 06:48:43.862Z",{"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":73,"expand":238,"id":242,"slug":243,"updated":244,"views":131},{"category":239},{"blogIds":240,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":241,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"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-06-07 06:44:37.146Z",{"alt":250,"cover_image_path":251,"created":252,"expand":253,"id":286,"published_at":287,"school_blog":282,"short_description":288,"title":250,"updated":289,"slug":283,"views":285},"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":254,"locale":276,"school_blog":277},[255,256,261,262,267,268,269,270,271],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"updated_by":15},"2026-03-04 08:51:00.968Z","qivmit8ukkhb143","Typing Status","2026-06-07 06:48:44.083Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":263,"created_by":15,"id":264,"name":265,"updated":266,"updated_by":15},"2026-03-04 08:46:14.782Z","v0mhensk18fofru","WebSocket Chat","2026-06-07 06:47:04.148Z",{"collectionId":12,"collectionName":13,"created":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":272,"created_by":15,"id":273,"name":274,"updated":275,"updated_by":15},"2026-03-04 08:51:01.365Z","h5pcr9najjxfqwh","Typing Indicator","2026-06-07 06:48:44.149Z",{"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":73,"expand":278,"id":282,"slug":283,"updated":284,"views":285},{"category":279},{"blogIds":280,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":281,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"qa8pf1ntbtf5iya","typing-indicator-websocket-chat","2026-06-06 07:56:15.242Z",306,"f0symmnhfpvutpu","2025-03-24 01:50:55.427Z","เรียนรู้วิธีเพิ่ม Typing Indicator (สถานะการพิมพ์) ใน WebSocket Chat เพื่อให้ผู้ใช้สามารถเห็นเมื่อคู่สนทนากำลังพิมพ์ รองรับการแจ้งเตือนแบบเรียลไทม์ผ่าน WebSocket","2026-06-07 06:44:37.287Z",{"alt":291,"cover_image_path":292,"created":293,"expand":294,"id":329,"published_at":330,"school_blog":325,"short_description":331,"title":291,"updated":332,"slug":326,"views":328},"7 เทคนิค Clean Code เพื่อโค้ดคุณภาพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkkcjq36v8ovf377\u002F1wsr9xo1h84_jx6kiwdvw8.webp","2026-03-04 08:50:48.992Z",{"keywords":295,"locale":311,"school_blog":312},[296,301,306],{"collectionId":12,"collectionName":13,"created":297,"created_by":15,"id":298,"name":299,"updated":300,"updated_by":15},"2026-03-04 08:47:48.682Z","tjtve6zpa4tn6cr","Clean Code","2026-06-07 06:47:34.469Z",{"collectionId":12,"collectionName":13,"created":302,"created_by":15,"id":303,"name":304,"updated":305,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":307,"created_by":15,"id":308,"name":309,"updated":310,"updated_by":15},"2026-03-04 08:34:44.600Z","gegz59u7ho1kpai","เทคนิคการเขียนโค้ด","2026-06-07 06:46:15.298Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":313,"collectionId":71,"collectionName":72,"created":73,"expand":314,"id":325,"slug":326,"updated":327,"views":328},"qn0d7xwatkleou1",{"category":315},{"blogIds":316,"collectionId":77,"collectionName":78,"created":317,"created_by":15,"id":313,"image":318,"image_alt":73,"image_path":319,"label":320,"name":321,"priority":322,"publish_at":323,"scheduled_at":73,"status":86,"updated":324,"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":321,"th":321},"How to",0,"2025-02-04 08:40:59.666Z","2026-06-07 06:45:02.619Z","0qovmiyknwuvkzi","7-clean-code-techniques","2026-06-05 18:18:15.722Z",722,"kkcjq36v8ovf377","2025-03-21 09:54:15.917Z","เรียนรู้ 7 เทคนิคที่ช่วยให้การเขียนโค้ดของคุณมีคุณภาพและเข้าใจง่ายมากขึ้น","2026-06-07 06:44:34.577Z",{"alt":334,"cover_image_path":335,"created":336,"expand":337,"id":367,"published_at":368,"school_blog":363,"short_description":369,"title":334,"updated":370,"slug":364,"views":366},"5 โปรเจกต์ง่ายๆ สำหรับมือใหม่ เรียนโค้ดอย่างสนุกและใช้งานได้จริง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk90zl4w1sfi70ug\u002F1_1_pgt8k3rq0o.webp","2026-03-04 08:50:47.865Z",{"keywords":338,"locale":350,"school_blog":351},[339,344,349],{"collectionId":12,"collectionName":13,"created":340,"created_by":15,"id":341,"name":342,"updated":343,"updated_by":15},"2026-03-04 08:50:47.309Z","sbjq7yx6bvgzeyr","โปรเจกต์","2026-06-07 06:48:40.904Z",{"collectionId":12,"collectionName":13,"created":345,"created_by":15,"id":346,"name":347,"updated":348,"updated_by":15},"2026-03-04 08:47:19.758Z","s3esfvwr60x95g8","เขียนโค้ด","2026-06-07 06:47:24.316Z",{"collectionId":12,"collectionName":13,"created":302,"created_by":15,"id":303,"name":304,"updated":305,"updated_by":15},{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":352,"collectionId":71,"collectionName":72,"created":73,"expand":353,"id":363,"slug":364,"updated":365,"views":366},"spm4l1k5bgmhmmt",{"category":354},{"blogIds":355,"collectionId":77,"collectionName":78,"created":356,"created_by":15,"id":352,"image":357,"image_alt":73,"image_path":358,"label":359,"name":360,"priority":322,"publish_at":361,"scheduled_at":73,"status":86,"updated":362,"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":360,"th":360},"Knowledge","2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","hnwyvti5frqnobk","5-easy-projects-for-beginners","2026-06-08 08:40:31.088Z",270,"k90zl4w1sfi70ug","2025-03-21 09:53:25.894Z","เรียนรู้ 5 โปรเจกต์ที่เหมาะสำหรับมือใหม่ในการฝึกฝนการเขียนโค้ดอย่างสนุกและใช้งานได้จริง","2026-06-07 06:44:33.939Z",{"alt":372,"cover_image_path":373,"created":374,"expand":375,"id":411,"published_at":412,"school_blog":408,"short_description":413,"title":372,"updated":414,"slug":409,"views":163},"NVIDIA ใช้ AI ยกระดับเกม สู่ประสบการณ์ใหม่ที่สมจริงกว่าเดิม","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1qh0j0nit656uko\u002F1_2_tg45fsl52u.webp","2026-03-04 08:50:47.540Z",{"keywords":376,"locale":402,"school_blog":403},[377,382,387,392,397],{"collectionId":12,"collectionName":13,"created":378,"created_by":15,"id":379,"name":380,"updated":381,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-06-07 06:45:27.147Z",{"collectionId":12,"collectionName":13,"created":383,"created_by":15,"id":384,"name":385,"updated":386,"updated_by":15},"2026-03-04 08:50:45.784Z","thjmpjrwgv9xnu7","NVIDIA","2026-06-07 06:48:40.450Z",{"collectionId":12,"collectionName":13,"created":388,"created_by":15,"id":389,"name":390,"updated":391,"updated_by":15},"2026-03-04 08:50:46.132Z","n1twmghdi4wr8mz","วงการพัฒนาเกม","2026-06-07 06:48:40.538Z",{"collectionId":12,"collectionName":13,"created":393,"created_by":15,"id":394,"name":395,"updated":396,"updated_by":15},"2026-03-04 08:31:50.143Z","njbfvrm24d7pbv2","การพัฒนาเกม","2026-06-07 06:45:32.309Z",{"collectionId":12,"collectionName":13,"created":398,"created_by":15,"id":399,"name":400,"updated":401,"updated_by":15},"2026-03-04 08:31:39.503Z","3kryq9o3k6qygo9","อุตสาหกรรมเกม","2026-06-07 06:45:30.049Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":352,"collectionId":71,"collectionName":72,"created":73,"expand":404,"id":408,"slug":409,"updated":410,"views":163},{"category":405},{"blogIds":406,"collectionId":77,"collectionName":78,"created":356,"created_by":15,"id":352,"image":357,"image_alt":73,"image_path":358,"label":407,"name":360,"priority":322,"publish_at":361,"scheduled_at":73,"status":86,"updated":362,"updated_by":15},[],{"en":360,"th":360},"zgctunirwj9638e","nvidia-ai-gaming-new-realistic-experience","2026-05-26 15:14:07.091Z","1qh0j0nit656uko","2025-03-21 07:09:13.064Z","ค้นพบว่า NVIDIA ใช้ AI เพื่อยกระดับการพัฒนาเกมอย่างไร เปลี่ยนประสบการณ์ของโปรแกรมเมอร์และผู้เล่นทั่วโลก","2026-06-07 06:44:33.767Z",{"alt":416,"cover_image_path":417,"created":418,"expand":419,"id":441,"published_at":442,"school_blog":437,"short_description":443,"title":416,"updated":444,"slug":438,"views":440},"6 เคล็ดลับการพัฒนาแอปพลิเคชันมือถือในปี 2025","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fl3hs99yitkqqlph\u002F6_2025_efa0zi1f2w.webp","2026-03-04 08:50:48.735Z",{"keywords":420,"locale":431,"school_blog":432},[421,426],{"collectionId":12,"collectionName":13,"created":422,"created_by":15,"id":423,"name":424,"updated":425,"updated_by":15},"2026-03-04 08:33:57.434Z","hz551yc9f7fozes","การพัฒนาแอปพลิเคชัน","2026-06-07 06:45:54.668Z",{"collectionId":12,"collectionName":13,"created":427,"created_by":15,"id":428,"name":429,"updated":430,"updated_by":15},"2026-03-04 08:32:02.973Z","opnkwzu53lkn5te","เคล็ดลับการเขียนโปรแกรม","2026-06-07 06:45:36.060Z",{"code":60,"collectionId":61,"collectionName":62,"created":63,"flag":64,"id":65,"is_default":66,"label":67,"updated":68},{"category":352,"collectionId":71,"collectionName":72,"created":73,"expand":433,"id":437,"slug":438,"updated":439,"views":440},{"category":434},{"blogIds":435,"collectionId":77,"collectionName":78,"created":356,"created_by":15,"id":352,"image":357,"image_alt":73,"image_path":358,"label":436,"name":360,"priority":322,"publish_at":361,"scheduled_at":73,"status":86,"updated":362,"updated_by":15},[],{"en":360,"th":360},"x3qgzhr21nnw0q1","6-tips-for-mobile-app-development-2025","2026-06-07 12:21:44.348Z",222,"l3hs99yitkqqlph","2025-03-20 04:16:17.863Z","เรียนรู้เคล็ดลับสำคัญในการพัฒนาแอปพลิเคชันมือถือที่ตอบโจทย์เทรนด์ปี 2025  ","2026-06-07 06:44:34.253Z",{"alt":446,"cover_image_path":447,"created":448,"expand":449,"id":493,"published_at":494,"school_blog":489,"short_description":495,"title":446,"updated":496,"slug":490,"views":492},"EP.36 การเพิ่มระบบ Authentication ให้กับ WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fu97jq0za629x5et\u002F43_11zon_asvsg6e5j9.webp","2026-03-04 08:51:18.589Z",{"keywords":450,"locale":483,"school_blog":484},[451,456,461,466,471,476,477,478],{"collectionId":12,"collectionName":13,"created":452,"created_by":15,"id":453,"name":454,"updated":455,"updated_by":15},"2026-03-04 08:51:16.632Z","gwruu2q4m5nfnka","User Authentication","2026-06-07 06:48:48.318Z",{"collectionId":12,"collectionName":13,"created":457,"created_by":15,"id":458,"name":459,"updated":460,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-06-07 06:46:37.674Z",{"collectionId":12,"collectionName":13,"created":462,"created_by":15,"id":463,"name":464,"updated":465,"updated_by":15},"2026-03-04 08:51:16.224Z","72cusu8ff0jdht3","Secure WebSocket","2026-06-07 06:48:48.225Z",{"collectionId":12,"collectionName":13,"created":467,"created_by":15,"id":468,"name":469,"updated":470,"updated_by":15},"2026-03-04 08:51:15.678Z","x176qvmm4bfx32y","Token-Based Authentication","2026-06-07 06:48:47.994Z",{"collectionId":12,"collectionName":13,"created":472,"created_by":15,"id":473,"name":474,"updated":475,"updated_by":15},"2026-03-04 08:51:15.982Z","zea0opz6nut6xyt","Chat Security","2026-06-07 06:48:48.060Z",{"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":479,"created_by":15,"id":480,"name":481,"updated":482,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-06-07 06:46:29.432Z",{"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":73,"expand":485,"id":489,"slug":490,"updated":491,"views":492},{"category":486},{"blogIds":487,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":488,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"3i554b7yfku7sd0","websocket-chat-authentication-jwt","2026-05-31 13:05:27.403Z",273,"u97jq0za629x5et","2025-03-18 02:45:28.077Z","เรียนรู้วิธีเพิ่ม User Authentication ใน WebSocket Chat โดยใช้ JWT Token เพื่อควบคุมสิทธิ์การเข้าถึงของผู้ใช้ และเพิ่มความปลอดภัยให้กับระบบแชทของคุณ","2026-06-07 06:44:40.112Z",{"alt":498,"cover_image_path":499,"created":500,"expand":501,"id":543,"published_at":544,"school_blog":539,"short_description":545,"title":498,"updated":546,"slug":540,"views":542},"EP.37 การสร้างระบบจัดการห้องแชทใน WebSocket และ GraphQL","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnohcp3shvopcnym\u002F45_11zon_v9z41ez85v.webp","2026-03-04 08:51:15.455Z",{"keywords":502,"locale":533,"school_blog":534},[503,508,513,514,519,520,521,522,527,528],{"collectionId":12,"collectionName":13,"created":504,"created_by":15,"id":505,"name":506,"updated":507,"updated_by":15},"2026-03-04 08:51:13.245Z","i4i3s8cyj52mx4l","Group Chat","2026-06-07 06:48:47.254Z",{"collectionId":12,"collectionName":13,"created":509,"created_by":15,"id":510,"name":511,"updated":512,"updated_by":15},"2026-03-04 08:51:13.649Z","wcctbc65iq5n4bj","GraphQL API","2026-06-07 06:48:47.406Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":515,"created_by":15,"id":516,"name":517,"updated":518,"updated_by":15},"2026-03-04 08:51:13.905Z","sha4b5kwtz2qx0r","Chat Room Management","2026-06-07 06:48:47.546Z",{"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":523,"created_by":15,"id":524,"name":525,"updated":526,"updated_by":15},"2026-03-04 08:51:14.205Z","laiwsvubam25wcf","GraphQL","2026-06-07 06:48:47.745Z",{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},{"collectionId":12,"collectionName":13,"created":529,"created_by":15,"id":530,"name":531,"updated":532,"updated_by":15},"2026-03-04 08:51:14.568Z","rlxotivysdr3gjh","Chat Room","2026-06-07 06:48:47.862Z",{"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":73,"expand":535,"id":539,"slug":540,"updated":541,"views":542},{"category":536},{"blogIds":537,"collectionId":77,"collectionName":78,"created":79,"created_by":15,"id":70,"image":80,"image_alt":73,"image_path":81,"label":538,"name":83,"priority":84,"publish_at":85,"scheduled_at":73,"status":86,"updated":87,"updated_by":15},[],{"en":83,"th":83},"nhxtrdpa103lppi","websocket-chat-room-management-graphql","2026-06-05 03:52:58.833Z",229,"nohcp3shvopcnym","2025-03-18 02:45:17.368Z","เรียนรู้วิธีสร้าง ระบบห้องแชท (Chat Room Management System) โดยใช้ WebSocket และ GraphQL รองรับการสร้างห้องแชท การเข้าร่วมห้อง และการส่งข้อความระหว่างผู้ใช้แบบเรียลไทม์","2026-06-07 06:44:39.732Z",27,12,422,36]