[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-8-12-How%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520to-all-all-createdAt:desc-default":3},{"data":4,"page":498,"perPage":499,"totalItems":500,"totalPages":501},[5,75,112,159,196,249,287,328,364,400,432,470],{"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},"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":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:18.214Z","","teavruxi3wptjg2","Fan-in Fan-out","2026-04-10 16:12:56.820Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"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":25,"created_by":15,"id":26,"name":27,"updated":28,"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},"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:24:48.143Z","dourw0uuydrrh1h","Concurrency","2026-04-10 16:07:30.157Z",{"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":69,"views":70},"hsa1afr8fcnd6qb","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:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":62,"th":62},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-04-25 02:32:14.339Z","hntkdnpnkznr05d","js2go-ep41-advanced-concurrency-patterns-go-vs-javascript","2026-05-18 23:27:19.862Z",215,"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":76,"cover_image_path":77,"created":78,"expand":79,"id":108,"published_at":109,"school_blog":104,"short_description":110,"title":76,"updated":111,"slug":105,"views":107},"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":80,"locale":98,"school_blog":99},[81,86,91,96,97],{"collectionId":12,"collectionName":13,"created":82,"created_by":15,"id":83,"name":84,"updated":85,"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":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:45:19.280Z","2zphwe6a9vls84d","Benchmark","2026-04-10 16:12:56.915Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"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":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":100,"id":104,"slug":105,"updated":106,"views":107},{"category":101},{"blogIds":102,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":103,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"ym4kynngu92kw5x","js2go-ep40-optimize-performance-go-vs-javascript","2026-05-15 22:27:51.717Z",224,"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":113,"cover_image_path":114,"created":115,"expand":116,"id":155,"published_at":156,"school_blog":153,"short_description":157,"title":113,"updated":158,"slug":154,"views":107},"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":117,"locale":139,"school_blog":140},[118,123,128,133,134],{"collectionId":12,"collectionName":13,"created":119,"created_by":15,"id":120,"name":121,"updated":122,"updated_by":15},"2026-03-04 08:45:10.623Z","2zhfdpu8sy1xeju","Golang WebSocket","2026-04-10 16:12:55.126Z",{"collectionId":12,"collectionName":13,"created":124,"created_by":15,"id":125,"name":126,"updated":127,"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":129,"created_by":15,"id":130,"name":131,"updated":132,"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":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-04-10 16:08:05.227Z",{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":141,"collectionId":51,"collectionName":52,"created":15,"expand":142,"id":153,"slug":154,"updated":15,"views":107},"wqxt7ag2gn7xcmk",{"category":143},{"blogIds":144,"collectionId":56,"collectionName":57,"created":145,"created_by":15,"id":141,"image":146,"image_alt":15,"image_path":147,"label":148,"name":149,"priority":150,"publish_at":151,"scheduled_at":15,"status":65,"updated":152,"updated_by":15},[],"2026-03-04 08:33:53.210Z","59ty92ns80w_15oc1implw.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fwqxt7ag2gn7xcmk\u002F59ty92ns80w_15oc1implw.png",{"en":149,"th":149},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-04-25 02:32:15.470Z","c1ullelv877gga6","ep111-message-ordering-event-sequence","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":160,"cover_image_path":161,"created":162,"expand":163,"id":192,"published_at":193,"school_blog":188,"short_description":194,"title":160,"updated":195,"slug":189,"views":191},"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":164,"locale":182,"school_blog":183},[165,170,171,176,181],{"collectionId":12,"collectionName":13,"created":166,"created_by":15,"id":167,"name":168,"updated":169,"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":172,"created_by":15,"id":173,"name":174,"updated":175,"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":177,"created_by":15,"id":178,"name":179,"updated":180,"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":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":141,"collectionId":51,"collectionName":52,"created":15,"expand":184,"id":188,"slug":189,"updated":190,"views":191},{"category":185},{"blogIds":186,"collectionId":56,"collectionName":57,"created":145,"created_by":15,"id":141,"image":146,"image_alt":15,"image_path":147,"label":187,"name":149,"priority":150,"publish_at":151,"scheduled_at":15,"status":65,"updated":152,"updated_by":15},[],{"en":149,"th":149},"n8v6ufz2p8bhb1f","websocket-auto-scaling-load-balancing","2026-05-13 05:19:05.211Z",242,"0s8pe3g2y0qas2l","2025-11-24 03:06:21.583Z","เรียนรู้การออกแบบ WebSocket Server ที่สามารถปรับขนาดได้อัตโนมัติ และกระจายโหลดอย่างมีประสิทธิภาพด้วย Kubernetes, Sticky Session และ Redis Pub\u002FSub เพื่อรองรับผู้ใช้หลักหมื่นคนพร้อมกัน","2026-05-08 06:52:10.278Z",{"alt":197,"cover_image_path":198,"created":199,"expand":200,"id":245,"published_at":246,"school_blog":241,"short_description":247,"title":197,"updated":248,"slug":242,"views":244},"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":201,"locale":227,"school_blog":228},[202,207,212,217,222],{"collectionId":12,"collectionName":13,"created":203,"created_by":15,"id":204,"name":205,"updated":206,"updated_by":15},"2026-03-04 08:45:24.247Z","qumyfjd00ukyzc5","Atlas","2026-04-10 16:12:57.912Z",{"collectionId":12,"collectionName":13,"created":208,"created_by":15,"id":209,"name":210,"updated":211,"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":213,"created_by":15,"id":214,"name":215,"updated":216,"updated_by":15},"2026-03-04 08:45:25.998Z","otvtu2l6b7ra500","เบราว์เซอร์ AI","2026-04-10 16:12:58.264Z",{"collectionId":12,"collectionName":13,"created":218,"created_by":15,"id":219,"name":220,"updated":221,"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":223,"created_by":15,"id":224,"name":225,"updated":226,"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":229,"collectionId":51,"collectionName":52,"created":15,"expand":230,"id":241,"slug":242,"updated":243,"views":244},"spm4l1k5bgmhmmt",{"category":231},{"blogIds":232,"collectionId":56,"collectionName":57,"created":233,"created_by":15,"id":229,"image":234,"image_alt":15,"image_path":235,"label":236,"name":237,"priority":238,"publish_at":239,"scheduled_at":15,"status":65,"updated":240,"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":237,"th":237},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-04-25 02:32:14.497Z","7ks20fg76zrxq5e","chatgpt-atlas-ai-browser-openai","2026-05-19 09:34:28.260Z",241,"voi3jt0i9wd8l1v","2025-11-21 02:22:50.810Z","รู้จัก ChatGPT Atlas เบราว์เซอร์อัจฉริยะจาก OpenAI ที่รวม ChatGPT เข้ากับทุกแท็บ ช่วยสรุป เขียน และวิเคราะห์ข้อมูลได้แบบเรียลไทม์ พร้อมระบบความเป็นส่วนตัวที่ผู้ใช้ควบคุมได้เอง","2026-05-08 06:52:10.848Z",{"alt":250,"cover_image_path":251,"created":252,"expand":253,"id":283,"published_at":284,"school_blog":279,"short_description":285,"title":250,"updated":286,"slug":280,"views":282},"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":254,"locale":273,"school_blog":274},[255,260,261,266,267,268],{"collectionId":12,"collectionName":13,"created":256,"created_by":15,"id":257,"name":258,"updated":259,"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":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},{"collectionId":12,"collectionName":13,"created":262,"created_by":15,"id":263,"name":264,"updated":265,"updated_by":15},"2026-03-04 08:45:26.685Z","cipipihaumk5zpt","Pipelines","2026-04-10 16:12:58.461Z",{"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},{"collectionId":12,"collectionName":13,"created":269,"created_by":15,"id":270,"name":271,"updated":272,"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":50,"collectionId":51,"collectionName":52,"created":15,"expand":275,"id":279,"slug":280,"updated":281,"views":282},{"category":276},{"blogIds":277,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":278,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"s28wwjv2p4jxfgu","js2go-ep39-channels-and-pipelines-in-go-for-data-processing","2026-05-18 06:09:06.960Z",226,"1rm9mb65vfkuus7","2025-11-12 02:36:58.760Z","เรียนรู้การใช้ Channels และ Pipelines ใน Go เพื่อสร้างระบบประมวลผลข้อมูลแบบ Parallel และ Asynchronous อย่างมีประสิทธิภาพ พร้อมตัวอย่างโค้ดจริง การเปรียบเทียบกับ JavaScript และแนวทางการออกแบบ Pipeline สำหรับงาน Data Processing ในระดับ Production","2026-04-25 02:47:53.835Z",{"alt":288,"cover_image_path":289,"created":290,"expand":291,"id":324,"published_at":325,"school_blog":320,"short_description":326,"title":288,"updated":327,"slug":321,"views":323},"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":292,"locale":314,"school_blog":315},[293,298,299,304,309],{"collectionId":12,"collectionName":13,"created":294,"created_by":15,"id":295,"name":296,"updated":297,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-04-10 16:07:26.172Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":300,"created_by":15,"id":301,"name":302,"updated":303,"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":305,"created_by":15,"id":306,"name":307,"updated":308,"updated_by":15},"2026-03-04 08:45:29.064Z","ppd9qfd57kr4d9v","Stream","2026-04-10 16:12:58.890Z",{"collectionId":12,"collectionName":13,"created":310,"created_by":15,"id":311,"name":312,"updated":313,"updated_by":15},"2026-03-04 08:45:29.466Z","ikxxjlf4gp9demr","Buffer","2026-04-10 16:12:59.000Z",{"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":316,"id":320,"slug":321,"updated":322,"views":323},{"category":317},{"blogIds":318,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":319,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"pl5erhc703mzokp","js2go-ep38-buffer-and-stream-in-nodejs-and-go","2026-05-13 08:51:27.749Z",229,"nsqblkgbr5lyuql","2025-11-12 02:36:50.991Z","เรียนรู้แนวทางการจัดการข้อมูลขนาดใหญ่ผ่าน Buffer และ Stream ทั้งใน Node.js และ Go เพื่อให้ระบบทำงานรวดเร็ว ใช้หน่วยความจำอย่างมีประสิทธิภาพ พร้อมตัวอย่างโค้ดจริงและแนวทางใช้งานใน Production","2026-04-25 02:47:54.041Z",{"alt":329,"cover_image_path":330,"created":331,"expand":332,"id":360,"published_at":361,"school_blog":357,"short_description":362,"title":329,"updated":363,"slug":358,"views":323},"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":333,"locale":351,"school_blog":352},[334,338,339,340,341,346],{"collectionId":12,"collectionName":13,"created":335,"created_by":15,"id":336,"name":62,"updated":337,"updated_by":15},"2026-03-04 08:45:30.765Z","nayuhpre9emd5xw","2026-04-10 16:12:59.160Z",{"collectionId":12,"collectionName":13,"created":294,"created_by":15,"id":295,"name":296,"updated":297,"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":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},{"collectionId":12,"collectionName":13,"created":342,"created_by":15,"id":343,"name":344,"updated":345,"updated_by":15},"2026-03-04 08:45:31.134Z","erv835t5leo90qz","Iteration","2026-04-10 16:12:59.301Z",{"collectionId":12,"collectionName":13,"created":347,"created_by":15,"id":348,"name":349,"updated":350,"updated_by":15},"2026-03-04 08:45:31.539Z","thoynmyxpcmdicf","Recursion","2026-04-10 16:12:59.439Z",{"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":353,"id":357,"slug":358,"updated":359,"views":323},{"category":354},{"blogIds":355,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":356,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"37rbeb1gdzv1ezc","js2go-ep37-recursion-vs-iteration-in-javascript-and-go","2026-05-13 08:30:34.978Z","np98njk711u28jh","2025-11-12 02:36:45.781Z","เรียนรู้ความแตกต่างระหว่างการเขียนโค้ดแบบ Recursion (การเรียกซ้ำ) และ Iteration (การวนซ้ำ) พร้อมตัวอย่างโค้ดจริงใน JavaScript และ Go เพื่อเปรียบเทียบความเร็ว การใช้หน่วยความจำ และแนวทางเลือกใช้ในระบบจริง","2026-04-25 02:47:54.241Z",{"alt":365,"cover_image_path":366,"created":367,"expand":368,"id":396,"published_at":397,"school_blog":393,"short_description":398,"title":365,"updated":399,"slug":394,"views":70},"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":369,"locale":387,"school_blog":388},[370,371,372,377,382],{"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},{"collectionId":12,"collectionName":13,"created":373,"created_by":15,"id":374,"name":375,"updated":376,"updated_by":15},"2026-03-04 08:45:32.020Z","8vrqzeheyjmdnla","Binary Search","2026-04-10 16:12:59.578Z",{"collectionId":12,"collectionName":13,"created":378,"created_by":15,"id":379,"name":380,"updated":381,"updated_by":15},"2026-03-04 08:45:32.242Z","qrrtdp2now459ki","Linear Search","2026-04-10 16:12:59.642Z",{"collectionId":12,"collectionName":13,"created":383,"created_by":15,"id":384,"name":385,"updated":386,"updated_by":15},"2026-03-04 08:34:57.930Z","3j6u3nyhnmlp6ld","Searching Algorithms","2026-04-10 16:12:34.004Z",{"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":389,"id":393,"slug":394,"updated":395,"views":70},{"category":390},{"blogIds":391,"collectionId":56,"collectionName":57,"created":58,"created_by":15,"id":50,"image":59,"image_alt":15,"image_path":60,"label":392,"name":62,"priority":63,"publish_at":64,"scheduled_at":15,"status":65,"updated":66,"updated_by":15},[],{"en":62,"th":62},"zwxfag96iy33ciz","js2go-ep36-searching-algorithms-in-go-and-javascript","2026-05-14 06:01:39.445Z","kc2for0fr30jztz","2025-11-12 02:36:39.446Z","เรียนรู้เทคนิคการค้นหาข้อมูลอย่างมีประสิทธิภาพผ่าน 3 อัลกอริทึมสำคัญ — Linear Search, Binary Search และ Map-based Lookup","2026-04-25 02:47:54.507Z",{"alt":401,"cover_image_path":402,"created":403,"expand":404,"id":428,"published_at":429,"school_blog":425,"short_description":430,"title":401,"updated":431,"slug":426,"views":191},"EP.109 การปรับปรุง Performance สำหรับ WebSocket บนมือถือ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fketdslo0vzzv5b6\u002F189_11zon_cvsstgpwm1.webp","2026-03-04 08:45:34.928Z",{"keywords":405,"locale":419,"school_blog":420},[406,411,412,413,418],{"collectionId":12,"collectionName":13,"created":407,"created_by":15,"id":408,"name":409,"updated":410,"updated_by":15},"2026-03-04 08:45:34.193Z","6ogs62iwr48p5xn","WebSocket บนมือถือ","2026-04-10 16:12:59.951Z",{"collectionId":12,"collectionName":13,"created":294,"created_by":15,"id":295,"name":296,"updated":297,"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":414,"created_by":15,"id":415,"name":416,"updated":417,"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":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":141,"collectionId":51,"collectionName":52,"created":15,"expand":421,"id":425,"slug":426,"updated":427,"views":191},{"category":422},{"blogIds":423,"collectionId":56,"collectionName":57,"created":145,"created_by":15,"id":141,"image":146,"image_alt":15,"image_path":147,"label":424,"name":149,"priority":150,"publish_at":151,"scheduled_at":15,"status":65,"updated":152,"updated_by":15},[],{"en":149,"th":149},"ctvrep1frbjn8eq","websocket-mobile-optimization","2026-05-13 05:43:00.501Z","ketdslo0vzzv5b6","2025-11-10 09:14:57.443Z","เรียนรู้เทคนิคปรับปรุง WebSocket Server ให้ทำงานได้อย่างเสถียรและประหยัดพลังงานบนอุปกรณ์พกพา พร้อมโค้ดตัวอย่างระดับ Production เช่น การตั้ง Timeout, การ reconnect อัตโนมัติ และการจัดการ network switching","2026-04-25 02:47:54.660Z",{"alt":433,"cover_image_path":434,"created":435,"expand":436,"id":466,"published_at":467,"school_blog":463,"short_description":468,"title":433,"updated":469,"slug":464,"views":282},"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":437,"locale":457,"school_blog":458},[438,443,444,449,454,455,456],{"collectionId":12,"collectionName":13,"created":439,"created_by":15,"id":440,"name":441,"updated":442,"updated_by":15},"2026-03-04 08:44:47.385Z","li4cs2v3atd0wds","Production","2026-04-10 16:12:49.890Z",{"collectionId":12,"collectionName":13,"created":414,"created_by":15,"id":415,"name":416,"updated":417,"updated_by":15},{"collectionId":12,"collectionName":13,"created":445,"created_by":15,"id":446,"name":447,"updated":448,"updated_by":15},"2026-03-04 08:45:35.697Z","14mxfvvebe39f82","Cleanup","2026-04-10 16:13:00.513Z",{"collectionId":12,"collectionName":13,"created":450,"created_by":15,"id":451,"name":452,"updated":453,"updated_by":15},"2026-03-04 08:45:35.177Z","ljqmsdx1e0bcmav","Timeout","2026-04-10 16:13:00.233Z",{"collectionId":12,"collectionName":13,"created":294,"created_by":15,"id":295,"name":296,"updated":297,"updated_by":15},{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":141,"collectionId":51,"collectionName":52,"created":15,"expand":459,"id":463,"slug":464,"updated":465,"views":282},{"category":460},{"blogIds":461,"collectionId":56,"collectionName":57,"created":145,"created_by":15,"id":141,"image":146,"image_alt":15,"image_path":147,"label":462,"name":149,"priority":150,"publish_at":151,"scheduled_at":15,"status":65,"updated":152,"updated_by":15},[],{"en":149,"th":149},"l3cnyp1es5143k8","ep108-timeout-connection-cleanup-websocket-golang","2026-05-14 15:27:56.995Z","29obs9yzyu0qjp5","2025-11-10 09:04:40.562Z","เรียนรู้วิธีจัดการ WebSocket ที่หลุดหรือค้างด้วยเทคนิค Timeout และ Connection Cleanup เพื่อให้ระบบของคุณทำงานได้เสถียรและประหยัด resource มากที่สุด พร้อมตัวอย่างโค้ด Go ที่ใช้ได้จริงใน Production","2026-04-25 02:47:54.914Z",{"alt":471,"cover_image_path":472,"created":473,"expand":474,"id":494,"published_at":495,"school_blog":490,"short_description":496,"title":471,"updated":497,"slug":491,"views":493},"EP.107 การทำ Profiling และ Benchmark WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fforovlt64om1dpv\u002F185_11zon_d8gvv4sv1g.webp","2026-03-04 08:45:37.532Z",{"keywords":475,"locale":484,"school_blog":485},[476,477,478,483],{"collectionId":12,"collectionName":13,"created":294,"created_by":15,"id":295,"name":296,"updated":297,"updated_by":15},{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},{"collectionId":12,"collectionName":13,"created":479,"created_by":15,"id":480,"name":481,"updated":482,"updated_by":15},"2026-03-04 08:45:37.043Z","wyzirss3g26xgv6","Profiling","2026-04-10 16:13:00.577Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},{"code":40,"collectionId":41,"collectionName":42,"created":43,"flag":44,"id":45,"is_default":46,"label":47,"updated":48},{"category":141,"collectionId":51,"collectionName":52,"created":15,"expand":486,"id":490,"slug":491,"updated":492,"views":493},{"category":487},{"blogIds":488,"collectionId":56,"collectionName":57,"created":145,"created_by":15,"id":141,"image":146,"image_alt":15,"image_path":147,"label":489,"name":149,"priority":150,"publish_at":151,"scheduled_at":15,"status":65,"updated":152,"updated_by":15},[],{"en":149,"th":149},"q4ahsx2qt6gr1e8","websocket-server-profiling-benchmark","2026-05-13 11:34:52.776Z",220,"forovlt64om1dpv","2025-11-10 09:02:53.837Z","เรียนรู้วิธีใช้ pprof, wrk และ hey เพื่อวัดความเร็ว ความเสถียร และประสิทธิภาพของ WebSocket Server พร้อมแนวทางปรับแต่งระบบสำหรับการใช้งานจริงใน Production","2026-04-25 02:47:55.201Z",8,12,412,35]