[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-7-12-How%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520to-all-all-createdAt:desc-default":3},{"data":4,"page":486,"perPage":487,"totalItems":488,"totalPages":489},[5,71,108,156,202,234,271,307,341,376,413,453],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":67,"published_at":68,"school_blog":63,"short_description":69,"title":6,"updated":70,"slug":64,"views":66},"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":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:44:32.713Z","76qprkevbgfdps8","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},"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:44:32.915Z","pyrjlxpn42ys3ql","Failover","2026-06-07 06:46:35.177Z",{"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":48,"expand":49,"id":63,"slug":64,"updated":65,"views":66},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":50},{"blogIds":51,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":57,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"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":58,"th":58},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","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":72,"cover_image_path":73,"created":74,"expand":75,"id":104,"published_at":105,"school_blog":100,"short_description":106,"title":72,"updated":107,"slug":101,"views":103},"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":76,"locale":94,"school_blog":95},[77,82,83,84,89],{"collectionId":12,"collectionName":13,"created":78,"created_by":15,"id":79,"name":80,"updated":81,"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":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-06-07 06:46:35.275Z",{"collectionId":12,"collectionName":13,"created":90,"created_by":15,"id":91,"name":92,"updated":93,"updated_by":15},"2026-03-04 08:33:55.302Z","0mue4zt83jcdtq9","Logging","2026-06-07 06:45:53.507Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":96,"id":100,"slug":101,"updated":102,"views":103},{"category":97},{"blogIds":98,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":99,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"huvj1rgte3iwzdx","golang-observability-logging-monitoring-slog","2026-06-28 21:44:53.606Z",246,"wvtfc87vu8adv1s","2026-01-26 03:57:08.107Z","เรียนรู้ 3 เสาหลักในการทำ Observability ด้วยภาษา Go เจาะลึกการใช้ log\u002Fslog, Prometheus และแนวคิดการเปลี่ยนระบบให้โปร่งใสเพื่อการแก้ปัญหาที่รวดเร็วระดับมืออาชีพ","2026-06-07 06:43:19.708Z",{"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},"คัมภีร์ 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":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:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":120,"created_by":15,"id":121,"name":122,"updated":123,"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},"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:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-06-07 06:46:35.800Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":136,"collectionId":46,"collectionName":47,"created":48,"expand":137,"id":148,"slug":149,"updated":150,"views":151},"spm4l1k5bgmhmmt",{"category":138},{"blogIds":139,"collectionId":52,"collectionName":53,"created":140,"created_by":15,"id":136,"image":141,"image_alt":48,"image_path":142,"label":143,"name":144,"priority":145,"publish_at":146,"scheduled_at":48,"status":61,"updated":147,"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":144,"th":144},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","87a0eh8dpji0woo","git-github-complete-manual-guide","2026-07-02 04:32:57.704Z",441,"dwh64w0g4p8mj0i","2026-01-21 03:29:41.862Z","เจาะลึกการใช้ Git และ GitHub ตั้งแต่พื้นฐาน 4 โซนสำคัญ การบริหารจัดการ Branch แบบมืออาชีพ ไปจนถึงเทคนิคการแก้ Code Conflict และการทำ Pull Request เพื่อการทำงานร่วมกันในทีมอย่างมีประสิทธิภาพ","2026-06-07 06:43:20.245Z",{"alt":157,"cover_image_path":158,"created":159,"expand":160,"id":198,"published_at":199,"school_blog":194,"short_description":200,"title":157,"updated":201,"slug":195,"views":197},"กว่าจะเป็นภาษา 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":161,"locale":182,"school_blog":183},[162,167,172,177],{"collectionId":12,"collectionName":13,"created":163,"created_by":15,"id":164,"name":165,"updated":166,"updated_by":15},"2026-03-04 08:20:25.947Z","trcc0ngsny7a9zh","Bytecode","2026-06-07 06:45:08.787Z",{"collectionId":12,"collectionName":13,"created":168,"created_by":15,"id":169,"name":170,"updated":171,"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":173,"created_by":15,"id":174,"name":175,"updated":176,"updated_by":15},"2026-03-04 08:20:31.631Z","9psyxnixy5hvrcv","ประวัติ Java","2026-06-07 06:45:09.396Z",{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},"2026-03-04 08:20:32.925Z","a77j8bhv489p2sx","Java","2026-06-07 06:45:09.622Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":184,"collectionId":46,"collectionName":47,"created":48,"expand":185,"id":194,"slug":195,"updated":196,"views":197},"isnp2fv80bn3yem",{"category":186},{"blogIds":187,"collectionId":52,"collectionName":53,"created":188,"created_by":15,"id":184,"image":48,"image_alt":48,"image_path":48,"label":189,"name":190,"priority":191,"publish_at":192,"scheduled_at":48,"status":61,"updated":193,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":190,"th":190},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-06-07 06:45:01.789Z","wnjjzdrlrynynjv","the-making-of-java-write-once-run-anywhere","2026-07-05 08:57:18.770Z",251,"9zisuux1bzb1rsj","2026-01-20 02:33:48.613Z","เจาะลึกประวัติศาสตร์ Java จากโปรเจกต์เครื่องใช้ไฟฟ้าสู่ภาษาที่ครองโลกองค์กรและ Android เรียนรู้เบื้องหลังเทคโนโลยี JVM และการจัดการหน่วยความจำที่เปลี่ยนโลกซอฟต์แวร์","2026-06-07 06:42:44.100Z",{"alt":203,"cover_image_path":204,"created":205,"expand":206,"id":230,"published_at":231,"school_blog":226,"short_description":232,"title":203,"updated":233,"slug":227,"views":229},"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":207,"locale":220,"school_blog":221},[208,213,218,219],{"collectionId":12,"collectionName":13,"created":209,"created_by":15,"id":210,"name":211,"updated":212,"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":214,"created_by":15,"id":215,"name":216,"updated":217,"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":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":222,"id":226,"slug":227,"updated":228,"views":229},{"category":223},{"blogIds":224,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":225,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"dfoukm4b8ogtmtf","golang-the-series-ep-127-connection-management-circuit-breaker","2026-06-29 03:26:19.568Z",247,"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":235,"cover_image_path":236,"created":237,"expand":238,"id":267,"published_at":268,"school_blog":263,"short_description":269,"title":235,"updated":270,"slug":264,"views":266},"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":239,"locale":257,"school_blog":258},[240,245,250,255,256],{"collectionId":12,"collectionName":13,"created":241,"created_by":15,"id":242,"name":243,"updated":244,"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":246,"created_by":15,"id":247,"name":248,"updated":249,"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":251,"created_by":15,"id":252,"name":253,"updated":254,"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":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":259,"id":263,"slug":264,"updated":265,"views":266},{"category":260},{"blogIds":261,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":262,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-06-29 10:16:49.547Z",264,"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":272,"cover_image_path":273,"created":274,"expand":275,"id":303,"published_at":304,"school_blog":299,"short_description":305,"title":272,"updated":306,"slug":300,"views":302},"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":276,"locale":293,"school_blog":294},[277,282,287,288],{"collectionId":12,"collectionName":13,"created":278,"created_by":15,"id":279,"name":280,"updated":281,"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":283,"created_by":15,"id":284,"name":285,"updated":286,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-06-07 06:46:37.210Z",{"collectionId":12,"collectionName":13,"created":120,"created_by":15,"id":121,"name":122,"updated":123,"updated_by":15},{"collectionId":12,"collectionName":13,"created":289,"created_by":15,"id":290,"name":291,"updated":292,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-06-07 06:46:35.602Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":136,"collectionId":46,"collectionName":47,"created":48,"expand":295,"id":299,"slug":300,"updated":301,"views":302},{"category":296},{"blogIds":297,"collectionId":52,"collectionName":53,"created":140,"created_by":15,"id":136,"image":141,"image_alt":48,"image_path":142,"label":298,"name":144,"priority":145,"publish_at":146,"scheduled_at":48,"status":61,"updated":147,"updated_by":15},[],{"en":144,"th":144},"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":308,"cover_image_path":309,"created":310,"expand":311,"id":337,"published_at":338,"school_blog":334,"short_description":339,"title":308,"updated":340,"slug":335,"views":66},"กว่าจะเป็นภาษา 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":312,"locale":328,"school_blog":329},[313,318,323],{"collectionId":12,"collectionName":13,"created":314,"created_by":15,"id":315,"name":316,"updated":317,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-06-07 06:45:10.124Z",{"collectionId":12,"collectionName":13,"created":319,"created_by":15,"id":320,"name":321,"updated":322,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-06-07 06:45:08.957Z",{"collectionId":12,"collectionName":13,"created":324,"created_by":15,"id":325,"name":326,"updated":327,"updated_by":15},"2026-03-04 08:20:37.794Z","x2c5z8w1cr41ij3","ภาษาโปรแกรมมิ่ง","2026-06-07 06:45:10.234Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":184,"collectionId":46,"collectionName":47,"created":48,"expand":330,"id":334,"slug":335,"updated":336,"views":66},{"category":331},{"blogIds":332,"collectionId":52,"collectionName":53,"created":188,"created_by":15,"id":184,"image":48,"image_alt":48,"image_path":48,"label":333,"name":190,"priority":191,"publish_at":192,"scheduled_at":48,"status":61,"updated":193,"updated_by":15},[],{"en":190,"th":190},"2ds3ja0ldoccxbe","history-of-python-from-hobby-to-ai","2026-07-01 20:45:25.587Z","250hnpwl1lt455z","2026-01-14 05:00:27.370Z","เจาะลึกเส้นทาง Python จากโปรเจกต์แก้เบื่อของ Guido van Rossum สู่การเป็นภาษาหลักที่ NASA และวงการ AI ระดับโลกเลือกใช้","2026-06-07 06:42:44.428Z",{"alt":342,"cover_image_path":343,"created":344,"expand":345,"id":372,"published_at":373,"school_blog":369,"short_description":374,"title":342,"updated":375,"slug":370,"views":66},"EP.125 TLS \u002F WSS และ Certificate Management สำหรับ WebSocket (Production & Enterprise)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Frn62rb24heeyiyo\u002Fcover_image_ep_1msbjluc3y.EnterpriseGuide.webp","2026-03-04 08:44:42.802Z",{"keywords":346,"locale":363,"school_blog":364},[347,352,357,362],{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},"2026-03-04 08:44:41.631Z","sipxojme8z97ei7","WebSocket TLS","2026-06-07 06:46:37.399Z",{"collectionId":12,"collectionName":13,"created":353,"created_by":15,"id":354,"name":355,"updated":356,"updated_by":15},"2026-03-04 08:44:41.420Z","xjki2vhsm3f0jb4","WSS WebSocket","2026-06-07 06:46:37.337Z",{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},"2026-03-04 08:34:00.920Z","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},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":365,"id":369,"slug":370,"updated":371,"views":66},{"category":366},{"blogIds":367,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":368,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"fi5y0zd7vudw30e","ep-125-tls-wss-certificate-management-for-websocket","2026-06-24 11:16:37.209Z","rn62rb24heeyiyo","2026-01-12 03:50:15.171Z","เจาะลึกการใช้งาน TLS และ WSS สำหรับ WebSocket ตั้งแต่ความแตกต่างของ HTTPS vs WSS, การทำงานของ TLS Handshake, การจัดการ Certificate, Let’s Encrypt ไปจนถึง Zero-downtime Renewal สำหรับระบบ Production และ Enterprise","2026-06-07 06:43:21.662Z",{"alt":377,"cover_image_path":378,"created":379,"expand":380,"id":409,"published_at":410,"school_blog":405,"short_description":411,"title":377,"updated":412,"slug":406,"views":408},"EP.124 Security & Authentication ขั้นสูงสำหรับ WebSocket (JWT, Token Strategy & Secure Handshake)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F6ywcs1la9t4zwi0\u002Fcover_image_ep_qhtvcctin6.SecureHandshake.webp","2026-03-04 08:44:43.684Z",{"keywords":381,"locale":399,"school_blog":400},[382,383,384,389,394],{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"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":385,"created_by":15,"id":386,"name":387,"updated":388,"updated_by":15},"2026-03-04 08:44:42.096Z","kr1dmn7sxgv9vxg","JWT WebSocket","2026-06-07 06:46:37.493Z",{"collectionId":12,"collectionName":13,"created":390,"created_by":15,"id":391,"name":392,"updated":393,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-06-07 06:46:37.674Z",{"collectionId":12,"collectionName":13,"created":395,"created_by":15,"id":396,"name":397,"updated":398,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-06-07 06:46:29.432Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":401,"id":405,"slug":406,"updated":407,"views":408},{"category":402},{"blogIds":403,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":404,"name":58,"priority":59,"publish_at":60,"scheduled_at":48,"status":61,"updated":62,"updated_by":15},[],{"en":58,"th":58},"r4w3srsh9edadud","websocket-security-authentication-jwt-secure-handshake","2026-06-30 23:20:10.589Z",230,"6ywcs1la9t4zwi0","2026-01-12 03:40:06.435Z","เจาะลึกการออกแบบระบบ Security สำหรับ WebSocket ในระดับ Production และ Enterprise ครอบคลุม JWT, Token Strategy, การป้องกัน WebSocket Hijacking และการทำ Secure Handshake อย่างถูกต้อง เพื่อรองรับระบบที่มีข้อมูลสำคัญและผู้ใช้จำนวนมาก","2026-06-07 06:43:21.752Z",{"alt":414,"cover_image_path":415,"created":416,"expand":417,"id":449,"published_at":450,"school_blog":445,"short_description":451,"title":414,"updated":452,"slug":446,"views":448},"กว่าจะเป็นภาษา JavaScript: ภาษาที่สร้างใน 10 วัน แต่ครองโลกทั้งใบ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fdns2yj06p07cxiw\u002Fbrendan_eich_the_creator_of_java_script_at_netscape_featuring_the_js_logo_and_code_snippets_p5l8mdud8o.webp","2026-03-04 08:20:47.880Z",{"keywords":418,"locale":439,"school_blog":440},[419,424,429,434],{"collectionId":12,"collectionName":13,"created":420,"created_by":15,"id":421,"name":422,"updated":423,"updated_by":15},"2026-03-04 08:20:36.060Z","xcq4mt3coqo1odt","V8 Engine","2026-06-07 06:45:09.934Z",{"collectionId":12,"collectionName":13,"created":425,"created_by":15,"id":426,"name":427,"updated":428,"updated_by":15},"2026-03-04 08:20:38.187Z","b4o3toqgoc84295","Brendan Eich","2026-06-07 06:45:10.401Z",{"collectionId":12,"collectionName":13,"created":430,"created_by":15,"id":431,"name":432,"updated":433,"updated_by":15},"2026-03-04 08:20:39.625Z","0399whisr6wvh9x","ประวัติ JavaScript","2026-06-07 06:45:10.618Z",{"collectionId":12,"collectionName":13,"created":435,"created_by":15,"id":436,"name":437,"updated":438,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":184,"collectionId":46,"collectionName":47,"created":48,"expand":441,"id":445,"slug":446,"updated":447,"views":448},{"category":442},{"blogIds":443,"collectionId":52,"collectionName":53,"created":188,"created_by":15,"id":184,"image":48,"image_alt":48,"image_path":48,"label":444,"name":190,"priority":191,"publish_at":192,"scheduled_at":48,"status":61,"updated":193,"updated_by":15},[],{"en":190,"th":190},"n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-07-05 02:19:56.518Z",258,"dns2yj06p07cxiw","2026-01-08 05:35:46.937Z","เจาะลึกประวัติศาสตร์ JavaScript จากจุดเริ่มต้นที่ Netscape สู่สงครามเบราว์เซอร์ และการก้าวขึ้นเป็นราชาแห่งการพัฒนาเว็บด้วย V8 Engine","2026-06-07 06:42:44.726Z",{"alt":454,"cover_image_path":455,"created":456,"expand":457,"id":482,"published_at":483,"school_blog":478,"short_description":484,"title":454,"updated":485,"slug":479,"views":481},"Git for Team: ทำงานร่วมกับทีมอย่างไรให้โปร? คู่มือวาง Workflow ไม่ให้โค้ดพัง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fqtr2rpue3dll79j\u002Finfographic_showing_team_collaboration_using_git_and_git_hub_illustrating_branching_merging_and_pull_x2kuoopv4i.webp","2026-03-04 08:44:45.153Z",{"keywords":458,"locale":472,"school_blog":473},[459,464,465,470,471],{"collectionId":12,"collectionName":13,"created":460,"created_by":15,"id":461,"name":462,"updated":463,"updated_by":15},"2026-03-04 08:44:43.803Z","tsn8jg792h1wac5","Code Review","2026-06-07 06:46:37.827Z",{"collectionId":12,"collectionName":13,"created":120,"created_by":15,"id":121,"name":122,"updated":123,"updated_by":15},{"collectionId":12,"collectionName":13,"created":466,"created_by":15,"id":467,"name":468,"updated":469,"updated_by":15},"2026-03-04 08:44:44.171Z","4i5n5i9cpmuwg5n","ทำงานเป็นทีม","2026-06-07 06:46:37.953Z",{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},{"collectionId":12,"collectionName":13,"created":115,"created_by":15,"id":116,"name":117,"updated":118,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":136,"collectionId":46,"collectionName":47,"created":48,"expand":474,"id":478,"slug":479,"updated":480,"views":481},{"category":475},{"blogIds":476,"collectionId":52,"collectionName":53,"created":140,"created_by":15,"id":136,"image":141,"image_alt":48,"image_path":142,"label":477,"name":144,"priority":145,"publish_at":146,"scheduled_at":48,"status":61,"updated":147,"updated_by":15},[],{"en":144,"th":144},"p8mussz4d3imv1c","git-for-team-professional-workflow-guide","2026-07-06 10:31:07.582Z",514,"qtr2rpue3dll79j","2026-01-07 04:24:33.404Z","เลิกทำบาปต่อเพื่อนร่วมทีม! มาทำความเข้าใจการใช้ Git ในโลกแห่งความจริง ตั้งแต่การวางโครงสร้าง Branch ไปจนถึงกระบวนการ Pull Request และ Code Review เพื่อให้งานเดินหน้าอย่างไม่มีสะดุด","2026-06-07 06:43:22.195Z",7,12,440,37]