[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-6-12-Web%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":514,"perPage":515,"totalItems":516,"totalPages":517},[5,76,124,165,201,238,278,319,359,403,440,477],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":72,"published_at":73,"school_blog":68,"short_description":74,"title":6,"updated":75,"slug":69,"views":71},"Golang The Series EP 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":10,"locale":39,"school_blog":49},[11,19,24,29,34],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-04 08:44:38.026Z","76qprkevbgfdps8","m3dqo2zalnfaoof","Token Bucket","2026-06-07 06:46:36.495Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":25,"created_by":15,"id":26,"name":27,"updated":28,"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":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":54,"id":68,"slug":69,"updated":70,"views":71},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":55},{"blogIds":56,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":62,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":63,"th":63},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-06-09 10:53:41.378Z",260,"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":77,"cover_image_path":78,"created":79,"expand":80,"id":120,"published_at":121,"school_blog":116,"short_description":122,"title":77,"updated":123,"slug":117,"views":119},"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":81,"locale":102,"school_blog":103},[82,87,92,97],{"collectionId":12,"collectionName":13,"created":83,"created_by":15,"id":84,"name":85,"updated":86,"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":88,"created_by":15,"id":89,"name":90,"updated":91,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-06-07 06:46:37.210Z",{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-06-07 06:46:35.932Z",{"collectionId":12,"collectionName":13,"created":98,"created_by":15,"id":99,"name":100,"updated":101,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-06-07 06:46:35.602Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":104,"collectionId":51,"collectionName":52,"created":53,"expand":105,"id":116,"slug":117,"updated":118,"views":119},"spm4l1k5bgmhmmt",{"category":106},{"blogIds":107,"collectionId":57,"collectionName":58,"created":108,"created_by":15,"id":104,"image":109,"image_alt":53,"image_path":110,"label":111,"name":112,"priority":113,"publish_at":114,"scheduled_at":53,"status":66,"updated":115,"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":112,"th":112},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","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":125,"cover_image_path":126,"created":127,"expand":128,"id":161,"published_at":162,"school_blog":157,"short_description":163,"title":125,"updated":164,"slug":158,"views":160},"กว่าจะเป็นภาษา 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":129,"locale":145,"school_blog":146},[130,135,140],{"collectionId":12,"collectionName":13,"created":131,"created_by":15,"id":132,"name":133,"updated":134,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-06-07 06:45:10.124Z",{"collectionId":12,"collectionName":13,"created":136,"created_by":15,"id":137,"name":138,"updated":139,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-06-07 06:45:08.957Z",{"collectionId":12,"collectionName":13,"created":141,"created_by":15,"id":142,"name":143,"updated":144,"updated_by":15},"2026-03-04 08:20:37.794Z","x2c5z8w1cr41ij3","ภาษาโปรแกรมมิ่ง","2026-06-07 06:45:10.234Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":147,"collectionId":51,"collectionName":52,"created":53,"expand":148,"id":157,"slug":158,"updated":159,"views":160},"isnp2fv80bn3yem",{"category":149},{"blogIds":150,"collectionId":57,"collectionName":58,"created":151,"created_by":15,"id":147,"image":53,"image_alt":53,"image_path":53,"label":152,"name":153,"priority":154,"publish_at":155,"scheduled_at":53,"status":66,"updated":156,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":153,"th":153},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-06-07 06:45:01.789Z","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":166,"cover_image_path":167,"created":168,"expand":169,"id":197,"published_at":198,"school_blog":193,"short_description":199,"title":166,"updated":200,"slug":194,"views":196},"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":170,"locale":187,"school_blog":188},[171,176,181,186],{"collectionId":12,"collectionName":13,"created":172,"created_by":15,"id":173,"name":174,"updated":175,"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":177,"created_by":15,"id":178,"name":179,"updated":180,"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":182,"created_by":15,"id":183,"name":184,"updated":185,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":189,"id":193,"slug":194,"updated":195,"views":196},{"category":190},{"blogIds":191,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":192,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"fi5y0zd7vudw30e","ep-125-tls-wss-certificate-management-for-websocket","2026-05-28 15:14:41.972Z",238,"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":202,"cover_image_path":203,"created":204,"expand":205,"id":234,"published_at":235,"school_blog":230,"short_description":236,"title":202,"updated":237,"slug":231,"views":233},"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":206,"locale":224,"school_blog":225},[207,208,209,214,219],{"collectionId":12,"collectionName":13,"created":182,"created_by":15,"id":183,"name":184,"updated":185,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":210,"created_by":15,"id":211,"name":212,"updated":213,"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":215,"created_by":15,"id":216,"name":217,"updated":218,"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":220,"created_by":15,"id":221,"name":222,"updated":223,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-06-07 06:46:29.432Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":226,"id":230,"slug":231,"updated":232,"views":233},{"category":227},{"blogIds":228,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":229,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"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":239,"cover_image_path":240,"created":241,"expand":242,"id":274,"published_at":275,"school_blog":270,"short_description":276,"title":239,"updated":277,"slug":271,"views":273},"กว่าจะเป็นภาษา 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":243,"locale":264,"school_blog":265},[244,249,254,259],{"collectionId":12,"collectionName":13,"created":245,"created_by":15,"id":246,"name":247,"updated":248,"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":250,"created_by":15,"id":251,"name":252,"updated":253,"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":255,"created_by":15,"id":256,"name":257,"updated":258,"updated_by":15},"2026-03-04 08:20:39.625Z","0399whisr6wvh9x","ประวัติ JavaScript","2026-06-07 06:45:10.618Z",{"collectionId":12,"collectionName":13,"created":260,"created_by":15,"id":261,"name":262,"updated":263,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":147,"collectionId":51,"collectionName":52,"created":53,"expand":266,"id":270,"slug":271,"updated":272,"views":273},{"category":267},{"blogIds":268,"collectionId":57,"collectionName":58,"created":151,"created_by":15,"id":147,"image":53,"image_alt":53,"image_path":53,"label":269,"name":153,"priority":154,"publish_at":155,"scheduled_at":53,"status":66,"updated":156,"updated_by":15},[],{"en":153,"th":153},"n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-06-09 10:47:59.280Z",250,"dns2yj06p07cxiw","2026-01-08 05:35:46.937Z","เจาะลึกประวัติศาสตร์ JavaScript จากจุดเริ่มต้นที่ Netscape สู่สงครามเบราว์เซอร์ และการก้าวขึ้นเป็นราชาแห่งการพัฒนาเว็บด้วย V8 Engine","2026-06-07 06:42:44.726Z",{"alt":279,"cover_image_path":280,"created":281,"expand":282,"id":315,"published_at":316,"school_blog":311,"short_description":317,"title":279,"updated":318,"slug":312,"views":314},"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":283,"locale":305,"school_blog":306},[284,289,290,295,300],{"collectionId":12,"collectionName":13,"created":285,"created_by":15,"id":286,"name":287,"updated":288,"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":93,"created_by":15,"id":94,"name":95,"updated":96,"updated_by":15},{"collectionId":12,"collectionName":13,"created":291,"created_by":15,"id":292,"name":293,"updated":294,"updated_by":15},"2026-03-04 08:44:44.171Z","4i5n5i9cpmuwg5n","ทำงานเป็นทีม","2026-06-07 06:46:37.953Z",{"collectionId":12,"collectionName":13,"created":296,"created_by":15,"id":297,"name":298,"updated":299,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-06-07 06:46:35.800Z",{"collectionId":12,"collectionName":13,"created":301,"created_by":15,"id":302,"name":303,"updated":304,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":104,"collectionId":51,"collectionName":52,"created":53,"expand":307,"id":311,"slug":312,"updated":313,"views":314},{"category":308},{"blogIds":309,"collectionId":57,"collectionName":58,"created":108,"created_by":15,"id":104,"image":109,"image_alt":53,"image_path":110,"label":310,"name":112,"priority":113,"publish_at":114,"scheduled_at":53,"status":66,"updated":115,"updated_by":15},[],{"en":112,"th":112},"p8mussz4d3imv1c","git-for-team-professional-workflow-guide","2026-06-09 17:07:32.610Z",458,"qtr2rpue3dll79j","2026-01-07 04:24:33.404Z","เลิกทำบาปต่อเพื่อนร่วมทีม! มาทำความเข้าใจการใช้ Git ในโลกแห่งความจริง ตั้งแต่การวางโครงสร้าง Branch ไปจนถึงกระบวนการ Pull Request และ Code Review เพื่อให้งานเดินหน้าอย่างไม่มีสะดุด","2026-06-07 06:43:22.195Z",{"alt":320,"cover_image_path":321,"created":322,"expand":323,"id":355,"published_at":356,"school_blog":351,"short_description":357,"title":320,"updated":358,"slug":352,"views":354},"กว่าจะเป็นภาษา C: รากฐานที่สร้างโลกโปรแกรมมิ่งสมัยใหม่","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1g5o0h6567abvrn\u002Fcover_image_the_origin_of_c_the_foundation_of_modern_programming_8of9mwux13.webp","2026-03-04 08:20:49.766Z",{"keywords":324,"locale":345,"school_blog":346},[325,330,335,340],{"collectionId":12,"collectionName":13,"created":326,"created_by":15,"id":327,"name":328,"updated":329,"updated_by":15},"2026-03-04 08:20:42.894Z","q8fw2bf4sm83pak","Bell Labs","2026-06-07 06:45:10.977Z",{"collectionId":12,"collectionName":13,"created":331,"created_by":15,"id":332,"name":333,"updated":334,"updated_by":15},"2026-03-04 08:20:45.500Z","9f8c26oyzxwvs13","Dennis Ritchie","2026-06-07 06:45:11.224Z",{"collectionId":12,"collectionName":13,"created":336,"created_by":15,"id":337,"name":338,"updated":339,"updated_by":15},"2026-03-04 08:20:47.293Z","ou39mpoaswi4aaw","ประวัติภาษา C","2026-06-07 06:45:11.423Z",{"collectionId":12,"collectionName":13,"created":341,"created_by":15,"id":342,"name":343,"updated":344,"updated_by":15},"2026-03-04 08:20:49.166Z","sfmbfwte78iapqh","ภาษา C","2026-06-07 06:45:11.704Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":147,"collectionId":51,"collectionName":52,"created":53,"expand":347,"id":351,"slug":352,"updated":353,"views":354},{"category":348},{"blogIds":349,"collectionId":57,"collectionName":58,"created":151,"created_by":15,"id":147,"image":53,"image_alt":53,"image_path":53,"label":350,"name":153,"priority":154,"publish_at":155,"scheduled_at":53,"status":66,"updated":156,"updated_by":15},[],{"en":153,"th":153},"si4b3bern5ywhh2","history-of-c-programming-language","2026-05-21 03:18:26.648Z",240,"1g5o0h6567abvrn","2026-01-01 04:09:12.321Z","เจาะลึกประวัติศาสตร์ภาษา C จากจุดเริ่มต้นที่ Bell Labs สู่การเป็นรากฐานของ OS และภาษาโปรแกรมมิ่งทั่วโลก เรียนรู้เบื้องหลังความท้าทายทางเทคนิคที่เปลี่ยนโลกนักพัฒนาไปตลอดกาล","2026-06-07 06:42:45.041Z",{"alt":360,"cover_image_path":361,"created":362,"expand":363,"id":399,"published_at":400,"school_blog":395,"short_description":401,"title":360,"updated":402,"slug":396,"views":398},"JS2GO EP.50 การ Deploy Application: Go vs Node.js สำหรับระบบ Production","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8hbhqgc0757fiic\u002Fcover_image_js2_go_ep_50_deploying_applications_go_vs_node_156u4kg4w1.oductionSystems.webp","2026-03-04 08:44:47.832Z",{"keywords":364,"locale":381,"school_blog":382},[365,370,371,376],{"collectionId":12,"collectionName":13,"created":366,"created_by":15,"id":367,"name":368,"updated":369,"updated_by":15},"2026-03-04 08:44:47.024Z","p4tvi007knx0nib","Deploy Application","2026-06-07 06:46:38.718Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":372,"created_by":15,"id":373,"name":374,"updated":375,"updated_by":15},"2026-03-04 08:24:40.405Z","05u3tysava2z6ga","Node.js","2026-06-07 06:45:12.195Z",{"collectionId":12,"collectionName":13,"created":377,"created_by":15,"id":378,"name":379,"updated":380,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-06-07 06:46:38.822Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":383,"collectionId":51,"collectionName":52,"created":53,"expand":384,"id":395,"slug":396,"updated":397,"views":398},"hsa1afr8fcnd6qb",{"category":385},{"blogIds":386,"collectionId":57,"collectionName":58,"created":387,"created_by":15,"id":383,"image":388,"image_alt":53,"image_path":389,"label":390,"name":391,"priority":392,"publish_at":393,"scheduled_at":53,"status":66,"updated":394,"updated_by":15},[],"2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":391,"th":391},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-06-07 06:45:02.240Z","2qqbgr4sjupn62h","deploy-application-go-vs-nodejs-production","2026-06-07 20:48:56.681Z",233,"8hbhqgc0757fiic","2025-12-30 10:59:34.161Z","บทสรุป End-to-End Deployment เปรียบเทียบ Go และ Node.js ในโลก Production ตั้งแต่ Build, Docker, Secrets, CI\u002FCD ไปจนถึง Zero-downtime Deployment จากประสบการณ์ใช้งานจริง","2026-06-07 06:43:22.811Z",{"alt":404,"cover_image_path":405,"created":406,"expand":407,"id":436,"published_at":437,"school_blog":432,"short_description":438,"title":404,"updated":439,"slug":433,"views":435},"Git สำหรับผู้เริ่มต้น: เข้าใจ Add, Commit, Push แบบเห็นภาพ ไม่ต้องท่องจำ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F0nq4jactw3ay5um\u002Finfographic_showing_git_workflow_working_directory_staging_area_and_local_repository_xretq2u7fp.webp","2026-03-04 08:44:47.152Z",{"keywords":408,"locale":426,"school_blog":427},[409,410,415,420,425],{"collectionId":12,"collectionName":13,"created":301,"created_by":15,"id":302,"name":303,"updated":304,"updated_by":15},{"collectionId":12,"collectionName":13,"created":411,"created_by":15,"id":412,"name":413,"updated":414,"updated_by":15},"2026-03-04 08:44:45.516Z","3nmqs1jfzhl7unv","สอน Git","2026-06-07 06:46:38.371Z",{"collectionId":12,"collectionName":13,"created":416,"created_by":15,"id":417,"name":418,"updated":419,"updated_by":15},"2026-03-04 08:44:45.738Z","zii0fvxs1ygxi1r","Git สำหรับมือใหม่","2026-06-07 06:46:38.466Z",{"collectionId":12,"collectionName":13,"created":421,"created_by":15,"id":422,"name":423,"updated":424,"updated_by":15},"2026-03-04 08:44:46.125Z","reeulx12kt2xrmk","พื้นฐาน Git","2026-06-07 06:46:38.568Z",{"collectionId":12,"collectionName":13,"created":296,"created_by":15,"id":297,"name":298,"updated":299,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":104,"collectionId":51,"collectionName":52,"created":53,"expand":428,"id":432,"slug":433,"updated":434,"views":435},{"category":429},{"blogIds":430,"collectionId":57,"collectionName":58,"created":108,"created_by":15,"id":104,"image":109,"image_alt":53,"image_path":110,"label":431,"name":112,"priority":113,"publish_at":114,"scheduled_at":53,"status":66,"updated":115,"updated_by":15},[],{"en":112,"th":112},"8ljoi174s3n7xdv","git-for-beginners-visual-guide","2026-06-07 22:25:05.605Z",280,"0nq4jactw3ay5um","2025-12-30 10:31:28.406Z","เลิกตั้งชื่อไฟล์ Project_Final ได้แล้ว! มาทำความเข้าใจพื้นฐาน Git ผ่านภาพจำที่เข้าใจง่าย เรียนรู้ขั้นตอน Add, Commit และ Push แบบโปรแกรมเมอร์มืออาชีพ","2026-06-07 06:43:22.517Z",{"alt":441,"cover_image_path":442,"created":443,"expand":444,"id":473,"published_at":474,"school_blog":469,"short_description":475,"title":441,"updated":476,"slug":470,"views":472},"EP.123 Load Balancing & Sticky Sessions สำหรับ WebSocket (Production-Ready Guide)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9jkgoya0lc1xyon\u002Fcover_image_ep_gqh5x2ytmj.onsforWebSocket.webp","2026-03-04 08:44:49.572Z",{"keywords":445,"locale":463,"school_blog":464},[446,451,452,457,462],{"collectionId":12,"collectionName":13,"created":447,"created_by":15,"id":448,"name":449,"updated":450,"updated_by":15},"2026-03-04 08:44:48.724Z","s6xhnfomy7n5ycp","WebSocket Server","2026-06-07 06:46:39.070Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":453,"created_by":15,"id":454,"name":455,"updated":456,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-06-07 06:46:00.116Z",{"collectionId":12,"collectionName":13,"created":458,"created_by":15,"id":459,"name":460,"updated":461,"updated_by":15},"2026-03-04 08:44:49.054Z","vbjgbr5ah0kh43p","Real-time System","2026-06-07 06:46:39.270Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":465,"id":469,"slug":470,"updated":471,"views":472},{"category":466},{"blogIds":467,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":468,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-05-27 08:01:51.970Z",270,"9jkgoya0lc1xyon","2025-12-30 09:45:56.384Z","เจาะลึกการออกแบบ Load Balancer สำหรับ WebSocket ตั้งแต่หลักการ Sticky Session ไปจนถึงแนวทาง Scale ระบบจริงบน Kubernetes เพื่อป้องกันการหลุดของ connection และรองรับผู้ใช้จำนวนมากในระดับ Production","2026-06-07 06:43:23.353Z",{"alt":478,"cover_image_path":479,"created":480,"expand":481,"id":510,"published_at":511,"school_blog":506,"short_description":512,"title":478,"updated":513,"slug":507,"views":509},"EP.122 ขยายระบบ WebSocket ข้าม Region ด้วย Geo-distributed Scaling","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fknc34p98jnuu78s\u002Fcover_image_ep_wgq6o3mql5.iesforWebSocket.webp","2026-03-04 08:44:49.918Z",{"keywords":482,"locale":500,"school_blog":501},[483,484,485,490,495],{"collectionId":12,"collectionName":13,"created":182,"created_by":15,"id":183,"name":184,"updated":185,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":486,"created_by":15,"id":487,"name":488,"updated":489,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-06-07 06:46:34.757Z",{"collectionId":12,"collectionName":13,"created":491,"created_by":15,"id":492,"name":493,"updated":494,"updated_by":15},"2026-03-04 08:44:49.245Z","mmj7m8vbrznqxx6","Geo-Distributed","2026-06-07 06:46:39.431Z",{"collectionId":12,"collectionName":13,"created":496,"created_by":15,"id":497,"name":498,"updated":499,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-06-07 06:46:39.574Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":502,"id":506,"slug":507,"updated":508,"views":509},{"category":503},{"blogIds":504,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":505,"name":63,"priority":64,"publish_at":65,"scheduled_at":53,"status":66,"updated":67,"updated_by":15},[],{"en":63,"th":63},"br3q5z8ln357s53","websocket-geo-scaling-strategies","2026-05-13 08:24:48.462Z",226,"knc34p98jnuu78s","2025-12-30 09:45:47.000Z","เรียนรู้แนวทางขยาย WebSocket Server แบบข้ามภูมิภาค เพื่อลด latency รองรับผู้ใช้ทั่วโลก และวางโครงสร้างให้พร้อมระดับ Enterprise","2026-06-07 06:43:23.504Z",6,12,423,36]