[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-5-12-superdev%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520academy-all-all-createdAt:desc-default":3},{"data":4,"page":486,"perPage":487,"totalItems":488,"totalPages":489},[5,68,108,145,193,233,265,302,338,373,409,446],{"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},"กว่าจะเป็นภาษา 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","","v9v7ah7oaphr5n4","ประวัติภาษา Go","2026-04-10 16:07:26.449Z",{"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-04-10 16:07:25.893Z",{"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-04-10 16:07:26.172Z",{"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-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},"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","7nyg2flm9t53dgl","history-of-go-language-google-compilation-struggle","2026-05-26 01:41:19.101Z",249,"m6fpznlrztvh4d5","2026-01-28 00:54:25.928Z","เจาะลึกจุดกำเนิดของภาษา Go จากความหงุดหงิดของ 3 วิศวกรระดับตำนาน สู่ภาษาที่กลายเป็นรากฐานของ Docker และ Kubernetes","2026-05-11 21:45:18.241Z",{"alt":69,"cover_image_path":70,"created":71,"expand":72,"id":104,"published_at":105,"school_blog":100,"short_description":106,"title":69,"updated":107,"slug":101,"views":103},"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":73,"locale":86,"school_blog":87},[74,79,80,81],{"collectionId":12,"collectionName":13,"created":75,"created_by":15,"id":76,"name":77,"updated":78,"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":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":82,"created_by":15,"id":83,"name":84,"updated":85,"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":88,"collectionId":46,"collectionName":47,"created":15,"expand":89,"id":100,"slug":101,"updated":102,"views":103},"wqxt7ag2gn7xcmk",{"category":90},{"blogIds":91,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":95,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"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":96,"th":96},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","7z0t10yivtf6z9w","golang-high-availability-failover-design-guide","2026-05-24 23:03:17.551Z",241,"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":109,"cover_image_path":110,"created":111,"expand":112,"id":141,"published_at":142,"school_blog":137,"short_description":143,"title":109,"updated":144,"slug":138,"views":140},"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":113,"locale":131,"school_blog":132},[114,119,120,121,126],{"collectionId":12,"collectionName":13,"created":115,"created_by":15,"id":116,"name":117,"updated":118,"updated_by":15},"2026-03-04 08:44:34.753Z","l1a17htphmxe52a","Observability","2026-04-10 16:12:46.998Z",{"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":122,"created_by":15,"id":123,"name":124,"updated":125,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-04-10 16:12:46.904Z",{"collectionId":12,"collectionName":13,"created":127,"created_by":15,"id":128,"name":129,"updated":130,"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":88,"collectionId":46,"collectionName":47,"created":15,"expand":133,"id":137,"slug":138,"updated":139,"views":140},{"category":134},{"blogIds":135,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":136,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"updated_by":15},[],{"en":96,"th":96},"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":146,"cover_image_path":147,"created":148,"expand":149,"id":189,"published_at":190,"school_blog":185,"short_description":191,"title":146,"updated":192,"slug":186,"views":188},"คัมภีร์ 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":150,"locale":171,"school_blog":172},[151,156,161,166],{"collectionId":12,"collectionName":13,"created":152,"created_by":15,"id":153,"name":154,"updated":155,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"collectionId":12,"collectionName":13,"created":157,"created_by":15,"id":158,"name":159,"updated":160,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-04-10 16:12:47.387Z",{"collectionId":12,"collectionName":13,"created":162,"created_by":15,"id":163,"name":164,"updated":165,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-04-10 16:07:36.426Z",{"collectionId":12,"collectionName":13,"created":167,"created_by":15,"id":168,"name":169,"updated":170,"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":173,"collectionId":46,"collectionName":47,"created":15,"expand":174,"id":185,"slug":186,"updated":187,"views":188},"spm4l1k5bgmhmmt",{"category":175},{"blogIds":176,"collectionId":51,"collectionName":52,"created":177,"created_by":15,"id":173,"image":178,"image_alt":15,"image_path":179,"label":180,"name":181,"priority":182,"publish_at":183,"scheduled_at":15,"status":58,"updated":184,"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":181,"th":181},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","87a0eh8dpji0woo","git-github-complete-manual-guide","2026-05-27 08:10:32.014Z",377,"dwh64w0g4p8mj0i","2026-01-21 03:29:41.862Z","เจาะลึกการใช้ Git และ GitHub ตั้งแต่พื้นฐาน 4 โซนสำคัญ การบริหารจัดการ Branch แบบมืออาชีพ ไปจนถึงเทคนิคการแก้ Code Conflict และการทำ Pull Request เพื่อการทำงานร่วมกันในทีมอย่างมีประสิทธิภาพ","2026-05-08 06:51:53.621Z",{"alt":194,"cover_image_path":195,"created":196,"expand":197,"id":229,"published_at":230,"school_blog":225,"short_description":231,"title":194,"updated":232,"slug":226,"views":228},"กว่าจะเป็นภาษา 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":198,"locale":219,"school_blog":220},[199,204,209,214],{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},"2026-03-04 08:20:25.947Z","trcc0ngsny7a9zh","Bytecode","2026-04-10 16:07:26.683Z",{"collectionId":12,"collectionName":13,"created":205,"created_by":15,"id":206,"name":207,"updated":208,"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":210,"created_by":15,"id":211,"name":212,"updated":213,"updated_by":15},"2026-03-04 08:20:31.631Z","9psyxnixy5hvrcv","ประวัติ Java","2026-04-10 16:07:27.099Z",{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"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":221,"id":225,"slug":226,"updated":227,"views":228},{"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},"wnjjzdrlrynynjv","the-making-of-java-write-once-run-anywhere","2026-05-14 07:35:07.999Z",248,"9zisuux1bzb1rsj","2026-01-20 02:33:48.613Z","เจาะลึกประวัติศาสตร์ Java จากโปรเจกต์เครื่องใช้ไฟฟ้าสู่ภาษาที่ครองโลกองค์กรและ Android เรียนรู้เบื้องหลังเทคโนโลยี JVM และการจัดการหน่วยความจำที่เปลี่ยนโลกซอฟต์แวร์","2026-05-11 21:45:18.656Z",{"alt":234,"cover_image_path":235,"created":236,"expand":237,"id":261,"published_at":262,"school_blog":257,"short_description":263,"title":234,"updated":264,"slug":258,"views":260},"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":238,"locale":251,"school_blog":252},[239,244,249,250],{"collectionId":12,"collectionName":13,"created":240,"created_by":15,"id":241,"name":242,"updated":243,"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":245,"created_by":15,"id":246,"name":247,"updated":248,"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":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":88,"collectionId":46,"collectionName":47,"created":15,"expand":253,"id":257,"slug":258,"updated":259,"views":260},{"category":254},{"blogIds":255,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":256,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"updated_by":15},[],{"en":96,"th":96},"dfoukm4b8ogtmtf","golang-the-series-ep-127-connection-management-circuit-breaker","2026-05-24 18:26:13.970Z",243,"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":266,"cover_image_path":267,"created":268,"expand":269,"id":298,"published_at":299,"school_blog":294,"short_description":300,"title":266,"updated":301,"slug":295,"views":297},"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":270,"locale":288,"school_blog":289},[271,276,281,286,287],{"collectionId":12,"collectionName":13,"created":272,"created_by":15,"id":273,"name":274,"updated":275,"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":277,"created_by":15,"id":278,"name":279,"updated":280,"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":282,"created_by":15,"id":283,"name":284,"updated":285,"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":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":88,"collectionId":46,"collectionName":47,"created":15,"expand":290,"id":294,"slug":295,"updated":296,"views":297},{"category":291},{"blogIds":292,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":293,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"updated_by":15},[],{"en":96,"th":96},"htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-05-24 22:59:08.082Z",256,"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":303,"cover_image_path":304,"created":305,"expand":306,"id":334,"published_at":335,"school_blog":330,"short_description":336,"title":303,"updated":337,"slug":331,"views":333},"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":307,"locale":324,"school_blog":325},[308,313,318,319],{"collectionId":12,"collectionName":13,"created":309,"created_by":15,"id":310,"name":311,"updated":312,"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":314,"created_by":15,"id":315,"name":316,"updated":317,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-04-10 16:12:48.416Z",{"collectionId":12,"collectionName":13,"created":157,"created_by":15,"id":158,"name":159,"updated":160,"updated_by":15},{"collectionId":12,"collectionName":13,"created":320,"created_by":15,"id":321,"name":322,"updated":323,"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":173,"collectionId":46,"collectionName":47,"created":15,"expand":326,"id":330,"slug":331,"updated":332,"views":333},{"category":327},{"blogIds":328,"collectionId":51,"collectionName":52,"created":177,"created_by":15,"id":173,"image":178,"image_alt":15,"image_path":179,"label":329,"name":181,"priority":182,"publish_at":183,"scheduled_at":15,"status":58,"updated":184,"updated_by":15},[],{"en":181,"th":181},"53gn7yw5p9z5mpp","github-workflow-2026-branching-standards","2026-05-24 06:49:49.492Z",284,"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",{"alt":339,"cover_image_path":340,"created":341,"expand":342,"id":369,"published_at":370,"school_blog":365,"short_description":371,"title":339,"updated":372,"slug":366,"views":368},"กว่าจะเป็นภาษา 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":343,"locale":359,"school_blog":360},[344,349,354],{"collectionId":12,"collectionName":13,"created":345,"created_by":15,"id":346,"name":347,"updated":348,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-04-10 16:07:27.698Z",{"collectionId":12,"collectionName":13,"created":350,"created_by":15,"id":351,"name":352,"updated":353,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-04-10 16:07:26.827Z",{"collectionId":12,"collectionName":13,"created":355,"created_by":15,"id":356,"name":357,"updated":358,"updated_by":15},"2026-03-04 08:20:37.794Z","x2c5z8w1cr41ij3","ภาษาโปรแกรมมิ่ง","2026-04-10 16:07:27.917Z",{"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":361,"id":365,"slug":366,"updated":367,"views":368},{"category":362},{"blogIds":363,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":15,"image_alt":15,"image_path":15,"label":364,"name":55,"priority":56,"publish_at":57,"scheduled_at":15,"status":58,"updated":59,"updated_by":15},[],{"en":55,"th":55},"2ds3ja0ldoccxbe","history-of-python-from-hobby-to-ai","2026-05-11 20:24:38.756Z",234,"250hnpwl1lt455z","2026-01-14 05:00:27.370Z","เจาะลึกเส้นทาง Python จากโปรเจกต์แก้เบื่อของ Guido van Rossum สู่การเป็นภาษาหลักที่ NASA และวงการ AI ระดับโลกเลือกใช้","2026-05-11 21:45:18.883Z",{"alt":374,"cover_image_path":375,"created":376,"expand":377,"id":405,"published_at":406,"school_blog":401,"short_description":407,"title":374,"updated":408,"slug":402,"views":404},"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":378,"locale":395,"school_blog":396},[379,384,389,394],{"collectionId":12,"collectionName":13,"created":380,"created_by":15,"id":381,"name":382,"updated":383,"updated_by":15},"2026-03-04 08:44:41.631Z","sipxojme8z97ei7","WebSocket TLS","2026-04-10 16:12:48.685Z",{"collectionId":12,"collectionName":13,"created":385,"created_by":15,"id":386,"name":387,"updated":388,"updated_by":15},"2026-03-04 08:44:41.420Z","xjki2vhsm3f0jb4","WSS WebSocket","2026-04-10 16:12:48.600Z",{"collectionId":12,"collectionName":13,"created":390,"created_by":15,"id":391,"name":392,"updated":393,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"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":88,"collectionId":46,"collectionName":47,"created":15,"expand":397,"id":401,"slug":402,"updated":403,"views":404},{"category":398},{"blogIds":399,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":400,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"updated_by":15},[],{"en":96,"th":96},"fi5y0zd7vudw30e","ep-125-tls-wss-certificate-management-for-websocket","2026-05-17 14:44:19.849Z",237,"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-05-08 06:51:56.053Z",{"alt":410,"cover_image_path":411,"created":412,"expand":413,"id":442,"published_at":443,"school_blog":438,"short_description":444,"title":410,"updated":445,"slug":439,"views":441},"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":414,"locale":432,"school_blog":433},[415,416,417,422,427],{"collectionId":12,"collectionName":13,"created":390,"created_by":15,"id":391,"name":392,"updated":393,"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":418,"created_by":15,"id":419,"name":420,"updated":421,"updated_by":15},"2026-03-04 08:44:42.096Z","kr1dmn7sxgv9vxg","JWT WebSocket","2026-04-10 16:12:48.849Z",{"collectionId":12,"collectionName":13,"created":423,"created_by":15,"id":424,"name":425,"updated":426,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-04-10 16:12:48.917Z",{"collectionId":12,"collectionName":13,"created":428,"created_by":15,"id":429,"name":430,"updated":431,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-04-10 16:12:41.774Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":88,"collectionId":46,"collectionName":47,"created":15,"expand":434,"id":438,"slug":439,"updated":440,"views":441},{"category":435},{"blogIds":436,"collectionId":51,"collectionName":52,"created":92,"created_by":15,"id":88,"image":93,"image_alt":15,"image_path":94,"label":437,"name":96,"priority":97,"publish_at":98,"scheduled_at":15,"status":58,"updated":99,"updated_by":15},[],{"en":96,"th":96},"r4w3srsh9edadud","websocket-security-authentication-jwt-secure-handshake","2026-05-13 10:06:04.771Z",228,"6ywcs1la9t4zwi0","2026-01-12 03:40:06.435Z","เจาะลึกการออกแบบระบบ Security สำหรับ WebSocket ในระดับ Production และ Enterprise ครอบคลุม JWT, Token Strategy, การป้องกัน WebSocket Hijacking และการทำ Secure Handshake อย่างถูกต้อง เพื่อรองรับระบบที่มีข้อมูลสำคัญและผู้ใช้จำนวนมาก","2026-05-08 06:51:56.302Z",{"alt":447,"cover_image_path":448,"created":449,"expand":450,"id":482,"published_at":483,"school_blog":478,"short_description":484,"title":447,"updated":485,"slug":479,"views":481},"กว่าจะเป็นภาษา 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":451,"locale":472,"school_blog":473},[452,457,462,467],{"collectionId":12,"collectionName":13,"created":453,"created_by":15,"id":454,"name":455,"updated":456,"updated_by":15},"2026-03-04 08:20:36.060Z","xcq4mt3coqo1odt","V8 Engine","2026-04-10 16:07:27.526Z",{"collectionId":12,"collectionName":13,"created":458,"created_by":15,"id":459,"name":460,"updated":461,"updated_by":15},"2026-03-04 08:20:38.187Z","b4o3toqgoc84295","Brendan Eich","2026-04-10 16:07:27.995Z",{"collectionId":12,"collectionName":13,"created":463,"created_by":15,"id":464,"name":465,"updated":466,"updated_by":15},"2026-03-04 08:20:39.625Z","0399whisr6wvh9x","ประวัติ JavaScript","2026-04-10 16:07:28.151Z",{"collectionId":12,"collectionName":13,"created":468,"created_by":15,"id":469,"name":470,"updated":471,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"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":474,"id":478,"slug":479,"updated":480,"views":481},{"category":475},{"blogIds":476,"collectionId":51,"collectionName":52,"created":53,"created_by":15,"id":45,"image":15,"image_alt":15,"image_path":15,"label":477,"name":55,"priority":56,"publish_at":57,"scheduled_at":15,"status":58,"updated":59,"updated_by":15},[],{"en":55,"th":55},"n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-05-27 05:43:25.252Z",245,"dns2yj06p07cxiw","2026-01-08 05:35:46.937Z","เจาะลึกประวัติศาสตร์ JavaScript จากจุดเริ่มต้นที่ Netscape สู่สงครามเบราว์เซอร์ และการก้าวขึ้นเป็นราชาแห่งการพัฒนาเว็บด้วย V8 Engine","2026-05-11 21:45:19.127Z",5,12,416,35]