[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-4-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":487,"perPage":488,"totalItems":489,"totalPages":490},[5,68,121,154,201,232,264,301,344,383,414,451],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":64,"published_at":65,"school_blog":60,"short_description":66,"title":6,"updated":67,"slug":61,"views":63},"กว่าจะเป็นภาษา Rust: จากตำนานลิฟต์ค้าง 21 ชั้น สู่ภาษาที่ปลอดภัยที่สุดในโลก","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkgcg8jbo8fqnwgw\u002Fcover_image_the_origin_of_rust_how_a_stuck_elevator_created_the_world_s_safest_language_xdzkd2ysox.webp","2026-03-04 08:20:13.026Z",{"keywords":10,"locale":34,"school_blog":44},[11,19,24,29],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-04 08:20:06.615Z","","ugbeyp380i0crdq","Graydon Hoare","2026-04-10 16:07:25.437Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:20:08.738Z","1b028bgp2ckk0r0","Borrow Checker","2026-04-10 16:07:25.695Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:20:10.141Z","avqzi5llku0ag52","ประวัติ Rust","2026-04-10 16:07:25.793Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-04-10 16:07:25.292Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},"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":45,"collectionId":46,"collectionName":47,"created":15,"expand":48,"id":60,"slug":61,"updated":62,"views":63},"isnp2fv80bn3yem","pbc_2105096300","school_blogs",{"category":49},{"blogIds":50,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":15,"image_alt":15,"image_path":15,"label":54,"name":55,"priority":56,"publish_at":57,"scheduled_at":15,"status":58,"updated":59,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:19:47.590Z",{"en":55,"th":55},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","published","2026-04-25 02:32:14.031Z","y4zlcase4qgxoxc","history-of-rust-from-stuck-elevator-to-linux-kernel","2026-05-12 17:17:23.822Z",260,"kgcg8jbo8fqnwgw","2026-02-04 02:08:44.934Z","เจาะลึกจุดกำเนิดของ Rust จากความหงุดหงิดเรื่องลิฟต์ค้าง สู่การเป็นภาษาเดียวที่ได้รับความไว้วางใจให้เข้าไปอยู่ใน Linux Kernel","2026-05-11 21:07:49.033Z",{"alt":69,"cover_image_path":70,"created":71,"expand":72,"id":117,"published_at":118,"school_blog":113,"short_description":119,"title":69,"updated":120,"slug":114,"views":116},"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":73,"locale":99,"school_blog":100},[74,79,84,89,94],{"collectionId":12,"collectionName":13,"created":75,"created_by":15,"id":76,"name":77,"updated":78,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":90,"created_by":15,"id":91,"name":92,"updated":93,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-04-10 16:08:08.714Z",{"collectionId":12,"collectionName":13,"created":95,"created_by":15,"id":96,"name":97,"updated":98,"updated_by":15},"2026-03-04 08:44:32.396Z","n8p7muy44udt3cd","Multi-instance","2026-04-10 16:12:46.549Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":102,"id":113,"slug":114,"updated":115,"views":116},"wqxt7ag2gn7xcmk",{"category":103},{"blogIds":104,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":108,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"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":109,"th":109},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","qtnun31cy8m4a50","golang-multi-instance-websocket-redis-pubsub","2026-05-12 20:17:27.377Z",246,"f00z8opmt2e4n26","2026-01-28 00:54:43.993Z","แก้ปัญหาข้อความหายเมื่อสเกล WebSocket Server ด้วยการใช้ Redis Pub\u002FSub เป็นตัวกลางเชื่อมต่อข้อมูลข้ามเครื่อง (Horizontal Scaling) เพื่อรองรับผู้ใช้ระดับแสน","2026-05-08 06:51:51.861Z",{"alt":122,"cover_image_path":123,"created":124,"expand":125,"id":150,"published_at":151,"school_blog":146,"short_description":152,"title":122,"updated":153,"slug":147,"views":149},"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":126,"locale":140,"school_blog":141},[127,128,129,134,139],{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:44:29.876Z","ozn15duk6wovj6g","Microservices","2026-04-10 16:12:46.024Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:44:30.561Z","mh6or11b3q7afdh","Microservices Architecture","2026-04-10 16:12:46.171Z",{"collectionId":12,"collectionName":13,"created":75,"created_by":15,"id":76,"name":77,"updated":78,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":142,"id":146,"slug":147,"updated":148,"views":149},{"category":143},{"blogIds":144,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":145,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"updated_by":15},[],{"en":109,"th":109},"yjukg8iwp0s8i17","golang-websocket-microservices-integration","2026-05-14 07:39:26.827Z",248,"znc9u5kpa96ukor","2026-01-28 00:54:36.837Z","ออกแบบระบบ WebSocket ให้ทำงานร่วมกับ Microservices อื่นๆ ด้วย Ticket-based Auth และ gRPC","2026-05-08 06:51:51.376Z",{"alt":155,"cover_image_path":156,"created":157,"expand":158,"id":197,"published_at":198,"school_blog":194,"short_description":199,"title":155,"updated":200,"slug":195,"views":196},"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":159,"locale":180,"school_blog":181},[160,165,170,175],{"collectionId":12,"collectionName":13,"created":161,"created_by":15,"id":162,"name":163,"updated":164,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-04-10 16:12:41.207Z",{"collectionId":12,"collectionName":13,"created":166,"created_by":15,"id":167,"name":168,"updated":169,"updated_by":15},"2026-03-04 08:44:29.531Z","4seuuz6nouafgw1","เริ่มต้นเขียนโปรแกรม","2026-04-10 16:12:45.821Z",{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-04-10 16:07:36.426Z",{"collectionId":12,"collectionName":13,"created":176,"created_by":15,"id":177,"name":178,"updated":179,"updated_by":15},"2026-03-04 08:31:35.253Z","r1k7m3354tp5ovr","เรียนเขียนโปรแกรม","2026-04-10 16:07:43.096Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":182,"collectionId":46,"collectionName":47,"created":15,"expand":183,"id":194,"slug":195,"updated":15,"views":196},"9926he4i0bn9xla",{"category":184},{"blogIds":185,"collectionId":51,"collectionName":52,"created":186,"created_by":15,"id":182,"image":187,"image_alt":15,"image_path":188,"label":189,"name":190,"priority":191,"publish_at":192,"scheduled_at":15,"status":58,"updated":193,"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":190,"th":190},"Future Skills",0,"2025-01-16 06:26:07.717Z","2026-04-25 02:32:15.342Z","lqcs43nmczmic45","roadmap-programmer-2026-professional-guide",271,"nk79500si2y6ahn","2026-01-28 00:54:31.643Z","คู่มือปั้นคุณเป็นโปรแกรมเมอร์ในปี 2026 เจาะลึกการเรียนรู้ยุค AI ตั้งแต่พื้นฐาน Logic จนถึงการออกแบบระบบที่ซับซ้อน เริ่มต้นอาชีพสาย Tech อย่างมั่นใจกับ Superdev Academy","2026-05-08 06:51:51.678Z",{"alt":202,"cover_image_path":203,"created":204,"expand":205,"id":228,"published_at":229,"school_blog":225,"short_description":230,"title":202,"updated":231,"slug":226,"views":116},"กว่าจะเป็นภาษา 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":206,"locale":219,"school_blog":220},[207,212,213,214],{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"updated_by":15},"2026-03-04 08:20:15.939Z","v9v7ah7oaphr5n4","ประวัติภาษา Go","2026-04-10 16:07:26.449Z",{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"updated_by":15},"2026-03-04 08:20:15.564Z","9zhk20p0247axym","Google","2026-04-10 16:07:26.313Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":15,"expand":221,"id":225,"slug":226,"updated":227,"views":116},{"category":222},{"blogIds":223,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":15,"image_alt":15,"image_path":15,"label":224,"name":55,"priority":56,"publish_at":57,"scheduled_at":15,"status":58,"updated":59,"updated_by":15},[],{"en":55,"th":55},"7nyg2flm9t53dgl","history-of-go-language-google-compilation-struggle","2026-05-14 05:08:48.342Z","m6fpznlrztvh4d5","2026-01-28 00:54:25.928Z","เจาะลึกจุดกำเนิดของภาษา Go จากความหงุดหงิดของ 3 วิศวกรระดับตำนาน สู่ภาษาที่กลายเป็นรากฐานของ Docker และ Kubernetes","2026-05-11 21:45:18.241Z",{"alt":233,"cover_image_path":234,"created":235,"expand":236,"id":260,"published_at":261,"school_blog":256,"short_description":262,"title":233,"updated":263,"slug":257,"views":259},"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":237,"locale":250,"school_blog":251},[238,243,244,245],{"collectionId":12,"collectionName":13,"created":239,"created_by":15,"id":240,"name":241,"updated":242,"updated_by":15},"2026-03-04 08:44:32.713Z","b9jmymu9lbpj60c","High Availability","2026-04-10 16:12:46.701Z",{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":246,"created_by":15,"id":247,"name":248,"updated":249,"updated_by":15},"2026-03-04 08:44:32.915Z","pyrjlxpn42ys3ql","Failover","2026-04-10 16:12:46.836Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":252,"id":256,"slug":257,"updated":258,"views":259},{"category":253},{"blogIds":254,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":255,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"updated_by":15},[],{"en":109,"th":109},"7z0t10yivtf6z9w","golang-high-availability-failover-design-guide","2026-05-07 04:56:55.736Z",240,"dl91cve930nplii","2026-01-27 03:55:09.309Z","เจาะลึกกลยุทธ์การออกแบบระบบให้มี Uptime 99.99% ด้วยแนวคิด High Availability การกำจัดจุดตายเดี่ยว (SPOF) และการเขียน Go ให้รองรับ Graceful Shutdown","2026-05-08 06:51:52.586Z",{"alt":265,"cover_image_path":266,"created":267,"expand":268,"id":297,"published_at":298,"school_blog":293,"short_description":299,"title":265,"updated":300,"slug":294,"views":296},"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":269,"locale":287,"school_blog":288},[270,275,276,277,282],{"collectionId":12,"collectionName":13,"created":271,"created_by":15,"id":272,"name":273,"updated":274,"updated_by":15},"2026-03-04 08:44:34.753Z","l1a17htphmxe52a","Observability","2026-04-10 16:12:46.998Z",{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":278,"created_by":15,"id":279,"name":280,"updated":281,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-04-10 16:12:46.904Z",{"collectionId":12,"collectionName":13,"created":283,"created_by":15,"id":284,"name":285,"updated":286,"updated_by":15},"2026-03-04 08:33:55.302Z","0mue4zt83jcdtq9","Logging","2026-04-10 16:08:03.396Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":289,"id":293,"slug":294,"updated":295,"views":296},{"category":290},{"blogIds":291,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":292,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"updated_by":15},[],{"en":109,"th":109},"huvj1rgte3iwzdx","golang-observability-logging-monitoring-slog","2026-05-13 04:49:21.808Z",239,"wvtfc87vu8adv1s","2026-01-26 03:57:08.107Z","เรียนรู้ 3 เสาหลักในการทำ Observability ด้วยภาษา Go เจาะลึกการใช้ log\u002Fslog, Prometheus และแนวคิดการเปลี่ยนระบบให้โปร่งใสเพื่อการแก้ปัญหาที่รวดเร็วระดับมืออาชีพ","2026-05-08 06:51:52.782Z",{"alt":302,"cover_image_path":303,"created":304,"expand":305,"id":340,"published_at":341,"school_blog":336,"short_description":342,"title":302,"updated":343,"slug":337,"views":339},"คัมภีร์ 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":306,"locale":323,"school_blog":324},[307,312,317,318],{"collectionId":12,"collectionName":13,"created":308,"created_by":15,"id":309,"name":310,"updated":311,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"collectionId":12,"collectionName":13,"created":313,"created_by":15,"id":314,"name":315,"updated":316,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-04-10 16:12:47.387Z",{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-04-10 16:12:47.226Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":325,"collectionId":46,"collectionName":47,"created":15,"expand":326,"id":336,"slug":337,"updated":338,"views":339},"spm4l1k5bgmhmmt",{"category":327},{"blogIds":328,"collectionId":51,"collectionName":52,"created":329,"created_by":15,"id":325,"image":330,"image_alt":15,"image_path":331,"label":332,"name":333,"priority":191,"publish_at":334,"scheduled_at":15,"status":58,"updated":335,"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":333,"th":333},"Knowledge","2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","87a0eh8dpji0woo","git-github-complete-manual-guide","2026-05-13 16:06:59.342Z",360,"dwh64w0g4p8mj0i","2026-01-21 03:29:41.862Z","เจาะลึกการใช้ Git และ GitHub ตั้งแต่พื้นฐาน 4 โซนสำคัญ การบริหารจัดการ Branch แบบมืออาชีพ ไปจนถึงเทคนิคการแก้ Code Conflict และการทำ Pull Request เพื่อการทำงานร่วมกันในทีมอย่างมีประสิทธิภาพ","2026-05-08 06:51:53.621Z",{"alt":345,"cover_image_path":346,"created":347,"expand":348,"id":379,"published_at":380,"school_blog":376,"short_description":381,"title":345,"updated":382,"slug":377,"views":149},"กว่าจะเป็นภาษา 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":349,"locale":370,"school_blog":371},[350,355,360,365],{"collectionId":12,"collectionName":13,"created":351,"created_by":15,"id":352,"name":353,"updated":354,"updated_by":15},"2026-03-04 08:20:25.947Z","trcc0ngsny7a9zh","Bytecode","2026-04-10 16:07:26.683Z",{"collectionId":12,"collectionName":13,"created":356,"created_by":15,"id":357,"name":358,"updated":359,"updated_by":15},"2026-03-04 08:20:29.827Z","kaajdy60saamd6y","James Gosling","2026-04-10 16:07:26.907Z",{"collectionId":12,"collectionName":13,"created":361,"created_by":15,"id":362,"name":363,"updated":364,"updated_by":15},"2026-03-04 08:20:31.631Z","9psyxnixy5hvrcv","ประวัติ Java","2026-04-10 16:07:27.099Z",{"collectionId":12,"collectionName":13,"created":366,"created_by":15,"id":367,"name":368,"updated":369,"updated_by":15},"2026-03-04 08:20:32.925Z","a77j8bhv489p2sx","Java","2026-04-10 16:07:27.199Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":15,"expand":372,"id":376,"slug":377,"updated":378,"views":149},{"category":373},{"blogIds":374,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":15,"image_alt":15,"image_path":15,"label":375,"name":55,"priority":56,"publish_at":57,"scheduled_at":15,"status":58,"updated":59,"updated_by":15},[],{"en":55,"th":55},"wnjjzdrlrynynjv","the-making-of-java-write-once-run-anywhere","2026-05-14 07:35:07.999Z","9zisuux1bzb1rsj","2026-01-20 02:33:48.613Z","เจาะลึกประวัติศาสตร์ Java จากโปรเจกต์เครื่องใช้ไฟฟ้าสู่ภาษาที่ครองโลกองค์กรและ Android เรียนรู้เบื้องหลังเทคโนโลยี JVM และการจัดการหน่วยความจำที่เปลี่ยนโลกซอฟต์แวร์","2026-05-11 21:45:18.656Z",{"alt":384,"cover_image_path":385,"created":386,"expand":387,"id":410,"published_at":411,"school_blog":407,"short_description":412,"title":384,"updated":413,"slug":408,"views":409},"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":388,"locale":401,"school_blog":402},[389,394,399,400],{"collectionId":12,"collectionName":13,"created":390,"created_by":15,"id":391,"name":392,"updated":393,"updated_by":15},"2026-03-04 08:44:37.391Z","krqs9dt45y5ixau","Connection Management","2026-04-10 16:12:47.710Z",{"collectionId":12,"collectionName":13,"created":395,"created_by":15,"id":396,"name":397,"updated":398,"updated_by":15},"2026-03-04 08:44:37.056Z","erl8jxcjedbe0i0","Circuit Breaker","2026-04-10 16:12:47.556Z",{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":403,"id":407,"slug":408,"updated":15,"views":409},{"category":404},{"blogIds":405,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":406,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"updated_by":15},[],{"en":109,"th":109},"dfoukm4b8ogtmtf","golang-the-series-ep-127-connection-management-circuit-breaker",241,"k5d182ak8tb0bet","2026-01-20 02:24:42.277Z","เจาะลึกการใช้ Circuit Breaker Pattern ในภาษา Go เพื่อสร้างระบบที่ทนทานต่อความผิดพลาด เรียนรู้การใช้ gobreaker, การจัดการ Connection Pool และการทำ Fallback เพื่อป้องกัน Cascading Failure ใน Microservices","2026-05-08 06:51:53.857Z",{"alt":415,"cover_image_path":416,"created":417,"expand":418,"id":447,"published_at":448,"school_blog":443,"short_description":449,"title":415,"updated":450,"slug":444,"views":446},"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":419,"locale":437,"school_blog":438},[420,425,430,435,436],{"collectionId":12,"collectionName":13,"created":421,"created_by":15,"id":422,"name":423,"updated":424,"updated_by":15},"2026-03-04 08:44:38.026Z","m3dqo2zalnfaoof","Token Bucket","2026-04-10 16:12:47.845Z",{"collectionId":12,"collectionName":13,"created":426,"created_by":15,"id":427,"name":428,"updated":429,"updated_by":15},"2026-03-04 08:44:38.426Z","cwmp6ppr4svplqr","DDoS Protection","2026-04-10 16:12:47.992Z",{"collectionId":12,"collectionName":13,"created":431,"created_by":15,"id":432,"name":433,"updated":434,"updated_by":15},"2026-03-04 08:34:07.915Z","921nl48h9in67sw","Rate Limiting","2026-04-10 16:08:07.808Z",{"collectionId":12,"collectionName":13,"created":80,"created_by":15,"id":81,"name":82,"updated":83,"updated_by":15},{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":101,"collectionId":46,"collectionName":47,"created":15,"expand":439,"id":443,"slug":444,"updated":445,"views":446},{"category":440},{"blogIds":441,"collectionId":51,"collectionName":52,"created":105,"created_by":15,"id":101,"image":106,"image_alt":15,"image_path":107,"label":442,"name":109,"priority":110,"publish_at":111,"scheduled_at":15,"status":58,"updated":112,"updated_by":15},[],{"en":109,"th":109},"htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-05-13 01:48:41.214Z",253,"5sqsjq1yzrjzg3f","2026-01-19 03:55:09.416Z","เจาะลึกเทคนิคการป้องกันระบบล่มจาก Traffic มหาศาลด้วยการทำ Rate Limiting และ DDoS Protection ในภาษา Go เรียนรู้การใช้งาน Token Bucket Algorithm การสร้าง Middleware จัดการ IP และการตั้งค่า Server Timeout แบบมืออาชีพเพื่อรองรับงานระดับ Enterprise","2026-05-08 06:51:54.768Z",{"alt":452,"cover_image_path":453,"created":454,"expand":455,"id":483,"published_at":484,"school_blog":479,"short_description":485,"title":452,"updated":486,"slug":480,"views":482},"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":456,"locale":473,"school_blog":474},[457,462,467,468],{"collectionId":12,"collectionName":13,"created":458,"created_by":15,"id":459,"name":460,"updated":461,"updated_by":15},"2026-03-04 08:44:39.878Z","36yxgpqj8fqr1gq","Git for Team","2026-04-10 16:12:48.324Z",{"collectionId":12,"collectionName":13,"created":463,"created_by":15,"id":464,"name":465,"updated":466,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-04-10 16:12:48.416Z",{"collectionId":12,"collectionName":13,"created":313,"created_by":15,"id":314,"name":315,"updated":316,"updated_by":15},{"collectionId":12,"collectionName":13,"created":469,"created_by":15,"id":470,"name":471,"updated":472,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-04-10 16:12:47.105Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":325,"collectionId":46,"collectionName":47,"created":15,"expand":475,"id":479,"slug":480,"updated":481,"views":482},{"category":476},{"blogIds":477,"collectionId":51,"collectionName":52,"created":329,"created_by":15,"id":325,"image":330,"image_alt":15,"image_path":331,"label":478,"name":333,"priority":191,"publish_at":334,"scheduled_at":15,"status":58,"updated":335,"updated_by":15},[],{"en":333,"th":333},"53gn7yw5p9z5mpp","github-workflow-2026-branching-standards","2026-05-14 05:10:36.315Z",273,"anlci173u2ch5k6","2026-01-15 05:36:21.052Z","เจาะลึกมาตรฐาน GitHub Workflow ปี 2026 สำหรับโปรแกรมเมอร์มืออาชีพ ตั้งแต่การตั้งชื่อ Branch ให้เป็นระบบ, การใช้ AI ช่วยรีวิวโค้ด, การวางระบบ 4 Environments ไปจนถึงเทคนิค Squash and Merge เพื่อการทำงานเป็นทีมที่มีประสิทธิภาพสูงสุด","2026-05-08 06:51:55.311Z",4,12,408,34]