[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-4-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":570,"perPage":571,"totalItems":572,"totalPages":573},[5,82,139,188,252,299,339,376,409,446,488,533],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":77,"published_at":78,"school_blog":73,"short_description":79,"title":80,"updated":81,"slug":74,"views":76},"ภาพหน้าปกบทความสอนติดตั้ง Rustup และตั้งค่า VS Code กับ RustRover สำหรับเขียนโปรแกรมภาษา Rust โดย Superdev Academy","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fattm8n0i9a27iqi\u002F36evgk9r53x_gybg6nl1c3.png","2026-03-23 03:09:28.697Z",{"keywords":10,"locale":44,"school_blog":54},[11,19,24,29,34,39],{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},"sclkey987654321","school_keywords","2026-03-23 03:08:11.595Z","76qprkevbgfdps8","zxatg5igg3a82av","ติดตั้ง Rust","2026-06-07 06:48:58.951Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-23 03:08:18.875Z","pu1hva5rmnc4672","สอน Rust","2026-06-07 06:48:59.078Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-23 03:08:33.318Z","6aamy6do941c0qd","Rustup คืออะไร","2026-06-07 06:48:59.271Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-23 03:08:39.616Z","o62tpzva8xei41v","ตั้งค่า VS Code Rust","2026-06-07 06:48:59.342Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-03-23 03:08:45.455Z","j1y9kcuspwhxavf","RustRover","2026-06-07 06:48:59.439Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-06-07 06:45:07.039Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":55,"collectionId":56,"collectionName":57,"created":58,"expand":59,"id":73,"slug":74,"updated":75,"views":76},"mfqe235iv6x1or8","pbc_2105096300","school_blogs","",{"category":60},{"blogIds":61,"collectionId":62,"collectionName":63,"created":64,"created_by":15,"id":55,"image":65,"image_alt":58,"image_path":66,"label":67,"name":68,"priority":69,"publish_at":70,"scheduled_at":58,"status":71,"updated":72,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-16 04:40:07.104Z","47vt5s1gglj_tz0b90vnge.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fmfqe235iv6x1or8\u002F47vt5s1gglj_tz0b90vnge.png",{"en":68,"th":68},"Rust The Series",2,"2026-03-16 04:40:09.199Z","published","2026-06-07 06:45:03.994Z","13h228aiodane7p","install-rustup-vscode-rustrover-setup","2026-06-15 02:06:02.579Z",152,"attm8n0i9a27iqi","2026-03-23 03:31:43.851Z","เริ่มต้นเขียนโปรแกรมภาษา Rust อย่างมืออาชีพ! สอนวิธีติดตั้ง Rustup แบบสเต็ปบายสเต็ป พร้อมแนะนำการตั้งค่า VS Code และ RustRover สำหรับมือใหม่ ทำตามได้ทันที","สอนติดตั้ง Rustup และตั้งค่า IDE (VS Code & RustRover) | Rust The Series EP.2","2026-06-07 06:44:47.830Z",{"alt":83,"cover_image_path":84,"created":85,"expand":86,"id":134,"published_at":135,"school_blog":130,"short_description":136,"title":137,"updated":138,"slug":131,"views":133},"โลโก้อัญมณีสีแดงของภาษา Ruby ท่ามกลางบรรยากาศการเขียนโค้ดที่สะอาดตาและสื่อถึงความสุขของนักพัฒนา","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fdjhhe6en9sexons\u002F1y17o2x2sgw_6zrc5rjs4z.png","2026-03-16 05:49:51.842Z",{"keywords":87,"locale":118,"school_blog":119},[88,93,98,103,108,113],{"collectionId":12,"collectionName":13,"created":89,"created_by":15,"id":90,"name":91,"updated":92,"updated_by":15},"2026-03-04 08:34:45.348Z","t7n7n8692pg72pt","ภาษา Ruby","2026-06-07 06:46:15.713Z",{"collectionId":12,"collectionName":13,"created":94,"created_by":15,"id":95,"name":96,"updated":97,"updated_by":15},"2026-03-16 05:48:55.871Z","i760xsdcbeb9jys","ประวัติ Ruby","2026-06-07 06:48:56.766Z",{"collectionId":12,"collectionName":13,"created":99,"created_by":15,"id":100,"name":101,"updated":102,"updated_by":15},"2026-03-04 08:34:47.544Z","3ky9n7b9hsgjf35","Ruby","2026-06-07 06:46:16.683Z",{"collectionId":12,"collectionName":13,"created":104,"created_by":15,"id":105,"name":106,"updated":107,"updated_by":15},"2026-03-16 05:49:10.525Z","s0pqrcq7u7b17fv","Yukihiro Matsumoto","2026-06-07 06:48:56.899Z",{"collectionId":12,"collectionName":13,"created":109,"created_by":15,"id":110,"name":111,"updated":112,"updated_by":15},"2026-03-16 05:49:18.125Z","0runldorrswj5ds","MINASWAN","2026-06-07 06:48:57.120Z",{"collectionId":12,"collectionName":13,"created":114,"created_by":15,"id":115,"name":116,"updated":117,"updated_by":15},"2026-03-16 05:10:38.871Z","4drw5c8knx92e9n","สอนเขียนโปรแกรม Rust","2026-06-07 06:48:56.187Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":120,"collectionId":56,"collectionName":57,"created":58,"expand":121,"id":130,"slug":131,"updated":132,"views":133},"isnp2fv80bn3yem",{"category":122},{"blogIds":123,"collectionId":62,"collectionName":63,"created":124,"created_by":15,"id":120,"image":58,"image_alt":58,"image_path":58,"label":125,"name":126,"priority":127,"publish_at":128,"scheduled_at":58,"status":71,"updated":129,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":126,"th":126},"กว่าจะเป็นภาษาโค้ด",8,"2026-02-18 01:59:49.988Z","2026-06-07 06:45:01.789Z","g8t67hwsdyuoztk","evolution-of-ruby-for-developer-happiness","2026-06-15 01:02:25.067Z",151,"djhhe6en9sexons","2026-03-18 04:46:40.298Z","ทำไม Ruby ถึงเป็นภาษาที่โปรแกรมเมอร์รักที่สุด? เจาะลึกปรัชญา MINASWAN และเบื้องหลังความสำเร็จของ Ruby on Rails ที่สตาร์ทอัพระดับโลกเลือกใช้","ประวัติภาษา Ruby: ภาษาอัญมณีที่สร้างขึ้นเพื่อความสุขและความเป็นมนุษย์ของโปรแกรมเมอร์","2026-06-07 06:44:46.769Z",{"alt":140,"cover_image_path":141,"created":142,"expand":143,"id":183,"published_at":184,"school_blog":179,"short_description":185,"title":186,"updated":187,"slug":180,"views":182},"แนะนำ 5 จอเสริม MacBook สำหรับโปรแกรมเมอร์ ปี 2026 มีทั้งจอพกพา ARZOPA Z1RC และ BenQ RD280U","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fyvk22a4tku7op7o\u002F10pcfj4jhkj_jjrthnk8d9.png","2026-03-16 06:30:01.126Z",{"keywords":144,"locale":165,"school_blog":166},[145,150,155,160],{"collectionId":12,"collectionName":13,"created":146,"created_by":15,"id":147,"name":148,"updated":149,"updated_by":15},"2026-03-16 06:29:28.721Z","4dngcyzugds90n0","จอเสริม MacBook","2026-06-07 06:48:57.654Z",{"collectionId":12,"collectionName":13,"created":151,"created_by":15,"id":152,"name":153,"updated":154,"updated_by":15},"2026-03-16 06:29:34.822Z","31rem2lfrdsmawe","จอคอมเขียนโปรแกรม","2026-06-07 06:48:57.759Z",{"collectionId":12,"collectionName":13,"created":156,"created_by":15,"id":157,"name":158,"updated":159,"updated_by":15},"2026-03-16 06:29:41.694Z","0jobzj69zmb9rsg","ARZOPA Z1RC","2026-06-07 06:48:57.855Z",{"collectionId":12,"collectionName":13,"created":161,"created_by":15,"id":162,"name":163,"updated":164,"updated_by":15},"2026-03-16 06:29:49.539Z","5dquc86ngxqk2gb","จอมอนิเตอร์โปรแกรมเมอร์","2026-06-07 06:48:57.962Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":167,"collectionId":56,"collectionName":57,"created":58,"expand":168,"id":179,"slug":180,"updated":181,"views":182},"spm4l1k5bgmhmmt",{"category":169},{"blogIds":170,"collectionId":62,"collectionName":63,"created":171,"created_by":15,"id":167,"image":172,"image_alt":58,"image_path":173,"label":174,"name":175,"priority":176,"publish_at":177,"scheduled_at":58,"status":71,"updated":178,"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":175,"th":175},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","s3vhc075erm9t15","best-macbook-monitors-for-programmers-2026","2026-06-14 21:32:35.480Z",170,"yvk22a4tku7op7o","2026-03-17 03:05:00.000Z","เลือกจอเสริม MacBook อย่างไรไม่ให้เสียเงินฟรี? รวม 5 จอมอนิเตอร์ที่คัดมาเพื่อโปรแกรมเมอร์โดยเฉพาะ ทั้งสายพกพา ARZOPA Z1RC และจอเทพสาย Coding สรุปจบในที่เดียว!","แนะนำ 5 จอเสริม MacBook ที่โปรแกรมเมอร์ต้องลอง (Update 2026)","2026-06-07 06:44:47.293Z",{"alt":189,"cover_image_path":190,"created":191,"expand":192,"id":247,"published_at":248,"school_blog":243,"short_description":249,"title":250,"updated":251,"slug":244,"views":246},"ภาพปกบทความ Golang The Series EP.140 ตอนจบ แสดงตัวอย่างโค้ด Go สำหรับระบบ Enterprise WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fc5xq31ilcgu6y0o\u002Farticle_cover_for_golang_the_series_ep_5491p66i4h.eWebSocketserver.png","2026-03-16 03:49:53.524Z",{"keywords":193,"locale":229,"school_blog":230},[194,199,204,209,214,219,224],{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":205,"created_by":15,"id":206,"name":207,"updated":208,"updated_by":15},"2026-03-16 03:49:04.210Z","lkxlsj34k1324jz","Enterprise Architecture","2026-06-07 06:48:55.356Z",{"collectionId":12,"collectionName":13,"created":210,"created_by":15,"id":211,"name":212,"updated":213,"updated_by":15},"2026-03-16 03:49:11.920Z","68w24pqpvxluy94","Roadmap","2026-06-07 06:48:55.437Z",{"collectionId":12,"collectionName":13,"created":215,"created_by":15,"id":216,"name":217,"updated":218,"updated_by":15},"2026-03-16 03:49:19.659Z","8jw741wsqhx919b","Backend Developer","2026-06-07 06:48:55.551Z",{"collectionId":12,"collectionName":13,"created":220,"created_by":15,"id":221,"name":222,"updated":223,"updated_by":15},"2026-03-16 03:49:27.028Z","6x2tx5b8cvpi4tf","พัฒนาซอฟต์แวร์","2026-06-07 06:48:55.697Z",{"collectionId":12,"collectionName":13,"created":225,"created_by":15,"id":226,"name":227,"updated":228,"updated_by":15},"2026-03-16 03:49:34.466Z","mmrky37ung92c97","ระบบ Real-time","2026-06-07 06:48:55.815Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":232,"id":243,"slug":244,"updated":245,"views":246},"wqxt7ag2gn7xcmk",{"category":233},{"blogIds":234,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":238,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"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":239,"th":239},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","c2puowxb5818jta","go-enterprise-websocket-roadmap-series-finale","2026-06-12 16:55:55.139Z",166,"c5xq31ilcgu6y0o","2026-03-17 02:55:21.850Z","บทสรุปส่งท้ายมหากาพย์ 140 ตอน! รวบรวมหัวใจสำคัญของการสร้างระบบ WebSocket ระดับโลก พร้อมแจก Template โครงสร้างโค้ดระดับ Production, 3 สิ่งที่ต้องศึกษาต่อ และคำแนะนำจากใจเพื่อก้าวสู่ Senior Developer","Golang The Series EP.140: สรุปและแนวทางการพัฒนา WebSocket Server ระดับ Enterprise (ตอนจบ)","2026-06-07 06:44:46.130Z",{"alt":253,"cover_image_path":254,"created":255,"expand":256,"id":295,"published_at":296,"school_blog":291,"short_description":297,"title":253,"updated":298,"slug":292,"views":294},"วิธีใช้ Cloudflare Tunnel เชื่อม Localhost ออกเน็ต โดยไม่ต้องเปิด Port","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F08enic35zugf5ud\u002Fcover_image_for_how_to_use_cloudflare_tunnel_to_expose_localhost_without_port_forwarding_zvg015xzin.webp","2026-03-04 08:44:18.016Z",{"keywords":257,"locale":278,"school_blog":279},[258,263,268,273],{"collectionId":12,"collectionName":13,"created":259,"created_by":15,"id":260,"name":261,"updated":262,"updated_by":15},"2026-03-04 08:44:17.256Z","tfwqk04b06u56pz","วิธีใช้ Cloudflare Tunnel","2026-06-07 06:46:30.461Z",{"collectionId":12,"collectionName":13,"created":264,"created_by":15,"id":265,"name":266,"updated":267,"updated_by":15},"2026-03-04 08:44:17.506Z","2hw2c6o2elosloo","Cloudflare Tunnel","2026-06-07 06:46:30.614Z",{"collectionId":12,"collectionName":13,"created":269,"created_by":15,"id":270,"name":271,"updated":272,"updated_by":15},"2026-03-04 08:44:16.622Z","7k1sal58dnj3ycv","Cloudflare Zero Trust","2026-06-07 06:46:30.108Z",{"collectionId":12,"collectionName":13,"created":274,"created_by":15,"id":275,"name":276,"updated":277,"updated_by":15},"2026-03-04 08:44:16.902Z","1pf59ie7wale4so","Localhost","2026-06-07 06:46:30.326Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":280,"collectionId":56,"collectionName":57,"created":58,"expand":281,"id":291,"slug":292,"updated":293,"views":294},"rfxf19ot4iq992c",{"category":282},{"blogIds":283,"collectionId":62,"collectionName":63,"created":284,"created_by":15,"id":280,"image":285,"image_alt":58,"image_path":286,"label":287,"name":288,"priority":176,"publish_at":289,"scheduled_at":58,"status":71,"updated":290,"updated_by":15},[],"2026-03-04 08:32:03.969Z","7acfigk1qkd_lv1k6bkji3.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Frfxf19ot4iq992c\u002F7acfigk1qkd_lv1k6bkji3.png",{"en":288,"th":288},"Web Development","2025-01-21 03:43:00.282Z","2026-06-07 06:45:03.121Z","xlabf2btsvflyqi","how-to-use-cloudflare-tunnel-tutorial","2026-06-15 10:10:24.531Z",484,"08enic35zugf5ud","2026-03-10 03:20:24.326Z","เจาะลึกวิธีใช้ Cloudflare Tunnel ตั้งแต่เริ่มต้นจนใช้งานได้จริง สอนวิธีเชื่อม Localhost ออกอินเทอร์เน็ตแบบไม่ต้องทำ Port Forwarding และไม่ต้องง้อ Public IP ปลอดภัยกว่าด้วยระบบ Zero Trust","2026-06-07 06:43:15.692Z",{"alt":300,"cover_image_path":301,"created":302,"expand":303,"id":335,"published_at":336,"school_blog":331,"short_description":337,"title":300,"updated":338,"slug":332,"views":334},"EP.11 Go กับ Modules: จัดการ Dependency อย่างมืออาชีพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fi3gpxgyzelb5hst\u002F21_11zon_p6enrx0w0x.webp","2026-03-04 08:51:53.280Z",{"keywords":304,"locale":325,"school_blog":326},[305,310,315,320],{"collectionId":12,"collectionName":13,"created":306,"created_by":15,"id":307,"name":308,"updated":309,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":311,"created_by":15,"id":312,"name":313,"updated":314,"updated_by":15},"2026-03-04 08:33:53.709Z","k5ox6iu2wn2n6co","Go Modules","2026-06-07 06:45:52.788Z",{"collectionId":12,"collectionName":13,"created":316,"created_by":15,"id":317,"name":318,"updated":319,"updated_by":15},"2026-03-04 08:33:54.415Z","dtu0hnobmvg32lx","Dependency Management","2026-06-07 06:45:53.101Z",{"collectionId":12,"collectionName":13,"created":321,"created_by":15,"id":322,"name":323,"updated":324,"updated_by":15},"2026-03-04 08:34:12.496Z","992k3hc4xxojtaj","ความเสถียร","2026-06-07 06:46:00.958Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":327,"id":331,"slug":332,"updated":333,"views":334},{"category":328},{"blogIds":329,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":330,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"vey0miiiraly806","go-modules-managing-dependency","2026-06-15 09:05:23.955Z",418,"i3gpxgyzelb5hst","2026-03-06 03:23:46.142Z","เรียนรู้การเริ่มต้นโปรเจกต์ด้วย Go Modules การติดตั้งและอัปเดตแพ็กเกจ รวมถึงการจัดการเวอร์ชันของ Dependency อย่างมืออาชีพ","2026-06-07 06:44:45.492Z",{"alt":340,"cover_image_path":341,"created":342,"expand":343,"id":372,"published_at":373,"school_blog":368,"short_description":374,"title":340,"updated":375,"slug":369,"views":371},"Golang The Series EP.139: Mobile & Low-bandwidth – เทคนิครับมือเน็ตหลุดและแบนด์วิดท์จำกัด","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fajh621tzfnpj0u2\u002Fgolang_the_series_ep_3aap0aplut.nstableNetworks.webp","2026-03-04 08:44:12.091Z",{"keywords":344,"locale":362,"school_blog":363},[345,346,347,352,357],{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},"2026-03-04 08:44:10.146Z","0fzsu1l5cyqadwi","Mobile Optimization","2026-06-07 06:46:28.256Z",{"collectionId":12,"collectionName":13,"created":353,"created_by":15,"id":354,"name":355,"updated":356,"updated_by":15},"2026-03-04 08:44:10.927Z","3ed6g568seusybp","Low Bandwidth","2026-06-07 06:46:28.491Z",{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-06-07 06:46:28.624Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":364,"id":368,"slug":369,"updated":370,"views":371},{"category":365},{"blogIds":366,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":367,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"v3pnrpaatmfvk5q","golang-websocket-mobile-optimization-low-bandwidth","2026-06-09 08:29:07.437Z",239,"ajh621tzfnpj0u2","2026-03-02 08:50:22.787Z","เจาะลึกการจูน WebSocket สำหรับโลก Mobile! ตั้งแต่การทำ Adaptive Heartbeat เพื่อประหยัดแบตเตอรี่ ไปจนถึงเทคนิค Resume Message เมื่อเน็ตหลุด เพื่อให้แอปของคุณเสถียรที่สุดแม้ในวันที่เน็ตไม่เป็นใจ","2026-06-07 06:43:13.988Z",{"alt":377,"cover_image_path":378,"created":379,"expand":380,"id":405,"published_at":406,"school_blog":401,"short_description":407,"title":377,"updated":408,"slug":402,"views":404},"Golang The Series EP.138: Monitoring Latency & Performance – รีดความเร็ว WebSocket ให้ลื่นระดับเทพ","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fkonpz3tbe4ya0tx\u002Fgolang_the_series_ep_tk994uyv8n.nceOptimization.webp","2026-03-04 08:44:12.584Z",{"keywords":381,"locale":395,"school_blog":396},[382,383,388,393,394],{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},{"collectionId":12,"collectionName":13,"created":384,"created_by":15,"id":385,"name":386,"updated":387,"updated_by":15},"2026-03-04 08:44:11.932Z","8sanh9jytfatsgk","Performance Optimization","2026-06-07 06:46:28.968Z",{"collectionId":12,"collectionName":13,"created":389,"created_by":15,"id":390,"name":391,"updated":392,"updated_by":15},"2026-03-04 08:44:11.548Z","ezm3p0vsuowuadd","Latency","2026-06-07 06:46:28.821Z",{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":397,"id":401,"slug":402,"updated":403,"views":404},{"category":398},{"blogIds":399,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":400,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"8puudn0kcj2zq78","golang-websocket-latency-performance-optimization-guide","2026-05-31 11:10:37.691Z",245,"konpz3tbe4ya0tx","2026-03-02 04:30:22.021Z","เลิกดูแค่ค่าเฉลี่ย! เจาะลึกวิธีวัด Latency แบบ P95\u002FP99 และเทคนิครีดประสิทธิภาพ Go WebSocket ให้ถึงขีดสุดด้วย sync.Pool, Protobuf และการจูน TCP Stack เพื่อประสบการณ์ผู้ใช้ที่ไม่มีสะดุด","2026-06-07 06:43:14.786Z",{"alt":410,"cover_image_path":411,"created":412,"expand":413,"id":442,"published_at":443,"school_blog":438,"short_description":444,"title":410,"updated":445,"slug":439,"views":441},"Golang The Series EP.137: Enterprise Security Best Practices – สร้างป้อมปราการให้ WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fcn8q0wy16fj2pmf\u002Fgolang_the_series_ep_ev0mmhv6xz.eakableFortress.webp","2026-03-04 08:44:15.226Z",{"keywords":414,"locale":432,"school_blog":433},[415,416,421,426,427],{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},{"collectionId":12,"collectionName":13,"created":417,"created_by":15,"id":418,"name":419,"updated":420,"updated_by":15},"2026-03-04 08:44:13.770Z","ij1u9pugpnctjvk","WebSocket Security","2026-06-07 06:46:29.432Z",{"collectionId":12,"collectionName":13,"created":422,"created_by":15,"id":423,"name":424,"updated":425,"updated_by":15},"2026-03-04 08:34:18.095Z","z3u3nql685g5e3b","Authentication","2026-06-07 06:46:03.611Z",{"collectionId":12,"collectionName":13,"created":306,"created_by":15,"id":307,"name":308,"updated":309,"updated_by":15},{"collectionId":12,"collectionName":13,"created":428,"created_by":15,"id":429,"name":430,"updated":431,"updated_by":15},"2026-03-04 08:44:13.045Z","g4w6cq87d9yzbaz","CSWSH","2026-06-07 06:46:29.315Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":434,"id":438,"slug":439,"updated":440,"views":441},{"category":435},{"blogIds":436,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":437,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"v4prmym5dowcxtz","golang-enterprise-websocket-security-best-practices","2026-05-26 05:36:46.743Z",235,"cn8q0wy16fj2pmf","2026-02-24 02:34:26.075Z","แค่ WSS ยังไม่พอ! เจาะลึก 5 เสาหลักความปลอดภัย WebSocket ระดับองค์กร เรียนรู้วิธีป้องกัน CSWSH, การทำ Ticket-based Auth และการจัดการทรัพยากรไม่ให้ Server บึ้มจากการโจมตี DoS","2026-06-07 06:43:15.174Z",{"alt":447,"cover_image_path":448,"created":449,"expand":450,"id":484,"published_at":485,"school_blog":480,"short_description":486,"title":447,"updated":487,"slug":481,"views":483},"Golang The Series EP.136: WebSocket Versioning อัปเกรดระบบให้ล้ำ โดยไม่ทิ้ง User เวอร์ชันเก่า","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fsykvogu6k97tz2t\u002Fcover_image_golang_the_series_ep_0lvk9j7j3n.eamlessUpgrades.webp","2026-03-04 08:44:15.846Z",{"keywords":451,"locale":474,"school_blog":475},[452,453,454,459,464,469],{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},{"collectionId":12,"collectionName":13,"created":455,"created_by":15,"id":456,"name":457,"updated":458,"updated_by":15},"2026-03-04 08:44:14.062Z","z1020rjuhndf8m9","Versioning","2026-06-07 06:46:29.576Z",{"collectionId":12,"collectionName":13,"created":460,"created_by":15,"id":461,"name":462,"updated":463,"updated_by":15},"2026-03-04 08:44:14.705Z","7qpvbtbl99sazyl","API Design","2026-06-07 06:46:29.806Z",{"collectionId":12,"collectionName":13,"created":465,"created_by":15,"id":466,"name":467,"updated":468,"updated_by":15},"2026-03-04 08:44:14.480Z","d23neji0er26rrf","Backward Compatibility","2026-06-07 06:46:29.681Z",{"collectionId":12,"collectionName":13,"created":470,"created_by":15,"id":471,"name":472,"updated":473,"updated_by":15},"2026-03-04 08:44:15.009Z","kjorqkld4c8r3lc","Subprotocol","2026-06-07 06:46:29.966Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":476,"id":480,"slug":481,"updated":482,"views":483},{"category":477},{"blogIds":478,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":479,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"c9ogfoo6l8btdpg","golang-websocket-versioning-backward-compatibility","2026-05-14 06:58:59.575Z",238,"sykvogu6k97tz2t","2026-02-23 03:15:03.776Z","อัปเกรดแอปฯ ยังไงไม่ให้พัง? เจาะลึกกลยุทธ์ Versioning สำหรับ WebSocket ตั้งแต่ Path-based ไปจนถึง Subprotocol เพื่อรักษา Backward Compatibility ในระดับ Enterprise ให้ระบบของคุณเติบโตได้อย่างยั่งยืน","2026-06-07 06:43:15.468Z",{"alt":489,"cover_image_path":490,"created":491,"expand":492,"id":529,"published_at":128,"school_blog":525,"short_description":530,"title":531,"updated":532,"slug":526,"views":528},"ประวัติภาษา PHP จากสคริปต์เช็กเรซูเม่ สู่เบื้องหลังเว็บไซต์ทั่วโลก","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fxb2l5cdh94smyq7\u002F1uqqsswbt8h_w4xba0oruj.png","2026-03-04 08:19:54.545Z",{"keywords":493,"locale":519,"school_blog":520},[494,499,504,509,514],{"collectionId":12,"collectionName":13,"created":495,"created_by":15,"id":496,"name":497,"updated":498,"updated_by":15},"2026-03-04 08:19:51.399Z","7ld7hie82lkygpp","ภาษา PHP","2026-06-07 06:45:05.380Z",{"collectionId":12,"collectionName":13,"created":500,"created_by":15,"id":501,"name":502,"updated":503,"updated_by":15},"2026-03-04 08:19:53.154Z","o82vft634uj3xr7","ประวัติ PHP","2026-06-07 06:45:05.636Z",{"collectionId":12,"collectionName":13,"created":505,"created_by":15,"id":506,"name":507,"updated":508,"updated_by":15},"2026-03-04 08:19:53.527Z","kxb5av8exza7ssd","Laravel","2026-06-07 06:45:05.748Z",{"collectionId":12,"collectionName":13,"created":510,"created_by":15,"id":511,"name":512,"updated":513,"updated_by":15},"2026-03-04 08:19:53.961Z","2irxiuyeoskuui2","WordPress","2026-06-07 06:45:05.933Z",{"collectionId":12,"collectionName":13,"created":515,"created_by":15,"id":516,"name":517,"updated":518,"updated_by":15},"2026-05-25 05:21:48.990Z","ri85qu1k1oz6573","PHP","2026-06-07 06:49:20.547Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":120,"collectionId":56,"collectionName":57,"created":58,"expand":521,"id":525,"slug":526,"updated":527,"views":528},{"category":522},{"blogIds":523,"collectionId":62,"collectionName":63,"created":124,"created_by":15,"id":120,"image":58,"image_alt":58,"image_path":58,"label":524,"name":126,"priority":127,"publish_at":128,"scheduled_at":58,"status":71,"updated":129,"updated_by":15},[],{"en":126,"th":126},"38enfgkirmgpypq","history-of-php-from-resume-tool-to-web-king","2026-06-15 01:36:27.326Z",280,"xb2l5cdh94smyq7","สรุปประวัติความเป็นมาของภาษา PHP ตั้งแต่จุดเริ่มต้นในการสร้างเครื่องมือส่วนตัวของ Rasmus Lerdorf จนถึงการพัฒนาเป็นระบบหลังบ้านที่ขับเคลื่อนเว็บไซต์มากกว่า 70% ในปัจจุบัน","ประวัติภาษา PHP และเส้นทางการพัฒนาสู่ระบบเบื้องหลังเว็บไซต์กว่า 70% ทั่วโลก","2026-06-07 06:42:42.779Z",{"alt":534,"cover_image_path":535,"created":536,"expand":537,"id":566,"published_at":567,"school_blog":562,"short_description":568,"title":534,"updated":569,"slug":563,"views":565},"Golang The Series EP 135: CI\u002FCD สำหรับ WebSocket Deploy เนียนกริบ ไม่ต้องกลัวคนหลุด","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F7tmp80figmdf7bu\u002Fcover_image_golang_the_series_ep_135_ci_cd_for_web_socket_servers_seamless_deployment_guide_0hv1vt4g0r.webp","2026-03-04 08:44:20.186Z",{"keywords":538,"locale":556,"school_blog":557},[539,540,545,546,551],{"collectionId":12,"collectionName":13,"created":195,"created_by":15,"id":196,"name":197,"updated":198,"updated_by":15},{"collectionId":12,"collectionName":13,"created":541,"created_by":15,"id":542,"name":543,"updated":544,"updated_by":15},"2026-03-04 08:44:18.322Z","1n94l86nx7etuf9","CI\u002FCD","2026-06-07 06:46:30.916Z",{"collectionId":12,"collectionName":13,"created":200,"created_by":15,"id":201,"name":202,"updated":203,"updated_by":15},{"collectionId":12,"collectionName":13,"created":547,"created_by":15,"id":548,"name":549,"updated":550,"updated_by":15},"2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-06-07 06:46:30.990Z",{"collectionId":12,"collectionName":13,"created":552,"created_by":15,"id":553,"name":554,"updated":555,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-06-07 06:46:31.098Z",{"code":45,"collectionId":46,"collectionName":47,"created":48,"flag":49,"id":50,"is_default":51,"label":52,"updated":53},{"category":231,"collectionId":56,"collectionName":57,"created":58,"expand":558,"id":562,"slug":563,"updated":564,"views":565},{"category":559},{"blogIds":560,"collectionId":62,"collectionName":63,"created":235,"created_by":15,"id":231,"image":236,"image_alt":58,"image_path":237,"label":561,"name":239,"priority":240,"publish_at":241,"scheduled_at":58,"status":71,"updated":242,"updated_by":15},[],{"en":239,"th":239},"zu068disz091bac","golang-websocket-cicd-deployment-guide","2026-05-23 16:49:55.557Z",411,"7tmp80figmdf7bu","2026-02-17 01:37:51.989Z","เจาะลึกการทำ CI\u002FCD สำหรับระบบ Stateful อย่าง WebSocket เรียนรู้วิธีวาง Pipeline ด้วย GitHub Actions และกลยุทธ์การ Deploy แบบ Rolling Update เพื่อป้องกันปัญหา Thundering Herd และทำให้การปล่อยของเป็นเรื่องง่าย","2026-06-07 06:43:16.481Z",4,12,427,36]