[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-9-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":518,"perPage":519,"totalItems":520,"totalPages":521},[5,86,135,172,208,245,298,336,377,413,450,479],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":82,"published_at":83,"school_blog":78,"short_description":84,"title":6,"updated":85,"slug":79,"views":81},"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":10,"locale":49,"school_blog":59},[11,19,24,29,34,39,44],{"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:48.724Z","76qprkevbgfdps8","s6xhnfomy7n5ycp","WebSocket Server","2026-06-07 06:46:39.070Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":25,"created_by":15,"id":26,"name":27,"updated":28,"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":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"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":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-03-04 08:45:14.176Z","90clm03jhn4xsnp","Notification","2026-06-07 06:46:46.208Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},"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":60,"collectionId":61,"collectionName":62,"created":63,"expand":64,"id":78,"slug":79,"updated":80,"views":81},"wqxt7ag2gn7xcmk","pbc_2105096300","school_blogs","",{"category":65},{"blogIds":66,"collectionId":67,"collectionName":68,"created":69,"created_by":15,"id":60,"image":70,"image_alt":63,"image_path":71,"label":72,"name":73,"priority":74,"publish_at":75,"scheduled_at":63,"status":76,"updated":77,"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":73,"th":73},"Golang The Series",1,"2026-03-16 04:39:38.440Z","published","2026-06-07 06:45:03.856Z","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":87,"cover_image_path":88,"created":89,"expand":90,"id":131,"published_at":132,"school_blog":127,"short_description":133,"title":87,"updated":134,"slug":128,"views":130},"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":91,"locale":113,"school_blog":114},[92,97,102,107,108],{"collectionId":12,"collectionName":13,"created":93,"created_by":15,"id":94,"name":95,"updated":96,"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":98,"created_by":15,"id":99,"name":100,"updated":101,"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":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":109,"created_by":15,"id":110,"name":111,"updated":112,"updated_by":15},"2026-03-04 08:24:48.143Z","dourw0uuydrrh1h","Concurrency","2026-06-07 06:45:12.740Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":116,"id":127,"slug":128,"updated":129,"views":130},"hsa1afr8fcnd6qb",{"category":117},{"blogIds":118,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":122,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"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":123,"th":123},"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":136,"cover_image_path":137,"created":138,"expand":139,"id":168,"published_at":169,"school_blog":164,"short_description":170,"title":136,"updated":171,"slug":165,"views":167},"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":140,"locale":158,"school_blog":159},[141,146,151,156,157],{"collectionId":12,"collectionName":13,"created":142,"created_by":15,"id":143,"name":144,"updated":145,"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":147,"created_by":15,"id":148,"name":149,"updated":150,"updated_by":15},"2026-03-04 08:45:19.280Z","2zphwe6a9vls84d","Benchmark","2026-06-07 06:46:47.160Z",{"collectionId":12,"collectionName":13,"created":152,"created_by":15,"id":153,"name":154,"updated":155,"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":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":160,"id":164,"slug":165,"updated":166,"views":167},{"category":161},{"blogIds":162,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":163,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"updated_by":15},[],{"en":123,"th":123},"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":173,"cover_image_path":174,"created":175,"expand":176,"id":204,"published_at":205,"school_blog":201,"short_description":206,"title":173,"updated":207,"slug":202,"views":203},"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":177,"locale":195,"school_blog":196},[178,183,188,193,194],{"collectionId":12,"collectionName":13,"created":179,"created_by":15,"id":180,"name":181,"updated":182,"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":184,"created_by":15,"id":185,"name":186,"updated":187,"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":189,"created_by":15,"id":190,"name":191,"updated":192,"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":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},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":63,"expand":197,"id":201,"slug":202,"updated":63,"views":203},{"category":198},{"blogIds":199,"collectionId":67,"collectionName":68,"created":69,"created_by":15,"id":60,"image":70,"image_alt":63,"image_path":71,"label":200,"name":73,"priority":74,"publish_at":75,"scheduled_at":63,"status":76,"updated":77,"updated_by":15},[],{"en":73,"th":73},"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":209,"cover_image_path":210,"created":211,"expand":212,"id":241,"published_at":242,"school_blog":237,"short_description":243,"title":209,"updated":244,"slug":238,"views":240},"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":213,"locale":231,"school_blog":232},[214,219,220,225,230],{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"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":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":221,"created_by":15,"id":222,"name":223,"updated":224,"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":226,"created_by":15,"id":227,"name":228,"updated":229,"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":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":63,"expand":233,"id":237,"slug":238,"updated":239,"views":240},{"category":234},{"blogIds":235,"collectionId":67,"collectionName":68,"created":69,"created_by":15,"id":60,"image":70,"image_alt":63,"image_path":71,"label":236,"name":73,"priority":74,"publish_at":75,"scheduled_at":63,"status":76,"updated":77,"updated_by":15},[],{"en":73,"th":73},"n8v6ufz2p8bhb1f","websocket-auto-scaling-load-balancing","2026-06-10 15:56:26.592Z",247,"0s8pe3g2y0qas2l","2025-11-24 03:06:21.583Z","เรียนรู้การออกแบบ WebSocket Server ที่สามารถปรับขนาดได้อัตโนมัติ และกระจายโหลดอย่างมีประสิทธิภาพด้วย Kubernetes, Sticky Session และ Redis Pub\u002FSub เพื่อรองรับผู้ใช้หลักหมื่นคนพร้อมกัน","2026-06-07 06:43:31.668Z",{"alt":246,"cover_image_path":247,"created":248,"expand":249,"id":294,"published_at":295,"school_blog":290,"short_description":296,"title":246,"updated":297,"slug":291,"views":293},"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":250,"locale":276,"school_blog":277},[251,256,261,266,271],{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},"2026-03-04 08:45:24.247Z","qumyfjd00ukyzc5","Atlas","2026-06-07 06:46:48.129Z",{"collectionId":12,"collectionName":13,"created":257,"created_by":15,"id":258,"name":259,"updated":260,"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":262,"created_by":15,"id":263,"name":264,"updated":265,"updated_by":15},"2026-03-04 08:45:25.998Z","otvtu2l6b7ra500","เบราว์เซอร์ AI","2026-06-07 06:46:48.552Z",{"collectionId":12,"collectionName":13,"created":267,"created_by":15,"id":268,"name":269,"updated":270,"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":272,"created_by":15,"id":273,"name":274,"updated":275,"updated_by":15},"2026-03-04 08:45:27.721Z","pyp7qb8g6p56ich","ChatGPT Atlas","2026-06-07 06:46:49.357Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":278,"collectionId":61,"collectionName":62,"created":63,"expand":279,"id":290,"slug":291,"updated":292,"views":293},"spm4l1k5bgmhmmt",{"category":280},{"blogIds":281,"collectionId":67,"collectionName":68,"created":282,"created_by":15,"id":278,"image":283,"image_alt":63,"image_path":284,"label":285,"name":286,"priority":287,"publish_at":288,"scheduled_at":63,"status":76,"updated":289,"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":286,"th":286},"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":299,"cover_image_path":300,"created":301,"expand":302,"id":332,"published_at":333,"school_blog":328,"short_description":334,"title":299,"updated":335,"slug":329,"views":331},"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":303,"locale":322,"school_blog":323},[304,309,310,315,316,317],{"collectionId":12,"collectionName":13,"created":305,"created_by":15,"id":306,"name":307,"updated":308,"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":109,"created_by":15,"id":110,"name":111,"updated":112,"updated_by":15},{"collectionId":12,"collectionName":13,"created":311,"created_by":15,"id":312,"name":313,"updated":314,"updated_by":15},"2026-03-04 08:45:26.685Z","cipipihaumk5zpt","Pipelines","2026-06-07 06:46:48.793Z",{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"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":318,"created_by":15,"id":319,"name":320,"updated":321,"updated_by":15},"2026-03-04 08:33:55.714Z","yxs12a8pjduka2m","Channels","2026-06-07 06:45:53.703Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":324,"id":328,"slug":329,"updated":330,"views":331},{"category":325},{"blogIds":326,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":327,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"updated_by":15},[],{"en":123,"th":123},"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":337,"cover_image_path":338,"created":339,"expand":340,"id":373,"published_at":374,"school_blog":369,"short_description":375,"title":337,"updated":376,"slug":370,"views":372},"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":341,"locale":363,"school_blog":364},[342,347,348,353,358],{"collectionId":12,"collectionName":13,"created":343,"created_by":15,"id":344,"name":345,"updated":346,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":349,"created_by":15,"id":350,"name":351,"updated":352,"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":354,"created_by":15,"id":355,"name":356,"updated":357,"updated_by":15},"2026-03-04 08:45:29.064Z","ppd9qfd57kr4d9v","Stream","2026-06-07 06:46:49.492Z",{"collectionId":12,"collectionName":13,"created":359,"created_by":15,"id":360,"name":361,"updated":362,"updated_by":15},"2026-03-04 08:45:29.466Z","ikxxjlf4gp9demr","Buffer","2026-06-07 06:46:49.712Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":365,"id":369,"slug":370,"updated":371,"views":372},{"category":366},{"blogIds":367,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":368,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"updated_by":15},[],{"en":123,"th":123},"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":378,"cover_image_path":379,"created":380,"expand":381,"id":409,"published_at":410,"school_blog":406,"short_description":411,"title":378,"updated":412,"slug":407,"views":331},"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":382,"locale":400,"school_blog":401},[383,387,388,389,390,395],{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":123,"updated":386,"updated_by":15},"2026-03-04 08:45:30.765Z","nayuhpre9emd5xw","2026-06-07 06:46:49.847Z",{"collectionId":12,"collectionName":13,"created":343,"created_by":15,"id":344,"name":345,"updated":346,"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":103,"created_by":15,"id":104,"name":105,"updated":106,"updated_by":15},{"collectionId":12,"collectionName":13,"created":391,"created_by":15,"id":392,"name":393,"updated":394,"updated_by":15},"2026-03-04 08:45:31.134Z","erv835t5leo90qz","Iteration","2026-06-07 06:46:49.923Z",{"collectionId":12,"collectionName":13,"created":396,"created_by":15,"id":397,"name":398,"updated":399,"updated_by":15},"2026-03-04 08:45:31.539Z","thoynmyxpcmdicf","Recursion","2026-06-07 06:46:50.081Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":402,"id":406,"slug":407,"updated":408,"views":331},{"category":403},{"blogIds":404,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":405,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"updated_by":15},[],{"en":123,"th":123},"37rbeb1gdzv1ezc","js2go-ep37-recursion-vs-iteration-in-javascript-and-go","2026-06-07 23:06:22.072Z","np98njk711u28jh","2025-11-12 02:36:45.781Z","เรียนรู้ความแตกต่างระหว่างการเขียนโค้ดแบบ Recursion (การเรียกซ้ำ) และ Iteration (การวนซ้ำ) พร้อมตัวอย่างโค้ดจริงใน JavaScript และ Go เพื่อเปรียบเทียบความเร็ว การใช้หน่วยความจำ และแนวทางเลือกใช้ในระบบจริง","2026-06-07 06:43:33.198Z",{"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.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":418,"locale":436,"school_blog":437},[419,420,421,426,431],{"collectionId":12,"collectionName":13,"created":103,"created_by":15,"id":104,"name":105,"updated":106,"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":422,"created_by":15,"id":423,"name":424,"updated":425,"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":427,"created_by":15,"id":428,"name":429,"updated":430,"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":432,"created_by":15,"id":433,"name":434,"updated":435,"updated_by":15},"2026-03-04 08:34:57.930Z","3j6u3nyhnmlp6ld","Searching Algorithms","2026-06-07 06:46:21.076Z",{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":115,"collectionId":61,"collectionName":62,"created":63,"expand":438,"id":442,"slug":443,"updated":444,"views":445},{"category":439},{"blogIds":440,"collectionId":67,"collectionName":68,"created":119,"created_by":15,"id":115,"image":120,"image_alt":63,"image_path":121,"label":441,"name":123,"priority":124,"publish_at":125,"scheduled_at":63,"status":76,"updated":126,"updated_by":15},[],{"en":123,"th":123},"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":451,"cover_image_path":452,"created":453,"expand":454,"id":475,"published_at":476,"school_blog":471,"short_description":477,"title":451,"updated":478,"slug":472,"views":474},"EP.109 การปรับปรุง Performance สำหรับ WebSocket บนมือถือ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fketdslo0vzzv5b6\u002F189_11zon_cvsstgpwm1.webp","2026-03-04 08:45:34.928Z",{"keywords":455,"locale":465,"school_blog":466},[456,461,462,463,464],{"collectionId":12,"collectionName":13,"created":457,"created_by":15,"id":458,"name":459,"updated":460,"updated_by":15},"2026-03-04 08:45:34.193Z","6ogs62iwr48p5xn","WebSocket บนมือถือ","2026-06-07 06:46:50.751Z",{"collectionId":12,"collectionName":13,"created":343,"created_by":15,"id":344,"name":345,"updated":346,"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":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":63,"expand":467,"id":471,"slug":472,"updated":473,"views":474},{"category":468},{"blogIds":469,"collectionId":67,"collectionName":68,"created":69,"created_by":15,"id":60,"image":70,"image_alt":63,"image_path":71,"label":470,"name":73,"priority":74,"publish_at":75,"scheduled_at":63,"status":76,"updated":77,"updated_by":15},[],{"en":73,"th":73},"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",{"alt":480,"cover_image_path":481,"created":482,"expand":483,"id":514,"published_at":515,"school_blog":510,"short_description":516,"title":480,"updated":517,"slug":511,"views":513},"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":484,"locale":504,"school_blog":505},[485,490,491,496,501,502,503],{"collectionId":12,"collectionName":13,"created":486,"created_by":15,"id":487,"name":488,"updated":489,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-06-07 06:46:38.822Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":492,"created_by":15,"id":493,"name":494,"updated":495,"updated_by":15},"2026-03-04 08:45:35.697Z","14mxfvvebe39f82","Cleanup","2026-06-07 06:46:51.481Z",{"collectionId":12,"collectionName":13,"created":497,"created_by":15,"id":498,"name":499,"updated":500,"updated_by":15},"2026-03-04 08:45:35.177Z","ljqmsdx1e0bcmav","Timeout","2026-06-07 06:46:51.146Z",{"collectionId":12,"collectionName":13,"created":343,"created_by":15,"id":344,"name":345,"updated":346,"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":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"code":50,"collectionId":51,"collectionName":52,"created":53,"flag":54,"id":55,"is_default":56,"label":57,"updated":58},{"category":60,"collectionId":61,"collectionName":62,"created":63,"expand":506,"id":510,"slug":511,"updated":512,"views":513},{"category":507},{"blogIds":508,"collectionId":67,"collectionName":68,"created":69,"created_by":15,"id":60,"image":70,"image_alt":63,"image_path":71,"label":509,"name":73,"priority":74,"publish_at":75,"scheduled_at":63,"status":76,"updated":77,"updated_by":15},[],{"en":73,"th":73},"l3cnyp1es5143k8","ep108-timeout-connection-cleanup-websocket-golang","2026-06-10 02:08:14.150Z",229,"29obs9yzyu0qjp5","2025-11-10 09:04:40.562Z","เรียนรู้วิธีจัดการ WebSocket ที่หลุดหรือค้างด้วยเทคนิค Timeout และ Connection Cleanup เพื่อให้ระบบของคุณทำงานได้เสถียรและประหยัด resource มากที่สุด พร้อมตัวอย่างโค้ด Go ที่ใช้ได้จริงใน Production","2026-06-07 06:43:33.930Z",9,12,426,36]