[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-2-12-%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%25252525252525252525252525252525252525252525252581%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525A7%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B9%25252525252525252525252525252525252525252525252588%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525B2%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%25252525252525252525252525252525252525252525252588%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525B0%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B9%25252525252525252525252525252525252525252525252580%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%2525252525252525252525252525252525252525252525259B%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B9%25252525252525252525252525252525252525252525252587%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%25252525252525252525252525252525252525252525252599%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525A0%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525B2%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525A9%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%252525252525252525252525252525252525252525252525B2%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B9%25252525252525252525252525252525252525252525252582%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%25252525252525252525252525252525252525252525252584%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B9%25252525252525252525252525252525252525252525252589%252525252525252525252525252525252525252525252525E0%252525252525252525252525252525252525252525252525B8%25252525252525252525252525252525252525252525252594-all-all-createdAt:desc-default":3},{"data":4,"page":73,"perPage":589,"totalItems":590,"totalPages":591},[5,86,140,179,218,257,314,372,436,473,515,547],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":81,"published_at":82,"school_blog":77,"short_description":83,"title":84,"updated":85,"slug":78,"views":80},"Rust programming code snippet showing variable declaration","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fhpc9fj23gw5fb4x\u002F8uh5rmfhs7l_9iqxjg84ex.png","2026-04-03 10:21:08.575Z",{"keywords":10,"locale":49,"school_blog":59},[11,19,24,29,34,39,44],{"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:20:08.348Z","","ux2m77tsy8v19bg","Rust Programming","2026-04-10 16:07:25.602Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-04-10 16:07:25.292Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:26:57.621Z","yz0psh771cme97h","Variables","2026-04-10 16:07:36.688Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-04-03 10:18:18.197Z","pgvg42yxe6j3ovv","Mutability","2026-04-10 16:14:46.623Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-04-03 10:20:41.867Z","py0zemi2rikoayq","Immutable by default","2026-04-10 16:14:46.915Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"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":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:47:43.833Z","1wvn4ycus88oilx","Software Development","2026-04-10 16:13:33.058Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},"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":60,"collectionId":61,"collectionName":62,"created":15,"expand":63,"id":77,"slug":78,"updated":79,"views":80},"mfqe235iv6x1or8","pbc_2105096300","school_blogs",{"category":64},{"blogIds":65,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":71,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"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":72,"th":72},"Rust The Series",2,"2026-03-16 04:40:09.199Z","published","2026-04-25 02:32:15.619Z","ypjquqgb7zjvn1v","rust-variables-mutability-guide","2026-05-12 17:20:20.153Z",127,"hpc9fj23gw5fb4x","2026-04-03 11:13:33.445Z","Learn why Rust variables are immutable by default and how to use the 'mut' keyword for safe memory management. Master the concepts of Constants and Shadowing in Rust.","Variables & Mutability: Why Immutable by Default? | Rust The Series EP.4","2026-05-12 18:52:47.620Z",{"alt":87,"cover_image_path":88,"created":89,"expand":90,"id":135,"published_at":136,"school_blog":131,"short_description":137,"title":138,"updated":139,"slug":132,"views":134},"Docker and Python logos illustrating the concept of application packaging and container deployment.","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ffkurge4nodwi7m3\u002F27tm3fi7o34_bd9bvs2z2q.png","2026-03-31 09:00:47.742Z",{"keywords":91,"locale":117,"school_blog":118},[92,97,102,107,112],{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"updated_by":15},"2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-04-10 16:12:43.264Z",{"collectionId":12,"collectionName":13,"created":98,"created_by":15,"id":99,"name":100,"updated":101,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-04-10 16:07:26.827Z",{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},"2026-03-31 08:59:13.954Z","l9pdnbzwhqor2du","Deployment","2026-04-10 16:14:46.411Z",{"collectionId":12,"collectionName":13,"created":108,"created_by":15,"id":109,"name":110,"updated":111,"updated_by":15},"2026-03-31 08:59:23.337Z","0ywglj93na2av9j","Containerization","2026-04-10 16:14:46.481Z",{"collectionId":12,"collectionName":13,"created":113,"created_by":15,"id":114,"name":115,"updated":116,"updated_by":15},"2026-03-31 08:54:52.247Z","u7sf345s1gipkhf","Dockerfile","2026-04-10 16:14:46.141Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":119,"collectionId":61,"collectionName":62,"created":15,"expand":120,"id":131,"slug":132,"updated":133,"views":134},"qn0d7xwatkleou1",{"category":121},{"blogIds":122,"collectionId":66,"collectionName":67,"created":123,"created_by":15,"id":119,"image":124,"image_alt":15,"image_path":125,"label":126,"name":127,"priority":128,"publish_at":129,"scheduled_at":15,"status":75,"updated":130,"updated_by":15},[],"2026-03-04 08:31:21.896Z","4jn5ccty4x9_2894s1fj97.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fqn0d7xwatkleou1\u002F4jn5ccty4x9_2894s1fj97.png",{"en":127,"th":127},"How to",0,"2025-02-04 08:40:59.666Z","2026-04-25 02:32:14.588Z","tw4akhojnb2u1ik","docker-python-deployment-guide","2026-05-11 05:27:19.970Z",130,"fkurge4nodwi7m3","2026-04-01 03:04:17.856Z","Solve the \"it works on my machine\" problem! Learn how to use Docker to package your Python applications for seamless deployment with this step-by-step guide.","Docker + Python: How to Package Your App for Deployment Anywhere","2026-05-08 06:52:21.225Z",{"alt":141,"cover_image_path":142,"created":143,"expand":144,"id":174,"published_at":175,"school_blog":170,"short_description":176,"title":177,"updated":178,"slug":171,"views":173},"Rust programming language logo and Cargo build tool illustration for Rust The Series EP 3 at Superdev Academy.","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fyvvrfmvitu02hwf\u002F6nrc9hf6ink_3tj7gksldv.png","2026-03-23 03:51:01.644Z",{"keywords":145,"locale":164,"school_blog":165},[146,147,148,149,154,159],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},"2026-03-23 03:50:38.325Z","akdikqixom9r0q9","Cargo Rust","2026-04-10 16:14:45.723Z",{"collectionId":12,"collectionName":13,"created":155,"created_by":15,"id":156,"name":157,"updated":158,"updated_by":15},"2026-03-23 03:50:46.038Z","xctfzmxdd8f9ai1","Cargo Commands","2026-04-10 16:14:45.830Z",{"collectionId":12,"collectionName":13,"created":160,"created_by":15,"id":161,"name":162,"updated":163,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-04-10 16:12:41.207Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":15,"expand":166,"id":170,"slug":171,"updated":172,"views":173},{"category":167},{"blogIds":168,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":169,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"updated_by":15},[],{"en":72,"th":72},"okm4en0s9tcmnn6","rust-series-ep3-intro-to-cargo-package-manager","2026-05-12 11:24:17.894Z",150,"yvvrfmvitu02hwf","2026-03-23 04:03:06.965Z","Start your Rust journey with Cargo. Learn how to create projects, manage dependencies (Crates), and master essential commands like cargo build, run, and check at Superdev Academy.","Introduction to Cargo - The Essential Tool for Rust Developers | Rust The Series EP.3","2026-05-12 18:52:47.476Z",{"alt":180,"cover_image_path":181,"created":182,"expand":183,"id":213,"published_at":214,"school_blog":209,"short_description":215,"title":216,"updated":217,"slug":210,"views":212},"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":184,"locale":203,"school_blog":204},[185,190,191,196,201,202],{"collectionId":12,"collectionName":13,"created":186,"created_by":15,"id":187,"name":188,"updated":189,"updated_by":15},"2026-03-23 03:26:35.686Z","lxf3i0dmdedlx7f","Install Rust","2026-04-10 16:14:45.075Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},{"collectionId":12,"collectionName":13,"created":192,"created_by":15,"id":193,"name":194,"updated":195,"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":197,"created_by":15,"id":198,"name":199,"updated":200,"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":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":160,"created_by":15,"id":161,"name":162,"updated":163,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":15,"expand":205,"id":209,"slug":210,"updated":211,"views":212},{"category":206},{"blogIds":207,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":208,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"updated_by":15},[],{"en":72,"th":72},"13h228aiodane7p","install-rustup-vscode-rustrover-setup","2026-05-12 14:34:43.314Z",137,"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":219,"cover_image_path":220,"created":221,"expand":222,"id":252,"published_at":253,"school_blog":248,"short_description":254,"title":255,"updated":256,"slug":249,"views":251},"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":223,"locale":242,"school_blog":243},[224,225,226,231,236,241],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"collectionId":12,"collectionName":13,"created":227,"created_by":15,"id":228,"name":229,"updated":230,"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":232,"created_by":15,"id":233,"name":234,"updated":235,"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":237,"created_by":15,"id":238,"name":239,"updated":240,"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":160,"created_by":15,"id":161,"name":162,"updated":163,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":15,"expand":244,"id":248,"slug":249,"updated":250,"views":251},{"category":245},{"blogIds":246,"collectionId":66,"collectionName":67,"created":68,"created_by":15,"id":60,"image":69,"image_alt":15,"image_path":70,"label":247,"name":72,"priority":73,"publish_at":74,"scheduled_at":15,"status":75,"updated":76,"updated_by":15},[],{"en":72,"th":72},"qopjdv8pbq5vd5r","why-rust-programming-language-ep1","2026-05-11 01:41:19.582Z",210,"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":258,"cover_image_path":259,"created":260,"expand":261,"id":309,"published_at":310,"school_blog":305,"short_description":311,"title":312,"updated":313,"slug":306,"views":308},"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":262,"locale":293,"school_blog":294},[263,268,273,278,283,288],{"collectionId":12,"collectionName":13,"created":264,"created_by":15,"id":265,"name":266,"updated":267,"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":269,"created_by":15,"id":270,"name":271,"updated":272,"updated_by":15},"2026-03-04 08:34:47.544Z","3ky9n7b9hsgjf35","Ruby","2026-04-10 16:08:22.609Z",{"collectionId":12,"collectionName":13,"created":274,"created_by":15,"id":275,"name":276,"updated":277,"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":279,"created_by":15,"id":280,"name":281,"updated":282,"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":284,"created_by":15,"id":285,"name":286,"updated":287,"updated_by":15},"2026-03-16 05:49:18.125Z","0runldorrswj5ds","MINASWAN","2026-04-10 16:14:42.787Z",{"collectionId":12,"collectionName":13,"created":289,"created_by":15,"id":290,"name":291,"updated":292,"updated_by":15},"2026-03-04 08:19:55.412Z","hz7yzm54i2o6cl7","web development","2026-04-10 16:07:24.402Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":295,"collectionId":61,"collectionName":62,"created":15,"expand":296,"id":305,"slug":306,"updated":307,"views":308},"isnp2fv80bn3yem",{"category":297},{"blogIds":298,"collectionId":66,"collectionName":67,"created":299,"created_by":15,"id":295,"image":15,"image_alt":15,"image_path":15,"label":300,"name":301,"priority":302,"publish_at":303,"scheduled_at":15,"status":75,"updated":304,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":301,"th":301},"กว่าจะเป็นภาษาโค้ด",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 09:08:10.933Z",144,"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":315,"cover_image_path":316,"created":317,"expand":318,"id":367,"published_at":368,"school_blog":363,"short_description":369,"title":370,"updated":371,"slug":364,"views":366},"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":319,"locale":350,"school_blog":351},[320,325,330,335,340,345],{"collectionId":12,"collectionName":13,"created":321,"created_by":15,"id":322,"name":323,"updated":324,"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":326,"created_by":15,"id":327,"name":328,"updated":329,"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":331,"created_by":15,"id":332,"name":333,"updated":334,"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":336,"created_by":15,"id":337,"name":338,"updated":339,"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":341,"created_by":15,"id":342,"name":343,"updated":344,"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":346,"created_by":15,"id":347,"name":348,"updated":349,"updated_by":15},"2026-03-16 06:49:58.837Z","u1s8mqzkkosas82","developer gadgets","2026-04-10 16:14:44.221Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":352,"collectionId":61,"collectionName":62,"created":15,"expand":353,"id":363,"slug":364,"updated":365,"views":366},"spm4l1k5bgmhmmt",{"category":354},{"blogIds":355,"collectionId":66,"collectionName":67,"created":356,"created_by":15,"id":352,"image":357,"image_alt":15,"image_path":358,"label":359,"name":360,"priority":128,"publish_at":361,"scheduled_at":15,"status":75,"updated":362,"updated_by":15},[],"2026-03-04 08:31:18.590Z","50hyjr6os45_ayazwr5gq7.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7.png",{"en":360,"th":360},"Knowledge","2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","s3vhc075erm9t15","best-macbook-monitors-for-programmers-2026","2026-05-11 09:53:07.351Z",125,"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":373,"cover_image_path":374,"created":375,"expand":376,"id":431,"published_at":432,"school_blog":427,"short_description":433,"title":434,"updated":435,"slug":428,"views":430},"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":377,"locale":413,"school_blog":414},[378,383,388,393,398,403,408],{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":389,"created_by":15,"id":390,"name":391,"updated":392,"updated_by":15},"2026-03-04 08:46:00.361Z","wq8gqpsnvd2bmma","Enterprise","2026-04-10 16:13:07.055Z",{"collectionId":12,"collectionName":13,"created":394,"created_by":15,"id":395,"name":396,"updated":397,"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":399,"created_by":15,"id":400,"name":401,"updated":402,"updated_by":15},"2026-03-16 03:49:11.920Z","68w24pqpvxluy94","Roadmap","2026-04-10 16:14:41.404Z",{"collectionId":12,"collectionName":13,"created":404,"created_by":15,"id":405,"name":406,"updated":407,"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":409,"created_by":15,"id":410,"name":411,"updated":412,"updated_by":15},"2026-03-04 08:44:53.062Z","puutdnxuitnxxgq","Backend","2026-04-10 16:12:51.264Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":415,"collectionId":61,"collectionName":62,"created":15,"expand":416,"id":427,"slug":428,"updated":429,"views":430},"wqxt7ag2gn7xcmk",{"category":417},{"blogIds":418,"collectionId":66,"collectionName":67,"created":419,"created_by":15,"id":415,"image":420,"image_alt":15,"image_path":421,"label":422,"name":423,"priority":424,"publish_at":425,"scheduled_at":15,"status":75,"updated":426,"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":423,"th":423},"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-12 04:37:05.018Z",152,"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":437,"cover_image_path":438,"created":439,"expand":440,"id":469,"published_at":470,"school_blog":465,"short_description":471,"title":437,"updated":472,"slug":466,"views":468},"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":441,"locale":459,"school_blog":460},[442,443,444,449,454],{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},{"collectionId":12,"collectionName":13,"created":445,"created_by":15,"id":446,"name":447,"updated":448,"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":450,"created_by":15,"id":451,"name":452,"updated":453,"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":455,"created_by":15,"id":456,"name":457,"updated":458,"updated_by":15},"2026-03-04 08:40:54.606Z","s26m2zvbm8amosp","Real-time Systems","2026-04-10 16:12:40.769Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":415,"collectionId":61,"collectionName":62,"created":15,"expand":461,"id":465,"slug":466,"updated":467,"views":468},{"category":462},{"blogIds":463,"collectionId":66,"collectionName":67,"created":419,"created_by":15,"id":415,"image":420,"image_alt":15,"image_path":421,"label":464,"name":423,"priority":424,"publish_at":425,"scheduled_at":15,"status":75,"updated":426,"updated_by":15},[],{"en":423,"th":423},"3kpsi6righezgrh","go-websocket-mobile-resilience-strategies","2026-05-08 18:23:17.960Z",205,"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":474,"cover_image_path":475,"created":476,"expand":477,"id":511,"published_at":512,"school_blog":507,"short_description":513,"title":474,"updated":514,"slug":508,"views":510},"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":478,"locale":501,"school_blog":502},[479,484,489,494,499,500],{"collectionId":12,"collectionName":13,"created":480,"created_by":15,"id":481,"name":482,"updated":483,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":485,"created_by":15,"id":486,"name":487,"updated":488,"updated_by":15},"2026-03-04 08:44:10.705Z","xicaissou94ouj5","Protobuf","2026-04-10 16:12:40.965Z",{"collectionId":12,"collectionName":13,"created":490,"created_by":15,"id":491,"name":492,"updated":493,"updated_by":15},"2026-03-04 08:44:11.548Z","ezm3p0vsuowuadd","Latency","2026-04-10 16:12:41.299Z",{"collectionId":12,"collectionName":13,"created":495,"created_by":15,"id":496,"name":497,"updated":498,"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":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":415,"collectionId":61,"collectionName":62,"created":15,"expand":503,"id":507,"slug":508,"updated":509,"views":510},{"category":504},{"blogIds":505,"collectionId":66,"collectionName":67,"created":419,"created_by":15,"id":415,"image":420,"image_alt":15,"image_path":421,"label":506,"name":423,"priority":424,"publish_at":425,"scheduled_at":15,"status":75,"updated":426,"updated_by":15},[],{"en":423,"th":423},"fwr0pxtvmc42yqk","go-websocket-latency-monitoring-performance-tuning","2026-05-11 23:19:29.140Z",209,"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":516,"cover_image_path":517,"created":518,"expand":519,"id":543,"published_at":544,"school_blog":540,"short_description":545,"title":516,"updated":546,"slug":541,"views":468},"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":520,"locale":534,"school_blog":535},[521,522,523,524,529],{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},{"collectionId":12,"collectionName":13,"created":480,"created_by":15,"id":481,"name":482,"updated":483,"updated_by":15},{"collectionId":12,"collectionName":13,"created":525,"created_by":15,"id":526,"name":527,"updated":528,"updated_by":15},"2026-03-04 08:34:45.957Z","gk56ug8j38rhci3","cybersecurity","2026-04-10 16:08:22.035Z",{"collectionId":12,"collectionName":13,"created":530,"created_by":15,"id":531,"name":532,"updated":533,"updated_by":15},"2026-03-04 08:44:13.045Z","g4w6cq87d9yzbaz","CSWSH","2026-04-10 16:12:41.704Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":415,"collectionId":61,"collectionName":62,"created":15,"expand":536,"id":540,"slug":541,"updated":542,"views":468},{"category":537},{"blogIds":538,"collectionId":66,"collectionName":67,"created":419,"created_by":15,"id":415,"image":420,"image_alt":15,"image_path":421,"label":539,"name":423,"priority":424,"publish_at":425,"scheduled_at":15,"status":75,"updated":426,"updated_by":15},[],{"en":423,"th":423},"e48pslht6qcpb01","go-enterprise-websocket-security-guide-best-practices","2026-05-09 08:38:14.780Z","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":548,"cover_image_path":549,"created":550,"expand":551,"id":585,"published_at":586,"school_blog":581,"short_description":587,"title":548,"updated":588,"slug":582,"views":584},"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":552,"locale":575,"school_blog":576},[553,554,555,560,565,570],{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},{"collectionId":12,"collectionName":13,"created":556,"created_by":15,"id":557,"name":558,"updated":559,"updated_by":15},"2026-03-04 08:44:14.062Z","z1020rjuhndf8m9","Versioning","2026-04-10 16:12:41.929Z",{"collectionId":12,"collectionName":13,"created":561,"created_by":15,"id":562,"name":563,"updated":564,"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":566,"created_by":15,"id":567,"name":568,"updated":569,"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":571,"created_by":15,"id":572,"name":573,"updated":574,"updated_by":15},"2026-03-04 08:44:15.009Z","kjorqkld4c8r3lc","Subprotocol","2026-04-10 16:12:42.341Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":415,"collectionId":61,"collectionName":62,"created":15,"expand":577,"id":581,"slug":582,"updated":583,"views":584},{"category":578},{"blogIds":579,"collectionId":66,"collectionName":67,"created":419,"created_by":15,"id":415,"image":420,"image_alt":15,"image_path":421,"label":580,"name":423,"priority":424,"publish_at":425,"scheduled_at":15,"status":75,"updated":426,"updated_by":15},[],{"en":423,"th":423},"s6w8li1iqpuuwka","go-websocket-versioning-strategies-guide","2026-05-12 08:05:07.601Z",233,"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",12,405,34]