[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-8-12-How%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520to-all-all-createdAt:desc-default":3},{"data":4,"page":57,"perPage":504,"totalItems":505,"totalPages":506},[5,69,117,170,219,260,290,321,363,400,439,471],{"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},"กว่าจะเป็นภาษา 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":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:42.894Z","76qprkevbgfdps8","q8fw2bf4sm83pak","Bell Labs","2026-06-07 06:45:10.977Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:20:47.293Z","ou39mpoaswi4aaw","ประวัติภาษา C","2026-06-07 06:45:11.423Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:49.166Z","sfmbfwte78iapqh","ภาษา C","2026-06-07 06:45:11.704Z",{"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","si4b3bern5ywhh2","history-of-c-programming-language","2026-06-23 23:33:49.269Z",242,"1g5o0h6567abvrn","2026-01-01 04:09:12.321Z","เจาะลึกประวัติศาสตร์ภาษา C จากจุดเริ่มต้นที่ Bell Labs สู่การเป็นรากฐานของ OS และภาษาโปรแกรมมิ่งทั่วโลก เรียนรู้เบื้องหลังความท้าทายทางเทคนิคที่เปลี่ยนโลกนักพัฒนาไปตลอดกาล","2026-06-07 06:42:45.041Z",{"alt":70,"cover_image_path":71,"created":72,"expand":73,"id":113,"published_at":114,"school_blog":109,"short_description":115,"title":70,"updated":116,"slug":110,"views":112},"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":74,"locale":95,"school_blog":96},[75,80,85,90],{"collectionId":12,"collectionName":13,"created":76,"created_by":15,"id":77,"name":78,"updated":79,"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":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":86,"created_by":15,"id":87,"name":88,"updated":89,"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":91,"created_by":15,"id":92,"name":93,"updated":94,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-06-07 06:46:38.822Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":97,"collectionId":46,"collectionName":47,"created":48,"expand":98,"id":109,"slug":110,"updated":111,"views":112},"hsa1afr8fcnd6qb",{"category":99},{"blogIds":100,"collectionId":52,"collectionName":53,"created":101,"created_by":15,"id":97,"image":102,"image_alt":48,"image_path":103,"label":104,"name":105,"priority":106,"publish_at":107,"scheduled_at":48,"status":59,"updated":108,"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":105,"th":105},"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-27 17:50:34.589Z",235,"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":118,"cover_image_path":119,"created":120,"expand":121,"id":166,"published_at":167,"school_blog":162,"short_description":168,"title":118,"updated":169,"slug":163,"views":165},"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":122,"locale":148,"school_blog":149},[123,128,133,138,143],{"collectionId":12,"collectionName":13,"created":124,"created_by":15,"id":125,"name":126,"updated":127,"updated_by":15},"2026-03-04 08:44:36.134Z","pg679bitpkii9vv","Git","2026-06-07 06:46:36.158Z",{"collectionId":12,"collectionName":13,"created":129,"created_by":15,"id":130,"name":131,"updated":132,"updated_by":15},"2026-03-04 08:44:45.516Z","3nmqs1jfzhl7unv","สอน Git","2026-06-07 06:46:38.371Z",{"collectionId":12,"collectionName":13,"created":134,"created_by":15,"id":135,"name":136,"updated":137,"updated_by":15},"2026-03-04 08:44:45.738Z","zii0fvxs1ygxi1r","Git สำหรับมือใหม่","2026-06-07 06:46:38.466Z",{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"updated_by":15},"2026-03-04 08:44:46.125Z","reeulx12kt2xrmk","พื้นฐาน Git","2026-06-07 06:46:38.568Z",{"collectionId":12,"collectionName":13,"created":144,"created_by":15,"id":145,"name":146,"updated":147,"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":150,"collectionId":46,"collectionName":47,"created":48,"expand":151,"id":162,"slug":163,"updated":164,"views":165},"spm4l1k5bgmhmmt",{"category":152},{"blogIds":153,"collectionId":52,"collectionName":53,"created":154,"created_by":15,"id":150,"image":155,"image_alt":48,"image_path":156,"label":157,"name":158,"priority":159,"publish_at":160,"scheduled_at":48,"status":59,"updated":161,"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":158,"th":158},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","8ljoi174s3n7xdv","git-for-beginners-visual-guide","2026-06-29 05:17:25.725Z",282,"0nq4jactw3ay5um","2025-12-30 10:31:28.406Z","เลิกตั้งชื่อไฟล์ Project_Final ได้แล้ว! มาทำความเข้าใจพื้นฐาน Git ผ่านภาพจำที่เข้าใจง่าย เรียนรู้ขั้นตอน Add, Commit และ Push แบบโปรแกรมเมอร์มืออาชีพ","2026-06-07 06:43:22.517Z",{"alt":171,"cover_image_path":172,"created":173,"expand":174,"id":215,"published_at":216,"school_blog":211,"short_description":217,"title":171,"updated":218,"slug":212,"views":214},"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":175,"locale":197,"school_blog":198},[176,181,182,187,192],{"collectionId":12,"collectionName":13,"created":177,"created_by":15,"id":178,"name":179,"updated":180,"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":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":183,"created_by":15,"id":184,"name":185,"updated":186,"updated_by":15},"2026-03-04 08:34:10.799Z","m3qoswhgnc4c38n","Kubernetes","2026-06-07 06:46:00.116Z",{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"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":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":200,"id":211,"slug":212,"updated":213,"views":214},"wqxt7ag2gn7xcmk",{"category":201},{"blogIds":202,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":206,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"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":207,"th":207},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","rr43ycru4104v7f","ep-123-load-balancing-sticky-sessions-websocket","2026-07-06 16:41:46.038Z",272,"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":220,"cover_image_path":221,"created":222,"expand":223,"id":256,"published_at":257,"school_blog":252,"short_description":258,"title":220,"updated":259,"slug":253,"views":255},"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":224,"locale":246,"school_blog":247},[225,230,231,236,241],{"collectionId":12,"collectionName":13,"created":226,"created_by":15,"id":227,"name":228,"updated":229,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":232,"created_by":15,"id":233,"name":234,"updated":235,"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":237,"created_by":15,"id":238,"name":239,"updated":240,"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":242,"created_by":15,"id":243,"name":244,"updated":245,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-06-07 06:46:39.574Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":248,"id":252,"slug":253,"updated":254,"views":255},{"category":249},{"blogIds":250,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":251,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"updated_by":15},[],{"en":207,"th":207},"br3q5z8ln357s53","websocket-geo-scaling-strategies","2026-07-05 00:19:59.399Z",227,"knc34p98jnuu78s","2025-12-30 09:45:47.000Z","เรียนรู้แนวทางขยาย WebSocket Server แบบข้ามภูมิภาค เพื่อลด latency รองรับผู้ใช้ทั่วโลก และวางโครงสร้างให้พร้อมระดับ Enterprise","2026-06-07 06:43:23.504Z",{"alt":261,"cover_image_path":262,"created":263,"expand":264,"id":286,"published_at":287,"school_blog":282,"short_description":288,"title":261,"updated":289,"slug":283,"views":285},"EP.121 Deploy WebSocket Server บน Kubernetes ให้เสถียรและพร้อมใช้งานจริง","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F7zzc9diqnbfzpd5\u002Fcover_image_ep_itflh3jc0p.oductionSystems.webp","2026-03-04 08:44:50.865Z",{"keywords":265,"locale":276,"school_blog":277},[266,267,268,273,274,275],{"collectionId":12,"collectionName":13,"created":226,"created_by":15,"id":227,"name":228,"updated":229,"updated_by":15},{"collectionId":12,"collectionName":13,"created":183,"created_by":15,"id":184,"name":185,"updated":186,"updated_by":15},{"collectionId":12,"collectionName":13,"created":269,"created_by":15,"id":270,"name":271,"updated":272,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-06-07 06:46:31.098Z",{"collectionId":12,"collectionName":13,"created":91,"created_by":15,"id":92,"name":93,"updated":94,"updated_by":15},{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":278,"id":282,"slug":283,"updated":284,"views":285},{"category":279},{"blogIds":280,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":281,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"updated_by":15},[],{"en":207,"th":207},"jdvfu3khsdfw08k","deploy-websocket-server-kubernetes-production","2026-07-05 00:19:18.129Z",280,"7zzc9diqnbfzpd5","2025-12-29 10:10:07.916Z","เรียนรู้วิธี Deploy WebSocket Server ด้วย Kubernetes ตั้งแต่การสร้าง Docker Image, ตั้งค่า Load Balancer, ใช้ Sticky Session, Auto Scaling และจัดการ Graceful Shutdown ให้พร้อมใช้งานในระดับ Production จริง","2026-06-07 06:43:23.871Z",{"alt":291,"cover_image_path":292,"created":293,"expand":294,"id":317,"published_at":318,"school_blog":314,"short_description":319,"title":291,"updated":320,"slug":315,"views":64},"EP.120 Whiteboard & Real-time Drawing Synchronization ด้วย WebSocket","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fb3o64zx8imsejrd\u002Fcover_image_ep_siccboj32o.onwithWebSocket.webp","2026-03-04 08:44:52.925Z",{"keywords":295,"locale":308,"school_blog":309},[296,297,301,302,303],{"collectionId":12,"collectionName":13,"created":226,"created_by":15,"id":227,"name":228,"updated":229,"updated_by":15},{"collectionId":12,"collectionName":13,"created":298,"created_by":15,"id":299,"name":207,"updated":300,"updated_by":15},"2026-03-04 08:44:51.471Z","hlato0hav8vo8wm","2026-06-07 06:46:40.040Z",{"collectionId":12,"collectionName":13,"created":193,"created_by":15,"id":194,"name":195,"updated":196,"updated_by":15},{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":304,"created_by":15,"id":305,"name":306,"updated":307,"updated_by":15},"2026-03-04 08:44:51.688Z","ztv5f26qud778za","whiteboard","2026-06-07 06:46:40.164Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":310,"id":314,"slug":315,"updated":316,"views":64},{"category":311},{"blogIds":312,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":313,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"updated_by":15},[],{"en":207,"th":207},"clsm7oxkvsptxhx","ep-120-realtime-whiteboard-drawing-websocket","2026-07-05 12:28:59.867Z","b3o64zx8imsejrd","2025-12-29 04:41:19.809Z","ออกแบบระบบ Whiteboard ที่รองรับการวาดพร้อมกันหลายคนแบบเรียลไทม์ ด้วย Go และ WebSocket พร้อมแนวคิด undo\u002Fredo และ performance optimization","2026-06-07 06:43:24.279Z",{"alt":322,"cover_image_path":323,"created":324,"expand":325,"id":359,"published_at":360,"school_blog":355,"short_description":361,"title":322,"updated":362,"slug":356,"views":358},"JS2GO EP.49 Security สำหรับ Backend ด้วย Go และ Node.js","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fik5ueoh4be7ojlt\u002Fcover_image_js2_go_ep_49_backend_security_with_go_and_node_3l4haf828s.js.webp","2026-03-04 08:44:53.727Z",{"keywords":326,"locale":349,"school_blog":350},[327,332,337,342,347,348],{"collectionId":12,"collectionName":13,"created":328,"created_by":15,"id":329,"name":330,"updated":331,"updated_by":15},"2026-03-04 08:44:52.376Z","7kgkxt1b9xd0cca","Authorization","2026-06-07 06:46:40.298Z",{"collectionId":12,"collectionName":13,"created":333,"created_by":15,"id":334,"name":335,"updated":336,"updated_by":15},"2026-03-04 08:34:18.095Z","z3u3nql685g5e3b","Authentication","2026-06-07 06:46:03.611Z",{"collectionId":12,"collectionName":13,"created":338,"created_by":15,"id":339,"name":340,"updated":341,"updated_by":15},"2026-03-04 08:44:53.062Z","puutdnxuitnxxgq","Backend","2026-06-07 06:46:40.599Z",{"collectionId":12,"collectionName":13,"created":343,"created_by":15,"id":344,"name":345,"updated":346,"updated_by":15},"2026-03-04 08:44:52.790Z","tkf1l5rauw0t7m0","Secure API Design","2026-06-07 06:46:40.418Z",{"collectionId":12,"collectionName":13,"created":86,"created_by":15,"id":87,"name":88,"updated":89,"updated_by":15},{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":97,"collectionId":46,"collectionName":47,"created":48,"expand":351,"id":355,"slug":356,"updated":357,"views":358},{"category":352},{"blogIds":353,"collectionId":52,"collectionName":53,"created":101,"created_by":15,"id":97,"image":102,"image_alt":48,"image_path":103,"label":354,"name":105,"priority":106,"publish_at":107,"scheduled_at":48,"status":59,"updated":108,"updated_by":15},[],{"en":105,"th":105},"q6au12trb7ipmxx","js2go-ep49-backend-security-authentication-authorization-validation","2026-07-02 05:12:42.575Z",268,"ik5ueoh4be7ojlt","2025-12-24 10:19:35.052Z","สรุปพื้นฐาน Security ที่ระบบ Backend ต้องมี ตั้งแต่ Authentication Authorization และ Data Validation พร้อมแนวทางใช้งานจริงใน Go และ Node.js สำหรับระบบ Production","2026-06-07 06:43:24.586Z",{"alt":364,"cover_image_path":365,"created":366,"expand":367,"id":396,"published_at":397,"school_blog":392,"short_description":398,"title":364,"updated":399,"slug":393,"views":395},"JS2GO EP.48 Logging & Monitoring for Production (Go & Node.js)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fssj081nxo3m7iqh\u002Fcover_image_js2_go_ep_48_logging_monitoring_for_production_go_node_qpowgw7zj4.js.webp","2026-03-04 08:44:54.485Z",{"keywords":368,"locale":386,"school_blog":387},[369,374,379,380,385],{"collectionId":12,"collectionName":13,"created":370,"created_by":15,"id":371,"name":372,"updated":373,"updated_by":15},"2026-03-04 08:44:53.651Z","tuo9u1ayxlr8xvm","Monitoring System","2026-06-07 06:46:40.799Z",{"collectionId":12,"collectionName":13,"created":375,"created_by":15,"id":376,"name":377,"updated":378,"updated_by":15},"2026-03-04 08:44:54.012Z","e283qzmjw1vq2l4","Logging Production","2026-06-07 06:46:40.937Z",{"collectionId":12,"collectionName":13,"created":86,"created_by":15,"id":87,"name":88,"updated":89,"updated_by":15},{"collectionId":12,"collectionName":13,"created":381,"created_by":15,"id":382,"name":383,"updated":384,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":97,"collectionId":46,"collectionName":47,"created":48,"expand":388,"id":392,"slug":393,"updated":394,"views":395},{"category":389},{"blogIds":390,"collectionId":52,"collectionName":53,"created":101,"created_by":15,"id":97,"image":102,"image_alt":48,"image_path":103,"label":391,"name":105,"priority":106,"publish_at":107,"scheduled_at":48,"status":59,"updated":108,"updated_by":15},[],{"en":105,"th":105},"d8jrjoxb8k7la64","js2go-ep48-logging-monitoring-production-go-nodejs","2026-07-01 01:37:27.351Z",241,"ssj081nxo3m7iqh","2025-12-23 04:57:48.010Z","จากการมีแค่ log สู่การเข้าใจระบบทั้งก้อน เรียนรู้ Structured Logging, Correlation ID, Metrics, Tracing และ Error Monitoring เพื่อให้ระบบ Go และ Node.js พร้อมใช้งานจริงในระดับ Production และ Microservices","2026-06-07 06:43:24.808Z",{"alt":401,"cover_image_path":402,"created":403,"expand":404,"id":435,"published_at":436,"school_blog":432,"short_description":437,"title":401,"updated":438,"slug":433,"views":64},"Work-Life Balance แบบ Programmer: วิธีไม่ให้หมดไฟในวงการนี้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkwwrvw3iltat93v\u002Fwork_life_balance_for_programmers_how_to_avoid_burnout_in_the_tech_industry_762b9s96my.webp","2026-03-04 08:44:58.989Z",{"keywords":405,"locale":426,"school_blog":427},[406,411,416,421],{"collectionId":12,"collectionName":13,"created":407,"created_by":15,"id":408,"name":409,"updated":410,"updated_by":15},"2026-03-04 08:35:12.499Z","9bexb3o9mxg9dei","Burnout","2026-06-07 06:46:27.454Z",{"collectionId":12,"collectionName":13,"created":412,"created_by":15,"id":413,"name":414,"updated":415,"updated_by":15},"2026-03-04 08:44:58.046Z","h2p9vyglxcuqfov","ชีวิตโปรแกรมเมอร์","2026-06-07 06:46:41.730Z",{"collectionId":12,"collectionName":13,"created":417,"created_by":15,"id":418,"name":419,"updated":420,"updated_by":15},"2026-03-04 08:44:58.280Z","hoxhv4dr3heikf6","โปรแกรมเมอร์หมดไฟ","2026-06-07 06:46:41.931Z",{"collectionId":12,"collectionName":13,"created":422,"created_by":15,"id":423,"name":424,"updated":425,"updated_by":15},"2026-03-04 08:44:57.697Z","rw5wz1cf9aox58p","Work-Life Balance","2026-06-07 06:46:41.636Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":150,"collectionId":46,"collectionName":47,"created":48,"expand":428,"id":432,"slug":433,"updated":434,"views":64},{"category":429},{"blogIds":430,"collectionId":52,"collectionName":53,"created":154,"created_by":15,"id":150,"image":155,"image_alt":48,"image_path":156,"label":431,"name":158,"priority":159,"publish_at":160,"scheduled_at":48,"status":59,"updated":161,"updated_by":15},[],{"en":158,"th":158},"sy7kac0t03r9dox","work-life-balance-for-programmers","2026-06-27 15:11:33.631Z","kwwrvw3iltat93v","2025-12-22 02:12:40.992Z","การทำงานสายโปรแกรมเมอร์เต็มไปด้วยความกดดัน เดดไลน์ และการเรียนรู้ไม่สิ้นสุด บทความนี้จะพาคุณเข้าใจ Work-Life Balance สำหรับ Programmer อย่างแท้จริง พร้อมแนวคิดและวิธีดูแลตัวเอง เพื่อทำงานได้ดีโดยไม่หมดไฟในระยะยาว","2026-06-07 06:43:25.935Z",{"alt":440,"cover_image_path":441,"created":442,"expand":443,"id":467,"published_at":468,"school_blog":463,"short_description":469,"title":440,"updated":470,"slug":464,"views":466},"EP.119 สร้างระบบ Real-time Document Editing แบบ Google Docs ด้วย WebSocket และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnyzij7kxx6kmddu\u002Fcover_image_ep_ylr3nwpk30.gWebSocketandGo.webp","2026-03-04 08:44:56.148Z",{"keywords":444,"locale":457,"school_blog":458},[445,446,447,452],{"collectionId":12,"collectionName":13,"created":226,"created_by":15,"id":227,"name":228,"updated":229,"updated_by":15},{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":448,"created_by":15,"id":449,"name":450,"updated":451,"updated_by":15},"2026-03-04 08:44:54.877Z","ype7kkszqa7py9n","Real-time Document","2026-06-07 06:46:41.155Z",{"collectionId":12,"collectionName":13,"created":453,"created_by":15,"id":454,"name":455,"updated":456,"updated_by":15},"2026-03-04 08:44:54.550Z","dhhilrqrpmtr3x7","Google Docs","2026-06-07 06:46:41.069Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":459,"id":463,"slug":464,"updated":465,"views":466},{"category":460},{"blogIds":461,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":462,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"updated_by":15},[],{"en":207,"th":207},"nez2cwex9p6we4q","realtime-document-editing-with-go-websocket","2026-07-01 17:24:39.715Z",246,"nyzij7kxx6kmddu","2025-12-22 02:12:35.702Z","เรียนรู้การพัฒนาระบบแก้ไขเอกสารแบบหลายคนพร้อมกันแบบ Real-time ด้วย Go และ WebSocket พร้อมแนวคิดจัดการ Conflict และ Version Control","2026-06-07 06:43:25.293Z",{"alt":472,"cover_image_path":473,"created":474,"expand":475,"id":500,"published_at":501,"school_blog":496,"short_description":502,"title":472,"updated":503,"slug":497,"views":499},"EP.118 การสร้างระบบ AI + WebSocket สำหรับ IoT แบบเรียลไทม์","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fusojgv4mbo51ee9\u002Fcover_image_ep_5u7zo3et9b.emforIoTDevices.webp","2026-03-04 08:44:57.441Z",{"keywords":476,"locale":490,"school_blog":491},[477,478,483,484,489],{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},{"collectionId":12,"collectionName":13,"created":479,"created_by":15,"id":480,"name":481,"updated":482,"updated_by":15},"2026-03-04 08:44:56.136Z","1ant8hjpcxuj8a2","IoT","2026-06-07 06:46:41.338Z",{"collectionId":12,"collectionName":13,"created":226,"created_by":15,"id":227,"name":228,"updated":229,"updated_by":15},{"collectionId":12,"collectionName":13,"created":485,"created_by":15,"id":486,"name":487,"updated":488,"updated_by":15},"2026-03-04 08:31:29.142Z","hrqdq7kjl5lzjmi","AI","2026-06-07 06:45:27.147Z",{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":199,"collectionId":46,"collectionName":47,"created":48,"expand":492,"id":496,"slug":497,"updated":498,"views":499},{"category":493},{"blogIds":494,"collectionId":52,"collectionName":53,"created":203,"created_by":15,"id":199,"image":204,"image_alt":48,"image_path":205,"label":495,"name":207,"priority":208,"publish_at":209,"scheduled_at":48,"status":59,"updated":210,"updated_by":15},[],{"en":207,"th":207},"3wlgaoume77bwtm","golang-ep118-ai-websocket-iot-real-time","2026-07-03 17:23:52.340Z",256,"usojgv4mbo51ee9","2025-12-22 02:12:30.693Z","เรียนรู้การสร้างระบบ IoT อัจฉริยะด้วย Go + WebSocket ที่ผสาน AI เพื่อทำ Anomaly Detection และ Predictive Maintenance แบบเรียลไทม์ พร้อมแนวทางใช้งานจริงในระดับ Production","2026-06-07 06:43:25.541Z",12,440,37]