[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-9-12-Web%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":517,"perPage":518,"totalItems":519,"totalPages":520},[5,80,121,157,194,239,277,309,352,400,433,470],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":76,"published_at":77,"school_blog":72,"short_description":78,"title":6,"updated":79,"slug":73,"views":75},"JS2GO EP.39 การใช้ Channels และ Pipelines ใน Go สำหรับ Data Processing","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F1rm9mb65vfkuus7\u002F77_11zon_tqln3so5ar.webp","2026-03-04 08:45:29.773Z",{"keywords":10,"locale":44,"school_blog":54},[11,19,24,29,34,39],{"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:45:27.349Z","","n1nlaxsxjy2673f","Data Processing","2026-04-10 16:12:58.694Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:24:48.143Z","dourw0uuydrrh1h","Concurrency","2026-04-10 16:07:30.157Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:45:26.685Z","cipipihaumk5zpt","Pipelines","2026-04-10 16:12:58.461Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:33:55.714Z","yxs12a8pjduka2m","Channels","2026-04-10 16:08:03.494Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},"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":55,"collectionId":56,"collectionName":57,"created":15,"expand":58,"id":72,"slug":73,"updated":74,"views":75},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs",{"category":59},{"blogIds":60,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":66,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","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":67,"th":67},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-04-25 02:32:14.339Z","s28wwjv2p4jxfgu","js2go-ep39-channels-and-pipelines-in-go-for-data-processing","2026-06-01 02:54:51.951Z",228,"1rm9mb65vfkuus7","2025-11-12 02:36:58.760Z","เรียนรู้การใช้ Channels และ Pipelines ใน Go เพื่อสร้างระบบประมวลผลข้อมูลแบบ Parallel และ Asynchronous อย่างมีประสิทธิภาพ พร้อมตัวอย่างโค้ดจริง การเปรียบเทียบกับ JavaScript และแนวทางการออกแบบ Pipeline สำหรับงาน Data Processing ในระดับ Production","2026-04-25 02:47:53.835Z",{"alt":81,"cover_image_path":82,"created":83,"expand":84,"id":117,"published_at":118,"school_blog":113,"short_description":119,"title":81,"updated":120,"slug":114,"views":116},"JS2GO EP.38 การจัดการ Buffer และ Stream ใน Node.js และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnsqblkgbr5lyuql\u002F75_11zon_p7murcdbvq.webp","2026-03-04 08:45:30.996Z",{"keywords":85,"locale":107,"school_blog":108},[86,91,92,97,102],{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"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":98,"created_by":15,"id":99,"name":100,"updated":101,"updated_by":15},"2026-03-04 08:45:29.064Z","ppd9qfd57kr4d9v","Stream","2026-04-10 16:12:58.890Z",{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},"2026-03-04 08:45:29.466Z","ikxxjlf4gp9demr","Buffer","2026-04-10 16:12:59.000Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":109,"id":113,"slug":114,"updated":115,"views":116},{"category":110},{"blogIds":111,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":112,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"pl5erhc703mzokp","js2go-ep38-buffer-and-stream-in-nodejs-and-go","2026-06-02 07:37:22.104Z",231,"nsqblkgbr5lyuql","2025-11-12 02:36:50.991Z","เรียนรู้แนวทางการจัดการข้อมูลขนาดใหญ่ผ่าน Buffer และ Stream ทั้งใน Node.js และ Go เพื่อให้ระบบทำงานรวดเร็ว ใช้หน่วยความจำอย่างมีประสิทธิภาพ พร้อมตัวอย่างโค้ดจริงและแนวทางใช้งานใน Production","2026-04-25 02:47:54.041Z",{"alt":122,"cover_image_path":123,"created":124,"expand":125,"id":153,"published_at":154,"school_blog":150,"short_description":155,"title":122,"updated":156,"slug":151,"views":116},"JS2GO EP.37 การใช้ Recursion และ Iteration ใน JavaScript และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnp98njk711u28jh\u002F73_11zon_e3x83hj33c.webp","2026-03-04 08:45:32.896Z",{"keywords":126,"locale":144,"school_blog":145},[127,131,132,133,134,139],{"collectionId":12,"collectionName":13,"created":128,"created_by":15,"id":129,"name":67,"updated":130,"updated_by":15},"2026-03-04 08:45:30.765Z","nayuhpre9emd5xw","2026-04-10 16:12:59.160Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:45:31.134Z","erv835t5leo90qz","Iteration","2026-04-10 16:12:59.301Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:45:31.539Z","thoynmyxpcmdicf","Recursion","2026-04-10 16:12:59.439Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":146,"id":150,"slug":151,"updated":152,"views":116},{"category":147},{"blogIds":148,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":149,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"37rbeb1gdzv1ezc","js2go-ep37-recursion-vs-iteration-in-javascript-and-go","2026-06-01 14:17:30.649Z","np98njk711u28jh","2025-11-12 02:36:45.781Z","เรียนรู้ความแตกต่างระหว่างการเขียนโค้ดแบบ Recursion (การเรียกซ้ำ) และ Iteration (การวนซ้ำ) พร้อมตัวอย่างโค้ดจริงใน JavaScript และ Go เพื่อเปรียบเทียบความเร็ว การใช้หน่วยความจำ และแนวทางเลือกใช้ในระบบจริง","2026-04-25 02:47:54.241Z",{"alt":158,"cover_image_path":159,"created":160,"expand":161,"id":190,"published_at":191,"school_blog":186,"short_description":192,"title":158,"updated":193,"slug":187,"views":189},"JS2GO EP.36 การทำ Searching Algorithms ใน Go และ JavaScript","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkc2for0fr30jztz\u002F71_11zon_fhhdh9rncf.webp","2026-03-04 08:45:33.253Z",{"keywords":162,"locale":180,"school_blog":181},[163,164,165,170,175],{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":166,"created_by":15,"id":167,"name":168,"updated":169,"updated_by":15},"2026-03-04 08:45:32.020Z","8vrqzeheyjmdnla","Binary Search","2026-04-10 16:12:59.578Z",{"collectionId":12,"collectionName":13,"created":171,"created_by":15,"id":172,"name":173,"updated":174,"updated_by":15},"2026-03-04 08:45:32.242Z","qrrtdp2now459ki","Linear Search","2026-04-10 16:12:59.642Z",{"collectionId":12,"collectionName":13,"created":176,"created_by":15,"id":177,"name":178,"updated":179,"updated_by":15},"2026-03-04 08:34:57.930Z","3j6u3nyhnmlp6ld","Searching Algorithms","2026-04-10 16:12:34.004Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":182,"id":186,"slug":187,"updated":188,"views":189},{"category":183},{"blogIds":184,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":185,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"zwxfag96iy33ciz","js2go-ep36-searching-algorithms-in-go-and-javascript","2026-05-14 06:01:39.445Z",215,"kc2for0fr30jztz","2025-11-12 02:36:39.446Z","เรียนรู้เทคนิคการค้นหาข้อมูลอย่างมีประสิทธิภาพผ่าน 3 อัลกอริทึมสำคัญ — Linear Search, Binary Search และ Map-based Lookup","2026-04-25 02:47:54.507Z",{"alt":195,"cover_image_path":196,"created":197,"expand":198,"id":235,"published_at":236,"school_blog":231,"short_description":237,"title":195,"updated":238,"slug":232,"views":234},"EP.109 การปรับปรุง Performance สำหรับ WebSocket บนมือถือ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fketdslo0vzzv5b6\u002F189_11zon_cvsstgpwm1.webp","2026-03-04 08:45:34.928Z",{"keywords":199,"locale":217,"school_blog":218},[200,205,206,207,212],{"collectionId":12,"collectionName":13,"created":201,"created_by":15,"id":202,"name":203,"updated":204,"updated_by":15},"2026-03-04 08:45:34.193Z","6ogs62iwr48p5xn","WebSocket บนมือถือ","2026-04-10 16:12:59.951Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"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":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":220,"id":231,"slug":232,"updated":233,"views":234},"wqxt7ag2gn7xcmk",{"category":221},{"blogIds":222,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":226,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"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":227,"th":227},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","ctvrep1frbjn8eq","websocket-mobile-optimization","2026-05-27 16:11:06.638Z",243,"ketdslo0vzzv5b6","2025-11-10 09:14:57.443Z","เรียนรู้เทคนิคปรับปรุง WebSocket Server ให้ทำงานได้อย่างเสถียรและประหยัดพลังงานบนอุปกรณ์พกพา พร้อมโค้ดตัวอย่างระดับ Production เช่น การตั้ง Timeout, การ reconnect อัตโนมัติ และการจัดการ network switching","2026-04-25 02:47:54.660Z",{"alt":240,"cover_image_path":241,"created":242,"expand":243,"id":273,"published_at":274,"school_blog":270,"short_description":275,"title":240,"updated":276,"slug":271,"views":75},"EP.108 การจัดการ Timeout และ Connection Cleanup แบบ Advanced","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F29obs9yzyu0qjp5\u002F187_11zon_jcx1669axb.webp","2026-03-04 08:45:36.600Z",{"keywords":244,"locale":264,"school_blog":265},[245,250,251,256,261,262,263],{"collectionId":12,"collectionName":13,"created":246,"created_by":15,"id":247,"name":248,"updated":249,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-04-10 16:12:49.890Z",{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"updated_by":15},{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},"2026-03-04 08:45:35.697Z","14mxfvvebe39f82","Cleanup","2026-04-10 16:13:00.513Z",{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"updated_by":15},"2026-03-04 08:45:35.177Z","ljqmsdx1e0bcmav","Timeout","2026-04-10 16:13:00.233Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":266,"id":270,"slug":271,"updated":272,"views":75},{"category":267},{"blogIds":268,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":269,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"updated_by":15},[],{"en":227,"th":227},"l3cnyp1es5143k8","ep108-timeout-connection-cleanup-websocket-golang","2026-05-25 16:38:52.361Z","29obs9yzyu0qjp5","2025-11-10 09:04:40.562Z","เรียนรู้วิธีจัดการ WebSocket ที่หลุดหรือค้างด้วยเทคนิค Timeout และ Connection Cleanup เพื่อให้ระบบของคุณทำงานได้เสถียรและประหยัด resource มากที่สุด พร้อมตัวอย่างโค้ด Go ที่ใช้ได้จริงใน Production","2026-04-25 02:47:54.914Z",{"alt":278,"cover_image_path":279,"created":280,"expand":281,"id":305,"published_at":306,"school_blog":301,"short_description":307,"title":278,"updated":308,"slug":302,"views":304},"EP.107 การทำ Profiling และ Benchmark WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fforovlt64om1dpv\u002F185_11zon_d8gvv4sv1g.webp","2026-03-04 08:45:37.532Z",{"keywords":282,"locale":295,"school_blog":296},[283,284,289,294],{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":285,"created_by":15,"id":286,"name":287,"updated":288,"updated_by":15},"2026-03-04 08:45:19.280Z","2zphwe6a9vls84d","Benchmark","2026-04-10 16:12:56.915Z",{"collectionId":12,"collectionName":13,"created":290,"created_by":15,"id":291,"name":292,"updated":293,"updated_by":15},"2026-03-04 08:45:37.043Z","wyzirss3g26xgv6","Profiling","2026-04-10 16:13:00.577Z",{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":297,"id":301,"slug":302,"updated":303,"views":304},{"category":298},{"blogIds":299,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":300,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"updated_by":15},[],{"en":227,"th":227},"q4ahsx2qt6gr1e8","websocket-server-profiling-benchmark","2026-05-13 11:34:52.776Z",220,"forovlt64om1dpv","2025-11-10 09:02:53.837Z","เรียนรู้วิธีใช้ pprof, wrk และ hey เพื่อวัดความเร็ว ความเสถียร และประสิทธิภาพของ WebSocket Server พร้อมแนวทางปรับแต่งระบบสำหรับการใช้งานจริงใน Production","2026-04-25 02:47:55.201Z",{"alt":310,"cover_image_path":311,"created":312,"expand":313,"id":348,"published_at":349,"school_blog":344,"short_description":350,"title":310,"updated":351,"slug":345,"views":347},"EP.106 Monitoring & Metrics สำหรับ WebSocket Production","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fd3dzc93dkn7db6o\u002F183_11zon_t6oz4uy2n8.webp","2026-03-04 08:45:39.352Z",{"keywords":314,"locale":338,"school_blog":339},[315,320,321,322,327,332,337],{"collectionId":12,"collectionName":13,"created":316,"created_by":15,"id":317,"name":318,"updated":319,"updated_by":15},"2026-03-04 08:45:37.661Z","xjf08drjt5em75b","Metrics","2026-04-10 16:13:00.679Z",{"collectionId":12,"collectionName":13,"created":246,"created_by":15,"id":247,"name":248,"updated":249,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:45:37.995Z","1v2heky8yo3cwww","Grafana","2026-04-10 16:13:00.771Z",{"collectionId":12,"collectionName":13,"created":328,"created_by":15,"id":329,"name":330,"updated":331,"updated_by":15},"2026-03-04 08:45:38.382Z","8uz7io97gj0jusq","Prometheus","2026-04-10 16:13:00.871Z",{"collectionId":12,"collectionName":13,"created":333,"created_by":15,"id":334,"name":335,"updated":336,"updated_by":15},"2026-03-04 08:44:34.571Z","fiybaq65m7oymtd","Monitoring","2026-04-10 16:12:46.904Z",{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":340,"id":344,"slug":345,"updated":346,"views":347},{"category":341},{"blogIds":342,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":343,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"updated_by":15},[],{"en":227,"th":227},"42pwzlod5lq9vxp","websocket-monitoring-metrics-production","2026-05-27 03:50:07.281Z",230,"d3dzc93dkn7db6o","2025-11-10 02:39:31.621Z","เมื่อ WebSocket Server เข้าสู่ Production แค่ log ไม่พอ! มาเรียนรู้การใช้ Prometheus และ Grafana เพื่อตรวจสอบสุขภาพระบบแบบ real-time พร้อมตัวอย่างโค้ดจริงในภาษา Go","2026-04-25 02:47:55.518Z",{"alt":353,"cover_image_path":354,"created":355,"expand":356,"id":396,"published_at":397,"school_blog":392,"short_description":398,"title":353,"updated":399,"slug":393,"views":395},"JS2GO EP.35 การทำ Sorting Algorithms ใน JavaScript และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff2u2doeg3r1toxm\u002F69_11zon_689d6syhf9.webp","2026-03-04 08:45:40.590Z",{"keywords":357,"locale":386,"school_blog":387},[358,363,368,373,378,383,384,385],{"collectionId":12,"collectionName":13,"created":359,"created_by":15,"id":360,"name":361,"updated":362,"updated_by":15},"2026-03-04 08:45:39.965Z","b9c614ysjg0x349","Sorting","2026-04-10 16:13:01.402Z",{"collectionId":12,"collectionName":13,"created":364,"created_by":15,"id":365,"name":366,"updated":367,"updated_by":15},"2026-03-04 08:35:05.133Z","ydn3q6brn8wh2st","Algorithm","2026-04-10 16:12:36.773Z",{"collectionId":12,"collectionName":13,"created":369,"created_by":15,"id":370,"name":371,"updated":372,"updated_by":15},"2026-03-04 08:45:39.715Z","fjjhdcqsies69y2","Bubble Sort","2026-04-10 16:13:01.240Z",{"collectionId":12,"collectionName":13,"created":374,"created_by":15,"id":375,"name":376,"updated":377,"updated_by":15},"2026-03-04 08:45:39.321Z","jb1nbj4tkoyx89d","Merge Sort","2026-04-10 16:13:01.148Z",{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},"2026-03-04 08:45:39.089Z","4p14lr9icx6fqm2","Quick Sort","2026-04-10 16:13:01.066Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":128,"created_by":15,"id":129,"name":67,"updated":130,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":388,"id":392,"slug":393,"updated":394,"views":395},{"category":389},{"blogIds":390,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":391,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"y7bryg1t410zd6w","js2go-ep35-sorting-algorithms-in-javascript-and-go","2026-05-26 01:43:14.003Z",219,"f2u2doeg3r1toxm","2025-11-03 01:47:58.354Z","เรียนรู้และเปรียบเทียบการทำงานของอัลกอริทึมจัดเรียงยอดนิยมอย่าง Bubble Sort, Merge Sort, Quick Sort และการใช้ sort package ใน Go พร้อมตัวอย่างโค้ดจริงทั้งสองภาษา เพื่อเข้าใจหลักการจัดเรียงข้อมูลและเลือกใช้อย่างเหมาะสมในระบบของคุณ","2026-04-25 02:47:55.718Z",{"alt":401,"cover_image_path":402,"created":403,"expand":404,"id":429,"published_at":430,"school_blog":425,"short_description":431,"title":401,"updated":432,"slug":426,"views":428},"JS2GO EP.34 การจัดการ Heap และ Priority Queue ใน Go และ JavaScript","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fn9pt1j9ian4j2md\u002F67_11zon_p6wwrz8255.webp","2026-03-04 08:45:41.345Z",{"keywords":405,"locale":419,"school_blog":420},[406,411,416,417,418],{"collectionId":12,"collectionName":13,"created":407,"created_by":15,"id":408,"name":409,"updated":410,"updated_by":15},"2026-03-04 08:45:40.772Z","v6z1lw61iahm61l","Heap","2026-04-10 16:13:01.678Z",{"collectionId":12,"collectionName":13,"created":412,"created_by":15,"id":413,"name":414,"updated":415,"updated_by":15},"2026-03-04 08:45:40.568Z","5g4t5pkbuw4nirz","Priority Queue","2026-04-10 16:13:01.534Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"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":128,"created_by":15,"id":129,"name":67,"updated":130,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":55,"collectionId":56,"collectionName":57,"created":15,"expand":421,"id":425,"slug":426,"updated":427,"views":428},{"category":422},{"blogIds":423,"collectionId":61,"collectionName":62,"created":63,"created_by":15,"id":55,"image":64,"image_alt":15,"image_path":65,"label":424,"name":67,"priority":68,"publish_at":69,"scheduled_at":15,"status":70,"updated":71,"updated_by":15},[],{"en":67,"th":67},"mgybxftbhhias43","heap-and-priority-queue-in-go-and-javascript","2026-05-27 21:59:56.048Z",233,"n9pt1j9ian4j2md","2025-11-03 01:38:54.986Z","Heap และ Priority Queue คือหัวใจของระบบที่ต้องจัดลำดับงาน เช่น Job Queue, Pathfinding หรือ Recommendation Engine","2026-04-25 02:47:55.951Z",{"alt":434,"cover_image_path":435,"created":436,"expand":437,"id":466,"published_at":467,"school_blog":463,"short_description":468,"title":434,"updated":469,"slug":464,"views":116},"EP.105 การจัดการ Event Queue และการจัดลำดับความสำคัญ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fjvz08exc1g2sywz\u002F182_11zon_sw697uvrwh.webp","2026-03-04 08:45:42.251Z",{"keywords":438,"locale":457,"school_blog":458},[439,444,445,450,451,456],{"collectionId":12,"collectionName":13,"created":440,"created_by":15,"id":441,"name":442,"updated":443,"updated_by":15},"2026-03-04 08:32:51.346Z","tmzmy6jyz1n35rr","Go Programming","2026-04-10 16:08:01.434Z",{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"updated_by":15},{"collectionId":12,"collectionName":13,"created":446,"created_by":15,"id":447,"name":448,"updated":449,"updated_by":15},"2026-03-04 08:45:41.602Z","b3yghkzzdhlv3c6","Prioritization","2026-04-10 16:13:01.818Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":452,"created_by":15,"id":453,"name":454,"updated":455,"updated_by":15},"2026-03-04 08:45:41.912Z","7z1k708lq9j7vj9","Event Queue","2026-04-10 16:13:01.966Z",{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":459,"id":463,"slug":464,"updated":465,"views":116},{"category":460},{"blogIds":461,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":462,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"updated_by":15},[],{"en":227,"th":227},"vxtmrvo2mam5czn","golang-ep105-event-queue-management-prioritization","2026-05-13 06:04:14.590Z","jvz08exc1g2sywz","2025-10-31 02:41:22.539Z","เรียนรู้เทคนิคการจัดการ Event Queue และการจัดลำดับความสำคัญของเหตุการณ์ในระบบ WebSocket ด้วย Golang พร้อมตัวอย่างโค้ดจริงที่ใช้ Priority Queue เพื่อให้ Event สำคัญถูกส่งก่อน ลดปัญหา Delay และเพิ่มความเสถียรของระบบ","2026-04-25 02:47:56.054Z",{"alt":471,"cover_image_path":472,"created":473,"expand":474,"id":513,"published_at":514,"school_blog":509,"short_description":515,"title":471,"updated":516,"slug":510,"views":512},"EP.104 การใช้ WebSocket Compression และ Delta Updates","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnlrhjs69zqjtm03\u002Fgolang_zm46ilkdv9.webp","2026-03-04 08:45:43.617Z",{"keywords":475,"locale":503,"school_blog":504},[476,481,482,483,488,493,498],{"collectionId":12,"collectionName":13,"created":477,"created_by":15,"id":478,"name":479,"updated":480,"updated_by":15},"2026-03-04 08:44:11.932Z","8sanh9jytfatsgk","Performance Optimization","2026-04-10 16:12:41.404Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},{"collectionId":12,"collectionName":13,"created":484,"created_by":15,"id":485,"name":486,"updated":487,"updated_by":15},"2026-03-04 08:44:49.445Z","0ips6v3gj6yy1h7","ระบบเรียลไทม์","2026-04-10 16:12:50.583Z",{"collectionId":12,"collectionName":13,"created":489,"created_by":15,"id":490,"name":491,"updated":492,"updated_by":15},"2026-03-04 08:45:43.419Z","yy1ovm6qkowcaai","การบีบอัดข้อมูล","2026-04-10 16:13:02.348Z",{"collectionId":12,"collectionName":13,"created":494,"created_by":15,"id":495,"name":496,"updated":497,"updated_by":15},"2026-03-04 08:45:42.529Z","ecerocgj9i627rc","Delta Updates","2026-04-10 16:13:02.145Z",{"collectionId":12,"collectionName":13,"created":499,"created_by":15,"id":500,"name":501,"updated":502,"updated_by":15},"2026-03-04 08:45:42.906Z","j7q46g7i692c0mw","WebSocket Compression","2026-04-10 16:13:02.240Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":219,"collectionId":56,"collectionName":57,"created":15,"expand":505,"id":509,"slug":510,"updated":511,"views":512},{"category":506},{"blogIds":507,"collectionId":61,"collectionName":62,"created":223,"created_by":15,"id":219,"image":224,"image_alt":15,"image_path":225,"label":508,"name":227,"priority":228,"publish_at":229,"scheduled_at":15,"status":70,"updated":230,"updated_by":15},[],{"en":227,"th":227},"f2bwyhhfkxqaii0","websocket-compression-delta-updates","2026-06-01 22:33:37.788Z",238,"nlrhjs69zqjtm03","2025-10-31 02:33:48.793Z","เรียนรู้วิธีเพิ่มประสิทธิภาพ WebSocket Server ด้วยการบีบอัดข้อมูลและการส่งเฉพาะข้อมูลที่เปลี่ยนแปลง (Delta Updates) เพื่อให้ระบบเร็ว เบา และเหมาะกับงานจริงระดับ Production","2026-05-06 08:38:04.107Z",9,12,420,35]