[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-5-12-superdev%252525252525252525252525252525252525252520academy-all-all-createdAt:desc-default":3},{"data":4,"page":499,"perPage":500,"totalItems":501,"totalPages":502},[5,75,123,163,199,235,280,316,355,398,430,463],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":71,"published_at":72,"school_blog":67,"short_description":73,"title":6,"updated":74,"slug":68,"views":70},"Golang The Series EP 126: Implementing DDoS Protection and Rate Limiting for High Availability","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ffu83funt0rtxukh\u002Fcover_image_for_golang_the_series_ep_hsbdtof5sd.ighAvailability.webp","2026-03-04 08:44:38.917Z",{"keywords":10,"locale":39,"school_blog":49},[11,19,24,29,34],{"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:44:38.026Z","","m3dqo2zalnfaoof","Token Bucket","2026-04-10 16:12:47.845Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:44:38.426Z","cwmp6ppr4svplqr","DDoS Protection","2026-04-10 16:12:47.992Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:34:07.915Z","921nl48h9in67sw","Rate Limiting","2026-04-10 16:08:07.808Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},"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":50,"collectionId":51,"collectionName":52,"created":15,"expand":53,"id":67,"slug":68,"updated":69,"views":70},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs",{"category":54},{"blogIds":55,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":61,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"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":62,"th":62},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-04-25 02:32:15.470Z","htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-05-16 17:12:44.975Z",255,"fu83funt0rtxukh","2026-01-19 03:55:06.978Z","Deep dive into protecting your Go applications from traffic spikes and DDoS attacks. Learn how to implement Rate Limiting using the Token Bucket algorithm, build IP-based middleware.","2026-05-08 06:51:54.551Z",{"alt":76,"cover_image_path":77,"created":78,"expand":79,"id":119,"published_at":120,"school_blog":115,"short_description":121,"title":76,"updated":122,"slug":116,"views":118},"GitHub Workflow 2026: Modern Branching Standards for Global Dev Teams","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ffmlu38jgmun89jj\u002Fcover_image_git_hub_workflow_2026_modern_branching_standards_for_global_dev_team_c5omdohj0k.webp","2026-03-04 08:44:40.532Z",{"keywords":80,"locale":101,"school_blog":102},[81,86,91,96],{"collectionId":12,"collectionName":13,"created":82,"created_by":15,"id":83,"name":84,"updated":85,"updated_by":15},"2026-03-04 08:44:39.239Z","mtrmsyrbt0ixc2v","Git for Teams","2026-04-10 16:12:48.129Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:44:39.524Z","19dc206n489ovbd","Branch Management","2026-04-10 16:12:48.262Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-04-10 16:12:47.387Z",{"collectionId":12,"collectionName":13,"created":97,"created_by":15,"id":98,"name":99,"updated":100,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-04-10 16:12:47.105Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":104,"id":115,"slug":116,"updated":117,"views":118},"spm4l1k5bgmhmmt",{"category":105},{"blogIds":106,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":110,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"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":111,"th":111},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","nxw0undq0uvt72v","github-workflow-2026-team-collaboration-guide","2026-05-20 13:22:48.229Z",253,"fmlu38jgmun89jj","2026-01-15 05:36:24.206Z","Master the 2026 GitHub Workflow standards. Explore professional branching strategies, AI-assisted code reviews, 4-tier environment pipelines, and Squash & Merge techniques to enhance your team's productivity.","2026-05-08 06:51:55.026Z",{"alt":124,"cover_image_path":125,"created":126,"expand":127,"id":159,"published_at":160,"school_blog":156,"short_description":161,"title":124,"updated":162,"slug":157,"views":158},"The Origin of Python: From a Christmas Hobby to the #1 Language for AI","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk6z3nbjpxogqboe\u002Fcover_image_the_origin_of_python_from_a_christmas_hobby_to_the_1_language_for_ai_1xol821kvl.webp","2026-03-04 08:20:36.200Z",{"keywords":128,"locale":144,"school_blog":145},[129,134,139],{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-04-10 16:07:26.827Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:20:33.316Z","ln1ntwattzmxo0o","programming","2026-04-10 16:07:27.299Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:20:35.664Z","tr3srljyjeultxy","Python History","2026-04-10 16:07:27.459Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":146,"collectionId":51,"collectionName":52,"created":15,"expand":147,"id":156,"slug":157,"updated":15,"views":158},"102u7miss0ec94h",{"category":148},{"blogIds":149,"collectionId":56,"collectionName":57,"created":150,"created_by":15,"id":146,"image":15,"image_alt":15,"image_path":15,"label":151,"name":152,"priority":153,"publish_at":154,"scheduled_at":15,"status":65,"updated":155,"updated_by":15},[],"2026-03-04 08:19:48.998Z",{"en":152,"th":152},"The Origin of Code",8,"2026-02-18 01:59:52.528Z","2026-04-25 02:32:14.183Z","3p5i0l4uj6jx69k","evolution-of-python-hobby-to-ai-powerhouse",204,"k6z3nbjpxogqboe","2026-01-14 05:00:33.957Z","Discover how a holiday hobby project by Guido van Rossum became the world's leading language for AI, Data Science, and NASA.","2026-05-11 21:45:18.762Z",{"alt":164,"cover_image_path":165,"created":166,"expand":167,"id":195,"published_at":196,"school_blog":191,"short_description":197,"title":164,"updated":198,"slug":192,"views":194},"EP.125 TLS \u002F WSS and Certificate Management for WebSocket (Production & Enterprise Guide)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9sdqrl1k8ipvypn\u002Fcover_image_ep_92jge6fnte.entforWebSocket.webp","2026-03-04 08:44:41.968Z",{"keywords":168,"locale":185,"school_blog":186},[169,170,175,180],{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":176,"created_by":15,"id":177,"name":178,"updated":179,"updated_by":15},"2026-03-04 08:44:41.420Z","xjki2vhsm3f0jb4","WSS WebSocket","2026-04-10 16:12:48.600Z",{"collectionId":12,"collectionName":13,"created":181,"created_by":15,"id":182,"name":183,"updated":184,"updated_by":15},"2026-03-04 08:44:41.631Z","sipxojme8z97ei7","WebSocket TLS","2026-04-10 16:12:48.685Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":15,"expand":187,"id":191,"slug":192,"updated":193,"views":194},{"category":188},{"blogIds":189,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":190,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"igzaha7bksnu7v1","ep-125-tls-wss-and-certificate-management-for-websocket","2026-05-18 13:48:02.376Z",209,"9sdqrl1k8ipvypn","2026-01-12 03:50:25.292Z","An in-depth guide to securing WebSocket connections with TLS and WSS. Learn HTTPS vs WSS, TLS handshake flow, certificate management, Let’s Encrypt integration, and zero-downtime certificate renewal for production and enterprise-grade systems.","2026-05-08 06:51:55.535Z",{"alt":200,"cover_image_path":201,"created":202,"expand":203,"id":231,"published_at":232,"school_blog":228,"short_description":233,"title":200,"updated":234,"slug":229,"views":230},"EP.124 Advanced Security & Authentication for WebSocket (JWT, Token Strategy & Secure Handshake)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk7qdpibak9otau6\u002Fcover_image_ep_2a3e4no299.ionforWebSocket.webp","2026-03-04 08:44:42.720Z",{"keywords":204,"locale":222,"school_blog":223},[205,210,211,212,217],{"collectionId":12,"collectionName":13,"created":206,"created_by":15,"id":207,"name":208,"updated":209,"updated_by":15},"2026-03-04 08:44:42.096Z","kr1dmn7sxgv9vxg","JWT WebSocket","2026-04-10 16:12:48.849Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-04-10 16:12:48.917Z",{"collectionId":12,"collectionName":13,"created":218,"created_by":15,"id":219,"name":220,"updated":221,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-04-10 16:12:41.774Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":15,"expand":224,"id":228,"slug":229,"updated":15,"views":230},{"category":225},{"blogIds":226,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":227,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"hsw1xbcvic3ba41","advanced-websocket-security-authentication-jwt-secure-handshake",226,"k7qdpibak9otau6","2026-01-12 03:40:09.510Z","A deep dive into production-ready and enterprise-grade WebSocket security. Learn how to implement proper authentication, JWT token strategies, prevent WebSocket hijacking, and design a secure handshake for real-world, high-traffic systems.","2026-05-08 06:51:55.808Z",{"alt":236,"cover_image_path":237,"created":238,"expand":239,"id":276,"published_at":277,"school_blog":272,"short_description":278,"title":236,"updated":279,"slug":273,"views":275},"The Origin of JavaScript: Created in 10 Days, Rules the World","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk5ktr6fo351rni0\u002Fbrendan_eich_the_creator_of_java_script_at_netscape_featuring_the_js_logo_and_code_snippets_8tm80mpmin.webp","2026-03-04 08:20:43.066Z",{"keywords":240,"locale":261,"school_blog":262},[241,246,251,256],{"collectionId":12,"collectionName":13,"created":242,"created_by":15,"id":243,"name":244,"updated":245,"updated_by":15},"2026-03-04 08:20:36.060Z","xcq4mt3coqo1odt","V8 Engine","2026-04-10 16:07:27.526Z",{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},"2026-03-04 08:20:38.187Z","b4o3toqgoc84295","Brendan Eich","2026-04-10 16:07:27.995Z",{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},"2026-03-04 08:20:41.018Z","xzz8g6s99hkw93f","JavaScript History","2026-04-10 16:07:28.276Z",{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":263,"collectionId":51,"collectionName":52,"created":15,"expand":264,"id":272,"slug":273,"updated":274,"views":275},"isnp2fv80bn3yem",{"category":265},{"blogIds":266,"collectionId":56,"collectionName":57,"created":267,"created_by":15,"id":263,"image":15,"image_alt":15,"image_path":15,"label":268,"name":269,"priority":153,"publish_at":270,"scheduled_at":15,"status":65,"updated":271,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":269,"th":269},"กว่าจะเป็นภาษาโค้ด","2026-02-18 01:59:49.988Z","2026-04-25 02:32:14.031Z","n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-05-15 21:00:26.315Z",240,"k5ktr6fo351rni0","2026-01-08 05:35:48.725Z","Explore the history of JavaScript. From its 10-day creation at Netscape to winning the browser wars and becoming the king of web development.","2026-05-11 21:45:19.000Z",{"alt":281,"cover_image_path":282,"created":283,"expand":284,"id":312,"published_at":313,"school_blog":308,"short_description":314,"title":281,"updated":315,"slug":309,"views":311},"Git for Team: The Professional Workflow Guide to Collaborative Coding","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5jblmfazpjbqx96\u002Finfographic_showing_team_collaboration_using_git_and_git_hub_illustrating_branching_merging_and_pull_xj4jg51gl0.webp","2026-03-04 08:44:44.506Z",{"keywords":285,"locale":302,"school_blog":303},[286,291,292,297],{"collectionId":12,"collectionName":13,"created":287,"created_by":15,"id":288,"name":289,"updated":290,"updated_by":15},"2026-03-04 08:44:43.803Z","tsn8jg792h1wac5","Code Review","2026-04-10 16:12:49.012Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},{"collectionId":12,"collectionName":13,"created":293,"created_by":15,"id":294,"name":295,"updated":296,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"collectionId":12,"collectionName":13,"created":298,"created_by":15,"id":299,"name":300,"updated":301,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-04-10 16:12:47.226Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":304,"id":308,"slug":309,"updated":310,"views":311},{"category":305},{"blogIds":306,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":307,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"p8mussz4d3imv1c","git-for-team-professional-workflow-guide","2026-05-22 21:21:51.091Z",434,"5jblmfazpjbqx96","2026-01-07 04:24:37.284Z","Master professional Git workflows for team collaboration. Learn how to manage branches, conduct Code Reviews, and use Pull Requests effectively to ensure a stable and scalable codebase.","2026-05-08 06:51:56.702Z",{"alt":317,"cover_image_path":318,"created":319,"expand":320,"id":351,"published_at":352,"school_blog":348,"short_description":353,"title":317,"updated":354,"slug":349,"views":194},"The Origin of C: The Foundation of Modern Programming","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F204ju6yjjphhocj\u002Fcover_image_blog_the_origin_of_c_the_foundation_of_modern_programming_ucgo56tgfo.webp","2026-03-04 08:20:49.329Z",{"keywords":321,"locale":342,"school_blog":343},[322,327,332,337],{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:20:46.902Z","p2fa536x3fkbftv","C Language","2026-04-10 16:07:28.789Z",{"collectionId":12,"collectionName":13,"created":328,"created_by":15,"id":329,"name":330,"updated":331,"updated_by":15},"2026-03-04 08:20:42.894Z","q8fw2bf4sm83pak","Bell Labs","2026-04-10 16:07:28.504Z",{"collectionId":12,"collectionName":13,"created":333,"created_by":15,"id":334,"name":335,"updated":336,"updated_by":15},"2026-03-04 08:20:45.500Z","9f8c26oyzxwvs13","Dennis Ritchie","2026-04-10 16:07:28.644Z",{"collectionId":12,"collectionName":13,"created":338,"created_by":15,"id":339,"name":340,"updated":341,"updated_by":15},"2026-03-04 08:20:48.783Z","zs2uskcp8hs1e8k","C Programming History","2026-04-10 16:07:29.017Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":146,"collectionId":51,"collectionName":52,"created":15,"expand":344,"id":348,"slug":349,"updated":350,"views":194},{"category":345},{"blogIds":346,"collectionId":56,"collectionName":57,"created":150,"created_by":15,"id":146,"image":15,"image_alt":15,"image_path":15,"label":347,"name":152,"priority":153,"publish_at":154,"scheduled_at":15,"status":65,"updated":155,"updated_by":15},[],{"en":152,"th":152},"pua7xa2ecuhvbcu","origin-of-c-programming-language","2026-05-06 13:31:29.261Z","204ju6yjjphhocj","2026-01-01 04:09:24.532Z","Explore the deep history of the C language. From its birth at Bell Labs to becoming the bedrock of modern operating systems and programming languages. Learn the genius behind Dennis Ritchie's creation.","2026-05-11 21:45:19.256Z",{"alt":356,"cover_image_path":357,"created":358,"expand":359,"id":394,"published_at":395,"school_blog":391,"short_description":396,"title":356,"updated":397,"slug":392,"views":194},"JS2GO EP.50 Deploying Applications: Go vs Node.js for Production Systems","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2720p0diuraw0wo\u002Fcover_image_ep_50_deploying_applications_go_vs_node_fecycri5ek.oductionSystems.webp","2026-03-04 08:44:47.848Z",{"keywords":360,"locale":377,"school_blog":378},[361,366,367,372],{"collectionId":12,"collectionName":13,"created":362,"created_by":15,"id":363,"name":364,"updated":365,"updated_by":15},"2026-03-04 08:44:47.024Z","p4tvi007knx0nib","Deploy Application","2026-04-10 16:12:49.798Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":368,"created_by":15,"id":369,"name":370,"updated":371,"updated_by":15},"2026-03-04 08:24:40.405Z","05u3tysava2z6ga","Node.js","2026-04-10 16:07:29.504Z",{"collectionId":12,"collectionName":13,"created":373,"created_by":15,"id":374,"name":375,"updated":376,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-04-10 16:12:49.890Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":379,"collectionId":51,"collectionName":52,"created":15,"expand":380,"id":391,"slug":392,"updated":393,"views":194},"hsa1afr8fcnd6qb",{"category":381},{"blogIds":382,"collectionId":56,"collectionName":57,"created":383,"created_by":15,"id":379,"image":384,"image_alt":15,"image_path":385,"label":386,"name":387,"priority":388,"publish_at":389,"scheduled_at":15,"status":65,"updated":390,"updated_by":15},[],"2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":387,"th":387},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-04-25 02:32:14.339Z","v7nigitalddgztd","deploying-applications-go-vs-nodejs-production","2026-05-14 13:42:37.298Z","2720p0diuraw0wo","2025-12-30 10:59:37.237Z","An end-to-end production deployment guide comparing Go and Node.js, covering build strategies, Docker multi-stage builds, secrets management, CI\u002FCD pipelines, and zero-downtime deployment based on real-world usage.","2026-05-08 06:51:57.845Z",{"alt":399,"cover_image_path":400,"created":401,"expand":402,"id":426,"published_at":427,"school_blog":422,"short_description":428,"title":399,"updated":429,"slug":423,"views":425},"Git for Beginners: Visual Guide to Add, Commit, and Push (No Memorizing Needed)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fznbpmjusku9bqjn\u002Finfographic_showing_git_workflow_93apmqhvpj.webp","2026-03-04 08:44:46.224Z",{"keywords":403,"locale":416,"school_blog":417},[404,405,406,411],{"collectionId":12,"collectionName":13,"created":293,"created_by":15,"id":294,"name":295,"updated":296,"updated_by":15},{"collectionId":12,"collectionName":13,"created":298,"created_by":15,"id":299,"name":300,"updated":301,"updated_by":15},{"collectionId":12,"collectionName":13,"created":407,"created_by":15,"id":408,"name":409,"updated":410,"updated_by":15},"2026-03-04 08:44:44.589Z","0rhtp9q4g9epxjv","Git tutorial","2026-04-10 16:12:49.241Z",{"collectionId":12,"collectionName":13,"created":412,"created_by":15,"id":413,"name":414,"updated":415,"updated_by":15},"2026-03-04 08:44:44.958Z","hl4mu6quhfjhdlw","Git for beginners","2026-04-10 16:12:49.337Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":418,"id":422,"slug":423,"updated":424,"views":425},{"category":419},{"blogIds":420,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":421,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"g4okogcok21khr0","git-beginner-add-commit-push-visual","2026-05-22 01:13:43.639Z",212,"znbpmjusku9bqjn","2025-12-30 10:31:34.048Z","Stop naming files \"Project_Final\"! Master Git basics through a visual mental model. Learn how Add, Commit, and Push work in the professional software development workflow.","2026-05-08 06:51:57.192Z",{"alt":431,"cover_image_path":432,"created":433,"expand":434,"id":459,"published_at":460,"school_blog":455,"short_description":461,"title":431,"updated":462,"slug":456,"views":458},"EP.123 Load Balancing & Sticky Sessions for WebSocket (Production-Ready Guide)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fek7zzajyalhrlh3\u002Fcover_image_ep_2pqo0kl48b.tion-ReadyGuide.webp","2026-03-04 08:44:49.230Z",{"keywords":435,"locale":449,"school_blog":450},[436,437,438,443,448],{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":439,"created_by":15,"id":440,"name":441,"updated":442,"updated_by":15},"2026-03-04 08:44:47.893Z","1r53azecnj44o3t","Real-time","2026-04-10 16:12:50.006Z",{"collectionId":12,"collectionName":13,"created":444,"created_by":15,"id":445,"name":446,"updated":447,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-04-10 16:08:08.875Z",{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":15,"expand":451,"id":455,"slug":456,"updated":457,"views":458},{"category":452},{"blogIds":453,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":454,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-05-22 09:24:27.776Z",264,"ek7zzajyalhrlh3","2025-12-30 09:45:58.631Z","A practical guide to designing WebSocket load balancing with sticky sessions, covering real-world scaling strategies on Kubernetes to prevent dropped connections and ensure production-grade reliability.","2026-05-08 06:51:57.974Z",{"alt":464,"cover_image_path":465,"created":466,"expand":467,"id":495,"published_at":496,"school_blog":492,"short_description":497,"title":464,"updated":498,"slug":493,"views":494},"EP.122 Horizontal & Geo‑distributed Scaling Strategies for WebSocket","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Frbp4h275asugxet\u002Fcover_image_ep_xg7ebflqf4.iesforWebSocket.webp","2026-03-04 08:44:50.633Z",{"keywords":468,"locale":486,"school_blog":487},[469,470,475,480,485],{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":471,"created_by":15,"id":472,"name":473,"updated":474,"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":476,"created_by":15,"id":477,"name":478,"updated":479,"updated_by":15},"2026-03-04 08:44:49.944Z","5sx3ab5gv2n24mh","Geo Distributed Architecture","2026-04-10 16:12:50.651Z",{"collectionId":12,"collectionName":13,"created":481,"created_by":15,"id":482,"name":483,"updated":484,"updated_by":15},"2026-03-04 08:44:50.258Z","nrtw5001po78dez","WebSocket Scaling","2026-04-10 16:12:50.756Z",{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":15,"expand":488,"id":492,"slug":493,"updated":15,"views":494},{"category":489},{"blogIds":490,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":491,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"xrv5n3fjd3aocjj","ep122-horizontal-geo-distributed-websocket-scaling",202,"rbp4h275asugxet","2025-12-30 09:45:49.195Z","Learn how to design a geo‑distributed WebSocket system that reduces global latency and supports cross‑region real‑time communication.","2026-05-08 06:51:58.683Z",5,12,410,35]