[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-9-12-Tailwind%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520CSS-all-all-createdAt:desc-default":3},{"data":4,"page":516,"perPage":517,"totalItems":518,"totalPages":519},[5,75,122,171,208,244,281,334,372,413,450,487],{"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},"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":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:51.471Z","76qprkevbgfdps8","hlato0hav8vo8wm","Golang The Series","2026-06-07 06:46:40.040Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:45:12.082Z","d1gcnwwosqk2zn0","redis pubsub","2026-06-07 06:46:45.685Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:45:12.418Z","vbx3b3qn50sn0tr","Multi-room Chat","2026-06-07 06:46:45.865Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"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-06-07 06:45:07.798Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":54,"id":67,"slug":68,"updated":69,"views":70},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":55},{"blogIds":56,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":62,"name":17,"priority":63,"publish_at":64,"scheduled_at":53,"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":17,"th":17},1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","c5vhepb3pkr5tot","go-advanced-multiroom-chat-system","2026-05-14 18:05:15.155Z",235,"031eo95zo2f02o0","2025-12-02 03:38:42.902Z","สร้างระบบแชทแบบหลายห้อง (Multi-room Chat) ที่รองรับผู้ใช้หลายกลุ่มพร้อมกัน พร้อมฟังก์ชันกระจายข้อความแบบเรียลไทม์ และเชื่อมต่อ Redis Pub\u002FSub เพื่อรองรับหลาย instance ได้จริงในระบบ production","2026-06-07 06:43:29.204Z",{"alt":76,"cover_image_path":77,"created":78,"expand":79,"id":118,"published_at":119,"school_blog":114,"short_description":120,"title":76,"updated":121,"slug":115,"views":117},"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":80,"locale":108,"school_blog":109},[81,86,91,96,97,98,103],{"collectionId":12,"collectionName":13,"created":82,"created_by":15,"id":83,"name":84,"updated":85,"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":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:45:13.969Z","pyniezbvfdbyuyc","real-time notifications","2026-06-07 06:46:46.125Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},"2026-03-04 08:34:10.254Z","rss87kgvhtvkri1","Redis Pub\u002FSub","2026-06-07 06:45:59.786Z",{"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":99,"created_by":15,"id":100,"name":101,"updated":102,"updated_by":15},"2026-03-04 08:45:13.578Z","qwq1kseajvv4cne","notification system","2026-06-07 06:46:45.953Z",{"collectionId":12,"collectionName":13,"created":104,"created_by":15,"id":105,"name":106,"updated":107,"updated_by":15},"2026-03-04 08:45:14.176Z","90clm03jhn4xsnp","Notification","2026-06-07 06:46:46.208Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":110,"id":114,"slug":115,"updated":116,"views":117},{"category":111},{"blogIds":112,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":113,"name":17,"priority":63,"publish_at":64,"scheduled_at":53,"status":65,"updated":66,"updated_by":15},[],{"en":17,"th":17},"8g70iqmnsdxbwpb","websocket-real-time-notification-ep112","2026-06-05 16:22:58.695Z",350,"wbl9d896ederjtt","2025-12-01 04:20:07.889Z","เรียนรู้วิธีสร้างระบบ Notification แบบเรียลไทม์ด้วย Go และ WebSocket พร้อมรองรับการขยายระบบด้วย Redis Pub\u002FSub เพื่อให้ผู้ใช้ได้รับการแจ้งเตือนทันทีเมื่อเกิด Event สำคัญ","2026-06-07 06:43:29.432Z",{"alt":123,"cover_image_path":124,"created":125,"expand":126,"id":167,"published_at":168,"school_blog":163,"short_description":169,"title":123,"updated":170,"slug":164,"views":166},"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":127,"locale":149,"school_blog":150},[128,133,138,143,144],{"collectionId":12,"collectionName":13,"created":129,"created_by":15,"id":130,"name":131,"updated":132,"updated_by":15},"2026-03-04 08:45:18.214Z","teavruxi3wptjg2","Fan-in Fan-out","2026-06-07 06:46:47.083Z",{"collectionId":12,"collectionName":13,"created":134,"created_by":15,"id":135,"name":136,"updated":137,"updated_by":15},"2026-03-04 08:34:34.471Z","wdd8fb47sbrmq28","Worker Pool","2026-06-07 06:46:10.765Z",{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:24:48.143Z","dourw0uuydrrh1h","Concurrency","2026-06-07 06:45:12.740Z",{"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":53,"expand":152,"id":163,"slug":164,"updated":165,"views":166},"hsa1afr8fcnd6qb",{"category":153},{"blogIds":154,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":158,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"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":159,"th":159},"JS2GO",10,"2025-08-11 03:41:08.820Z","2026-06-07 06:45:02.240Z","hntkdnpnkznr05d","js2go-ep41-advanced-concurrency-patterns-go-vs-javascript","2026-06-08 00:49:53.409Z",218,"nmahpjkd1ktk7id","2025-11-25 09:53:31.002Z","เรียนรู้ Worker Pool, Fan-in\u002FFan-out, Rate Limiter และ Pipeline Optimization เปรียบเทียบการทำงานระหว่าง Go และ JavaScript พร้อมตัวอย่างที่ใช้จริงในระบบ Production","2026-06-07 06:43:30.686Z",{"alt":172,"cover_image_path":173,"created":174,"expand":175,"id":204,"published_at":205,"school_blog":200,"short_description":206,"title":172,"updated":207,"slug":201,"views":203},"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":176,"locale":194,"school_blog":195},[177,182,187,192,193],{"collectionId":12,"collectionName":13,"created":178,"created_by":15,"id":179,"name":180,"updated":181,"updated_by":15},"2026-03-04 08:45:19.588Z","jiiqle4ur9lyqjr","Garbage Collection","2026-06-07 06:46:47.260Z",{"collectionId":12,"collectionName":13,"created":183,"created_by":15,"id":184,"name":185,"updated":186,"updated_by":15},"2026-03-04 08:45:19.280Z","2zphwe6a9vls84d","Benchmark","2026-06-07 06:46:47.160Z",{"collectionId":12,"collectionName":13,"created":188,"created_by":15,"id":189,"name":190,"updated":191,"updated_by":15},"2026-03-04 08:45:19.946Z","qvr2sryoiqkkq1g","Optimize Performance","2026-06-07 06:46:47.375Z",{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"updated_by":15},{"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":151,"collectionId":51,"collectionName":52,"created":53,"expand":196,"id":200,"slug":201,"updated":202,"views":203},{"category":197},{"blogIds":198,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":199,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"updated_by":15},[],{"en":159,"th":159},"ym4kynngu92kw5x","js2go-ep40-optimize-performance-go-vs-javascript","2026-06-08 06:13:56.861Z",227,"xqxhqcf7ezee2ok","2025-11-25 09:45:29.314Z","เรียนรู้เทคนิคการเพิ่มประสิทธิภาพของโค้ดทั้งใน Go และ JavaScript ตั้งแต่ Garbage Collection, Memory Profiling, Parallel Execution ไปจนถึง Benchmark Tools พร้อมเปรียบเทียบว่าแต่ละภาษาทำงานได้ดีในสถานการณ์แบบไหน","2026-06-07 06:43:31.131Z",{"alt":209,"cover_image_path":210,"created":211,"expand":212,"id":240,"published_at":241,"school_blog":237,"short_description":242,"title":209,"updated":243,"slug":238,"views":239},"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":213,"locale":231,"school_blog":232},[214,219,224,229,230],{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"updated_by":15},"2026-03-04 08:45:10.623Z","2zhfdpu8sy1xeju","Golang WebSocket","2026-06-07 06:46:45.080Z",{"collectionId":12,"collectionName":13,"created":220,"created_by":15,"id":221,"name":222,"updated":223,"updated_by":15},"2026-03-04 08:45:20.573Z","v392y0yjhdt1ttt","Event Sequence","2026-06-07 06:46:47.684Z",{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},"2026-03-04 08:45:20.175Z","qt9i7rqnfh0kczq","Message Ordering","2026-06-07 06:46:47.499Z",{"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},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":233,"id":237,"slug":238,"updated":53,"views":239},{"category":234},{"blogIds":235,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":236,"name":17,"priority":63,"publish_at":64,"scheduled_at":53,"status":65,"updated":66,"updated_by":15},[],{"en":17,"th":17},"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-06-07 06:43:31.554Z",{"alt":245,"cover_image_path":246,"created":247,"expand":248,"id":277,"published_at":278,"school_blog":273,"short_description":279,"title":245,"updated":280,"slug":274,"views":276},"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":249,"locale":267,"school_blog":268},[250,255,256,261,266],{"collectionId":12,"collectionName":13,"created":251,"created_by":15,"id":252,"name":253,"updated":254,"updated_by":15},"2026-03-04 08:45:21.423Z","li64irj457fco7n","WebSocket Production","2026-06-07 06:46:47.816Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"updated_by":15},"2026-03-04 08:34:03.856Z","9dujh23qyko22y0","Load Balancing","2026-06-07 06:45:57.012Z",{"collectionId":12,"collectionName":13,"created":262,"created_by":15,"id":263,"name":264,"updated":265,"updated_by":15},"2026-03-04 08:45:22.045Z","dfxjlxr48oep97h","Auto-Scaling","2026-06-07 06:46:47.965Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":50,"collectionId":51,"collectionName":52,"created":53,"expand":269,"id":273,"slug":274,"updated":275,"views":276},{"category":270},{"blogIds":271,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":272,"name":17,"priority":63,"publish_at":64,"scheduled_at":53,"status":65,"updated":66,"updated_by":15},[],{"en":17,"th":17},"n8v6ufz2p8bhb1f","websocket-auto-scaling-load-balancing","2026-06-15 01:53:57.511Z",248,"0s8pe3g2y0qas2l","2025-11-24 03:06:21.583Z","เรียนรู้การออกแบบ WebSocket Server ที่สามารถปรับขนาดได้อัตโนมัติ และกระจายโหลดอย่างมีประสิทธิภาพด้วย Kubernetes, Sticky Session และ Redis Pub\u002FSub เพื่อรองรับผู้ใช้หลักหมื่นคนพร้อมกัน","2026-06-07 06:43:31.668Z",{"alt":282,"cover_image_path":283,"created":284,"expand":285,"id":330,"published_at":331,"school_blog":326,"short_description":332,"title":282,"updated":333,"slug":327,"views":329},"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":286,"locale":312,"school_blog":313},[287,292,297,302,307],{"collectionId":12,"collectionName":13,"created":288,"created_by":15,"id":289,"name":290,"updated":291,"updated_by":15},"2026-03-04 08:45:24.247Z","qumyfjd00ukyzc5","Atlas","2026-06-07 06:46:48.129Z",{"collectionId":12,"collectionName":13,"created":293,"created_by":15,"id":294,"name":295,"updated":296,"updated_by":15},"2026-03-04 08:45:25.467Z","1tz3wejkhxews0x","AI Browser","2026-06-07 06:46:48.231Z",{"collectionId":12,"collectionName":13,"created":298,"created_by":15,"id":299,"name":300,"updated":301,"updated_by":15},"2026-03-04 08:45:25.998Z","otvtu2l6b7ra500","เบราว์เซอร์ AI","2026-06-07 06:46:48.552Z",{"collectionId":12,"collectionName":13,"created":303,"created_by":15,"id":304,"name":305,"updated":306,"updated_by":15},"2026-03-04 08:45:27.056Z","2uym5jyjlbrcyjp","OpenAI Atlas","2026-06-07 06:46:48.956Z",{"collectionId":12,"collectionName":13,"created":308,"created_by":15,"id":309,"name":310,"updated":311,"updated_by":15},"2026-03-04 08:45:27.721Z","pyp7qb8g6p56ich","ChatGPT Atlas","2026-06-07 06:46:49.357Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":314,"collectionId":51,"collectionName":52,"created":53,"expand":315,"id":326,"slug":327,"updated":328,"views":329},"spm4l1k5bgmhmmt",{"category":316},{"blogIds":317,"collectionId":57,"collectionName":58,"created":318,"created_by":15,"id":314,"image":319,"image_alt":53,"image_path":320,"label":321,"name":322,"priority":323,"publish_at":324,"scheduled_at":53,"status":65,"updated":325,"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":322,"th":322},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","7ks20fg76zrxq5e","chatgpt-atlas-ai-browser-openai","2026-05-25 10:30:38.973Z",245,"voi3jt0i9wd8l1v","2025-11-21 02:22:50.810Z","รู้จัก ChatGPT Atlas เบราว์เซอร์อัจฉริยะจาก OpenAI ที่รวม ChatGPT เข้ากับทุกแท็บ ช่วยสรุป เขียน และวิเคราะห์ข้อมูลได้แบบเรียลไทม์ พร้อมระบบความเป็นส่วนตัวที่ผู้ใช้ควบคุมได้เอง","2026-06-07 06:43:32.061Z",{"alt":335,"cover_image_path":336,"created":337,"expand":338,"id":368,"published_at":369,"school_blog":364,"short_description":370,"title":335,"updated":371,"slug":365,"views":367},"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":339,"locale":358,"school_blog":359},[340,345,346,351,352,353],{"collectionId":12,"collectionName":13,"created":341,"created_by":15,"id":342,"name":343,"updated":344,"updated_by":15},"2026-03-04 08:45:27.349Z","n1nlaxsxjy2673f","Data Processing","2026-06-07 06:46:49.227Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"collectionId":12,"collectionName":13,"created":347,"created_by":15,"id":348,"name":349,"updated":350,"updated_by":15},"2026-03-04 08:45:26.685Z","cipipihaumk5zpt","Pipelines","2026-06-07 06:46:48.793Z",{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"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":354,"created_by":15,"id":355,"name":356,"updated":357,"updated_by":15},"2026-03-04 08:33:55.714Z","yxs12a8pjduka2m","Channels","2026-06-07 06:45:53.703Z",{"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":53,"expand":360,"id":364,"slug":365,"updated":366,"views":367},{"category":361},{"blogIds":362,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":363,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"updated_by":15},[],{"en":159,"th":159},"s28wwjv2p4jxfgu","js2go-ep39-channels-and-pipelines-in-go-for-data-processing","2026-06-10 02:52:18.746Z",232,"1rm9mb65vfkuus7","2025-11-12 02:36:58.760Z","เรียนรู้การใช้ Channels และ Pipelines ใน Go เพื่อสร้างระบบประมวลผลข้อมูลแบบ Parallel และ Asynchronous อย่างมีประสิทธิภาพ พร้อมตัวอย่างโค้ดจริง การเปรียบเทียบกับ JavaScript และแนวทางการออกแบบ Pipeline สำหรับงาน Data Processing ในระดับ Production","2026-06-07 06:43:32.486Z",{"alt":373,"cover_image_path":374,"created":375,"expand":376,"id":409,"published_at":410,"school_blog":405,"short_description":411,"title":373,"updated":412,"slug":406,"views":408},"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":377,"locale":399,"school_blog":400},[378,383,384,389,394],{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":385,"created_by":15,"id":386,"name":387,"updated":388,"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":390,"created_by":15,"id":391,"name":392,"updated":393,"updated_by":15},"2026-03-04 08:45:29.064Z","ppd9qfd57kr4d9v","Stream","2026-06-07 06:46:49.492Z",{"collectionId":12,"collectionName":13,"created":395,"created_by":15,"id":396,"name":397,"updated":398,"updated_by":15},"2026-03-04 08:45:29.466Z","ikxxjlf4gp9demr","Buffer","2026-06-07 06:46:49.712Z",{"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":53,"expand":401,"id":405,"slug":406,"updated":407,"views":408},{"category":402},{"blogIds":403,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":404,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"updated_by":15},[],{"en":159,"th":159},"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-06-07 06:43:32.739Z",{"alt":414,"cover_image_path":415,"created":416,"expand":417,"id":446,"published_at":447,"school_blog":442,"short_description":448,"title":414,"updated":449,"slug":443,"views":445},"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":418,"locale":436,"school_blog":437},[419,423,424,425,426,431],{"collectionId":12,"collectionName":13,"created":420,"created_by":15,"id":421,"name":159,"updated":422,"updated_by":15},"2026-03-04 08:45:30.765Z","nayuhpre9emd5xw","2026-06-07 06:46:49.847Z",{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"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":139,"created_by":15,"id":140,"name":141,"updated":142,"updated_by":15},{"collectionId":12,"collectionName":13,"created":427,"created_by":15,"id":428,"name":429,"updated":430,"updated_by":15},"2026-03-04 08:45:31.134Z","erv835t5leo90qz","Iteration","2026-06-07 06:46:49.923Z",{"collectionId":12,"collectionName":13,"created":432,"created_by":15,"id":433,"name":434,"updated":435,"updated_by":15},"2026-03-04 08:45:31.539Z","thoynmyxpcmdicf","Recursion","2026-06-07 06:46:50.081Z",{"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":53,"expand":438,"id":442,"slug":443,"updated":444,"views":445},{"category":439},{"blogIds":440,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":441,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"updated_by":15},[],{"en":159,"th":159},"37rbeb1gdzv1ezc","js2go-ep37-recursion-vs-iteration-in-javascript-and-go","2026-06-13 21:51:07.309Z",233,"np98njk711u28jh","2025-11-12 02:36:45.781Z","เรียนรู้ความแตกต่างระหว่างการเขียนโค้ดแบบ Recursion (การเรียกซ้ำ) และ Iteration (การวนซ้ำ) พร้อมตัวอย่างโค้ดจริงใน JavaScript และ Go เพื่อเปรียบเทียบความเร็ว การใช้หน่วยความจำ และแนวทางเลือกใช้ในระบบจริง","2026-06-07 06:43:33.198Z",{"alt":451,"cover_image_path":452,"created":453,"expand":454,"id":483,"published_at":484,"school_blog":479,"short_description":485,"title":451,"updated":486,"slug":480,"views":482},"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":455,"locale":473,"school_blog":474},[456,457,458,463,468],{"collectionId":12,"collectionName":13,"created":139,"created_by":15,"id":140,"name":141,"updated":142,"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":459,"created_by":15,"id":460,"name":461,"updated":462,"updated_by":15},"2026-03-04 08:45:32.020Z","8vrqzeheyjmdnla","Binary Search","2026-06-07 06:46:50.251Z",{"collectionId":12,"collectionName":13,"created":464,"created_by":15,"id":465,"name":466,"updated":467,"updated_by":15},"2026-03-04 08:45:32.242Z","qrrtdp2now459ki","Linear Search","2026-06-07 06:46:50.368Z",{"collectionId":12,"collectionName":13,"created":469,"created_by":15,"id":470,"name":471,"updated":472,"updated_by":15},"2026-03-04 08:34:57.930Z","3j6u3nyhnmlp6ld","Searching Algorithms","2026-06-07 06:46:21.076Z",{"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":53,"expand":475,"id":479,"slug":480,"updated":481,"views":482},{"category":476},{"blogIds":477,"collectionId":57,"collectionName":58,"created":155,"created_by":15,"id":151,"image":156,"image_alt":53,"image_path":157,"label":478,"name":159,"priority":160,"publish_at":161,"scheduled_at":53,"status":65,"updated":162,"updated_by":15},[],{"en":159,"th":159},"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-06-07 06:43:33.440Z",{"alt":488,"cover_image_path":489,"created":490,"expand":491,"id":512,"published_at":513,"school_blog":508,"short_description":514,"title":488,"updated":515,"slug":509,"views":511},"EP.109 การปรับปรุง Performance สำหรับ WebSocket บนมือถือ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fketdslo0vzzv5b6\u002F189_11zon_cvsstgpwm1.webp","2026-03-04 08:45:34.928Z",{"keywords":492,"locale":502,"school_blog":503},[493,498,499,500,501],{"collectionId":12,"collectionName":13,"created":494,"created_by":15,"id":495,"name":496,"updated":497,"updated_by":15},"2026-03-04 08:45:34.193Z","6ogs62iwr48p5xn","WebSocket บนมือถือ","2026-06-07 06:46:50.751Z",{"collectionId":12,"collectionName":13,"created":379,"created_by":15,"id":380,"name":381,"updated":382,"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":82,"created_by":15,"id":83,"name":84,"updated":85,"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":53,"expand":504,"id":508,"slug":509,"updated":510,"views":511},{"category":505},{"blogIds":506,"collectionId":57,"collectionName":58,"created":59,"created_by":15,"id":50,"image":60,"image_alt":53,"image_path":61,"label":507,"name":17,"priority":63,"publish_at":64,"scheduled_at":53,"status":65,"updated":66,"updated_by":15},[],{"en":17,"th":17},"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-06-07 06:43:33.646Z",9,12,427,36]