[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-3-12-Future%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Skills-all-all-createdAt:desc-default":3},{"data":4,"page":570,"perPage":571,"totalItems":572,"totalPages":573},[5,81,124,181,240,304,341,383,416,458,505,544],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":76,"published_at":77,"school_blog":72,"short_description":78,"title":79,"updated":80,"slug":73,"views":75},"Cover image for Rust programming tutorial on installing Rustup and setting up VS Code and RustRover by Superdev Academy","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fzhz9rrnn0mjmtav\u002F4xvjqch85u2_c3doph7yjr.png","2026-03-23 03:27:16.550Z",{"keywords":10,"locale":44,"school_blog":54},[11,19,24,29,34,39],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-23 03:26:35.686Z","","lxf3i0dmdedlx7f","Install Rust","2026-04-10 16:14:45.075Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-23 03:26:43.307Z","pf009wnev852vvt","Rust tutorial","2026-04-10 16:14:45.235Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-23 03:26:51.317Z","vnqjzw7zge6vw5a","Rustup guide","2026-04-10 16:14:45.373Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-23 03:26:58.067Z","v8uuhglvmd7n0py","VS Code Rust setup","2026-04-10 16:14:45.442Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-04-10 16:07:25.292Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-04-10 16:12:41.207Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},"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":55,"collectionId":56,"collectionName":57,"created":15,"expand":58,"id":72,"slug":73,"updated":74,"views":75},"mfqe235iv6x1or8","pbc_2105096300","school_blogs",{"category":59},{"blogIds":60,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":66,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-16 04:40:07.104Z","47vt5s1gglj_tz0b90vnge.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fmfqe235iv6x1or8\u002F47vt5s1gglj_tz0b90vnge.png",{"en":67,"th":67},"Rust The Series",2,"2026-03-16 04:40:09.199Z","published","2026-04-25 02:32:15.619Z","13h228aiodane7p","install-rustup-vscode-rustrover-setup","2026-05-27 23:44:55.948Z",144,"zhz9rrnn0mjmtav","2026-03-23 03:31:52.156Z","Start your Rust programming journey! A complete beginner's guide to installing Rustup and configuring VS Code or RustRover for the best development experience.","How to Install Rustup & Setup IDE (VS Code & RustRover) | Rust The Series EP.2","2026-05-12 18:52:47.081Z",{"alt":82,"cover_image_path":83,"created":84,"expand":85,"id":119,"published_at":120,"school_blog":115,"short_description":121,"title":122,"updated":123,"slug":116,"views":118},"Rust programming language logo and Rust The Series featured image by Superdev Academy","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fra8my54ngib50ra\u002F2zjiecmhony_i5ddukfc7q.png","2026-03-16 05:19:27.487Z",{"keywords":86,"locale":109,"school_blog":110},[87,92,93,98,103,108],{"collectionId":12,"collectionName":13,"created":88,"created_by":15,"id":89,"name":90,"updated":91,"updated_by":15},"2026-03-04 08:20:08.348Z","ux2m77tsy8v19bg","Rust Programming","2026-04-10 16:07:25.602Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":94,"created_by":15,"id":95,"name":96,"updated":97,"updated_by":15},"2026-03-16 05:18:56.520Z","imb6broxcylj4d0","Why Rust","2026-04-10 16:14:42.312Z",{"collectionId":12,"collectionName":13,"created":99,"created_by":15,"id":100,"name":101,"updated":102,"updated_by":15},"2026-03-04 08:34:53.925Z","49lu29jndnk3lah","memory safety","2026-04-10 16:12:32.534Z",{"collectionId":12,"collectionName":13,"created":104,"created_by":15,"id":105,"name":106,"updated":107,"updated_by":15},"2026-03-16 05:19:11.843Z","62q2nsrftel85x3","Ownership and Borrowing","2026-04-10 16:14:42.379Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":111,"id":115,"slug":116,"updated":117,"views":118},{"category":112},{"blogIds":113,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":114,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"qopjdv8pbq5vd5r","why-rust-programming-language-ep1","2026-05-25 07:44:06.197Z",218,"ra8my54ngib50ra","2026-03-23 03:07:44.530Z","Why is Rust the most loved language for 10 years? Learn about its origin from a broken elevator and the 3 pillars: Speed, Safety, and Fearless Concurrency.","Why Rust? Meet the World's Most Loved Programming Language | Rust The Series EP.1","2026-05-08 06:52:16.186Z",{"alt":125,"cover_image_path":126,"created":127,"expand":128,"id":176,"published_at":177,"school_blog":172,"short_description":178,"title":179,"updated":180,"slug":173,"views":175},"The bright red Ruby programming language logo with a creative and happy developer workspace background.","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ferby2ett3ey5sod\u002F2q5mgphj7g2_48s1iwjgkx.png","2026-03-16 05:54:04.252Z",{"keywords":129,"locale":160,"school_blog":161},[130,135,140,145,150,155],{"collectionId":12,"collectionName":13,"created":131,"created_by":15,"id":132,"name":133,"updated":134,"updated_by":15},"2026-03-16 05:53:14.820Z","j85uu14nwfncx1a","Ruby History","2026-04-10 16:14:42.926Z",{"collectionId":12,"collectionName":13,"created":136,"created_by":15,"id":137,"name":138,"updated":139,"updated_by":15},"2026-03-04 08:34:47.544Z","3ky9n7b9hsgjf35","Ruby","2026-04-10 16:08:22.609Z",{"collectionId":12,"collectionName":13,"created":141,"created_by":15,"id":142,"name":143,"updated":144,"updated_by":15},"2026-03-16 05:53:24.913Z","3agesqkm8jsfhwm","What is Ruby","2026-04-10 16:14:43.069Z",{"collectionId":12,"collectionName":13,"created":146,"created_by":15,"id":147,"name":148,"updated":149,"updated_by":15},"2026-03-16 05:49:10.525Z","s0pqrcq7u7b17fv","Yukihiro Matsumoto","2026-04-10 16:14:42.645Z",{"collectionId":12,"collectionName":13,"created":151,"created_by":15,"id":152,"name":153,"updated":154,"updated_by":15},"2026-03-16 05:49:18.125Z","0runldorrswj5ds","MINASWAN","2026-04-10 16:14:42.787Z",{"collectionId":12,"collectionName":13,"created":156,"created_by":15,"id":157,"name":158,"updated":159,"updated_by":15},"2026-03-04 08:19:55.412Z","hz7yzm54i2o6cl7","web development","2026-04-10 16:07:24.402Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":162,"collectionId":56,"collectionName":57,"created":15,"expand":163,"id":172,"slug":173,"updated":174,"views":175},"isnp2fv80bn3yem",{"category":164},{"blogIds":165,"collectionId":61,"collectionName":62,"created":166,"created_by":15,"id":162,"image":15,"image_alt":15,"image_path":15,"label":167,"name":168,"priority":169,"publish_at":170,"scheduled_at":15,"status":70,"updated":171,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":168,"th":168},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-04-25 02:32:14.031Z","g8t67hwsdyuoztk","evolution-of-ruby-for-developer-happiness","2026-05-12 21:26:36.714Z",145,"erby2ett3ey5sod","2026-03-18 04:46:34.062Z","Discover why Ruby is the most beloved language for developers. Explore the MINASWAN philosophy and the power of Ruby on Rails in the startup world.","The History of Ruby: A Language Designed for Developer Happiness and Humanity","2026-05-08 06:52:16.842Z",{"alt":182,"cover_image_path":183,"created":184,"expand":185,"id":235,"published_at":236,"school_blog":231,"short_description":237,"title":238,"updated":239,"slug":232,"views":234},"5 Best MacBook External Monitors for Programmers 2026 featuring ARZOPA Z1RC and BenQ RD280U","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ffcbqg0wgyzvpf4g\u002F22lezkx5a7a_9qza66zcpf.png","2026-03-16 06:50:00.366Z",{"keywords":186,"locale":217,"school_blog":218},[187,192,197,202,207,212],{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"updated_by":15},"2026-03-16 06:48:56.529Z","t89p5msf6snqcxd","MacBook external monitor","2026-04-10 16:14:43.633Z",{"collectionId":12,"collectionName":13,"created":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},"2026-03-16 06:49:05.338Z","87md0kh84kqbx8c","best monitor for programming 2026","2026-04-10 16:14:43.721Z",{"collectionId":12,"collectionName":13,"created":198,"created_by":15,"id":199,"name":200,"updated":201,"updated_by":15},"2026-03-16 06:29:41.694Z","0jobzj69zmb9rsg","ARZOPA Z1RC","2026-04-10 16:14:43.460Z",{"collectionId":12,"collectionName":13,"created":203,"created_by":15,"id":204,"name":205,"updated":206,"updated_by":15},"2026-03-16 06:49:22.523Z","bszj87t9ek8zlas","BenQ RD280U","2026-04-10 16:14:43.914Z",{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"updated_by":15},"2026-03-16 06:49:51.533Z","5eyvwytlle97npa","programmer setup","2026-04-10 16:14:44.071Z",{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},"2026-03-16 06:49:58.837Z","u1s8mqzkkosas82","developer gadgets","2026-04-10 16:14:44.221Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":220,"id":231,"slug":232,"updated":233,"views":234},"spm4l1k5bgmhmmt",{"category":221},{"blogIds":222,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":226,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"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":227,"th":227},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","s3vhc075erm9t15","best-macbook-monitors-for-programmers-2026","2026-05-27 19:18:46.085Z",150,"fcbqg0wgyzvpf4g","2026-03-17 03:05:00.000Z","Stop wasting money on the wrong screen! Discover the top 5 monitors for MacBook tailored for developers, from portable ARZOPA Z1RC to pro-coding BenQ RD280U.","5 Best MacBook External Monitors for Programmers (2026 Update)","2026-05-12 18:52:45.105Z",{"alt":241,"cover_image_path":242,"created":243,"expand":244,"id":299,"published_at":300,"school_blog":295,"short_description":301,"title":302,"updated":303,"slug":296,"views":298},"Article cover for Golang The Series EP.140 Finale, featuring production-grade Go code snippets for an Enterprise WebSocket server.","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fo74ygkohmq4k9nf\u002Farticle_cover_for_golang_the_series_ep_874pa0lrr4.eWebSocketserver.png","2026-03-16 04:03:45.337Z",{"keywords":245,"locale":281,"school_blog":282},[246,251,256,261,266,271,276],{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"updated_by":15},"2026-03-04 08:46:00.361Z","wq8gqpsnvd2bmma","Enterprise","2026-04-10 16:13:07.055Z",{"collectionId":12,"collectionName":13,"created":262,"created_by":15,"id":263,"name":264,"updated":265,"updated_by":15},"2026-03-04 08:44:21.262Z","f2p94t41e9t8hnv","system design","2026-04-10 16:12:43.659Z",{"collectionId":12,"collectionName":13,"created":267,"created_by":15,"id":268,"name":269,"updated":270,"updated_by":15},"2026-03-16 03:49:11.920Z","68w24pqpvxluy94","Roadmap","2026-04-10 16:14:41.404Z",{"collectionId":12,"collectionName":13,"created":272,"created_by":15,"id":273,"name":274,"updated":275,"updated_by":15},"2026-03-16 04:03:30.341Z","xbv6j7jyjlxdqqv","Software Engineering","2026-04-10 16:14:41.803Z",{"collectionId":12,"collectionName":13,"created":277,"created_by":15,"id":278,"name":279,"updated":280,"updated_by":15},"2026-03-04 08:44:53.062Z","puutdnxuitnxxgq","Backend","2026-04-10 16:12:51.264Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":283,"collectionId":56,"collectionName":57,"created":15,"expand":284,"id":295,"slug":296,"updated":297,"views":298},"wqxt7ag2gn7xcmk",{"category":285},{"blogIds":286,"collectionId":61,"collectionName":62,"created":287,"created_by":15,"id":283,"image":288,"image_alt":15,"image_path":289,"label":290,"name":291,"priority":292,"publish_at":293,"scheduled_at":15,"status":70,"updated":294,"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":291,"th":291},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","c2puowxb5818jta","go-enterprise-websocket-roadmap-series-finale","2026-05-27 06:53:44.212Z",159,"o74ygkohmq4k9nf","2026-03-17 02:55:25.743Z","The epic conclusion to our 140-episode journey. Master the 4 pillars of enterprise WebSockets, access our production-ready code template, and discover what to study next to become a top-tier Real-time Architect.","Golang The Series EP.140: Enterprise WebSocket Roadmap & The Grand Finale","2026-05-12 18:52:44.726Z",{"alt":305,"cover_image_path":306,"created":307,"expand":308,"id":337,"published_at":338,"school_blog":333,"short_description":339,"title":305,"updated":340,"slug":334,"views":336},"Golang The Series EP.139: Mobile & Low-bandwidth – Optimizing WebSockets for Unstable Networks","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fvtglxlbfpe6ol4j\u002Fcover_image_golang_the_series_ep_xh66sejcok.nstableNetworks.webp","2026-03-04 08:43:14.983Z",{"keywords":309,"locale":327,"school_blog":328},[310,311,312,317,322],{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},{"collectionId":12,"collectionName":13,"created":313,"created_by":15,"id":314,"name":315,"updated":316,"updated_by":15},"2026-03-04 08:40:54.386Z","hmclps1vkgyr7my","Mobile Development","2026-04-10 16:12:40.470Z",{"collectionId":12,"collectionName":13,"created":318,"created_by":15,"id":319,"name":320,"updated":321,"updated_by":15},"2026-03-04 08:40:54.493Z","te1uagqlfki2src","Bandwidth Optimization","2026-04-10 16:12:40.617Z",{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:40:54.606Z","s26m2zvbm8amosp","Real-time Systems","2026-04-10 16:12:40.769Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":283,"collectionId":56,"collectionName":57,"created":15,"expand":329,"id":333,"slug":334,"updated":335,"views":336},{"category":330},{"blogIds":331,"collectionId":61,"collectionName":62,"created":287,"created_by":15,"id":283,"image":288,"image_alt":15,"image_path":289,"label":332,"name":291,"priority":292,"publish_at":293,"scheduled_at":15,"status":70,"updated":294,"updated_by":15},[],{"en":291,"th":291},"3kpsi6righezgrh","go-websocket-mobile-resilience-strategies","2026-05-26 09:40:52.847Z",209,"vtglxlbfpe6ol4j","2026-03-02 08:50:25.730Z","Master WebSocket resilience for mobile users. Learn expert strategies for battery efficiency, adaptive heartbeats, and message recovery to keep your real-time app running smoothly on 3G or jittery connections.","2026-05-08 06:51:44.151Z",{"alt":342,"cover_image_path":343,"created":344,"expand":345,"id":379,"published_at":380,"school_blog":375,"short_description":381,"title":342,"updated":382,"slug":376,"views":378},"Golang The Series EP.138: Mastering WebSocket Latency & Performance Optimization","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fimmh876ctlnb2zk\u002Fcover_image_golang_the_series_ep_9ceb66i80j.nceOptimization.webp","2026-03-04 08:44:12.640Z",{"keywords":346,"locale":369,"school_blog":370},[347,352,357,362,367,368],{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":353,"created_by":15,"id":354,"name":355,"updated":356,"updated_by":15},"2026-03-04 08:44:10.705Z","xicaissou94ouj5","Protobuf","2026-04-10 16:12:40.965Z",{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},"2026-03-04 08:44:11.548Z","ezm3p0vsuowuadd","Latency","2026-04-10 16:12:41.299Z",{"collectionId":12,"collectionName":13,"created":363,"created_by":15,"id":364,"name":365,"updated":366,"updated_by":15},"2026-03-04 08:44:12.339Z","s0awvhr8cgjuosg","Performance Tuning","2026-04-10 16:12:41.567Z",{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":283,"collectionId":56,"collectionName":57,"created":15,"expand":371,"id":375,"slug":376,"updated":377,"views":378},{"category":372},{"blogIds":373,"collectionId":61,"collectionName":62,"created":287,"created_by":15,"id":283,"image":288,"image_alt":15,"image_path":289,"label":374,"name":291,"priority":292,"publish_at":293,"scheduled_at":15,"status":70,"updated":294,"updated_by":15},[],{"en":291,"th":291},"fwr0pxtvmc42yqk","go-websocket-latency-monitoring-performance-tuning","2026-05-15 13:27:05.017Z",211,"immh876ctlnb2zk","2026-03-02 04:30:24.037Z","Stop relying on averages! Dive into P95\u002FP99 latency metrics and expert Go optimization techniques like sync.Pool, Protobuf, and TCP tuning to build lightning-fast, real-time systems.","2026-05-08 06:51:45.601Z",{"alt":384,"cover_image_path":385,"created":386,"expand":387,"id":412,"published_at":413,"school_blog":408,"short_description":414,"title":384,"updated":415,"slug":409,"views":411},"Golang The Series EP.137: Enterprise WebSocket Security – Building an Unbreakable Fortress","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F45evsjmefj3c18r\u002Fgolang_the_series_ep_9gpmj14jad.eakableFortress.webp","2026-03-04 08:44:14.305Z",{"keywords":388,"locale":402,"school_blog":403},[389,390,391,392,397],{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},{"collectionId":12,"collectionName":13,"created":393,"created_by":15,"id":394,"name":395,"updated":396,"updated_by":15},"2026-03-04 08:34:45.957Z","gk56ug8j38rhci3","cybersecurity","2026-04-10 16:08:22.035Z",{"collectionId":12,"collectionName":13,"created":398,"created_by":15,"id":399,"name":400,"updated":401,"updated_by":15},"2026-03-04 08:44:13.045Z","g4w6cq87d9yzbaz","CSWSH","2026-04-10 16:12:41.704Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":283,"collectionId":56,"collectionName":57,"created":15,"expand":404,"id":408,"slug":409,"updated":410,"views":411},{"category":405},{"blogIds":406,"collectionId":61,"collectionName":62,"created":287,"created_by":15,"id":283,"image":288,"image_alt":15,"image_path":289,"label":407,"name":291,"priority":292,"publish_at":293,"scheduled_at":15,"status":70,"updated":294,"updated_by":15},[],{"en":291,"th":291},"e48pslht6qcpb01","go-enterprise-websocket-security-guide-best-practices","2026-05-21 18:12:29.084Z",207,"45evsjmefj3c18r","2026-02-24 02:34:28.466Z","Beyond WSS: Master the 5 pillars of Enterprise WebSocket security. Learn how to prevent CSWSH hijacking, implement ticket-based authentication, and mitigate DoS attacks in your high-scale Go applications.","2026-05-08 06:51:46.077Z",{"alt":417,"cover_image_path":418,"created":419,"expand":420,"id":454,"published_at":455,"school_blog":450,"short_description":456,"title":417,"updated":457,"slug":451,"views":453},"Golang The Series EP.136: WebSocket Versioning & Backward Compatibility – Seamless Upgrades","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fmlecj7zimfn4ncf\u002Fcover_image_for_golang_the_series_ep_8hjmrmne9l.eamlessUpgrades.webp","2026-03-04 08:44:15.459Z",{"keywords":421,"locale":444,"school_blog":445},[422,423,424,429,434,439],{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},{"collectionId":12,"collectionName":13,"created":425,"created_by":15,"id":426,"name":427,"updated":428,"updated_by":15},"2026-03-04 08:44:14.062Z","z1020rjuhndf8m9","Versioning","2026-04-10 16:12:41.929Z",{"collectionId":12,"collectionName":13,"created":430,"created_by":15,"id":431,"name":432,"updated":433,"updated_by":15},"2026-03-04 08:44:14.480Z","d23neji0er26rrf","Backward Compatibility","2026-04-10 16:12:42.065Z",{"collectionId":12,"collectionName":13,"created":435,"created_by":15,"id":436,"name":437,"updated":438,"updated_by":15},"2026-03-04 08:44:14.705Z","7qpvbtbl99sazyl","API Design","2026-04-10 16:12:42.202Z",{"collectionId":12,"collectionName":13,"created":440,"created_by":15,"id":441,"name":442,"updated":443,"updated_by":15},"2026-03-04 08:44:15.009Z","kjorqkld4c8r3lc","Subprotocol","2026-04-10 16:12:42.341Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":283,"collectionId":56,"collectionName":57,"created":15,"expand":446,"id":450,"slug":451,"updated":452,"views":453},{"category":447},{"blogIds":448,"collectionId":61,"collectionName":62,"created":287,"created_by":15,"id":283,"image":288,"image_alt":15,"image_path":289,"label":449,"name":291,"priority":292,"publish_at":293,"scheduled_at":15,"status":70,"updated":294,"updated_by":15},[],{"en":291,"th":291},"s6w8li1iqpuuwka","go-websocket-versioning-strategies-guide","2026-05-27 00:23:42.753Z",240,"mlecj7zimfn4ncf","2026-02-23 03:15:08.855Z","Don't break your real-time app! Master professional WebSocket versioning strategies in Go. Learn Path-based, Subprotocol, and Payload versioning to ensure a seamless experience for users on older app versions.","2026-05-08 06:51:46.437Z",{"alt":459,"cover_image_path":460,"created":461,"expand":462,"id":501,"published_at":502,"school_blog":497,"short_description":503,"title":459,"updated":504,"slug":498,"views":500},"How to Use Cloudflare Tunnel to Expose Localhost Without Port Forwarding","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fbm8dllzwthuvdi5\u002Fcover_image_how_to_use_cloudflare_tunnel_to_expose_localhost_without_port_forwarding_3ltp5dhqn6.webp","2026-03-04 08:44:18.025Z",{"keywords":463,"locale":484,"school_blog":485},[464,469,474,479],{"collectionId":12,"collectionName":13,"created":465,"created_by":15,"id":466,"name":467,"updated":468,"updated_by":15},"2026-03-04 08:44:16.622Z","7k1sal58dnj3ycv","Cloudflare Zero Trust","2026-04-10 16:12:42.473Z",{"collectionId":12,"collectionName":13,"created":470,"created_by":15,"id":471,"name":472,"updated":473,"updated_by":15},"2026-03-04 08:44:16.902Z","1pf59ie7wale4so","Localhost","2026-04-10 16:12:42.539Z",{"collectionId":12,"collectionName":13,"created":475,"created_by":15,"id":476,"name":477,"updated":478,"updated_by":15},"2026-03-04 08:44:17.506Z","2hw2c6o2elosloo","Cloudflare Tunnel","2026-04-10 16:12:42.786Z",{"collectionId":12,"collectionName":13,"created":480,"created_by":15,"id":481,"name":482,"updated":483,"updated_by":15},"2026-03-04 08:44:17.746Z","il984gdus3ha65e","how to use cloudflare tunnel","2026-04-10 16:12:42.923Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":486,"collectionId":56,"collectionName":57,"created":15,"expand":487,"id":497,"slug":498,"updated":499,"views":500},"rfxf19ot4iq992c",{"category":488},{"blogIds":489,"collectionId":61,"collectionName":62,"created":490,"created_by":15,"id":486,"image":491,"image_alt":15,"image_path":492,"label":493,"name":494,"priority":228,"publish_at":495,"scheduled_at":15,"status":70,"updated":496,"updated_by":15},[],"2026-03-04 08:32:03.969Z","7acfigk1qkd_lv1k6bkji3.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Frfxf19ot4iq992c\u002F7acfigk1qkd_lv1k6bkji3.png",{"en":494,"th":494},"Web Development","2025-01-21 03:43:00.282Z","2026-04-25 02:32:14.918Z","98jiz88lg5ihh7t","how-to-use-cloudflare-tunnel-localhost","2026-05-28 05:45:43.488Z",217,"bm8dllzwthuvdi5","2026-02-19 02:03:40.665Z","Learn how to use Cloudflare Tunnel to expose your localhost project to the internet securely. No port forwarding or public IP required. The ultimate guide for developers.","2026-05-08 06:51:47.112Z",{"alt":506,"cover_image_path":507,"created":508,"expand":509,"id":541,"published_at":536,"school_blog":538,"short_description":542,"title":506,"updated":543,"slug":539,"views":336},"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":510,"locale":527,"school_blog":528},[511,516,521,526],{"collectionId":12,"collectionName":13,"created":512,"created_by":15,"id":513,"name":514,"updated":515,"updated_by":15},"2026-03-04 08:19:51.822Z","53qj3tq2f8ryvz4","PHP History","2026-04-10 16:07:23.916Z",{"collectionId":12,"collectionName":13,"created":517,"created_by":15,"id":518,"name":519,"updated":520,"updated_by":15},"2026-03-04 08:19:53.527Z","kxb5av8exza7ssd","Laravel","2026-04-10 16:07:24.148Z",{"collectionId":12,"collectionName":13,"created":522,"created_by":15,"id":523,"name":524,"updated":525,"updated_by":15},"2026-03-04 08:19:53.961Z","2irxiuyeoskuui2","WordPress","2026-04-10 16:07:24.242Z",{"collectionId":12,"collectionName":13,"created":156,"created_by":15,"id":157,"name":158,"updated":159,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":529,"collectionId":56,"collectionName":57,"created":15,"expand":530,"id":538,"slug":539,"updated":540,"views":336},"102u7miss0ec94h",{"category":531},{"blogIds":532,"collectionId":61,"collectionName":62,"created":533,"created_by":15,"id":529,"image":15,"image_alt":15,"image_path":15,"label":534,"name":535,"priority":169,"publish_at":536,"scheduled_at":15,"status":70,"updated":537,"updated_by":15},[],"2026-03-04 08:19:48.998Z",{"en":535,"th":535},"The Origin of Code","2026-02-18 01:59:52.528Z","2026-04-25 02:32:14.183Z","mne53jn0lm6k2tx","evolution-of-php-from-personal-tool-to-web-giant","2026-05-12 07:30:32.748Z","o7hs062vt49pkic","Discover the evolution of PHP—from Rasmus Lerdorf’s personal scripts to the most dominant server-side language in web history.","2026-05-11 21:24:14.643Z",{"alt":545,"cover_image_path":546,"created":547,"expand":548,"id":566,"published_at":170,"school_blog":562,"short_description":567,"title":568,"updated":569,"slug":563,"views":565},"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":549,"locale":556,"school_blog":557},[550,551,552],{"collectionId":12,"collectionName":13,"created":517,"created_by":15,"id":518,"name":519,"updated":520,"updated_by":15},{"collectionId":12,"collectionName":13,"created":522,"created_by":15,"id":523,"name":524,"updated":525,"updated_by":15},{"collectionId":12,"collectionName":13,"created":553,"created_by":15,"id":554,"name":555,"updated":553,"updated_by":15},"2026-05-25 05:21:48.990Z","ri85qu1k1oz6573","PHP",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":162,"collectionId":56,"collectionName":57,"created":15,"expand":558,"id":562,"slug":563,"updated":564,"views":565},{"category":559},{"blogIds":560,"collectionId":61,"collectionName":62,"created":166,"created_by":15,"id":162,"image":15,"image_alt":15,"image_path":15,"label":561,"name":168,"priority":169,"publish_at":170,"scheduled_at":15,"status":70,"updated":171,"updated_by":15},[],{"en":168,"th":168},"38enfgkirmgpypq","history-of-php-from-resume-tool-to-web-king","2026-05-28 10:41:42.053Z",265,"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-05-25 06:11:35.945Z",3,12,415,35]