[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-27-12-Web%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":597,"perPage":598,"totalItems":599,"totalPages":600},[5,100,162,211,259,297,347,398,432,492,527,561],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":96,"published_at":97,"school_blog":92,"short_description":98,"title":6,"updated":99,"slug":93,"views":95},"EP.40 Adding File Upload Feature in WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Feapi26ab5gp36fo\u002F52_11zon_7xeblwj17w.webp","2026-03-04 08:51:10.970Z",{"keywords":10,"locale":64,"school_blog":74},[11,19,24,29,34,39,44,49,54,59],{"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:51:07.889Z","","svzsiusj88bni77","Chat Media Upload","2026-04-10 16:14:32.854Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:51:08.283Z","ux24tskiyudefze","Firebase Storage","2026-04-10 16:14:33.007Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:51:08.494Z","bqukhjhwr4yxnts","AWS S3","2026-04-10 16:14:33.170Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:51:08.805Z","75w01ebjq7zfrpt","GraphQL File Upload","2026-04-10 16:14:33.255Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:51:09.476Z","l1ipjxpi9rr2jgh","WebSocket File Sharing","2026-04-10 16:14:33.437Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"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":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":60,"created_by":15,"id":61,"name":62,"updated":63,"updated_by":15},"2026-03-04 08:51:09.841Z","6hrhrxemlcwn5fx","File Upload","2026-04-10 16:14:33.529Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},"en","pbc_1989393366","locales","2026-01-22 11:00:02.726Z","twemoji:flag-united-states","qv9c1llfov2d88z",false,"English","2026-04-10 15:42:46.825Z",{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":78,"id":92,"slug":93,"updated":94,"views":95},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs",{"category":79},{"blogIds":80,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":86,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"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":87,"th":87},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-04-25 02:32:15.470Z","fwc905ic8t3yry7","file-upload-websocket-chat","2026-05-13 08:23:38.018Z",299,"eapi26ab5gp36fo","2025-03-17 02:13:28.952Z","Learn how to implement a file upload feature in WebSocket Chat using Go and GraphQL, supporting file sharing via WebSocket and storing files on a server or cloud storage systems like AWS S3 or Firebase Storage.","2026-05-06 08:38:39.549Z",{"alt":101,"cover_image_path":102,"created":103,"expand":104,"id":158,"published_at":159,"school_blog":154,"short_description":160,"title":101,"updated":161,"slug":155,"views":157},"EP.39 Scaling WebSocket with Redis and Kubernetes","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1dojf0v9s031vj3\u002F50_11zon_1zy2q0i95h.webp","2026-03-04 08:51:10.179Z",{"keywords":105,"locale":148,"school_blog":149},[106,111,116,121,126,127,128,133,138,143],{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-04-10 16:12:46.399Z",{"collectionId":12,"collectionName":13,"created":112,"created_by":15,"id":113,"name":114,"updated":115,"updated_by":15},"2026-03-04 08:44:32.713Z","b9jmymu9lbpj60c","High Availability","2026-04-10 16:12:46.701Z",{"collectionId":12,"collectionName":13,"created":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},"2026-03-04 08:44:29.876Z","ozn15duk6wovj6g","Microservices","2026-04-10 16:12:46.024Z",{"collectionId":12,"collectionName":13,"created":122,"created_by":15,"id":123,"name":124,"updated":125,"updated_by":15},"2026-03-04 08:51:09.083Z","qnfn648h0o2s90l","Real-Time API","2026-04-10 16:14:33.342Z",{"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":129,"created_by":15,"id":130,"name":131,"updated":132,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-04-10 16:08:08.875Z",{"collectionId":12,"collectionName":13,"created":134,"created_by":15,"id":135,"name":136,"updated":137,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-04-10 16:08:08.714Z",{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"updated_by":15},"2026-03-04 08:48:01.322Z","qwms9vhmllldxj2","WebSocket Load Balancing","2026-04-10 16:13:38.951Z",{"collectionId":12,"collectionName":13,"created":144,"created_by":15,"id":145,"name":146,"updated":147,"updated_by":15},"2026-03-04 08:44:50.258Z","nrtw5001po78dez","WebSocket Scaling","2026-04-10 16:12:50.756Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":150,"id":154,"slug":155,"updated":156,"views":157},{"category":151},{"blogIds":152,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":153,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"1idpw9dwit26mgw","websocket-scaling-redis-kubernetes","2026-05-15 09:02:08.871Z",314,"1dojf0v9s031vj3","2025-03-17 02:13:19.995Z","Learn how to scale WebSocket using Redis Pub\u002FSub and Kubernetes to handle high traffic and improve real-time system performance.","2026-05-06 08:38:39.278Z",{"alt":163,"cover_image_path":164,"created":165,"expand":166,"id":207,"published_at":208,"school_blog":203,"short_description":209,"title":163,"updated":210,"slug":204,"views":206},"EP. 38 Adding Push Notification Support to WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Frirt3q4ggacbr0q\u002F48_11zon_urz9upo25y.webp","2026-03-04 08:51:13.961Z",{"keywords":167,"locale":197,"school_blog":198},[168,173,178,183,184,185,186,191,192],{"collectionId":12,"collectionName":13,"created":169,"created_by":15,"id":170,"name":171,"updated":172,"updated_by":15},"2026-03-04 08:51:12.024Z","mfphds63msma911","Chat Alerts","2026-04-10 16:14:33.622Z",{"collectionId":12,"collectionName":13,"created":174,"created_by":15,"id":175,"name":176,"updated":177,"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":179,"created_by":15,"id":180,"name":181,"updated":182,"updated_by":15},"2026-03-04 08:51:12.327Z","oe33epaljgufqzf","Web Push API","2026-04-10 16:14:33.793Z",{"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":187,"created_by":15,"id":188,"name":189,"updated":190,"updated_by":15},"2026-03-04 08:51:12.685Z","v6aqa9mkbj1i0fg","Firebase Cloud Messaging","2026-04-10 16:14:33.924Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"collectionId":12,"collectionName":13,"created":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},"2026-03-04 08:46:14.110Z","itovzjisctbn2ej","Push Notification","2026-04-10 16:13:10.376Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":199,"id":203,"slug":204,"updated":205,"views":206},{"category":200},{"blogIds":201,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":202,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"gw6n09i49lxlddz","push-notifications-websocket-chat","2026-05-14 14:21:38.018Z",312,"rirt3q4ggacbr0q","2025-03-17 02:09:14.580Z","Learn how to integrate Push Notifications into your WebSocket Chat using the Web Push API and Firebase Cloud Messaging (FCM) to alert users of new messages even when the application is not open.","2026-05-06 08:38:39.861Z",{"alt":212,"cover_image_path":213,"created":214,"expand":215,"id":255,"published_at":256,"school_blog":251,"short_description":257,"title":212,"updated":258,"slug":252,"views":254},"5 AI that programmers should know in 2025","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8l9egd2sn7fnxr1\u002F2_1_8r7l7bvvdh.webp","2026-03-04 08:51:07.806Z",{"keywords":216,"locale":237,"school_blog":238},[217,222,227,232],{"collectionId":12,"collectionName":13,"created":218,"created_by":15,"id":219,"name":220,"updated":221,"updated_by":15},"2026-03-04 08:49:26.594Z","535q7zowr949rtj","AI in programming","2026-04-10 16:14:05.717Z",{"collectionId":12,"collectionName":13,"created":223,"created_by":15,"id":224,"name":225,"updated":226,"updated_by":15},"2026-03-04 08:50:35.736Z","q0eztxt8rtmwq8i","AI for programmers","2026-04-10 16:14:26.265Z",{"collectionId":12,"collectionName":13,"created":228,"created_by":15,"id":229,"name":230,"updated":231,"updated_by":15},"2026-03-04 08:51:06.596Z","g6by4t1z38a6nbf","AI tools 2025","2026-04-10 16:14:32.583Z",{"collectionId":12,"collectionName":13,"created":233,"created_by":15,"id":234,"name":235,"updated":236,"updated_by":15},"2026-03-04 08:47:38.428Z","4ijgn2uqekufq5g","AI coding tools","2026-04-10 16:13:32.053Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":239,"collectionId":76,"collectionName":77,"created":15,"expand":240,"id":251,"slug":252,"updated":253,"views":254},"spm4l1k5bgmhmmt",{"category":241},{"blogIds":242,"collectionId":81,"collectionName":82,"created":243,"created_by":15,"id":239,"image":244,"image_alt":15,"image_path":245,"label":246,"name":247,"priority":248,"publish_at":249,"scheduled_at":15,"status":90,"updated":250,"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":247,"th":247},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","6wtk8bkkml521as","tools-ai-programmer","2026-05-16 02:16:56.208Z",205,"8l9egd2sn7fnxr1","2025-03-14 03:50:26.501Z","Get to know AI, an important tool for programmers in 2025 that will help increase efficiency and develop new skills for programmers","2026-04-22 07:11:44.171Z",{"alt":260,"cover_image_path":261,"created":262,"expand":263,"id":293,"published_at":294,"school_blog":289,"short_description":295,"title":260,"updated":296,"slug":290,"views":292},"Gemini Code Assist, a new tool from Google Cloud that programmers must not miss!","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F6ig2kvxrarkpjy1\u002F2c9s3rp9nuj_xzuh0nry4u.webp","2026-03-04 08:51:07.756Z",{"keywords":264,"locale":276,"school_blog":277},[265,270,275],{"collectionId":12,"collectionName":13,"created":266,"created_by":15,"id":267,"name":268,"updated":269,"updated_by":15},"2026-03-04 08:51:07.368Z","wynpt4076z752li","Google Cloud","2026-04-10 16:14:32.719Z",{"collectionId":12,"collectionName":13,"created":271,"created_by":15,"id":272,"name":273,"updated":274,"updated_by":15},"2026-03-04 08:44:59.347Z","zx9l4eq448df98a","Gemini AI","2026-04-10 16:12:52.674Z",{"collectionId":12,"collectionName":13,"created":233,"created_by":15,"id":234,"name":235,"updated":236,"updated_by":15},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":278,"collectionId":76,"collectionName":77,"created":15,"expand":279,"id":289,"slug":290,"updated":291,"views":292},"pkuzfil3b4ug2ea",{"category":280},{"blogIds":281,"collectionId":81,"collectionName":82,"created":282,"created_by":15,"id":278,"image":283,"image_alt":15,"image_path":284,"label":285,"name":286,"priority":248,"publish_at":287,"scheduled_at":15,"status":90,"updated":288,"updated_by":15},[],"2026-03-04 08:31:47.860Z","3w9eadde0ql_vquww3nx7o.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fpkuzfil3b4ug2ea\u002F3w9eadde0ql_vquww3nx7o.png",{"en":286,"th":286},"Cutting-Edge Tech","2025-01-27 08:43:38.395Z","2026-04-25 02:32:14.847Z","zuhnil230cb1bgv","gemini-code-assist-write-code","2026-05-13 17:42:42.130Z",217,"6ig2kvxrarkpjy1","2025-03-14 02:52:07.479Z","Google Cloud launches Gemini AI, a free tool that helps developers around the world write and review code, increasing efficiency and quality at no cost.","2026-04-22 07:11:44.078Z",{"alt":298,"cover_image_path":299,"created":300,"expand":301,"id":343,"published_at":344,"school_blog":339,"short_description":345,"title":298,"updated":346,"slug":340,"views":342},"EP.35 Storing Chat History in WebSocket and GraphQL Subscription","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fvk23g8wbz2hrzpj\u002F42_1_wffeast8fs.webp","2026-03-04 08:51:17.771Z",{"keywords":302,"locale":333,"school_blog":334},[303,304,309,314,319,324,325,330,331,332],{"collectionId":12,"collectionName":13,"created":174,"created_by":15,"id":175,"name":176,"updated":177,"updated_by":15},{"collectionId":12,"collectionName":13,"created":305,"created_by":15,"id":306,"name":307,"updated":308,"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":310,"created_by":15,"id":311,"name":312,"updated":313,"updated_by":15},"2026-03-04 08:51:13.649Z","wcctbc65iq5n4bj","GraphQL API","2026-04-10 16:14:34.086Z",{"collectionId":12,"collectionName":13,"created":315,"created_by":15,"id":316,"name":317,"updated":318,"updated_by":15},"2026-03-04 08:51:17.295Z","x5fbzy09361bbm5","Chat Database","2026-04-10 16:14:35.229Z",{"collectionId":12,"collectionName":13,"created":320,"created_by":15,"id":321,"name":322,"updated":323,"updated_by":15},"2026-03-04 08:46:53.342Z","5ac1xgod1ehyqva","GraphQL Subscriptions","2026-04-10 16:13:20.256Z",{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"collectionId":12,"collectionName":13,"created":326,"created_by":15,"id":327,"name":328,"updated":329,"updated_by":15},"2026-03-04 08:50:53.155Z","peza6kmj1144b0x","Chat History","2026-04-10 16:14:29.504Z",{"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},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":335,"id":339,"slug":340,"updated":341,"views":342},{"category":336},{"blogIds":337,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":338,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"h9qo5h7vbko0hq3","storing-chat-history-websocket-graphql","2026-05-14 11:46:38.336Z",293,"vk23g8wbz2hrzpj","2025-03-13 02:24:01.462Z","Learn how to use WebSocket and GraphQL Subscription to store chat history in a database, supporting the retrieval of past messages and real-time updates to enhance your chat system.","2026-05-06 08:38:40.425Z",{"alt":348,"cover_image_path":349,"created":350,"expand":351,"id":394,"published_at":395,"school_blog":390,"short_description":396,"title":348,"updated":397,"slug":391,"views":393},"EP.34 Building a Real-Time Chat System with GraphQL and WebSocket in Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk6y1oirmesd5h0r\u002F40_11zon_3qf0ww6cok.webp","2026-03-04 08:51:20.314Z",{"keywords":352,"locale":384,"school_blog":385},[353,358,359,364,369,374,375,376,377,378,379],{"collectionId":12,"collectionName":13,"created":354,"created_by":15,"id":355,"name":356,"updated":357,"updated_by":15},"2026-03-04 08:51:19.396Z","u64yt1w9x0lqknb","System Scalability","2026-04-10 16:14:35.375Z",{"collectionId":12,"collectionName":13,"created":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},{"collectionId":12,"collectionName":13,"created":360,"created_by":15,"id":361,"name":362,"updated":363,"updated_by":15},"2026-03-04 08:51:19.902Z","ybwrb9ksy12o89r","API Development","2026-04-10 16:14:35.541Z",{"collectionId":12,"collectionName":13,"created":365,"created_by":15,"id":366,"name":367,"updated":368,"updated_by":15},"2026-03-04 08:51:19.718Z","jqvc882wc9kcby8","Chat Application","2026-04-10 16:14:35.447Z",{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"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":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":320,"created_by":15,"id":321,"name":322,"updated":323,"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":55,"created_by":15,"id":56,"name":57,"updated":58,"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:51:14.205Z","laiwsvubam25wcf","GraphQL","2026-04-10 16:14:34.380Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":386,"id":390,"slug":391,"updated":392,"views":393},{"category":387},{"blogIds":388,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":389,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"nk24bp8xvrc361u","graphql-websocket-go-chat-system","2026-05-15 20:13:16.460Z",266,"k6y1oirmesd5h0r","2025-03-13 02:23:46.631Z","Learn how to use GraphQL Subscriptions and WebSocket to create a real-time chat system in Go that supports instant message delivery and is designed to scale efficiently.","2026-05-06 08:38:41.069Z",{"alt":399,"cover_image_path":400,"created":401,"expand":402,"id":428,"published_at":429,"school_blog":424,"short_description":430,"title":399,"updated":431,"slug":425,"views":427},"EP.33 Using GraphQL with WebSocket in Go to Build Real-Time APIs","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2q3wqkpq42ehz3a\u002F38_11zon_hb2gpplm72.webp","2026-03-04 08:51:21.501Z",{"keywords":403,"locale":418,"school_blog":419},[404,405,406,407,408,409,410,411,412,413],{"collectionId":12,"collectionName":13,"created":380,"created_by":15,"id":381,"name":382,"updated":383,"updated_by":15},{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"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":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},{"collectionId":12,"collectionName":13,"created":320,"created_by":15,"id":321,"name":322,"updated":323,"updated_by":15},{"collectionId":12,"collectionName":13,"created":122,"created_by":15,"id":123,"name":124,"updated":125,"updated_by":15},{"collectionId":12,"collectionName":13,"created":310,"created_by":15,"id":311,"name":312,"updated":313,"updated_by":15},{"collectionId":12,"collectionName":13,"created":174,"created_by":15,"id":175,"name":176,"updated":177,"updated_by":15},{"collectionId":12,"collectionName":13,"created":360,"created_by":15,"id":361,"name":362,"updated":363,"updated_by":15},{"collectionId":12,"collectionName":13,"created":414,"created_by":15,"id":415,"name":416,"updated":417,"updated_by":15},"2026-03-04 08:32:51.346Z","tmzmy6jyz1n35rr","Go Programming","2026-04-10 16:08:01.434Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":420,"id":424,"slug":425,"updated":426,"views":427},{"category":421},{"blogIds":422,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":423,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"px1qxx8n6lqolc4","graphql-websocket-go-real-time-api","2026-05-19 09:10:30.959Z",288,"2q3wqkpq42ehz3a","2025-03-11 02:35:36.632Z","Learn how to use GraphQL Subscriptions with WebSocket in Go to build real-time APIs that respond to data changes instantly.","2026-05-06 08:38:41.327Z",{"alt":433,"cover_image_path":434,"created":435,"expand":436,"id":488,"published_at":489,"school_blog":484,"short_description":490,"title":433,"updated":491,"slug":485,"views":487},"EP.32 Connecting WebSocket with Microservices in Go for Scalable and Flexible Systems","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fitls8w6a1y0g6b1\u002Fgolang_sqia9b4c79.webp","2026-03-04 08:51:22.181Z",{"keywords":437,"locale":478,"school_blog":479},[438,443,448,449,454,459,464,469,474,475,476,477],{"collectionId":12,"collectionName":13,"created":439,"created_by":15,"id":440,"name":441,"updated":442,"updated_by":15},"2026-03-04 08:51:21.046Z","oq0vdtjrhepc74e","System Architecture","2026-04-10 16:14:35.637Z",{"collectionId":12,"collectionName":13,"created":444,"created_by":15,"id":445,"name":446,"updated":447,"updated_by":15},"2026-03-04 08:40:54.606Z","s26m2zvbm8amosp","Real-time Systems","2026-04-10 16:12:40.769Z",{"collectionId":12,"collectionName":13,"created":134,"created_by":15,"id":135,"name":136,"updated":137,"updated_by":15},{"collectionId":12,"collectionName":13,"created":450,"created_by":15,"id":451,"name":452,"updated":453,"updated_by":15},"2026-03-04 08:51:21.416Z","t0608colrvvnvt5","API Gateway","2026-04-10 16:14:35.739Z",{"collectionId":12,"collectionName":13,"created":455,"created_by":15,"id":456,"name":457,"updated":458,"updated_by":15},"2026-03-04 08:51:21.627Z","lbet9y3a94m7s7o","gRPC","2026-04-10 16:14:35.846Z",{"collectionId":12,"collectionName":13,"created":460,"created_by":15,"id":461,"name":462,"updated":463,"updated_by":15},"2026-03-04 08:34:03.856Z","9dujh23qyko22y0","Load Balancing","2026-04-10 16:08:06.326Z",{"collectionId":12,"collectionName":13,"created":465,"created_by":15,"id":466,"name":467,"updated":468,"updated_by":15},"2026-03-04 08:44:30.561Z","mh6or11b3q7afdh","Microservices Architecture","2026-04-10 16:12:46.171Z",{"collectionId":12,"collectionName":13,"created":470,"created_by":15,"id":471,"name":472,"updated":473,"updated_by":15},"2026-03-04 08:51:21.925Z","qfrlqpe72r1b6yi","WebSocket Gateway","2026-04-10 16:14:36.027Z",{"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":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},{"collectionId":12,"collectionName":13,"created":55,"created_by":15,"id":56,"name":57,"updated":58,"updated_by":15},{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":75,"collectionId":76,"collectionName":77,"created":15,"expand":480,"id":484,"slug":485,"updated":486,"views":487},{"category":481},{"blogIds":482,"collectionId":81,"collectionName":82,"created":83,"created_by":15,"id":75,"image":84,"image_alt":15,"image_path":85,"label":483,"name":87,"priority":88,"publish_at":89,"scheduled_at":15,"status":90,"updated":91,"updated_by":15},[],{"en":87,"th":87},"8y1pu1r9wjxgave","websocket-microservices-go","2026-05-16 17:56:32.195Z",292,"itls8w6a1y0g6b1","2025-03-10 02:57:17.726Z","Learn how to connect WebSocket with Microservices in Go to develop distributed applications that support large-scale workloads and scalability efficiently.","2026-05-06 08:38:41.698Z",{"alt":493,"cover_image_path":494,"created":495,"expand":496,"id":523,"published_at":524,"school_blog":519,"short_description":525,"title":493,"updated":526,"slug":520,"views":522},"5 Rules Every Programmer Needs to Know to Improve","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fao78sxq2nqxic29\u002F2_5_1db63dkj3y.webp","2026-03-04 08:51:23.360Z",{"keywords":497,"locale":513,"school_blog":514},[498,503,508],{"collectionId":12,"collectionName":13,"created":499,"created_by":15,"id":500,"name":501,"updated":502,"updated_by":15},"2026-03-04 08:51:22.806Z","hd0px4c867g7b4c","Advice from Bill Gates","2026-04-10 16:14:36.215Z",{"collectionId":12,"collectionName":13,"created":504,"created_by":15,"id":505,"name":506,"updated":507,"updated_by":15},"2026-03-04 08:31:26.855Z","gm7zvudx341kzsm","Programmer","2026-04-10 16:07:40.730Z",{"collectionId":12,"collectionName":13,"created":509,"created_by":15,"id":510,"name":511,"updated":512,"updated_by":15},"2026-03-04 08:51:22.998Z","qknjkv7u6paet4i","Develop yourself","2026-04-10 16:14:36.367Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":239,"collectionId":76,"collectionName":77,"created":15,"expand":515,"id":519,"slug":520,"updated":521,"views":522},{"category":516},{"blogIds":517,"collectionId":81,"collectionName":82,"created":243,"created_by":15,"id":239,"image":244,"image_alt":15,"image_path":245,"label":518,"name":247,"priority":248,"publish_at":249,"scheduled_at":15,"status":90,"updated":250,"updated_by":15},[],{"en":247,"th":247},"9b20m3cfyo3nm1y","programmer-self-improvement","2026-05-13 07:44:25.319Z",215,"ao78sxq2nqxic29","2025-03-07 04:05:19.564Z","Discover Bill Gates' 5 Rules to Help Programmers Improve and Succeed in the Digital Age","2026-04-22 07:11:46.791Z",{"alt":528,"cover_image_path":529,"created":530,"expand":531,"id":557,"published_at":558,"school_blog":554,"short_description":559,"title":528,"updated":560,"slug":555,"views":254},"Share coding practice sites for job interview preparation","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fj62i2rnt1hjzzzb\u002F2_5_zel4gdv8mf.webp","2026-03-04 08:31:23.119Z",{"keywords":532,"locale":548,"school_blog":549},[533,538,543],{"collectionId":12,"collectionName":13,"created":534,"created_by":15,"id":535,"name":536,"updated":537,"updated_by":15},"2026-03-04 08:31:19.760Z","ooya8w8efv4ahd9","coding skills","2026-04-10 16:07:38.929Z",{"collectionId":12,"collectionName":13,"created":539,"created_by":15,"id":540,"name":541,"updated":542,"updated_by":15},"2026-03-04 08:31:20.524Z","vcs9ztxv1doovqx","free coding practice","2026-04-10 16:07:39.168Z",{"collectionId":12,"collectionName":13,"created":544,"created_by":15,"id":545,"name":546,"updated":547,"updated_by":15},"2026-03-04 08:31:22.575Z","lfjse4xivbgg5wu","Practice programming","2026-04-10 16:07:39.541Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":239,"collectionId":76,"collectionName":77,"created":15,"expand":550,"id":554,"slug":555,"updated":556,"views":254},{"category":551},{"blogIds":552,"collectionId":81,"collectionName":82,"created":243,"created_by":15,"id":239,"image":244,"image_alt":15,"image_path":245,"label":553,"name":247,"priority":248,"publish_at":249,"scheduled_at":15,"status":90,"updated":250,"updated_by":15},[],{"en":247,"th":247},"dcrbgahekhxnuyx","website-code-practice-job-interview","2026-05-13 04:15:13.553Z","j62i2rnt1hjzzzb","2025-03-06 08:47:48.133Z","Prepare for your programming interview with popular coding practice sites like LeetCode, HackerRank and Codewars to boost your skills and confidence.","2026-04-25 02:47:21.619Z",{"alt":562,"cover_image_path":563,"created":564,"expand":565,"id":593,"published_at":594,"school_blog":589,"short_description":595,"title":562,"updated":596,"slug":590,"views":592},"Is Being an Introvert Suitable for a Career in Programming? The Answer You Need to Know","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F3hcryvk4n7p18n0\u002Fintrovert_2_nnyqx3hssf.webp","2026-03-04 08:31:36.601Z",{"keywords":566,"locale":583,"school_blog":584},[567,572,573,578],{"collectionId":12,"collectionName":13,"created":568,"created_by":15,"id":569,"name":570,"updated":571,"updated_by":15},"2026-03-04 08:31:24.906Z","dn22iy94to08i87","Jobs","2026-04-10 16:07:40.223Z",{"collectionId":12,"collectionName":13,"created":504,"created_by":15,"id":505,"name":506,"updated":507,"updated_by":15},{"collectionId":12,"collectionName":13,"created":574,"created_by":15,"id":575,"name":576,"updated":577,"updated_by":15},"2026-03-04 08:31:33.118Z","mlsuuem8cdqwoju","personality","2026-04-10 16:07:42.507Z",{"collectionId":12,"collectionName":13,"created":579,"created_by":15,"id":580,"name":581,"updated":582,"updated_by":15},"2026-03-04 08:31:36.037Z","nzfmd7zn0fws9tx","introvert","2026-04-10 16:07:43.378Z",{"code":65,"collectionId":66,"collectionName":67,"created":68,"flag":69,"id":70,"is_default":71,"label":72,"updated":73},{"category":239,"collectionId":76,"collectionName":77,"created":15,"expand":585,"id":589,"slug":590,"updated":591,"views":592},{"category":586},{"blogIds":587,"collectionId":81,"collectionName":82,"created":243,"created_by":15,"id":239,"image":244,"image_alt":15,"image_path":245,"label":588,"name":247,"priority":248,"publish_at":249,"scheduled_at":15,"status":90,"updated":250,"updated_by":15},[],{"en":247,"th":247},"uju1wd3rfj7yq2n","introvert-career-programmer-suitability","2026-05-16 18:53:29.164Z",226,"3hcryvk4n7p18n0","2025-02-07 08:21:49.488Z","Discover why an introverted personality may align well with a career in programming in today's fast-paced technological world. Explore the advantages and challenges that introverts may encounter in this field.","2026-04-25 02:47:22.115Z",27,12,408,34]