[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-5-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":511,"perPage":512,"totalItems":513,"totalPages":514},[5,75,123,164,200,237,277,318,357,400,437,474],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":71,"published_at":72,"school_blog":67,"short_description":73,"title":6,"updated":74,"slug":68,"views":70},"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","","m3dqo2zalnfaoof","Token Bucket","2026-04-10 16:12:47.845Z",{"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-04-10 16:12:47.992Z",{"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-04-10 16:08:07.808Z",{"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-04-10 16:07:25.893Z",{"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-04-10 16:07:26.172Z",{"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":15,"expand":53,"id":67,"slug":68,"updated":69,"views":70},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs",{"category":54},{"blogIds":55,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":61,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"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":62,"th":62},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-04-25 02:32:15.470Z","htou1khawwt2hn7","golang-the-series-ep-126-ddos-protection-rate-limiting","2026-05-16 17:12:44.975Z",255,"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":76,"cover_image_path":77,"created":78,"expand":79,"id":119,"published_at":120,"school_blog":115,"short_description":121,"title":76,"updated":122,"slug":116,"views":118},"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":80,"locale":101,"school_blog":102},[81,86,91,96],{"collectionId":12,"collectionName":13,"created":82,"created_by":15,"id":83,"name":84,"updated":85,"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":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:44:40.149Z","5uksedh6rrjozlk","การจัดการ Branch","2026-04-10 16:12:48.416Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},"2026-03-04 08:44:35.823Z","andd8rbw15sng17","GitHub","2026-04-10 16:12:47.387Z",{"collectionId":12,"collectionName":13,"created":97,"created_by":15,"id":98,"name":99,"updated":100,"updated_by":15},"2026-03-04 08:44:35.235Z","nesdqt6l5obkq2o","GitHub Workflow","2026-04-10 16:12:47.105Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":104,"id":115,"slug":116,"updated":117,"views":118},"spm4l1k5bgmhmmt",{"category":105},{"blogIds":106,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":110,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"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":111,"th":111},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","53gn7yw5p9z5mpp","github-workflow-2026-branching-standards","2026-05-17 14:14:31.741Z",277,"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":124,"cover_image_path":125,"created":126,"expand":127,"id":160,"published_at":161,"school_blog":156,"short_description":162,"title":124,"updated":163,"slug":157,"views":159},"กว่าจะเป็นภาษา 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":128,"locale":144,"school_blog":145},[129,134,139],{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:20:36.417Z","iv9nlsz49oc0x6p","ประวัติ Python","2026-04-10 16:07:27.698Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-04-10 16:07:26.827Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:20:37.794Z","x2c5z8w1cr41ij3","ภาษาโปรแกรมมิ่ง","2026-04-10 16:07:27.917Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":146,"collectionId":51,"collectionName":52,"created":15,"expand":147,"id":156,"slug":157,"updated":158,"views":159},"isnp2fv80bn3yem",{"category":148},{"blogIds":149,"collectionId":56,"collectionName":57,"created":150,"created_by":15,"id":146,"image":15,"image_alt":15,"image_path":15,"label":151,"name":152,"priority":153,"publish_at":154,"scheduled_at":15,"status":65,"updated":155,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":152,"th":152},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-04-25 02:32:14.031Z","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":165,"cover_image_path":166,"created":167,"expand":168,"id":196,"published_at":197,"school_blog":192,"short_description":198,"title":165,"updated":199,"slug":193,"views":195},"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":169,"locale":186,"school_blog":187},[170,175,180,185],{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"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":176,"created_by":15,"id":177,"name":178,"updated":179,"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":181,"created_by":15,"id":182,"name":183,"updated":184,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"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":15,"expand":188,"id":192,"slug":193,"updated":194,"views":195},{"category":189},{"blogIds":190,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":191,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"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":201,"cover_image_path":202,"created":203,"expand":204,"id":233,"published_at":234,"school_blog":229,"short_description":235,"title":201,"updated":236,"slug":230,"views":232},"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":205,"locale":223,"school_blog":224},[206,207,208,213,218],{"collectionId":12,"collectionName":13,"created":181,"created_by":15,"id":182,"name":183,"updated":184,"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":209,"created_by":15,"id":210,"name":211,"updated":212,"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":214,"created_by":15,"id":215,"name":216,"updated":217,"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":219,"created_by":15,"id":220,"name":221,"updated":222,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-04-10 16:12:41.774Z",{"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":15,"expand":225,"id":229,"slug":230,"updated":231,"views":232},{"category":226},{"blogIds":227,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":228,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"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":238,"cover_image_path":239,"created":240,"expand":241,"id":273,"published_at":274,"school_blog":269,"short_description":275,"title":238,"updated":276,"slug":270,"views":272},"กว่าจะเป็นภาษา 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":242,"locale":263,"school_blog":264},[243,248,253,258],{"collectionId":12,"collectionName":13,"created":244,"created_by":15,"id":245,"name":246,"updated":247,"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":249,"created_by":15,"id":250,"name":251,"updated":252,"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":254,"created_by":15,"id":255,"name":256,"updated":257,"updated_by":15},"2026-03-04 08:20:39.625Z","0399whisr6wvh9x","ประวัติ JavaScript","2026-04-10 16:07:28.151Z",{"collectionId":12,"collectionName":13,"created":259,"created_by":15,"id":260,"name":261,"updated":262,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":146,"collectionId":51,"collectionName":52,"created":15,"expand":265,"id":269,"slug":270,"updated":271,"views":272},{"category":266},{"blogIds":267,"collectionId":56,"collectionName":57,"created":150,"created_by":15,"id":146,"image":15,"image_alt":15,"image_path":15,"label":268,"name":152,"priority":153,"publish_at":154,"scheduled_at":15,"status":65,"updated":155,"updated_by":15},[],{"en":152,"th":152},"n4c7o0yqlwcv639","history-of-javascript-from-10-days-to-global-standard","2026-05-15 21:00:26.315Z",240,"dns2yj06p07cxiw","2026-01-08 05:35:46.937Z","เจาะลึกประวัติศาสตร์ JavaScript จากจุดเริ่มต้นที่ Netscape สู่สงครามเบราว์เซอร์ และการก้าวขึ้นเป็นราชาแห่งการพัฒนาเว็บด้วย V8 Engine","2026-05-11 21:45:19.127Z",{"alt":278,"cover_image_path":279,"created":280,"expand":281,"id":314,"published_at":315,"school_blog":310,"short_description":316,"title":278,"updated":317,"slug":311,"views":313},"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":282,"locale":304,"school_blog":305},[283,288,289,294,299],{"collectionId":12,"collectionName":13,"created":284,"created_by":15,"id":285,"name":286,"updated":287,"updated_by":15},"2026-03-04 08:44:43.803Z","tsn8jg792h1wac5","Code Review","2026-04-10 16:12:49.012Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},{"collectionId":12,"collectionName":13,"created":290,"created_by":15,"id":291,"name":292,"updated":293,"updated_by":15},"2026-03-04 08:44:44.171Z","4i5n5i9cpmuwg5n","ทำงานเป็นทีม","2026-04-10 16:12:49.172Z",{"collectionId":12,"collectionName":13,"created":295,"created_by":15,"id":296,"name":297,"updated":298,"updated_by":15},"2026-03-04 08:44:35.619Z","9z8e1xfjt07e7n9","Git Workflow","2026-04-10 16:12:47.226Z",{"collectionId":12,"collectionName":13,"created":300,"created_by":15,"id":301,"name":302,"updated":303,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-04-10 16:12:47.459Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":306,"id":310,"slug":311,"updated":312,"views":313},{"category":307},{"blogIds":308,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":309,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"p8mussz4d3imv1c","git-for-team-professional-workflow-guide","2026-05-15 04:01:08.033Z",420,"qtr2rpue3dll79j","2026-01-07 04:24:33.404Z","เลิกทำบาปต่อเพื่อนร่วมทีม! มาทำความเข้าใจการใช้ Git ในโลกแห่งความจริง ตั้งแต่การวางโครงสร้าง Branch ไปจนถึงกระบวนการ Pull Request และ Code Review เพื่อให้งานเดินหน้าอย่างไม่มีสะดุด","2026-05-08 06:51:56.957Z",{"alt":319,"cover_image_path":320,"created":321,"expand":322,"id":353,"published_at":354,"school_blog":350,"short_description":355,"title":319,"updated":356,"slug":351,"views":352},"กว่าจะเป็นภาษา 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":323,"locale":344,"school_blog":345},[324,329,334,339],{"collectionId":12,"collectionName":13,"created":325,"created_by":15,"id":326,"name":327,"updated":328,"updated_by":15},"2026-03-04 08:20:42.894Z","q8fw2bf4sm83pak","Bell Labs","2026-04-10 16:07:28.504Z",{"collectionId":12,"collectionName":13,"created":330,"created_by":15,"id":331,"name":332,"updated":333,"updated_by":15},"2026-03-04 08:20:45.500Z","9f8c26oyzxwvs13","Dennis Ritchie","2026-04-10 16:07:28.644Z",{"collectionId":12,"collectionName":13,"created":335,"created_by":15,"id":336,"name":337,"updated":338,"updated_by":15},"2026-03-04 08:20:47.293Z","ou39mpoaswi4aaw","ประวัติภาษา C","2026-04-10 16:07:28.935Z",{"collectionId":12,"collectionName":13,"created":340,"created_by":15,"id":341,"name":342,"updated":343,"updated_by":15},"2026-03-04 08:20:49.166Z","sfmbfwte78iapqh","ภาษา C","2026-04-10 16:07:29.136Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":146,"collectionId":51,"collectionName":52,"created":15,"expand":346,"id":350,"slug":351,"updated":15,"views":352},{"category":347},{"blogIds":348,"collectionId":56,"collectionName":57,"created":150,"created_by":15,"id":146,"image":15,"image_alt":15,"image_path":15,"label":349,"name":152,"priority":153,"publish_at":154,"scheduled_at":15,"status":65,"updated":155,"updated_by":15},[],{"en":152,"th":152},"si4b3bern5ywhh2","history-of-c-programming-language",238,"1g5o0h6567abvrn","2026-01-01 04:09:12.321Z","เจาะลึกประวัติศาสตร์ภาษา C จากจุดเริ่มต้นที่ Bell Labs สู่การเป็นรากฐานของ OS และภาษาโปรแกรมมิ่งทั่วโลก เรียนรู้เบื้องหลังความท้าทายทางเทคนิคที่เปลี่ยนโลกนักพัฒนาไปตลอดกาล","2026-05-11 21:45:19.372Z",{"alt":358,"cover_image_path":359,"created":360,"expand":361,"id":396,"published_at":397,"school_blog":393,"short_description":398,"title":358,"updated":399,"slug":394,"views":395},"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":362,"locale":379,"school_blog":380},[363,368,369,374],{"collectionId":12,"collectionName":13,"created":364,"created_by":15,"id":365,"name":366,"updated":367,"updated_by":15},"2026-03-04 08:44:47.024Z","p4tvi007knx0nib","Deploy Application","2026-04-10 16:12:49.798Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"updated_by":15},"2026-03-04 08:24:40.405Z","05u3tysava2z6ga","Node.js","2026-04-10 16:07:29.504Z",{"collectionId":12,"collectionName":13,"created":375,"created_by":15,"id":376,"name":377,"updated":378,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-04-10 16:12:49.890Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":381,"collectionId":51,"collectionName":52,"created":15,"expand":382,"id":393,"slug":394,"updated":15,"views":395},"hsa1afr8fcnd6qb",{"category":383},{"blogIds":384,"collectionId":56,"collectionName":57,"created":385,"created_by":15,"id":381,"image":386,"image_alt":15,"image_path":387,"label":388,"name":389,"priority":390,"publish_at":391,"scheduled_at":15,"status":65,"updated":392,"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":389,"th":389},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-04-25 02:32:14.339Z","2qqbgr4sjupn62h","deploy-application-go-vs-nodejs-production",230,"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-05-08 06:51:57.596Z",{"alt":401,"cover_image_path":402,"created":403,"expand":404,"id":433,"published_at":434,"school_blog":429,"short_description":435,"title":401,"updated":436,"slug":430,"views":432},"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":405,"locale":423,"school_blog":424},[406,407,412,417,422],{"collectionId":12,"collectionName":13,"created":300,"created_by":15,"id":301,"name":302,"updated":303,"updated_by":15},{"collectionId":12,"collectionName":13,"created":408,"created_by":15,"id":409,"name":410,"updated":411,"updated_by":15},"2026-03-04 08:44:45.516Z","3nmqs1jfzhl7unv","สอน Git","2026-04-10 16:12:49.430Z",{"collectionId":12,"collectionName":13,"created":413,"created_by":15,"id":414,"name":415,"updated":416,"updated_by":15},"2026-03-04 08:44:45.738Z","zii0fvxs1ygxi1r","Git สำหรับมือใหม่","2026-04-10 16:12:49.524Z",{"collectionId":12,"collectionName":13,"created":418,"created_by":15,"id":419,"name":420,"updated":421,"updated_by":15},"2026-03-04 08:44:46.125Z","reeulx12kt2xrmk","พื้นฐาน Git","2026-04-10 16:12:49.619Z",{"collectionId":12,"collectionName":13,"created":295,"created_by":15,"id":296,"name":297,"updated":298,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":103,"collectionId":51,"collectionName":52,"created":15,"expand":425,"id":429,"slug":430,"updated":431,"views":432},{"category":426},{"blogIds":427,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":428,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"8ljoi174s3n7xdv","git-for-beginners-visual-guide","2026-05-14 08:26:49.512Z",276,"0nq4jactw3ay5um","2025-12-30 10:31:28.406Z","เลิกตั้งชื่อไฟล์ Project_Final ได้แล้ว! มาทำความเข้าใจพื้นฐาน Git ผ่านภาพจำที่เข้าใจง่าย เรียนรู้ขั้นตอน Add, Commit และ Push แบบโปรแกรมเมอร์มืออาชีพ","2026-05-08 06:51:57.438Z",{"alt":438,"cover_image_path":439,"created":440,"expand":441,"id":470,"published_at":471,"school_blog":466,"short_description":472,"title":438,"updated":473,"slug":467,"views":469},"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":442,"locale":460,"school_blog":461},[443,448,449,454,459],{"collectionId":12,"collectionName":13,"created":444,"created_by":15,"id":445,"name":446,"updated":447,"updated_by":15},"2026-03-04 08:44:48.724Z","s6xhnfomy7n5ycp","WebSocket Server","2026-04-10 16:12:50.171Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":450,"created_by":15,"id":451,"name":452,"updated":453,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-04-10 16:08:08.875Z",{"collectionId":12,"collectionName":13,"created":455,"created_by":15,"id":456,"name":457,"updated":458,"updated_by":15},"2026-03-04 08:44:49.054Z","vbjgbr5ah0kh43p","Real-time System","2026-04-10 16:12:50.311Z",{"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":15,"expand":462,"id":466,"slug":467,"updated":468,"views":469},{"category":463},{"blogIds":464,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":465,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-05-08 21:11:54.216Z",261,"9jkgoya0lc1xyon","2025-12-30 09:45:56.384Z","เจาะลึกการออกแบบ Load Balancer สำหรับ WebSocket ตั้งแต่หลักการ Sticky Session ไปจนถึงแนวทาง Scale ระบบจริงบน Kubernetes เพื่อป้องกันการหลุดของ connection และรองรับผู้ใช้จำนวนมากในระดับ Production","2026-05-08 06:51:58.260Z",{"alt":475,"cover_image_path":476,"created":477,"expand":478,"id":507,"published_at":508,"school_blog":503,"short_description":509,"title":475,"updated":510,"slug":504,"views":506},"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":479,"locale":497,"school_blog":498},[480,481,482,487,492],{"collectionId":12,"collectionName":13,"created":181,"created_by":15,"id":182,"name":183,"updated":184,"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":483,"created_by":15,"id":484,"name":485,"updated":486,"updated_by":15},"2026-03-04 08:44:32.154Z","u0s66bjop3dljau","Horizontal Scaling","2026-04-10 16:12:46.399Z",{"collectionId":12,"collectionName":13,"created":488,"created_by":15,"id":489,"name":490,"updated":491,"updated_by":15},"2026-03-04 08:44:49.245Z","mmj7m8vbrznqxx6","Geo-Distributed","2026-04-10 16:12:50.450Z",{"collectionId":12,"collectionName":13,"created":493,"created_by":15,"id":494,"name":495,"updated":496,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-04-10 16:12:50.583Z",{"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":15,"expand":499,"id":503,"slug":504,"updated":505,"views":506},{"category":500},{"blogIds":501,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":502,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"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-05-08 06:51:58.530Z",5,12,410,35]