[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-6-12-Golang%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520The%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Series-all-all-createdAt:desc-default":3},{"data":4,"page":487,"perPage":488,"totalItems":489,"totalPages":490},[5,69,109,146,194,234,266,303,339,374,410,447],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":65,"published_at":66,"school_blog":61,"short_description":67,"title":6,"updated":68,"slug":62,"views":64},"กว่าจะเป็นภาษา 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":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:15.939Z","76qprkevbgfdps8","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},"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:20:15.564Z","9zhk20p0247axym","Google","2026-06-07 06:45:08.345Z",{"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":61,"slug":62,"updated":63,"views":64},"isnp2fv80bn3yem","pbc_2105096300","school_blogs","",{"category":50},{"blogIds":51,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":55,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:19:47.590Z",{"en":56,"th":56},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","published","2026-06-07 06:45:01.789Z","7nyg2flm9t53dgl","history-of-go-language-google-compilation-struggle","2026-06-01 10:19:09.629Z",251,"m6fpznlrztvh4d5","2026-01-28 00:54:25.928Z","เจาะลึกจุดกำเนิดของภาษา Go จากความหงุดหงิดของ 3 วิศวกรระดับตำนาน สู่ภาษาที่กลายเป็นรากฐานของ Docker และ Kubernetes","2026-06-07 06:42:43.526Z",{"alt":70,"cover_image_path":71,"created":72,"expand":73,"id":105,"published_at":106,"school_blog":101,"short_description":107,"title":70,"updated":108,"slug":102,"views":104},"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":74,"locale":87,"school_blog":88},[75,80,81,82],{"collectionId":12,"collectionName":13,"created":76,"created_by":15,"id":77,"name":78,"updated":79,"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":83,"created_by":15,"id":84,"name":85,"updated":86,"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},{"category":89,"collectionId":46,"collectionName":47,"created":48,"expand":90,"id":101,"slug":102,"updated":103,"views":104},"wqxt7ag2gn7xcmk",{"category":91},{"blogIds":92,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":96,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"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":97,"th":97},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","7z0t10yivtf6z9w","golang-high-availability-failover-design-guide","2026-06-09 11:33:06.896Z",242,"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":110,"cover_image_path":111,"created":112,"expand":113,"id":142,"published_at":143,"school_blog":138,"short_description":144,"title":110,"updated":145,"slug":139,"views":141},"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":114,"locale":132,"school_blog":133},[115,120,121,122,127],{"collectionId":12,"collectionName":13,"created":116,"created_by":15,"id":117,"name":118,"updated":119,"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":123,"created_by":15,"id":124,"name":125,"updated":126,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-06-07 06:46:35.275Z",{"collectionId":12,"collectionName":13,"created":128,"created_by":15,"id":129,"name":130,"updated":131,"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":89,"collectionId":46,"collectionName":47,"created":48,"expand":134,"id":138,"slug":139,"updated":140,"views":141},{"category":135},{"blogIds":136,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":137,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"updated_by":15},[],{"en":97,"th":97},"huvj1rgte3iwzdx","golang-observability-logging-monitoring-slog","2026-06-15 09:05:55.010Z",241,"wvtfc87vu8adv1s","2026-01-26 03:57:08.107Z","เรียนรู้ 3 เสาหลักในการทำ Observability ด้วยภาษา Go เจาะลึกการใช้ log\u002Fslog, Prometheus และแนวคิดการเปลี่ยนระบบให้โปร่งใสเพื่อการแก้ปัญหาที่รวดเร็วระดับมืออาชีพ","2026-06-07 06:43:19.708Z",{"alt":147,"cover_image_path":148,"created":149,"expand":150,"id":190,"published_at":191,"school_blog":186,"short_description":192,"title":147,"updated":193,"slug":187,"views":189},"คัมภีร์ 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":151,"locale":172,"school_blog":173},[152,157,162,167],{"collectionId":12,"collectionName":13,"created":153,"created_by":15,"id":154,"name":155,"updated":156,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-06-07 06:46:35.932Z",{"collectionId":12,"collectionName":13,"created":163,"created_by":15,"id":164,"name":165,"updated":166,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":168,"created_by":15,"id":169,"name":170,"updated":171,"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":174,"collectionId":46,"collectionName":47,"created":48,"expand":175,"id":186,"slug":187,"updated":188,"views":189},"spm4l1k5bgmhmmt",{"category":176},{"blogIds":177,"collectionId":52,"collectionName":53,"created":178,"created_by":15,"id":174,"image":179,"image_alt":48,"image_path":180,"label":181,"name":182,"priority":183,"publish_at":184,"scheduled_at":48,"status":59,"updated":185,"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":182,"th":182},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","87a0eh8dpji0woo","git-github-complete-manual-guide","2026-06-15 22:38:57.646Z",406,"dwh64w0g4p8mj0i","2026-01-21 03:29:41.862Z","เจาะลึกการใช้ Git และ GitHub ตั้งแต่พื้นฐาน 4 โซนสำคัญ การบริหารจัดการ Branch แบบมืออาชีพ ไปจนถึงเทคนิคการแก้ Code Conflict และการทำ Pull Request เพื่อการทำงานร่วมกันในทีมอย่างมีประสิทธิภาพ","2026-06-07 06:43:20.245Z",{"alt":195,"cover_image_path":196,"created":197,"expand":198,"id":230,"published_at":231,"school_blog":226,"short_description":232,"title":195,"updated":233,"slug":227,"views":229},"กว่าจะเป็นภาษา 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":199,"locale":220,"school_blog":221},[200,205,210,215],{"collectionId":12,"collectionName":13,"created":201,"created_by":15,"id":202,"name":203,"updated":204,"updated_by":15},"2026-03-04 08:20:25.947Z","trcc0ngsny7a9zh","Bytecode","2026-06-07 06:45:08.787Z",{"collectionId":12,"collectionName":13,"created":206,"created_by":15,"id":207,"name":208,"updated":209,"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":211,"created_by":15,"id":212,"name":213,"updated":214,"updated_by":15},"2026-03-04 08:20:31.631Z","9psyxnixy5hvrcv","ประวัติ Java","2026-06-07 06:45:09.396Z",{"collectionId":12,"collectionName":13,"created":216,"created_by":15,"id":217,"name":218,"updated":219,"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":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":48,"image_alt":48,"image_path":48,"label":225,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],{"en":56,"th":56},"wnjjzdrlrynynjv","the-making-of-java-write-once-run-anywhere","2026-06-12 02:11:52.222Z",249,"9zisuux1bzb1rsj","2026-01-20 02:33:48.613Z","เจาะลึกประวัติศาสตร์ Java จากโปรเจกต์เครื่องใช้ไฟฟ้าสู่ภาษาที่ครองโลกองค์กรและ Android เรียนรู้เบื้องหลังเทคโนโลยี JVM และการจัดการหน่วยความจำที่เปลี่ยนโลกซอฟต์แวร์","2026-06-07 06:42:44.100Z",{"alt":235,"cover_image_path":236,"created":237,"expand":238,"id":262,"published_at":263,"school_blog":258,"short_description":264,"title":235,"updated":265,"slug":259,"views":261},"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":239,"locale":252,"school_blog":253},[240,245,250,251],{"collectionId":12,"collectionName":13,"created":241,"created_by":15,"id":242,"name":243,"updated":244,"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":246,"created_by":15,"id":247,"name":248,"updated":249,"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":89,"collectionId":46,"collectionName":47,"created":48,"expand":254,"id":258,"slug":259,"updated":260,"views":261},{"category":255},{"blogIds":256,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":257,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"updated_by":15},[],{"en":97,"th":97},"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":267,"cover_image_path":268,"created":269,"expand":270,"id":299,"published_at":300,"school_blog":295,"short_description":301,"title":267,"updated":302,"slug":296,"views":298},"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":271,"locale":289,"school_blog":290},[272,277,282,287,288],{"collectionId":12,"collectionName":13,"created":273,"created_by":15,"id":274,"name":275,"updated":276,"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":278,"created_by":15,"id":279,"name":280,"updated":281,"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":283,"created_by":15,"id":284,"name":285,"updated":286,"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":89,"collectionId":46,"collectionName":47,"created":48,"expand":291,"id":295,"slug":296,"updated":297,"views":298},{"category":292},{"blogIds":293,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":294,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"updated_by":15},[],{"en":97,"th":97},"htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-06-15 00:24:02.779Z",261,"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":304,"cover_image_path":305,"created":306,"expand":307,"id":335,"published_at":336,"school_blog":331,"short_description":337,"title":304,"updated":338,"slug":332,"views":334},"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":308,"locale":325,"school_blog":326},[309,314,319,320],{"collectionId":12,"collectionName":13,"created":310,"created_by":15,"id":311,"name":312,"updated":313,"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":315,"created_by":15,"id":316,"name":317,"updated":318,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-06-07 06:46:37.210Z",{"collectionId":12,"collectionName":13,"created":158,"created_by":15,"id":159,"name":160,"updated":161,"updated_by":15},{"collectionId":12,"collectionName":13,"created":321,"created_by":15,"id":322,"name":323,"updated":324,"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":174,"collectionId":46,"collectionName":47,"created":48,"expand":327,"id":331,"slug":332,"updated":333,"views":334},{"category":328},{"blogIds":329,"collectionId":52,"collectionName":53,"created":178,"created_by":15,"id":174,"image":179,"image_alt":48,"image_path":180,"label":330,"name":182,"priority":183,"publish_at":184,"scheduled_at":48,"status":59,"updated":185,"updated_by":15},[],{"en":182,"th":182},"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":340,"cover_image_path":341,"created":342,"expand":343,"id":370,"published_at":371,"school_blog":366,"short_description":372,"title":340,"updated":373,"slug":367,"views":369},"กว่าจะเป็นภาษา 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":344,"locale":360,"school_blog":361},[345,350,355],{"collectionId":12,"collectionName":13,"created":346,"created_by":15,"id":347,"name":348,"updated":349,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-06-07 06:45:10.124Z",{"collectionId":12,"collectionName":13,"created":351,"created_by":15,"id":352,"name":353,"updated":354,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-06-07 06:45:08.957Z",{"collectionId":12,"collectionName":13,"created":356,"created_by":15,"id":357,"name":358,"updated":359,"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":45,"collectionId":46,"collectionName":47,"created":48,"expand":362,"id":366,"slug":367,"updated":368,"views":369},{"category":363},{"blogIds":364,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":365,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],{"en":56,"th":56},"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",{"alt":375,"cover_image_path":376,"created":377,"expand":378,"id":406,"published_at":407,"school_blog":402,"short_description":408,"title":375,"updated":409,"slug":403,"views":405},"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":379,"locale":396,"school_blog":397},[380,385,390,395],{"collectionId":12,"collectionName":13,"created":381,"created_by":15,"id":382,"name":383,"updated":384,"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":386,"created_by":15,"id":387,"name":388,"updated":389,"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":391,"created_by":15,"id":392,"name":393,"updated":394,"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":89,"collectionId":46,"collectionName":47,"created":48,"expand":398,"id":402,"slug":403,"updated":404,"views":405},{"category":399},{"blogIds":400,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":401,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"updated_by":15},[],{"en":97,"th":97},"fi5y0zd7vudw30e","ep-125-tls-wss-certificate-management-for-websocket","2026-06-15 14:32:31.532Z",240,"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":411,"cover_image_path":412,"created":413,"expand":414,"id":443,"published_at":444,"school_blog":439,"short_description":445,"title":411,"updated":446,"slug":440,"views":442},"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":415,"locale":433,"school_blog":434},[416,417,418,423,428],{"collectionId":12,"collectionName":13,"created":391,"created_by":15,"id":392,"name":393,"updated":394,"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":419,"created_by":15,"id":420,"name":421,"updated":422,"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":424,"created_by":15,"id":425,"name":426,"updated":427,"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":429,"created_by":15,"id":430,"name":431,"updated":432,"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":89,"collectionId":46,"collectionName":47,"created":48,"expand":435,"id":439,"slug":440,"updated":441,"views":442},{"category":436},{"blogIds":437,"collectionId":52,"collectionName":53,"created":93,"created_by":15,"id":89,"image":94,"image_alt":48,"image_path":95,"label":438,"name":97,"priority":98,"publish_at":99,"scheduled_at":48,"status":59,"updated":100,"updated_by":15},[],{"en":97,"th":97},"r4w3srsh9edadud","websocket-security-authentication-jwt-secure-handshake","2026-05-29 02:25:49.776Z",229,"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":448,"cover_image_path":449,"created":450,"expand":451,"id":483,"published_at":484,"school_blog":479,"short_description":485,"title":448,"updated":486,"slug":480,"views":482},"กว่าจะเป็นภาษา 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":452,"locale":473,"school_blog":474},[453,458,463,468],{"collectionId":12,"collectionName":13,"created":454,"created_by":15,"id":455,"name":456,"updated":457,"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":459,"created_by":15,"id":460,"name":461,"updated":462,"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":464,"created_by":15,"id":465,"name":466,"updated":467,"updated_by":15},"2026-03-04 08:20:39.625Z","0399whisr6wvh9x","ประวัติ JavaScript","2026-06-07 06:45:10.618Z",{"collectionId":12,"collectionName":13,"created":469,"created_by":15,"id":470,"name":471,"updated":472,"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":45,"collectionId":46,"collectionName":47,"created":48,"expand":475,"id":479,"slug":480,"updated":481,"views":482},{"category":476},{"blogIds":477,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":48,"image_alt":48,"image_path":48,"label":478,"name":56,"priority":57,"publish_at":58,"scheduled_at":48,"status":59,"updated":60,"updated_by":15},[],{"en":56,"th":56},"n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-06-15 03:42:20.889Z",256,"dns2yj06p07cxiw","2026-01-08 05:35:46.937Z","เจาะลึกประวัติศาสตร์ JavaScript จากจุดเริ่มต้นที่ Netscape สู่สงครามเบราว์เซอร์ และการก้าวขึ้นเป็นราชาแห่งการพัฒนาเว็บด้วย V8 Engine","2026-06-07 06:42:44.726Z",6,12,429,36]