[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-6-12-Web%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":501,"perPage":502,"totalItems":503,"totalPages":504},[5,68,100,153,190,233,273,309,341,381,421,468],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":65,"published_at":58,"school_blog":61,"short_description":66,"title":6,"updated":67,"slug":62,"views":64},"The History of PHP: From a Simple Resume Tool to Powering 70% of the Web","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fo7hs062vt49pkic\u002Fcover_image_for_the_history_of_php_from_a_simple_resume_tool_to_powering_70_of_the_web_x7joyixjaq.webp","2026-03-04 08:19:55.978Z",{"keywords":10,"locale":34,"school_blog":44},[11,19,24,29],{"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:19:51.822Z","76qprkevbgfdps8","53qj3tq2f8ryvz4","PHP History","2026-06-07 06:45:05.466Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:19:53.527Z","kxb5av8exza7ssd","Laravel","2026-06-07 06:45:05.748Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:19:53.961Z","2irxiuyeoskuui2","WordPress","2026-06-07 06:45:05.933Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:19:55.412Z","hz7yzm54i2o6cl7","web development","2026-06-07 06:45:06.116Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},"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":45,"collectionId":46,"collectionName":47,"created":48,"expand":49,"id":61,"slug":62,"updated":63,"views":64},"102u7miss0ec94h","pbc_2105096300","school_blogs","",{"category":50},{"blogIds":51,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":55,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:19:48.998Z",{"en":56,"th":56},"The Origin of Code",8,"2026-02-18 01:59:52.528Z","published","2026-06-07 06:45:02.012Z","mne53jn0lm6k2tx","evolution-of-php-from-personal-tool-to-web-giant","2026-06-27 20:24:35.443Z",211,"o7hs062vt49pkic","Discover the evolution of PHP—from Rasmus Lerdorf’s personal scripts to the most dominant server-side language in web history.","2026-06-07 06:42:42.945Z",{"alt":69,"cover_image_path":70,"created":71,"expand":72,"id":96,"published_at":90,"school_blog":92,"short_description":97,"title":98,"updated":99,"slug":93,"views":95},"History of PHP from a resume tracking script to a global web standard","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F674ffks78w25zf4\u002F2k36ktce3wm_xovvij6qyy.png","2026-05-25 05:41:16.526Z",{"keywords":73,"locale":81,"school_blog":82},[74,75,76],{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":77,"created_by":15,"id":78,"name":79,"updated":80,"updated_by":15},"2026-05-25 05:21:48.990Z","ri85qu1k1oz6573","PHP","2026-06-07 06:49:20.547Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":83,"collectionId":46,"collectionName":47,"created":48,"expand":84,"id":92,"slug":93,"updated":94,"views":95},"isnp2fv80bn3yem",{"category":85},{"blogIds":86,"collectionId":52,"collectionName":53,"created":87,"created_by":15,"id":83,"image":48,"image_alt":48,"image_path":48,"label":88,"name":89,"priority":57,"publish_at":90,"scheduled_at":48,"status":59,"updated":91,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":89,"th":89},"กว่าจะเป็นภาษาโค้ด","2026-02-18 01:59:49.988Z","2026-06-07 06:45:01.789Z","38enfgkirmgpypq","history-of-php-from-resume-tool-to-web-king","2026-07-07 18:33:39.267Z",289,"674ffks78w25zf4","A summary of the history of PHP, from its origin as Rasmus Lerdorf's personal tool to its development into the backend language powering over 70% of websites today.","History of PHP: From a Resume Tool to the Backend of 70% of Websites","2026-06-07 06:45:00.368Z",{"alt":101,"cover_image_path":102,"created":103,"expand":104,"id":149,"published_at":150,"school_blog":145,"short_description":151,"title":101,"updated":152,"slug":146,"views":148},"Golang The Series EP 135: CI\u002FCD for WebSocket Servers – Seamless Deployment Guide","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fuciara056gpthn7\u002Fcover_image_golang_the_series_ep_jygzx7lhwz.DeploymentGuide.webp","2026-03-04 08:44:19.424Z",{"keywords":105,"locale":131,"school_blog":132},[106,111,116,121,126],{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":112,"created_by":15,"id":113,"name":114,"updated":115,"updated_by":15},"2026-03-04 08:44:18.322Z","1n94l86nx7etuf9","CI\u002FCD","2026-06-07 06:46:30.916Z",{"collectionId":12,"collectionName":13,"created":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":122,"created_by":15,"id":123,"name":124,"updated":125,"updated_by":15},"2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-06-07 06:46:30.990Z",{"collectionId":12,"collectionName":13,"created":127,"created_by":15,"id":128,"name":129,"updated":130,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-06-07 06:46:31.098Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":134,"id":145,"slug":146,"updated":147,"views":148},"wqxt7ag2gn7xcmk",{"category":135},{"blogIds":136,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":140,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],"2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":141,"th":141},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","b5wbtaxm8jlj8ec","go-websocket-cicd-seamless-deployment-strategies","2026-06-12 19:11:12.501Z",213,"uciara056gpthn7","2026-02-17 01:37:55.380Z","Master CI\u002FCD for stateful systems. Learn how to deploy Go WebSocket servers seamlessly without dropping connections using GitHub Actions, Docker, and Graceful Shutdown patterns.","2026-06-07 06:43:16.014Z",{"alt":154,"cover_image_path":155,"created":156,"expand":157,"id":186,"published_at":187,"school_blog":182,"short_description":188,"title":154,"updated":189,"slug":183,"views":185},"Golang The Series EP 134: Load & Stress Testing WebSockets with k6","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fp74ksn1anmv7y5u\u002Fcover_image_golang_the_series_ep_bca1i4gx0z.ebSocketswithk6.webp","2026-03-04 08:44:20.088Z",{"keywords":158,"locale":176,"school_blog":177},[159,160,161,166,171],{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"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":162,"created_by":15,"id":163,"name":164,"updated":165,"updated_by":15},"2026-03-04 08:44:19.453Z","s7490uhe8oarthf","k6","2026-06-07 06:46:31.203Z",{"collectionId":12,"collectionName":13,"created":167,"created_by":15,"id":168,"name":169,"updated":170,"updated_by":15},"2026-03-04 08:44:19.737Z","wfofysa5fhg0v0p","Load Testing","2026-06-07 06:46:31.418Z",{"collectionId":12,"collectionName":13,"created":172,"created_by":15,"id":173,"name":174,"updated":175,"updated_by":15},"2026-03-04 08:34:00.521Z","44l3qn47xjhwgf8","Stress Testing","2026-06-07 06:45:55.545Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":178,"id":182,"slug":183,"updated":184,"views":185},{"category":179},{"blogIds":180,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":181,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],{"en":141,"th":141},"xpb7i33hs27leyi","go-websocket-k6-load-testing-performance-tuning","2026-06-23 18:43:02.257Z",221,"p74ksn1anmv7y5u","2026-02-16 03:44:07.097Z","Prepare your Go system for massive traffic. Learn to perform Load, Stress, and Soak testing on WebSockets using k6. Discover how to identify breaking points and optimize your OS for high concurrency.","2026-06-07 06:43:16.246Z",{"alt":191,"cover_image_path":192,"created":193,"expand":194,"id":229,"published_at":230,"school_blog":225,"short_description":231,"title":191,"updated":232,"slug":226,"views":228},"How Does the World Count Votes? A Deep Dive into Technology Across 5 Countries","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Furnx9hfo8veugf0\u002Fcover_image_for_how_does_the_world_count_votes_a_deep_dive_into_technology_across_5_countries_rs80lbaw4s.webp","2026-03-04 08:44:23.136Z",{"keywords":195,"locale":211,"school_blog":212},[196,201,206],{"collectionId":12,"collectionName":13,"created":197,"created_by":15,"id":198,"name":199,"updated":200,"updated_by":15},"2026-03-04 08:44:21.262Z","f2p94t41e9t8hnv","system design","2026-06-07 06:46:31.636Z",{"collectionId":12,"collectionName":13,"created":202,"created_by":15,"id":203,"name":204,"updated":205,"updated_by":15},"2026-03-04 08:44:21.938Z","8jhm7v8i0biyowu","Voting Systems","2026-06-07 06:46:31.957Z",{"collectionId":12,"collectionName":13,"created":207,"created_by":15,"id":208,"name":209,"updated":210,"updated_by":15},"2026-03-04 08:44:22.484Z","9vfaiiptzxcg3r7","Election Technology","2026-06-07 06:46:32.155Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":213,"collectionId":46,"collectionName":47,"created":48,"expand":214,"id":225,"slug":226,"updated":227,"views":228},"spm4l1k5bgmhmmt",{"category":215},{"blogIds":216,"collectionId":52,"collectionName":53,"created":217,"created_by":15,"id":213,"image":218,"image_alt":48,"image_path":219,"label":220,"name":221,"priority":222,"publish_at":223,"scheduled_at":48,"status":59,"updated":224,"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":221,"th":221},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","mkmngvmuzbfuk1v","how-world-counts-election-votes-5-countries-tech","2026-06-25 17:12:03.629Z",239,"urnx9hfo8veugf0","2026-02-12 03:05:09.868Z","A deep dive into global election \"Tech Stacks\" from a System Design perspective—covering India's embedded systems, Japan's smart paper innovation, and Brazil's fully digital voting.","2026-06-07 06:43:16.947Z",{"alt":234,"cover_image_path":235,"created":236,"expand":237,"id":269,"published_at":270,"school_blog":265,"short_description":271,"title":234,"updated":272,"slug":266,"views":268},"The History of Zig: Why This \"C Successor\" is the Highest-Paying Language in 2024","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ftbb2yrv8dkn76qr\u002Fcover_image_for_the_history_of_zig_why_this_c_successor_is_the_highest_paying_language_in_2024_z4ekz0xm00.webp","2026-03-04 08:20:07.546Z",{"keywords":238,"locale":259,"school_blog":260},[239,244,249,254],{"collectionId":12,"collectionName":13,"created":240,"created_by":15,"id":241,"name":242,"updated":243,"updated_by":15},"2026-03-04 08:19:55.804Z","id6q9sa0t0w5d7f","Comptime","2026-06-07 06:45:06.253Z",{"collectionId":12,"collectionName":13,"created":245,"created_by":15,"id":246,"name":247,"updated":248,"updated_by":15},"2026-03-04 08:20:00.525Z","xr4cqlf7t01mpeu","Andrew Kelley","2026-06-07 06:45:06.463Z",{"collectionId":12,"collectionName":13,"created":250,"created_by":15,"id":251,"name":252,"updated":253,"updated_by":15},"2026-03-04 08:20:02.423Z","ddne9brx32s7eiz","Zig","2026-06-07 06:45:06.715Z",{"collectionId":12,"collectionName":13,"created":255,"created_by":15,"id":256,"name":257,"updated":258,"updated_by":15},"2026-03-04 08:20:06.995Z","tvuhz92fg3q0owu","Zig Language","2026-06-07 06:45:07.255Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":261,"id":265,"slug":266,"updated":267,"views":268},{"category":262},{"blogIds":263,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":264,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],{"en":56,"th":56},"qdk7v4bw9zsa3n0","zig-programming-history-highest-paying-dev-language","2026-07-04 11:30:45.906Z",231,"tbb2yrv8dkn76qr","2026-02-11 03:13:51.772Z","Explore the rise of Zig, the language with a $103,000 median salary. Learn about Comptime, manual memory management, and why it's replacing C.","2026-06-07 06:42:43.304Z",{"alt":274,"cover_image_path":275,"created":276,"expand":277,"id":305,"published_at":306,"school_blog":301,"short_description":307,"title":274,"updated":308,"slug":302,"views":304},"Golang The Series EP 133: Mastering Real-time Analytics & Metrics Streaming in Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkwjpqyr2dhqfhlk\u002Fcover_image_golang_the_series_ep_saz490gblj.csStreaminginGo.webp","2026-03-04 08:44:24.101Z",{"keywords":278,"locale":295,"school_blog":296},[279,284,289,294],{"collectionId":12,"collectionName":13,"created":280,"created_by":15,"id":281,"name":282,"updated":283,"updated_by":15},"2026-03-04 08:44:23.104Z","cu70tpopmpfnpzw","Redis Streams","2026-06-07 06:46:32.266Z",{"collectionId":12,"collectionName":13,"created":285,"created_by":15,"id":286,"name":287,"updated":288,"updated_by":15},"2026-03-04 08:44:23.473Z","z6zahdl1nko078y","Data Streaming","2026-06-07 06:46:32.433Z",{"collectionId":12,"collectionName":13,"created":290,"created_by":15,"id":291,"name":292,"updated":293,"updated_by":15},"2026-03-04 08:44:23.847Z","hmdk2zsz6hmdbc9","Real-time Analytics","2026-06-07 06:46:32.547Z",{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":297,"id":301,"slug":302,"updated":303,"views":304},{"category":298},{"blogIds":299,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":300,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],{"en":141,"th":141},"9ojkgi3rwnzbfmr","go-real-time-analytics-streaming-pipeline-guide","2026-06-21 00:32:33.246Z",210,"kwjpqyr2dhqfhlk","2026-02-10 02:53:37.176Z","Move beyond batch processing. Master real-time data pipelines in Go. Explore Redis Streams, Kafka integration, and ClickHouse for high-throughput metrics streaming and instant insights.","2026-06-07 06:43:17.098Z",{"alt":310,"cover_image_path":311,"created":312,"expand":313,"id":337,"published_at":338,"school_blog":333,"short_description":339,"title":310,"updated":340,"slug":334,"views":336},"Golang The Series EP 132: Cloud Cost Optimization for WebSocket Systems","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8kuxz8jicft71hr\u002Fcover_image_for_golang_the_series_ep_132_cloud_cost_optimization_for_web_socket_systems_59j20ah1md.webp","2026-03-04 08:44:25.265Z",{"keywords":314,"locale":327,"school_blog":328},[315,316,321,322],{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},{"collectionId":12,"collectionName":13,"created":317,"created_by":15,"id":318,"name":319,"updated":320,"updated_by":15},"2026-03-04 08:44:24.642Z","06gn3kqvksxcr0t","Cloud Cost","2026-06-07 06:46:32.836Z",{"collectionId":12,"collectionName":13,"created":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:34:06.624Z","xjxx81inhjp5ujb","Optimization","2026-06-07 06:45:58.144Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":329,"id":333,"slug":334,"updated":335,"views":336},{"category":330},{"blogIds":331,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":332,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],{"en":141,"th":141},"g8eilxux49fb34v","go-websocket-cloud-cost-saving-tips","2026-06-30 18:50:11.003Z",218,"8kuxz8jicft71hr","2026-02-09 03:15:24.528Z","Reduce cloud costs for real-time systems by optimizing Go memory and Load Balancer strategies.","2026-06-07 06:43:17.397Z",{"alt":342,"cover_image_path":343,"created":344,"expand":345,"id":377,"published_at":378,"school_blog":373,"short_description":379,"title":342,"updated":380,"slug":374,"views":376},"What is Moltbot (OpenClaw)? The \"AI with Hands\" that Controls Your PC – Safe Setup Guide","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fr0ajne3l8sh27gf\u002Fwhat_is_moltbot_open_claw_the_ai_with_hands_that_controls_your_pc_safe_setup_guide_1lz5i0ro1i.webp","2026-03-04 08:44:26.749Z",{"keywords":346,"locale":367,"school_blog":368},[347,352,357,362],{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},"2026-03-04 08:44:25.444Z","hch5kaf6x7w65fg","Moltbot","2026-06-07 06:46:33.021Z",{"collectionId":12,"collectionName":13,"created":353,"created_by":15,"id":354,"name":355,"updated":356,"updated_by":15},"2026-03-04 08:44:25.753Z","2l1col7j1n710ei","OpenClaw","2026-06-07 06:46:33.156Z",{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},"2026-03-04 08:44:26.139Z","dlm8aajwkiz9tae","AI Agent","2026-06-07 06:46:33.227Z",{"collectionId":12,"collectionName":13,"created":363,"created_by":15,"id":364,"name":365,"updated":366,"updated_by":15},"2026-03-04 08:44:26.344Z","5bktitrbqnts1fy","Clawdbot","2026-06-07 06:46:33.457Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":213,"collectionId":46,"collectionName":47,"created":48,"expand":369,"id":373,"slug":374,"updated":375,"views":376},{"category":370},{"blogIds":371,"collectionId":52,"collectionName":53,"created":217,"created_by":15,"id":213,"image":218,"image_alt":48,"image_path":219,"label":372,"name":221,"priority":222,"publish_at":223,"scheduled_at":48,"status":59,"updated":224,"updated_by":15},[],{"en":221,"th":221},"4q4z3nrr4zlk08r","moltbot-openclaw-ai-agent-guide","2026-06-22 17:41:07.423Z",212,"r0ajne3l8sh27gf","2026-02-05 03:54:12.144Z","Discover Moltbot (formerly Clawdbot\u002FOpenClaw), the personal AI OS that remembers everything and executes tasks via Telegram & Zapier. Learn the safest setup method using UTM virtualization or 24\u002F7 hosting options like Serverion.","2026-06-07 06:43:17.713Z",{"alt":382,"cover_image_path":383,"created":384,"expand":385,"id":417,"published_at":418,"school_blog":413,"short_description":419,"title":382,"updated":420,"slug":414,"views":416},"The Origin of Rust: How a Stuck Elevator Created the World's Safest Language","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F0gwv3qcmfne54jo\u002Fcover_image_for_the_origin_of_rust_how_a_stuck_elevator_created_the_world_s_safest_language_56ollexp8j.webp","2026-03-04 08:44:28.621Z",{"keywords":386,"locale":407,"school_blog":408},[387,392,397,402],{"collectionId":12,"collectionName":13,"created":388,"created_by":15,"id":389,"name":390,"updated":391,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-06-07 06:45:07.039Z",{"collectionId":12,"collectionName":13,"created":393,"created_by":15,"id":394,"name":395,"updated":396,"updated_by":15},"2026-03-04 08:20:08.348Z","ux2m77tsy8v19bg","Rust Programming","2026-06-07 06:45:07.353Z",{"collectionId":12,"collectionName":13,"created":398,"created_by":15,"id":399,"name":400,"updated":401,"updated_by":15},"2026-03-04 08:20:13.847Z","wqqb4is6ir6hsig","Rust Language","2026-06-07 06:45:08.049Z",{"collectionId":12,"collectionName":13,"created":403,"created_by":15,"id":404,"name":405,"updated":406,"updated_by":15},"2026-03-04 08:20:06.615Z","ugbeyp380i0crdq","Graydon Hoare","2026-06-07 06:45:07.178Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":409,"id":413,"slug":414,"updated":415,"views":416},{"category":410},{"blogIds":411,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":412,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],{"en":56,"th":56},"jauj2jxcpbbc9sf","evolution-of-rust-programming-language-memory-safety","2026-06-22 17:52:21.967Z",214,"0gwv3qcmfne54jo","2026-02-04 02:08:47.407Z","Discover how Graydon Hoare’s frustration with a broken elevator led to the creation of Rust—the language now powering Google and the Linux Kernel.","2026-06-07 06:43:18.035Z",{"alt":422,"cover_image_path":423,"created":424,"expand":425,"id":464,"published_at":465,"school_blog":460,"short_description":466,"title":422,"updated":467,"slug":461,"views":463},"Golang The Series EP 130: Scalable Multi-instance WebSockets with Redis Pub\u002FSub","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F27zak7mnqzrbrjy\u002Fcover_image_golang_the_series_ep_zhd1a1ccfs.withRedisPubSub.webp","2026-03-04 08:44:33.623Z",{"keywords":426,"locale":454,"school_blog":455},[427,428,433,434,439,444,449],{"collectionId":12,"collectionName":13,"created":117,"created_by":15,"id":118,"name":119,"updated":120,"updated_by":15},{"collectionId":12,"collectionName":13,"created":429,"created_by":15,"id":430,"name":431,"updated":432,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"updated_by":15},{"collectionId":12,"collectionName":13,"created":435,"created_by":15,"id":436,"name":437,"updated":438,"updated_by":15},"2026-03-04 08:44:31.678Z","bd6jtks2o3q53bx","Redis","2026-06-07 06:46:34.595Z",{"collectionId":12,"collectionName":13,"created":440,"created_by":15,"id":441,"name":442,"updated":443,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-06-07 06:45:59.786Z",{"collectionId":12,"collectionName":13,"created":445,"created_by":15,"id":446,"name":447,"updated":448,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-06-07 06:46:34.757Z",{"collectionId":12,"collectionName":13,"created":450,"created_by":15,"id":451,"name":452,"updated":453,"updated_by":15},"2026-03-04 08:44:32.396Z","n8p7muy44udt3cd","Multi-instance","2026-06-07 06:46:34.864Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":456,"id":460,"slug":461,"updated":462,"views":463},{"category":457},{"blogIds":458,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":459,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],{"en":141,"th":141},"3k1s5nxmjx2glcb","scalable-go-websocket-redis-pubsub-guide","2026-06-18 08:57:27.919Z",228,"27zak7mnqzrbrjy","2026-01-28 00:54:46.499Z","Master horizontal scaling for WebSockets in Go. Learn how to use Redis Pub\u002FSub to synchronize real-time messages across distributed server instances seamlessly.","2026-06-07 06:43:19.263Z",{"alt":469,"cover_image_path":470,"created":471,"expand":472,"id":497,"published_at":498,"school_blog":493,"short_description":499,"title":469,"updated":500,"slug":494,"views":496},"Golang The Series EP 131: Integrating WebSockets into Microservices","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fn0h07fuqylxzrzj\u002Fcover_image_golang_the_series_ep_qk095ms7qe.toMicroservices.webp","2026-03-04 08:44:30.792Z",{"keywords":473,"locale":487,"school_blog":488},[474,475,476,477,482],{"collectionId":12,"collectionName":13,"created":429,"created_by":15,"id":430,"name":431,"updated":432,"updated_by":15},{"collectionId":12,"collectionName":13,"created":107,"created_by":15,"id":108,"name":109,"updated":110,"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":478,"created_by":15,"id":479,"name":480,"updated":481,"updated_by":15},"2026-03-04 08:44:29.876Z","ozn15duk6wovj6g","Microservices","2026-06-07 06:46:34.292Z",{"collectionId":12,"collectionName":13,"created":483,"created_by":15,"id":484,"name":485,"updated":486,"updated_by":15},"2026-03-04 08:44:30.561Z","mh6or11b3q7afdh","Microservices Architecture","2026-06-07 06:46:34.508Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":133,"collectionId":46,"collectionName":47,"created":48,"expand":489,"id":493,"slug":494,"updated":495,"views":496},{"category":490},{"blogIds":491,"collectionId":52,"collectionName":53,"created":137,"created_by":15,"id":133,"image":138,"image_alt":48,"image_path":139,"label":492,"name":141,"priority":142,"publish_at":143,"scheduled_at":48,"status":59,"updated":144,"updated_by":15},[],{"en":141,"th":141},"5g4wzz527cjya2i","go-websocket-microservices-auth-grpc","2026-06-16 17:54:19.634Z",216,"n0h07fuqylxzrzj","2026-01-28 00:54:38.971Z","Designing scalable WebSockets in Microservices with Ticket-based Auth and gRPC.","2026-06-07 06:43:18.428Z",6,12,441,37]