[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-6-12-Tailwind%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520CSS-all-all-createdAt:desc-default":3},{"data":4,"page":485,"perPage":486,"totalItems":487,"totalPages":488},[5,76,108,156,193,225,262,305,345,377,414,450],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":72,"published_at":73,"school_blog":68,"short_description":74,"title":6,"updated":75,"slug":69,"views":71},"Golang The Series EP 130: Multi-instance WebSocket – สเกลระบบ Real-time ด้วย Redis","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff00z8opmt2e4n26\u002Fcover_image_golang_the_series_ep_130_scalable_multi_instance_web_sockets_with_redis_pub_sub_eg4qluwfaz.webp","2026-03-04 08:44:32.764Z",{"keywords":10,"locale":39,"school_blog":49},[11,19,24,29,34],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-04 08:34:00.920Z","76qprkevbgfdps8","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"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":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:44:32.396Z","n8p7muy44udt3cd","Multi-instance","2026-06-07 06:46:34.864Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":54,"id":68,"slug":69,"updated":70,"views":71},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":55},{"blogIds":56,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":62,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":63,"th":63},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","qtnun31cy8m4a50","golang-multi-instance-websocket-redis-pubsub","2026-06-21 21:53:28.640Z",251,"f00z8opmt2e4n26","2026-01-28 00:54:43.993Z","แก้ปัญหาข้อความหายเมื่อสเกล WebSocket Server ด้วยการใช้ Redis Pub\u002FSub เป็นตัวกลางเชื่อมต่อข้อมูลข้ามเครื่อง (Horizontal Scaling) เพื่อรองรับผู้ใช้ระดับแสน","2026-06-07 06:43:18.956Z",{"alt":77,"cover_image_path":78,"created":79,"expand":80,"id":104,"published_at":105,"school_blog":101,"short_description":106,"title":77,"updated":107,"slug":102,"views":71},"Golang The Series EP 131: WebSocket ใน Microservices Architecture","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fznc9u5kpa96ukor\u002Fcover_image_golang_the_series_ep_131_integrating_web_sockets_into_microservices_flmfgjh3s8.webp","2026-03-04 08:44:30.944Z",{"keywords":81,"locale":95,"school_blog":96},[82,83,84,89,94],{"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":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},"2026-03-04 08:44:29.876Z","ozn15duk6wovj6g","Microservices","2026-06-07 06:46:34.292Z",{"collectionId":12,"collectionName":13,"created":90,"created_by":15,"id":91,"name":92,"updated":93,"updated_by":15},"2026-03-04 08:44:30.561Z","mh6or11b3q7afdh","Microservices Architecture","2026-06-07 06:46:34.508Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":97,"id":101,"slug":102,"updated":103,"views":71},{"category":98},{"blogIds":99,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":100,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"yjukg8iwp0s8i17","golang-websocket-microservices-integration","2026-06-14 19:27:30.748Z","znc9u5kpa96ukor","2026-01-28 00:54:36.837Z","ออกแบบระบบ WebSocket ให้ทำงานร่วมกับ Microservices อื่นๆ ด้วย Ticket-based Auth และ gRPC","2026-06-07 06:43:18.571Z",{"alt":109,"cover_image_path":110,"created":111,"expand":112,"id":152,"published_at":153,"school_blog":148,"short_description":154,"title":109,"updated":155,"slug":149,"views":151},"Roadmap 2026: เริ่มต้นจากศูนย์สู่โปรแกรมเมอร์มืออาชีพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnk79500si2y6ahn\u002Fcover_image_2026_programmer_roadmap_from_zero_to_software_engineer_bhehw41tmz.webp","2026-03-04 08:44:31.383Z",{"keywords":113,"locale":134,"school_blog":135},[114,119,124,129],{"collectionId":12,"collectionName":13,"created":115,"created_by":15,"id":116,"name":117,"updated":118,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-06-07 06:46:28.624Z",{"collectionId":12,"collectionName":13,"created":120,"created_by":15,"id":121,"name":122,"updated":123,"updated_by":15},"2026-03-04 08:44:29.531Z","4seuuz6nouafgw1","เริ่มต้นเขียนโปรแกรม","2026-06-07 06:46:34.161Z",{"collectionId":12,"collectionName":13,"created":125,"created_by":15,"id":126,"name":127,"updated":128,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:31:35.253Z","r1k7m3354tp5ovr","เรียนเขียนโปรแกรม","2026-06-07 06:45:29.140Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":136,"collectionId":51,"collectionName":52,"created":53,"expand":137,"id":148,"slug":149,"updated":150,"views":151},"9926he4i0bn9xla",{"category":138},{"blogIds":139,"collectionId":57,"collectionName":58,"created":140,"created_by":15,"id":136,"image":141,"image_alt":53,"image_path":142,"label":143,"name":144,"priority":145,"publish_at":146,"scheduled_at":53,"status":66,"updated":147,"updated_by":15},[],"2026-03-04 08:32:41.255Z","8skhge1ublj_lsje1q3y65.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002F9926he4i0bn9xla\u002F8skhge1ublj_lsje1q3y65.png",{"en":144,"th":144},"Future Skills",0,"2025-01-16 06:26:07.717Z","2026-06-07 06:45:03.621Z","lqcs43nmczmic45","roadmap-programmer-2026-professional-guide","2026-06-19 01:17:37.201Z",276,"nk79500si2y6ahn","2026-01-28 00:54:31.643Z","คู่มือปั้นคุณเป็นโปรแกรมเมอร์ในปี 2026 เจาะลึกการเรียนรู้ยุค AI ตั้งแต่พื้นฐาน Logic จนถึงการออกแบบระบบที่ซับซ้อน เริ่มต้นอาชีพสาย Tech อย่างมั่นใจกับ Superdev Academy","2026-06-07 06:43:18.725Z",{"alt":157,"cover_image_path":158,"created":159,"expand":160,"id":189,"published_at":190,"school_blog":186,"short_description":191,"title":157,"updated":192,"slug":187,"views":71},"กว่าจะเป็นภาษา Go: เมื่อวิศวกร Google ทนรอคอมไพล์โค้ดไม่ไหว จนเกิดภาษาเปลี่ยนโลก","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fm6fpznlrztvh4d5\u002Fcover_image_the_origins_of_go_how_google_engineers_built_a_language_while_waiting_for_compilation_4w0ai0x6jj.webp","2026-03-04 08:20:18.891Z",{"keywords":161,"locale":174,"school_blog":175},[162,167,168,169],{"collectionId":12,"collectionName":13,"created":163,"created_by":15,"id":164,"name":165,"updated":166,"updated_by":15},"2026-03-04 08:20:15.939Z","v9v7ah7oaphr5n4","ประวัติภาษา Go","2026-06-07 06:45:08.560Z",{"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":170,"created_by":15,"id":171,"name":172,"updated":173,"updated_by":15},"2026-03-04 08:20:15.564Z","9zhk20p0247axym","Google","2026-06-07 06:45:08.345Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":176,"collectionId":51,"collectionName":52,"created":53,"expand":177,"id":186,"slug":187,"updated":188,"views":71},"isnp2fv80bn3yem",{"category":178},{"blogIds":179,"collectionId":57,"collectionName":58,"created":180,"created_by":15,"id":176,"image":53,"image_alt":53,"image_path":53,"label":181,"name":182,"priority":183,"publish_at":184,"scheduled_at":53,"status":66,"updated":185,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":182,"th":182},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-06-07 06:45:01.789Z","7nyg2flm9t53dgl","history-of-go-language-google-compilation-struggle","2026-06-01 10:19:09.629Z","m6fpznlrztvh4d5","2026-01-28 00:54:25.928Z","เจาะลึกจุดกำเนิดของภาษา Go จากความหงุดหงิดของ 3 วิศวกรระดับตำนาน สู่ภาษาที่กลายเป็นรากฐานของ Docker และ Kubernetes","2026-06-07 06:42:43.526Z",{"alt":194,"cover_image_path":195,"created":196,"expand":197,"id":221,"published_at":222,"school_blog":217,"short_description":223,"title":194,"updated":224,"slug":218,"views":220},"Golang The Series EP 129: High Availability & Failover – ออกแบบระบบให้ \"อึด ถึก ทน\"","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fdl91cve930nplii\u002Fcover_image_golang_the_series_ep_129_high_availability_failover_design_for_zero_downtime_nibn2rjvtl.webp","2026-03-04 08:44:33.854Z",{"keywords":198,"locale":211,"school_blog":212},[199,204,205,206],{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},"2026-03-04 08:44:32.713Z","b9jmymu9lbpj60c","High Availability","2026-06-07 06:46:35.110Z",{"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":207,"created_by":15,"id":208,"name":209,"updated":210,"updated_by":15},"2026-03-04 08:44:32.915Z","pyrjlxpn42ys3ql","Failover","2026-06-07 06:46:35.177Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":213,"id":217,"slug":218,"updated":219,"views":220},{"category":214},{"blogIds":215,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":216,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"7z0t10yivtf6z9w","golang-high-availability-failover-design-guide","2026-06-21 15:07:49.373Z",243,"dl91cve930nplii","2026-01-27 03:55:09.309Z","เจาะลึกกลยุทธ์การออกแบบระบบให้มี Uptime 99.99% ด้วยแนวคิด High Availability การกำจัดจุดตายเดี่ยว (SPOF) และการเขียน Go ให้รองรับ Graceful Shutdown","2026-06-07 06:43:19.487Z",{"alt":226,"cover_image_path":227,"created":228,"expand":229,"id":258,"published_at":259,"school_blog":254,"short_description":260,"title":226,"updated":261,"slug":255,"views":257},"Golang The Series EP 128: Logging, Monitoring และ Observability – เปลี่ยนกล่องดำให้เป็นกล่องแก้ว","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fwvtfc87vu8adv1s\u002Fcover_image_golang_the_series_ep_128_mastering_logging_monitoring_and_observability_in_go_n1rgzl6yx6.webp","2026-03-04 08:44:35.539Z",{"keywords":230,"locale":248,"school_blog":249},[231,236,237,238,243],{"collectionId":12,"collectionName":13,"created":232,"created_by":15,"id":233,"name":234,"updated":235,"updated_by":15},"2026-03-04 08:44:34.753Z","l1a17htphmxe52a","Observability","2026-06-07 06:46:35.412Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"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":239,"created_by":15,"id":240,"name":241,"updated":242,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-06-07 06:46:35.275Z",{"collectionId":12,"collectionName":13,"created":244,"created_by":15,"id":245,"name":246,"updated":247,"updated_by":15},"2026-03-04 08:33:55.302Z","0mue4zt83jcdtq9","Logging","2026-06-07 06:45:53.507Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":250,"id":254,"slug":255,"updated":256,"views":257},{"category":251},{"blogIds":252,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":253,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"huvj1rgte3iwzdx","golang-observability-logging-monitoring-slog","2026-06-21 15:02:27.909Z",242,"wvtfc87vu8adv1s","2026-01-26 03:57:08.107Z","เรียนรู้ 3 เสาหลักในการทำ Observability ด้วยภาษา Go เจาะลึกการใช้ log\u002Fslog, Prometheus และแนวคิดการเปลี่ยนระบบให้โปร่งใสเพื่อการแก้ปัญหาที่รวดเร็วระดับมืออาชีพ","2026-06-07 06:43:19.708Z",{"alt":263,"cover_image_path":264,"created":265,"expand":266,"id":301,"published_at":302,"school_blog":297,"short_description":303,"title":263,"updated":304,"slug":298,"views":300},"คัมภีร์ Git และ GitHub ฉบับสมบูรณ์: สรุปครบทุกขั้นตอนสำหรับการทำงานจริงระดับมืออาชีพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fdwh64w0g4p8mj0i\u002Fthe_ultimate_git_git_hub_manual_mastering_professional_collaboration_and_workflows_9am8fi1j1b.webp","2026-03-04 08:44:36.942Z",{"keywords":267,"locale":284,"school_blog":285},[268,273,278,279],{"collectionId":12,"collectionName":13,"created":269,"created_by":15,"id":270,"name":271,"updated":272,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":274,"created_by":15,"id":275,"name":276,"updated":277,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-06-07 06:46:35.932Z",{"collectionId":12,"collectionName":13,"created":125,"created_by":15,"id":126,"name":127,"updated":128,"updated_by":15},{"collectionId":12,"collectionName":13,"created":280,"created_by":15,"id":281,"name":282,"updated":283,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-06-07 06:46:35.800Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":286,"collectionId":51,"collectionName":52,"created":53,"expand":287,"id":297,"slug":298,"updated":299,"views":300},"spm4l1k5bgmhmmt",{"category":288},{"blogIds":289,"collectionId":57,"collectionName":58,"created":290,"created_by":15,"id":286,"image":291,"image_alt":53,"image_path":292,"label":293,"name":294,"priority":145,"publish_at":295,"scheduled_at":53,"status":66,"updated":296,"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":294,"th":294},"Knowledge","2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","87a0eh8dpji0woo","git-github-complete-manual-guide","2026-06-22 04:06:55.055Z",412,"dwh64w0g4p8mj0i","2026-01-21 03:29:41.862Z","เจาะลึกการใช้ Git และ GitHub ตั้งแต่พื้นฐาน 4 โซนสำคัญ การบริหารจัดการ Branch แบบมืออาชีพ ไปจนถึงเทคนิคการแก้ Code Conflict และการทำ Pull Request เพื่อการทำงานร่วมกันในทีมอย่างมีประสิทธิภาพ","2026-06-07 06:43:20.245Z",{"alt":306,"cover_image_path":307,"created":308,"expand":309,"id":341,"published_at":342,"school_blog":337,"short_description":343,"title":306,"updated":344,"slug":338,"views":340},"กว่าจะเป็นภาษา Java: ปฏิวัติวงการด้วยแนวคิด \"Write Once, Run Anywhere\"","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9zisuux1bzb1rsj\u002Fcover_image_the_origin_of_java_revolutionizing_the_world_with_write_once_run_anywhere_umugmc52u6.webp","2026-03-04 08:20:35.835Z",{"keywords":310,"locale":331,"school_blog":332},[311,316,321,326],{"collectionId":12,"collectionName":13,"created":312,"created_by":15,"id":313,"name":314,"updated":315,"updated_by":15},"2026-03-04 08:20:25.947Z","trcc0ngsny7a9zh","Bytecode","2026-06-07 06:45:08.787Z",{"collectionId":12,"collectionName":13,"created":317,"created_by":15,"id":318,"name":319,"updated":320,"updated_by":15},"2026-03-04 08:20:29.827Z","kaajdy60saamd6y","James Gosling","2026-06-07 06:45:09.137Z",{"collectionId":12,"collectionName":13,"created":322,"created_by":15,"id":323,"name":324,"updated":325,"updated_by":15},"2026-03-04 08:20:31.631Z","9psyxnixy5hvrcv","ประวัติ Java","2026-06-07 06:45:09.396Z",{"collectionId":12,"collectionName":13,"created":327,"created_by":15,"id":328,"name":329,"updated":330,"updated_by":15},"2026-03-04 08:20:32.925Z","a77j8bhv489p2sx","Java","2026-06-07 06:45:09.622Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":176,"collectionId":51,"collectionName":52,"created":53,"expand":333,"id":337,"slug":338,"updated":339,"views":340},{"category":334},{"blogIds":335,"collectionId":57,"collectionName":58,"created":180,"created_by":15,"id":176,"image":53,"image_alt":53,"image_path":53,"label":336,"name":182,"priority":183,"publish_at":184,"scheduled_at":53,"status":66,"updated":185,"updated_by":15},[],{"en":182,"th":182},"wnjjzdrlrynynjv","the-making-of-java-write-once-run-anywhere","2026-06-20 02:05:36.432Z",250,"9zisuux1bzb1rsj","2026-01-20 02:33:48.613Z","เจาะลึกประวัติศาสตร์ Java จากโปรเจกต์เครื่องใช้ไฟฟ้าสู่ภาษาที่ครองโลกองค์กรและ Android เรียนรู้เบื้องหลังเทคโนโลยี JVM และการจัดการหน่วยความจำที่เปลี่ยนโลกซอฟต์แวร์","2026-06-07 06:42:44.100Z",{"alt":346,"cover_image_path":347,"created":348,"expand":349,"id":373,"published_at":374,"school_blog":369,"short_description":375,"title":346,"updated":376,"slug":370,"views":372},"Golang The Series EP 127: Connection Management & Circuit Breaker ป้องกันระบบล่มแบบโดมิโน่","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fk5d182ak8tb0bet\u002Fcover_image_golang_the_series_ep_127_connection_management_circuit_breaker_preventing_cascading_fail_adws7t11p8.webp","2026-03-04 08:44:37.916Z",{"keywords":350,"locale":363,"school_blog":364},[351,356,361,362],{"collectionId":12,"collectionName":13,"created":352,"created_by":15,"id":353,"name":354,"updated":355,"updated_by":15},"2026-03-04 08:44:37.391Z","krqs9dt45y5ixau","Connection Management","2026-06-07 06:46:36.387Z",{"collectionId":12,"collectionName":13,"created":357,"created_by":15,"id":358,"name":359,"updated":360,"updated_by":15},"2026-03-04 08:44:37.056Z","erl8jxcjedbe0i0","Circuit Breaker","2026-06-07 06:46:36.230Z",{"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},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":365,"id":369,"slug":370,"updated":371,"views":372},{"category":366},{"blogIds":367,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":368,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"dfoukm4b8ogtmtf","golang-the-series-ep-127-connection-management-circuit-breaker","2026-06-08 23:12:21.040Z",245,"k5d182ak8tb0bet","2026-01-20 02:24:42.277Z","เจาะลึกการใช้ Circuit Breaker Pattern ในภาษา Go เพื่อสร้างระบบที่ทนทานต่อความผิดพลาด เรียนรู้การใช้ gobreaker, การจัดการ Connection Pool และการทำ Fallback เพื่อป้องกัน Cascading Failure ใน Microservices","2026-06-07 06:43:20.345Z",{"alt":378,"cover_image_path":379,"created":380,"expand":381,"id":410,"published_at":411,"school_blog":406,"short_description":412,"title":378,"updated":413,"slug":407,"views":409},"Golang The Series EP 126: วิธีทำ DDoS Protection และ Rate Limiting เพื่อระบบที่ไม่มีวันตาย","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5sqsjq1yzrjzg3f\u002Fcover_image_for_golang_the_series_ep_126_implementing_ddo_s_protection_and_rate_limiting_for_high_av_7siud2uttd.webp","2026-03-04 08:44:40.473Z",{"keywords":382,"locale":400,"school_blog":401},[383,388,393,398,399],{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},"2026-03-04 08:44:38.026Z","m3dqo2zalnfaoof","Token Bucket","2026-06-07 06:46:36.495Z",{"collectionId":12,"collectionName":13,"created":389,"created_by":15,"id":390,"name":391,"updated":392,"updated_by":15},"2026-03-04 08:44:38.426Z","cwmp6ppr4svplqr","DDoS Protection","2026-06-07 06:46:36.631Z",{"collectionId":12,"collectionName":13,"created":394,"created_by":15,"id":395,"name":396,"updated":397,"updated_by":15},"2026-03-04 08:34:07.915Z","921nl48h9in67sw","Rate Limiting","2026-06-07 06:45:58.705Z",{"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},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":402,"id":406,"slug":407,"updated":408,"views":409},{"category":403},{"blogIds":404,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":405,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-06-18 10:15:59.923Z",262,"5sqsjq1yzrjzg3f","2026-01-19 03:55:09.416Z","เจาะลึกเทคนิคการป้องกันระบบล่มจาก Traffic มหาศาลด้วยการทำ Rate Limiting และ DDoS Protection ในภาษา Go เรียนรู้การใช้งาน Token Bucket Algorithm การสร้าง Middleware จัดการ IP และการตั้งค่า Server Timeout แบบมืออาชีพเพื่อรองรับงานระดับ Enterprise","2026-06-07 06:43:20.779Z",{"alt":415,"cover_image_path":416,"created":417,"expand":418,"id":446,"published_at":447,"school_blog":442,"short_description":448,"title":415,"updated":449,"slug":443,"views":445},"GitHub Workflow 2026: มาตรฐานการจัดการ Branch ที่ทีม Dev ระดับโลกเลือกใช้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fanlci173u2ch5k6\u002Fcover_image_git_hub_workflow_2026_modern_branching_standards_for_global_dev_teams_btp9t8b6hr.webp","2026-03-04 08:44:41.403Z",{"keywords":419,"locale":436,"school_blog":437},[420,425,430,431],{"collectionId":12,"collectionName":13,"created":421,"created_by":15,"id":422,"name":423,"updated":424,"updated_by":15},"2026-03-04 08:44:39.878Z","36yxgpqj8fqr1gq","Git for Team","2026-06-07 06:46:37.013Z",{"collectionId":12,"collectionName":13,"created":426,"created_by":15,"id":427,"name":428,"updated":429,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-06-07 06:46:37.210Z",{"collectionId":12,"collectionName":13,"created":274,"created_by":15,"id":275,"name":276,"updated":277,"updated_by":15},{"collectionId":12,"collectionName":13,"created":432,"created_by":15,"id":433,"name":434,"updated":435,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-06-07 06:46:35.602Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":286,"collectionId":51,"collectionName":52,"created":53,"expand":438,"id":442,"slug":443,"updated":444,"views":445},{"category":439},{"blogIds":440,"collectionId":57,"collectionName":58,"created":290,"created_by":15,"id":286,"image":291,"image_alt":53,"image_path":292,"label":441,"name":294,"priority":145,"publish_at":295,"scheduled_at":53,"status":66,"updated":296,"updated_by":15},[],{"en":294,"th":294},"53gn7yw5p9z5mpp","github-workflow-2026-branching-standards","2026-06-08 01:48:42.933Z",288,"anlci173u2ch5k6","2026-01-15 05:36:21.052Z","เจาะลึกมาตรฐาน GitHub Workflow ปี 2026 สำหรับโปรแกรมเมอร์มืออาชีพ ตั้งแต่การตั้งชื่อ Branch ให้เป็นระบบ, การใช้ AI ช่วยรีวิวโค้ด, การวางระบบ 4 Environments ไปจนถึงเทคนิค Squash and Merge เพื่อการทำงานเป็นทีมที่มีประสิทธิภาพสูงสุด","2026-06-07 06:43:21.149Z",{"alt":451,"cover_image_path":452,"created":453,"expand":454,"id":481,"published_at":482,"school_blog":477,"short_description":483,"title":451,"updated":484,"slug":478,"views":480},"กว่าจะเป็นภาษา Python: จากงานอดิเรกวันคริสต์มาส สู่ภาษาอันดับ 1 ของโลก AI","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F250hnpwl1lt455z\u002Fcover_image_the_origin_of_python_from_a_christmas_hobby_to_the_1_language_for_ai_3jw6cj247w.webp","2026-03-04 08:20:38.336Z",{"keywords":455,"locale":471,"school_blog":472},[456,461,466],{"collectionId":12,"collectionName":13,"created":457,"created_by":15,"id":458,"name":459,"updated":460,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-06-07 06:45:10.124Z",{"collectionId":12,"collectionName":13,"created":462,"created_by":15,"id":463,"name":464,"updated":465,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-06-07 06:45:08.957Z",{"collectionId":12,"collectionName":13,"created":467,"created_by":15,"id":468,"name":469,"updated":470,"updated_by":15},"2026-03-04 08:20:37.794Z","x2c5z8w1cr41ij3","ภาษาโปรแกรมมิ่ง","2026-06-07 06:45:10.234Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":176,"collectionId":51,"collectionName":52,"created":53,"expand":473,"id":477,"slug":478,"updated":479,"views":480},{"category":474},{"blogIds":475,"collectionId":57,"collectionName":58,"created":180,"created_by":15,"id":176,"image":53,"image_alt":53,"image_path":53,"label":476,"name":182,"priority":183,"publish_at":184,"scheduled_at":53,"status":66,"updated":185,"updated_by":15},[],{"en":182,"th":182},"2ds3ja0ldoccxbe","history-of-python-from-hobby-to-ai","2026-06-05 15:57:43.488Z",239,"250hnpwl1lt455z","2026-01-14 05:00:27.370Z","เจาะลึกเส้นทาง Python จากโปรเจกต์แก้เบื่อของ Guido van Rossum สู่การเป็นภาษาหลักที่ NASA และวงการ AI ระดับโลกเลือกใช้","2026-06-07 06:42:44.428Z",6,12,432,36]