[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-7-12-%2525252525252525252525252525E0%2525252525252525252525252525B8%252525252525252525252525252581%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525A7%2525252525252525252525252525E0%2525252525252525252525252525B9%252525252525252525252525252588%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525B2%2525252525252525252525252525E0%2525252525252525252525252525B8%252525252525252525252525252588%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525B0%2525252525252525252525252525E0%2525252525252525252525252525B9%252525252525252525252525252580%2525252525252525252525252525E0%2525252525252525252525252525B8%25252525252525252525252525259B%2525252525252525252525252525E0%2525252525252525252525252525B9%252525252525252525252525252587%2525252525252525252525252525E0%2525252525252525252525252525B8%252525252525252525252525252599%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525A0%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525B2%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525A9%2525252525252525252525252525E0%2525252525252525252525252525B8%2525252525252525252525252525B2%2525252525252525252525252525E0%2525252525252525252525252525B9%252525252525252525252525252582%2525252525252525252525252525E0%2525252525252525252525252525B8%252525252525252525252525252584%2525252525252525252525252525E0%2525252525252525252525252525B9%252525252525252525252525252589%2525252525252525252525252525E0%2525252525252525252525252525B8%252525252525252525252525252594-all-all-createdAt:desc-default":3},{"data":4,"page":518,"perPage":519,"totalItems":520,"totalPages":521},[5,74,123,171,212,248,295,324,360,392,429,481],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":70,"published_at":71,"school_blog":67,"short_description":72,"title":6,"updated":73,"slug":68,"views":69},"EP.115 การใช้ WebSocket ในระบบ Multiplayer Game ขั้นสูง (Advanced Multiplayer Game System)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fghutpdhsg8a4psb\u002Fcover_image_ep_4l3pq7n7eo.bSocketinGolang.webp","2026-03-04 08:45:10.850Z",{"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:45:10.623Z","","2zhfdpu8sy1xeju","Golang WebSocket","2026-04-10 16:12:55.126Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"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},"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:45:09.425Z","75vnd9vtdgbgcsr","Multiplayer Game","2026-04-10 16:12:54.941Z",{"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":15,"views":69},"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","9o11ptzo0838b9r","ep115-websocket-multiplayer-game-advanced",235,"ghutpdhsg8a4psb","2025-12-08 02:13:56.236Z","เรียนรู้การออกแบบ Multiplayer Game แบบเรียลไทม์ด้วย Go และ WebSocket ตั้งแต่ Player Sync, Position Update, Event Broadcast, Room Architecture ไปจนถึงเทคนิคลด Latency และแนวทางระดับ Production สำหรับเกมหลายผู้เล่น","2026-05-08 06:52:05.171Z",{"alt":75,"cover_image_path":76,"created":77,"expand":78,"id":119,"published_at":120,"school_blog":115,"short_description":121,"title":75,"updated":122,"slug":116,"views":118},"JS2GO EP.43 การทำ Rate Limiting และ Throttling ใน Go และ Node.js","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkwtikt0mr8bk7nk\u002Fcover_image_js2_go_ep_43_rate_limiting_and_throttling_in_go_and_node_083y6kqmje.js.webp","2026-03-04 08:45:16.034Z",{"keywords":79,"locale":101,"school_blog":102},[80,85,90,91,96],{"collectionId":12,"collectionName":13,"created":81,"created_by":15,"id":82,"name":83,"updated":84,"updated_by":15},"2026-03-04 08:44:38.026Z","m3dqo2zalnfaoof","Token Bucket","2026-04-10 16:12:47.845Z",{"collectionId":12,"collectionName":13,"created":86,"created_by":15,"id":87,"name":88,"updated":89,"updated_by":15},"2026-03-04 08:45:14.634Z","k64fy7g22x7ash7","Throttling","2026-04-10 16:12:56.314Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"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":97,"created_by":15,"id":98,"name":99,"updated":100,"updated_by":15},"2026-03-04 08:34:07.915Z","921nl48h9in67sw","Rate Limiting","2026-04-10 16:08:07.808Z",{"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},"hsa1afr8fcnd6qb",{"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:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":111,"th":111},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-04-25 02:32:14.339Z","xnajds5fdcdxt16","js2go-ep43-rate-limiting-throttling-go-nodejs","2026-05-09 12:31:48.779Z",226,"kwtikt0mr8bk7nk","2025-12-03 14:28:15.587Z","เรียนรู้วิธีป้องกันระบบล่มด้วย Rate Limiting และ Throttling ทั้ง Token Bucket, Leaky Bucket และ Sliding Window พร้อมตัวอย่างโค้ดจริงใน Go และ Node.js สำหรับใช้งานในระบบระดับ Production","2026-05-08 06:52:07.271Z",{"alt":124,"cover_image_path":125,"created":126,"expand":127,"id":167,"published_at":168,"school_blog":163,"short_description":169,"title":124,"updated":170,"slug":164,"views":166},"คุณอาจกำลังเสียเวลาอ่านโค้ดโดยไม่จำเป็น… ถ้ายังไม่รู้จัก Code Wiki","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff2draewgm0el39c\u002Fwhat_is_code_wiki_google_s_tool_that_helps_developers_understand_code_faster_ji0s94vmdo.webp","2026-03-04 08:45:17.799Z",{"keywords":128,"locale":149,"school_blog":150},[129,134,139,144],{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:45:17.133Z","71gsmylmonz3ikx","code wiki","2026-04-10 16:12:56.757Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:45:16.903Z","fc3dajgzvy2vdec","google code wiki","2026-04-10 16:12:56.602Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:45:16.585Z","h61ztnkgd0y3ooz","developer tools","2026-04-10 16:12:56.507Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:20:15.564Z","9zhk20p0247axym","Google","2026-04-10 16:07:26.313Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":151,"collectionId":51,"collectionName":52,"created":15,"expand":152,"id":163,"slug":164,"updated":165,"views":166},"jwhmeg2uxwz0bkp",{"category":153},{"blogIds":154,"collectionId":56,"collectionName":57,"created":155,"created_by":15,"id":151,"image":156,"image_alt":15,"image_path":157,"label":158,"name":159,"priority":160,"publish_at":161,"scheduled_at":15,"status":65,"updated":162,"updated_by":15},[],"2026-03-04 08:31:40.635Z","1qt33a4n2u3_lr23qy62xh.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fjwhmeg2uxwz0bkp\u002F1qt33a4n2u3_lr23qy62xh.png",{"en":159,"th":159},"Tools & Resources",0,"2025-01-31 09:55:27.001Z","2026-04-25 02:32:14.689Z","gado4zcess7ysg9","code-wiki-save-time-reading-code","2026-05-12 04:44:02.961Z",314,"f2draewgm0el39c","2025-12-02 03:40:15.214Z","Code Wiki คือเครื่องมือใหม่จาก Google ที่ช่วยสร้างเอกสารโค้ดแบบอัตโนมัติและอัปเดตตามโค้ดจริง ทำให้นักพัฒนาทำความเข้าใจระบบได้เร็วขึ้น ลดเวลาในการอ่านโค้ดย้อน และปรับปรุงประสบการณ์การทำงานของทีม Dev อย่างชัดเจน","2026-05-08 06:52:07.701Z",{"alt":172,"cover_image_path":173,"created":174,"expand":175,"id":208,"published_at":209,"school_blog":204,"short_description":210,"title":172,"updated":211,"slug":205,"views":207},"JS2GO EP.42 Goroutine Pools และ Worker Pools ใน Go และ JavaScript","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fcky7eocdx79x37y\u002Fcover_image_js2_go_ep_h9thc5vq15.GoandJavaScript.webp","2026-03-04 08:45:18.581Z",{"keywords":176,"locale":198,"school_blog":199},[177,182,183,188,193],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":184,"created_by":15,"id":185,"name":186,"updated":187,"updated_by":15},"2026-03-04 08:24:48.143Z","dourw0uuydrrh1h","Concurrency","2026-04-10 16:07:30.157Z",{"collectionId":12,"collectionName":13,"created":189,"created_by":15,"id":190,"name":191,"updated":192,"updated_by":15},"2026-03-04 08:34:34.471Z","wdd8fb47sbrmq28","Worker Pool","2026-04-10 16:08:17.741Z",{"collectionId":12,"collectionName":13,"created":194,"created_by":15,"id":195,"name":196,"updated":197,"updated_by":15},"2026-03-04 08:45:16.045Z","1h6015yv90l5ktw","Goroutine Pool","2026-04-10 16:12:56.407Z",{"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":200,"id":204,"slug":205,"updated":206,"views":207},{"category":201},{"blogIds":202,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":203,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"76bhys68f0c8v31","js2go-ep42-goroutine-pool-worker-pool-go-vs-javascript","2026-05-09 15:21:14.131Z",219,"cky7eocdx79x37y","2025-12-02 03:39:17.183Z","เรียนรู้วิธีควบคุมจำนวนงานพร้อมกันด้วย Goroutine Pools และ Worker Pools เพื่อป้องกัน resource leak และทำให้ระบบรองรับโหลดระดับหมื่นคำขอ\u002Fวินาทีได้อย่างเสถียร พร้อมตัวอย่างโค้ดจริงทั้ง Go และ JavaScript","2026-05-08 06:52:07.879Z",{"alt":213,"cover_image_path":214,"created":215,"expand":216,"id":244,"published_at":245,"school_blog":240,"short_description":246,"title":213,"updated":247,"slug":241,"views":243},"EP.113 การสร้างระบบ Chat Multi-room ขั้นสูง (Advanced Multi-room Chat System)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F031eo95zo2f02o0\u002Fcover_image_ep_ppxwfo3653.hGoandWebSocket.webp","2026-03-04 08:45:13.632Z",{"keywords":217,"locale":234,"school_blog":235},[218,222,227,232,233],{"collectionId":12,"collectionName":13,"created":219,"created_by":15,"id":220,"name":62,"updated":221,"updated_by":15},"2026-03-04 08:44:51.471Z","hlato0hav8vo8wm","2026-04-10 16:12:50.850Z",{"collectionId":12,"collectionName":13,"created":223,"created_by":15,"id":224,"name":225,"updated":226,"updated_by":15},"2026-03-04 08:45:12.082Z","d1gcnwwosqk2zn0","redis pubsub","2026-04-10 16:12:55.686Z",{"collectionId":12,"collectionName":13,"created":228,"created_by":15,"id":229,"name":230,"updated":231,"updated_by":15},"2026-03-04 08:45:12.418Z","vbx3b3qn50sn0tr","Multi-room Chat","2026-04-10 16:12:55.814Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"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":236,"id":240,"slug":241,"updated":242,"views":243},{"category":237},{"blogIds":238,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":239,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"c5vhepb3pkr5tot","go-advanced-multiroom-chat-system","2026-05-12 03:55:02.975Z",232,"031eo95zo2f02o0","2025-12-02 03:38:42.902Z","สร้างระบบแชทแบบหลายห้อง (Multi-room Chat) ที่รองรับผู้ใช้หลายกลุ่มพร้อมกัน พร้อมฟังก์ชันกระจายข้อความแบบเรียลไทม์ และเชื่อมต่อ Redis Pub\u002FSub เพื่อรองรับหลาย instance ได้จริงในระบบ production","2026-05-08 06:52:06.192Z",{"alt":249,"cover_image_path":250,"created":251,"expand":252,"id":291,"published_at":292,"school_blog":287,"short_description":293,"title":249,"updated":294,"slug":288,"views":290},"EP.112 การสร้างระบบ Notification แบบเรียลไทม์ (Real-time Notification System)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fwbl9d896ederjtt\u002Fcover_image_ep_ex8tskqzez.withGoWebSocket.webp","2026-03-04 08:45:14.603Z",{"keywords":253,"locale":281,"school_blog":282},[254,259,264,269,270,271,276],{"collectionId":12,"collectionName":13,"created":255,"created_by":15,"id":256,"name":257,"updated":258,"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":260,"created_by":15,"id":261,"name":262,"updated":263,"updated_by":15},"2026-03-04 08:45:13.969Z","pyniezbvfdbyuyc","real-time notifications","2026-04-10 16:12:56.096Z",{"collectionId":12,"collectionName":13,"created":265,"created_by":15,"id":266,"name":267,"updated":268,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-04-10 16:08:08.714Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":272,"created_by":15,"id":273,"name":274,"updated":275,"updated_by":15},"2026-03-04 08:45:13.578Z","qwq1kseajvv4cne","notification system","2026-04-10 16:12:55.954Z",{"collectionId":12,"collectionName":13,"created":277,"created_by":15,"id":278,"name":279,"updated":280,"updated_by":15},"2026-03-04 08:45:14.176Z","90clm03jhn4xsnp","Notification","2026-04-10 16:12:56.243Z",{"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":283,"id":287,"slug":288,"updated":289,"views":290},{"category":284},{"blogIds":285,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":286,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"8g70iqmnsdxbwpb","websocket-real-time-notification-ep112","2026-05-12 02:24:32.408Z",340,"wbl9d896ederjtt","2025-12-01 04:20:07.889Z","เรียนรู้วิธีสร้างระบบ Notification แบบเรียลไทม์ด้วย Go และ WebSocket พร้อมรองรับการขยายระบบด้วย Redis Pub\u002FSub เพื่อให้ผู้ใช้ได้รับการแจ้งเตือนทันทีเมื่อเกิด Event สำคัญ","2026-05-08 06:52:06.366Z",{"alt":296,"cover_image_path":297,"created":298,"expand":299,"id":320,"published_at":321,"school_blog":316,"short_description":322,"title":296,"updated":323,"slug":317,"views":319},"JS2GO EP.41 การจัดการ Concurrency Patterns ขั้นสูงใน Go และ JavaScript","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fnmahpjkd1ktk7id\u002Fcover_image_js2_go_ep_2ioizc6p6b.GoandJavaScript.webp","2026-03-04 08:45:18.911Z",{"keywords":300,"locale":310,"school_blog":311},[301,306,307,308,309],{"collectionId":12,"collectionName":13,"created":302,"created_by":15,"id":303,"name":304,"updated":305,"updated_by":15},"2026-03-04 08:45:18.214Z","teavruxi3wptjg2","Fan-in Fan-out","2026-04-10 16:12:56.820Z",{"collectionId":12,"collectionName":13,"created":189,"created_by":15,"id":190,"name":191,"updated":192,"updated_by":15},{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"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":184,"created_by":15,"id":185,"name":186,"updated":187,"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":312,"id":316,"slug":317,"updated":318,"views":319},{"category":313},{"blogIds":314,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":315,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"hntkdnpnkznr05d","js2go-ep41-advanced-concurrency-patterns-go-vs-javascript","2026-05-09 00:22:33.528Z",214,"nmahpjkd1ktk7id","2025-11-25 09:53:31.002Z","เรียนรู้ Worker Pool, Fan-in\u002FFan-out, Rate Limiter และ Pipeline Optimization เปรียบเทียบการทำงานระหว่าง Go และ JavaScript พร้อมตัวอย่างที่ใช้จริงในระบบ Production","2026-05-08 06:52:08.080Z",{"alt":325,"cover_image_path":326,"created":327,"expand":328,"id":356,"published_at":357,"school_blog":353,"short_description":358,"title":325,"updated":359,"slug":354,"views":355},"JS2GO EP.40 การ Optimize Performance ของโค้ด: Go vs JavaScript ภาษาไหนเร็วกว่า?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fxqxhqcf7ezee2ok\u002Fcover_image_for_js2_go_ep_qzlvftk3wr.hichOneIsFaster.webp","2026-03-04 08:45:20.755Z",{"keywords":329,"locale":347,"school_blog":348},[330,335,340,345,346],{"collectionId":12,"collectionName":13,"created":331,"created_by":15,"id":332,"name":333,"updated":334,"updated_by":15},"2026-03-04 08:45:19.588Z","jiiqle4ur9lyqjr","Garbage Collection","2026-04-10 16:12:57.067Z",{"collectionId":12,"collectionName":13,"created":336,"created_by":15,"id":337,"name":338,"updated":339,"updated_by":15},"2026-03-04 08:45:19.280Z","2zphwe6a9vls84d","Benchmark","2026-04-10 16:12:56.915Z",{"collectionId":12,"collectionName":13,"created":341,"created_by":15,"id":342,"name":343,"updated":344,"updated_by":15},"2026-03-04 08:45:19.946Z","qvr2sryoiqkkq1g","Optimize Performance","2026-04-10 16:12:57.204Z",{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},{"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":103,"collectionId":51,"collectionName":52,"created":15,"expand":349,"id":353,"slug":354,"updated":15,"views":355},{"category":350},{"blogIds":351,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":352,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"ym4kynngu92kw5x","js2go-ep40-optimize-performance-go-vs-javascript",222,"xqxhqcf7ezee2ok","2025-11-25 09:45:29.314Z","เรียนรู้เทคนิคการเพิ่มประสิทธิภาพของโค้ดทั้งใน Go และ JavaScript ตั้งแต่ Garbage Collection, Memory Profiling, Parallel Execution ไปจนถึง Benchmark Tools พร้อมเปรียบเทียบว่าแต่ละภาษาทำงานได้ดีในสถานการณ์แบบไหน","2026-05-08 06:52:09.702Z",{"alt":361,"cover_image_path":362,"created":363,"expand":364,"id":388,"published_at":389,"school_blog":385,"short_description":390,"title":361,"updated":391,"slug":386,"views":387},"EP.111 การจัดการ Message Ordering และ Event Sequence ให้ถูกต้อง 100%","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fytezt4r7uzpy79y\u002Fcover_image_for_golang_the_series_ep_yzbl8jnv38.ebSocketSystems.webp","2026-03-04 08:45:21.561Z",{"keywords":365,"locale":379,"school_blog":380},[366,367,372,377,378],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":368,"created_by":15,"id":369,"name":370,"updated":371,"updated_by":15},"2026-03-04 08:45:20.573Z","v392y0yjhdt1ttt","Event Sequence","2026-04-10 16:12:57.528Z",{"collectionId":12,"collectionName":13,"created":373,"created_by":15,"id":374,"name":375,"updated":376,"updated_by":15},"2026-03-04 08:45:20.175Z","qt9i7rqnfh0kczq","Message Ordering","2026-04-10 16:12:57.376Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"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":381,"id":385,"slug":386,"updated":15,"views":387},{"category":382},{"blogIds":383,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":384,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"c1ullelv877gga6","ep111-message-ordering-event-sequence",224,"ytezt4r7uzpy79y","2025-11-24 09:41:22.301Z","ระบบ WebSocket ที่มีผู้ใช้จำนวนมากอาจเจอปัญหาข้อความหลุดลำดับ (Out-of-Order). EP นี้สอนเทคนิคกำหนด Sequence ID, การจัดลำดับก่อน Broadcast, การ Sync ผ่าน Redis Pub\u002FSub และระบบ Recovery เพื่อให้ข้อความเรียงถูกต้อง 100% ในระดับ Production.","2026-05-08 06:52:10.087Z",{"alt":393,"cover_image_path":394,"created":395,"expand":396,"id":425,"published_at":426,"school_blog":421,"short_description":427,"title":393,"updated":428,"slug":422,"views":424},"EP.110 การทำ Auto-Scaling และ Load Balancing ขั้นสูง สำหรับ WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F0s8pe3g2y0qas2l\u002Fcover_image_for_golang_the_series_ep_bjd5koqmts.ebSocketServers.webp","2026-03-04 08:45:22.302Z",{"keywords":397,"locale":415,"school_blog":416},[398,403,404,409,414],{"collectionId":12,"collectionName":13,"created":399,"created_by":15,"id":400,"name":401,"updated":402,"updated_by":15},"2026-03-04 08:45:21.423Z","li64irj457fco7n","WebSocket Production","2026-04-10 16:12:57.668Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":405,"created_by":15,"id":406,"name":407,"updated":408,"updated_by":15},"2026-03-04 08:34:03.856Z","9dujh23qyko22y0","Load Balancing","2026-04-10 16:08:06.326Z",{"collectionId":12,"collectionName":13,"created":410,"created_by":15,"id":411,"name":412,"updated":413,"updated_by":15},"2026-03-04 08:45:22.045Z","dfxjlxr48oep97h","Auto-Scaling","2026-04-10 16:12:57.746Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"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":417,"id":421,"slug":422,"updated":423,"views":424},{"category":418},{"blogIds":419,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":420,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"n8v6ufz2p8bhb1f","websocket-auto-scaling-load-balancing","2026-05-07 13:05:03.014Z",241,"0s8pe3g2y0qas2l","2025-11-24 03:06:21.583Z","เรียนรู้การออกแบบ WebSocket Server ที่สามารถปรับขนาดได้อัตโนมัติ และกระจายโหลดอย่างมีประสิทธิภาพด้วย Kubernetes, Sticky Session และ Redis Pub\u002FSub เพื่อรองรับผู้ใช้หลักหมื่นคนพร้อมกัน","2026-05-08 06:52:10.278Z",{"alt":430,"cover_image_path":431,"created":432,"expand":433,"id":477,"published_at":478,"school_blog":473,"short_description":479,"title":430,"updated":480,"slug":474,"views":476},"ChatGPT Atlas คืออะไร? เปิดตัวเบราว์เซอร์ AI ตัวแรกจาก OpenAI ที่เปลี่ยนวิธีท่องเว็บตลอดกาล","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fvoi3jt0i9wd8l1v\u002Fwhat_is_chat_gpt_atlas_40aiw8flpz.webp","2026-03-04 08:45:27.958Z",{"keywords":434,"locale":460,"school_blog":461},[435,440,445,450,455],{"collectionId":12,"collectionName":13,"created":436,"created_by":15,"id":437,"name":438,"updated":439,"updated_by":15},"2026-03-04 08:45:24.247Z","qumyfjd00ukyzc5","Atlas","2026-04-10 16:12:57.912Z",{"collectionId":12,"collectionName":13,"created":441,"created_by":15,"id":442,"name":443,"updated":444,"updated_by":15},"2026-03-04 08:45:25.467Z","1tz3wejkhxews0x","AI Browser","2026-04-10 16:12:58.046Z",{"collectionId":12,"collectionName":13,"created":446,"created_by":15,"id":447,"name":448,"updated":449,"updated_by":15},"2026-03-04 08:45:25.998Z","otvtu2l6b7ra500","เบราว์เซอร์ AI","2026-04-10 16:12:58.264Z",{"collectionId":12,"collectionName":13,"created":451,"created_by":15,"id":452,"name":453,"updated":454,"updated_by":15},"2026-03-04 08:45:27.056Z","2uym5jyjlbrcyjp","OpenAI Atlas","2026-04-10 16:12:58.623Z",{"collectionId":12,"collectionName":13,"created":456,"created_by":15,"id":457,"name":458,"updated":459,"updated_by":15},"2026-03-04 08:45:27.721Z","pyp7qb8g6p56ich","ChatGPT Atlas","2026-04-10 16:12:58.791Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":462,"collectionId":51,"collectionName":52,"created":15,"expand":463,"id":473,"slug":474,"updated":475,"views":476},"spm4l1k5bgmhmmt",{"category":464},{"blogIds":465,"collectionId":56,"collectionName":57,"created":466,"created_by":15,"id":462,"image":467,"image_alt":15,"image_path":468,"label":469,"name":470,"priority":160,"publish_at":471,"scheduled_at":15,"status":65,"updated":472,"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":470,"th":470},"Knowledge","2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","7ks20fg76zrxq5e","chatgpt-atlas-ai-browser-openai","2026-05-09 15:37:20.057Z",239,"voi3jt0i9wd8l1v","2025-11-21 02:22:50.810Z","รู้จัก ChatGPT Atlas เบราว์เซอร์อัจฉริยะจาก OpenAI ที่รวม ChatGPT เข้ากับทุกแท็บ ช่วยสรุป เขียน และวิเคราะห์ข้อมูลได้แบบเรียลไทม์ พร้อมระบบความเป็นส่วนตัวที่ผู้ใช้ควบคุมได้เอง","2026-05-08 06:52:10.848Z",{"alt":482,"cover_image_path":483,"created":484,"expand":485,"id":514,"published_at":515,"school_blog":511,"short_description":516,"title":482,"updated":517,"slug":512,"views":387},"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":486,"locale":505,"school_blog":506},[487,492,493,498,499,500],{"collectionId":12,"collectionName":13,"created":488,"created_by":15,"id":489,"name":490,"updated":491,"updated_by":15},"2026-03-04 08:45:27.349Z","n1nlaxsxjy2673f","Data Processing","2026-04-10 16:12:58.694Z",{"collectionId":12,"collectionName":13,"created":184,"created_by":15,"id":185,"name":186,"updated":187,"updated_by":15},{"collectionId":12,"collectionName":13,"created":494,"created_by":15,"id":495,"name":496,"updated":497,"updated_by":15},"2026-03-04 08:45:26.685Z","cipipihaumk5zpt","Pipelines","2026-04-10 16:12:58.461Z",{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"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":501,"created_by":15,"id":502,"name":503,"updated":504,"updated_by":15},"2026-03-04 08:33:55.714Z","yxs12a8pjduka2m","Channels","2026-04-10 16:08:03.494Z",{"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":507,"id":511,"slug":512,"updated":513,"views":387},{"category":508},{"blogIds":509,"collectionId":56,"collectionName":57,"created":107,"created_by":15,"id":103,"image":108,"image_alt":15,"image_path":109,"label":510,"name":111,"priority":112,"publish_at":113,"scheduled_at":15,"status":65,"updated":114,"updated_by":15},[],{"en":111,"th":111},"s28wwjv2p4jxfgu","js2go-ep39-channels-and-pipelines-in-go-for-data-processing","2026-05-10 21:57:26.754Z","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",7,12,406,34]