[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-4-12-Tailwind%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520CSS-all-all-createdAt:desc-default":3},{"data":4,"page":613,"perPage":614,"totalItems":615,"totalPages":616},[5,78,136,180,239,282,325,381,429,493,540,580],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":73,"published_at":74,"school_blog":69,"short_description":75,"title":76,"updated":77,"slug":70,"views":72},"พี่บูมจาก Superdev Academy กำลังเซ็ตอัปเครื่อง Mac Mini M4 ให้เป็นเซิร์ฟเวอร์สำหรับรันพนักงาน AI ด้วยโปรเจกต์ OpenClaw","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F444uiyeb3b1di2d\u002F1l2c1m19l7x_vq24rxgee6.png","2026-04-08 03:39:47.703Z",{"keywords":10,"locale":54,"school_blog":64},[11,19,24,29,34,39,44,49],{"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:26.139Z","76qprkevbgfdps8","dlm8aajwkiz9tae","AI Agent","2026-06-07 06:46:33.227Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:44:25.753Z","2l1col7j1n710ei","OpenClaw","2026-06-07 06:46:33.156Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-04-08 03:39:05.467Z","ujwbni1z0gvm35j","Mac Mini M4","2026-06-07 06:49:02.569Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-06-07 06:46:28.624Z",{"collectionId":12,"collectionName":13,"created":35,"created_by":15,"id":36,"name":37,"updated":38,"updated_by":15},"2026-04-08 03:39:18.025Z","bpz5uefh3wfqy6t","Proactive AI","2026-06-07 06:49:02.696Z",{"collectionId":12,"collectionName":13,"created":40,"created_by":15,"id":41,"name":42,"updated":43,"updated_by":15},"2026-04-08 03:39:24.854Z","9a3wamff29x0joy","Ollama","2026-06-07 06:49:02.902Z",{"collectionId":12,"collectionName":13,"created":45,"created_by":15,"id":46,"name":47,"updated":48,"updated_by":15},"2026-04-08 03:39:31.026Z","omed2iom387or8r","OrbStack","2026-06-07 06:49:02.981Z",{"collectionId":12,"collectionName":13,"created":50,"created_by":15,"id":51,"name":52,"updated":53,"updated_by":15},"2026-04-08 03:39:38.412Z","1l9xpmlbv24jck8","สอนสร้าง AI","2026-06-07 06:49:03.086Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},"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":65,"collectionId":66,"collectionName":67,"created":65,"expand":68,"id":69,"slug":70,"updated":71,"views":72},"","pbc_2105096300","school_blogs",{},"p4eb4fuk1jn6k9s","turn-mac-mini-into-ai-employee-openclaw-ep1","2026-06-20 23:26:41.695Z",148,"444uiyeb3b1di2d","2026-04-08 08:50:39.966Z","เจาะลึกวิสัยทัศน์ \"Startup ในกล่องเดียว\" กับการลงทุน 35,000 บาท เพื่อปั้นพนักงาน AI (Proactive Agent) จากศูนย์ เรียนรู้วิธีเซ็ตอัป Infrastructure ที่ปลอดภัยด้วย Tailscale และการรัน AI ใน Docker เพื่อเปลี่ยนคอมพิวเตอร์ให้ทำงานแทนคุณเหมือน Jarvis","เปลี่ยน Mac Mini ให้เป็นพนักงาน AI ด้วย OpenClaw | OpenClaw The Series EP.1","2026-06-07 06:44:49.572Z",{"alt":79,"cover_image_path":80,"created":81,"expand":82,"id":131,"published_at":132,"school_blog":127,"short_description":133,"title":134,"updated":135,"slug":128,"views":130},"ภาพกราฟิกสรุปชนิดข้อมูลในภาษา Rust แบ่งออกเป็นกลุ่ม Scalar และ Compound พร้อมตัวอย่าง Syntax การประกาศตัวแปร","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fzyft5pi49frlbwi\u002F9u16mwgyong_x79z697r1o.png","2026-04-03 10:52:09.920Z",{"keywords":83,"locale":110,"school_blog":111},[84,89,94,99,104,109],{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},"2026-03-16 05:10:32.092Z","s8r1st4glsmm7yl","ภาษา Rust","2026-06-07 06:48:56.069Z",{"collectionId":12,"collectionName":13,"created":90,"created_by":15,"id":91,"name":92,"updated":93,"updated_by":15},"2026-04-03 10:51:22.578Z","ckgl4w4nk4uirqs","Data Types","2026-06-07 06:49:01.977Z",{"collectionId":12,"collectionName":13,"created":95,"created_by":15,"id":96,"name":97,"updated":98,"updated_by":15},"2026-04-03 10:51:34.251Z","a38yxdu4yv4sp47","Scalar types","2026-06-07 06:49:02.176Z",{"collectionId":12,"collectionName":13,"created":100,"created_by":15,"id":101,"name":102,"updated":103,"updated_by":15},"2026-04-03 10:51:41.429Z","kq299ibv4vo4jth","Compound types","2026-06-07 06:49:02.246Z",{"collectionId":12,"collectionName":13,"created":105,"created_by":15,"id":106,"name":107,"updated":108,"updated_by":15},"2026-03-23 03:08:18.875Z","pu1hva5rmnc4672","สอน Rust","2026-06-07 06:48:59.078Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":112,"collectionId":66,"collectionName":67,"created":65,"expand":113,"id":127,"slug":128,"updated":129,"views":130},"mfqe235iv6x1or8",{"category":114},{"blogIds":115,"collectionId":116,"collectionName":117,"created":118,"created_by":15,"id":112,"image":119,"image_alt":65,"image_path":120,"label":121,"name":122,"priority":123,"publish_at":124,"scheduled_at":65,"status":125,"updated":126,"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":122,"th":122},"Rust The Series",2,"2026-03-16 04:40:09.199Z","published","2026-06-07 06:45:03.994Z","6fihd4eoshq37wa","rust-programming-data-types-guide","2026-06-16 16:54:28.262Z",144,"zyft5pi49frlbwi","2026-04-07 02:56:17.019Z","ทำความรู้จักกับ Data Types ในภาษา Rust ตั้งแต่ระดับพื้นฐานอย่างตัวเลขและตัวอักษร ไปจนถึงข้อมูลแบบกลุ่มอย่าง Tuples และ Arrays เพื่อการจัดการหน่วยความจำที่แม่นยำและปลอดภัยตามสไตล์ Superdev Academy","ชนิดข้อมูลพื้นฐานใน Rust: เจาะลึก Scalar และ Compound types (Integers, Tuples, Arrays) | Rust The Series EP.5","2026-06-07 06:44:49.240Z",{"alt":137,"cover_image_path":138,"created":139,"expand":140,"id":175,"published_at":176,"school_blog":171,"short_description":177,"title":178,"updated":179,"slug":172,"views":174},"ภาพกราฟิกสอนการประกาศตัวแปรในภาษา Rust","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Ff4jigxremr1yfr7\u002F7fnmzu2rf8s_crmtwh4g4f.png","2026-04-03 10:19:09.480Z",{"keywords":141,"locale":165,"school_blog":166},[142,143,148,153,158,159,164],{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":144,"created_by":15,"id":145,"name":146,"updated":147,"updated_by":15},"2026-03-04 08:27:07.652Z","32ul6fb24qv6ffa","ตัวแปร","2026-06-07 06:45:23.338Z",{"collectionId":12,"collectionName":13,"created":149,"created_by":15,"id":150,"name":151,"updated":152,"updated_by":15},"2026-04-03 10:18:18.197Z","pgvg42yxe6j3ovv","Mutability","2026-06-07 06:49:01.435Z",{"collectionId":12,"collectionName":13,"created":154,"created_by":15,"id":155,"name":156,"updated":157,"updated_by":15},"2026-04-03 10:18:27.323Z","97ya64hf89xb4vw","Immutable","2026-06-07 06:49:01.522Z",{"collectionId":12,"collectionName":13,"created":105,"created_by":15,"id":106,"name":107,"updated":108,"updated_by":15},{"collectionId":12,"collectionName":13,"created":160,"created_by":15,"id":161,"name":162,"updated":163,"updated_by":15},"2026-04-03 10:18:39.967Z","f1rjr0z8i71w4qu","Shadowing","2026-06-07 06:49:01.621Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":112,"collectionId":66,"collectionName":67,"created":65,"expand":167,"id":171,"slug":172,"updated":173,"views":174},{"category":168},{"blogIds":169,"collectionId":116,"collectionName":117,"created":118,"created_by":15,"id":112,"image":119,"image_alt":65,"image_path":120,"label":170,"name":122,"priority":123,"publish_at":124,"scheduled_at":65,"status":125,"updated":126,"updated_by":15},[],{"en":122,"th":122},"ypjquqgb7zjvn1v","rust-variables-mutability-guide","2026-06-17 16:25:49.055Z",151,"f4jigxremr1yfr7","2026-04-03 11:13:28.919Z","เจาะลึกหัวใจของ Rust ทำไมตัวแปรถึงเปลี่ยนค่าไม่ได้ (Immutable) โดยค่าเริ่มต้น? เรียนรู้วิธีการใช้ mut, ข้อแตกต่างของ Constants และเทคนิค Shadowing เพื่อการจัดการหน่วยความจำที่ปลอดภัย","ตัวแปรและการเปลี่ยนแปลงใน Rust: ทำไมต้อง Immutable? | Rust The Series EP.4","2026-06-07 06:44:48.867Z",{"alt":181,"cover_image_path":182,"created":183,"expand":184,"id":234,"published_at":235,"school_blog":230,"short_description":236,"title":237,"updated":238,"slug":231,"views":233},"ภาพประกอบบทความสอนการใช้งาน Docker คู่กับภาษา Python เพื่อแพ็กเกจแอปพลิเคชันสำหรับการ Deploy","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fycrwcyghwhxtu67\u002F14f5i67fuc1_ezn3vat6vq.png","2026-03-31 08:55:10.166Z",{"keywords":185,"locale":216,"school_blog":217},[186,191,196,201,206,211],{"collectionId":12,"collectionName":13,"created":187,"created_by":15,"id":188,"name":189,"updated":190,"updated_by":15},"2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-06-07 06:46:30.990Z",{"collectionId":12,"collectionName":13,"created":192,"created_by":15,"id":193,"name":194,"updated":195,"updated_by":15},"2026-03-04 08:20:28.340Z","s9cc7gm6633rsnk","Python","2026-06-07 06:45:08.957Z",{"collectionId":12,"collectionName":13,"created":197,"created_by":15,"id":198,"name":199,"updated":200,"updated_by":15},"2026-03-04 08:44:18.923Z","jt1jqlzs29xu1i7","Deploy","2026-06-07 06:46:31.098Z",{"collectionId":12,"collectionName":13,"created":202,"created_by":15,"id":203,"name":204,"updated":205,"updated_by":15},"2026-03-31 08:54:45.558Z","lgbnhnehd3t414z","Container","2026-06-07 06:49:00.598Z",{"collectionId":12,"collectionName":13,"created":207,"created_by":15,"id":208,"name":209,"updated":210,"updated_by":15},"2026-03-31 08:54:52.247Z","u7sf345s1gipkhf","Dockerfile","2026-06-07 06:49:00.819Z",{"collectionId":12,"collectionName":13,"created":212,"created_by":15,"id":213,"name":214,"updated":215,"updated_by":15},"2026-03-31 08:54:59.373Z","7vvg4ltbbnbihku","สอน Docker","2026-06-07 06:49:00.950Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":218,"collectionId":66,"collectionName":67,"created":65,"expand":219,"id":230,"slug":231,"updated":232,"views":233},"qn0d7xwatkleou1",{"category":220},{"blogIds":221,"collectionId":116,"collectionName":117,"created":222,"created_by":15,"id":218,"image":223,"image_alt":65,"image_path":224,"label":225,"name":226,"priority":227,"publish_at":228,"scheduled_at":65,"status":125,"updated":229,"updated_by":15},[],"2026-03-04 08:31:21.896Z","4jn5ccty4x9_2894s1fj97.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fqn0d7xwatkleou1\u002F4jn5ccty4x9_2894s1fj97.png",{"en":226,"th":226},"How to",0,"2025-02-04 08:40:59.666Z","2026-06-07 06:45:02.619Z","tw4akhojnb2u1ik","docker-python-deployment-guide","2026-06-18 13:46:48.022Z",145,"ycrwcyghwhxtu67","2026-04-02 10:43:44.462Z","จบปัญหาโลกแตก \"เครื่องฉันรันได้!\" เรียนรู้วิธีใช้ Docker แพ็กเกจแอปพลิเคชัน Python ให้พร้อม Deploy ทุกที่แบบ Step-by-Step พร้อมเคล็ดลับฉบับโปร","Docker + Python: วิธีแพ็กเกจแอปพลิเคชันให้พร้อม Deploy ทุกสภาพแวดล้อม","2026-06-07 06:44:48.608Z",{"alt":240,"cover_image_path":241,"created":242,"expand":243,"id":277,"published_at":278,"school_blog":273,"short_description":279,"title":280,"updated":281,"slug":274,"views":276},"โลโก้ภาษา Rust และตัวการ์ตูนปูที่เป็นมาสคอต สำหรับบทความ Rust The Series EP 3 โดย Superdev Academy","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5diz71et6elhs9k\u002F5nl6sxdrndo_8nnwwnyrxc.png","2026-03-23 03:46:58.277Z",{"keywords":244,"locale":267,"school_blog":268},[245,246,251,256,257,262],{"collectionId":12,"collectionName":13,"created":85,"created_by":15,"id":86,"name":87,"updated":88,"updated_by":15},{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},"2026-03-04 08:20:06.235Z","254619mvnk1hr7y","Rust","2026-06-07 06:45:07.039Z",{"collectionId":12,"collectionName":13,"created":252,"created_by":15,"id":253,"name":254,"updated":255,"updated_by":15},"2026-03-23 03:46:05.235Z","to8ylvvfmrgjo0x","Cargo","2026-06-07 06:49:00.147Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"collectionId":12,"collectionName":13,"created":258,"created_by":15,"id":259,"name":260,"updated":261,"updated_by":15},"2026-03-04 08:31:35.253Z","r1k7m3354tp5ovr","เรียนเขียนโปรแกรม","2026-06-07 06:45:29.140Z",{"collectionId":12,"collectionName":13,"created":263,"created_by":15,"id":264,"name":265,"updated":266,"updated_by":15},"2026-03-23 03:46:33.835Z","htqad2oc1hixhhl","วิธีใช้ Cargo","2026-06-07 06:49:00.288Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":112,"collectionId":66,"collectionName":67,"created":65,"expand":269,"id":273,"slug":274,"updated":275,"views":276},{"category":270},{"blogIds":271,"collectionId":116,"collectionName":117,"created":118,"created_by":15,"id":112,"image":119,"image_alt":65,"image_path":120,"label":272,"name":122,"priority":123,"publish_at":124,"scheduled_at":65,"status":125,"updated":126,"updated_by":15},[],{"en":122,"th":122},"okm4en0s9tcmnn6","rust-series-ep3-intro-to-cargo-package-manager","2026-06-15 00:37:01.725Z",162,"5diz71et6elhs9k","2026-03-23 04:03:02.314Z","เริ่มต้นเขียนโค้ดแรกในภาษา Rust ด้วย Cargo เรียนรู้วิธีสร้างโปรเจกต์ จัดการ Library (Crates) และคำสั่งพื้นฐานที่ต้องรู้ เช่น cargo build, run และ check เพื่อการพัฒนาซอฟต์แวร์อย่างมืออาชีพ","ทำความรู้จัก Cargo คู่หูที่จะทำให้ชีวิตการเขียน Rust ง่ายขึ้น | Rust The Series EP.3","2026-06-07 06:44:48.218Z",{"alt":283,"cover_image_path":284,"created":285,"expand":286,"id":320,"published_at":321,"school_blog":316,"short_description":322,"title":323,"updated":324,"slug":317,"views":319},"ภาพหน้าปกบทความสอนติดตั้ง 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":287,"locale":310,"school_blog":311},[288,293,294,299,304,309],{"collectionId":12,"collectionName":13,"created":289,"created_by":15,"id":290,"name":291,"updated":292,"updated_by":15},"2026-03-23 03:08:11.595Z","zxatg5igg3a82av","ติดตั้ง Rust","2026-06-07 06:48:58.951Z",{"collectionId":12,"collectionName":13,"created":105,"created_by":15,"id":106,"name":107,"updated":108,"updated_by":15},{"collectionId":12,"collectionName":13,"created":295,"created_by":15,"id":296,"name":297,"updated":298,"updated_by":15},"2026-03-23 03:08:33.318Z","6aamy6do941c0qd","Rustup คืออะไร","2026-06-07 06:48:59.271Z",{"collectionId":12,"collectionName":13,"created":300,"created_by":15,"id":301,"name":302,"updated":303,"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":305,"created_by":15,"id":306,"name":307,"updated":308,"updated_by":15},"2026-03-23 03:08:45.455Z","j1y9kcuspwhxavf","RustRover","2026-06-07 06:48:59.439Z",{"collectionId":12,"collectionName":13,"created":247,"created_by":15,"id":248,"name":249,"updated":250,"updated_by":15},{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":112,"collectionId":66,"collectionName":67,"created":65,"expand":312,"id":316,"slug":317,"updated":318,"views":319},{"category":313},{"blogIds":314,"collectionId":116,"collectionName":117,"created":118,"created_by":15,"id":112,"image":119,"image_alt":65,"image_path":120,"label":315,"name":122,"priority":123,"publish_at":124,"scheduled_at":65,"status":125,"updated":126,"updated_by":15},[],{"en":122,"th":122},"13h228aiodane7p","install-rustup-vscode-rustrover-setup","2026-06-22 00:18:18.920Z",160,"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":326,"cover_image_path":327,"created":328,"expand":329,"id":376,"published_at":377,"school_blog":373,"short_description":378,"title":379,"updated":380,"slug":374,"views":174},"โลโก้อัญมณีสีแดงของภาษา Ruby ท่ามกลางบรรยากาศการเขียนโค้ดที่สะอาดตาและสื่อถึงความสุขของนักพัฒนา","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fdjhhe6en9sexons\u002F1y17o2x2sgw_6zrc5rjs4z.png","2026-03-16 05:49:51.842Z",{"keywords":330,"locale":361,"school_blog":362},[331,336,341,346,351,356],{"collectionId":12,"collectionName":13,"created":332,"created_by":15,"id":333,"name":334,"updated":335,"updated_by":15},"2026-03-04 08:34:45.348Z","t7n7n8692pg72pt","ภาษา Ruby","2026-06-07 06:46:15.713Z",{"collectionId":12,"collectionName":13,"created":337,"created_by":15,"id":338,"name":339,"updated":340,"updated_by":15},"2026-03-16 05:48:55.871Z","i760xsdcbeb9jys","ประวัติ Ruby","2026-06-07 06:48:56.766Z",{"collectionId":12,"collectionName":13,"created":342,"created_by":15,"id":343,"name":344,"updated":345,"updated_by":15},"2026-03-04 08:34:47.544Z","3ky9n7b9hsgjf35","Ruby","2026-06-07 06:46:16.683Z",{"collectionId":12,"collectionName":13,"created":347,"created_by":15,"id":348,"name":349,"updated":350,"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":352,"created_by":15,"id":353,"name":354,"updated":355,"updated_by":15},"2026-03-16 05:49:18.125Z","0runldorrswj5ds","MINASWAN","2026-06-07 06:48:57.120Z",{"collectionId":12,"collectionName":13,"created":357,"created_by":15,"id":358,"name":359,"updated":360,"updated_by":15},"2026-03-16 05:10:38.871Z","4drw5c8knx92e9n","สอนเขียนโปรแกรม Rust","2026-06-07 06:48:56.187Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":363,"collectionId":66,"collectionName":67,"created":65,"expand":364,"id":373,"slug":374,"updated":375,"views":174},"isnp2fv80bn3yem",{"category":365},{"blogIds":366,"collectionId":116,"collectionName":117,"created":367,"created_by":15,"id":363,"image":65,"image_alt":65,"image_path":65,"label":368,"name":369,"priority":370,"publish_at":371,"scheduled_at":65,"status":125,"updated":372,"updated_by":15},[],"2026-03-04 08:19:47.590Z",{"en":369,"th":369},"กว่าจะเป็นภาษาโค้ด",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","djhhe6en9sexons","2026-03-18 04:46:40.298Z","ทำไม Ruby ถึงเป็นภาษาที่โปรแกรมเมอร์รักที่สุด? เจาะลึกปรัชญา MINASWAN และเบื้องหลังความสำเร็จของ Ruby on Rails ที่สตาร์ทอัพระดับโลกเลือกใช้","ประวัติภาษา Ruby: ภาษาอัญมณีที่สร้างขึ้นเพื่อความสุขและความเป็นมนุษย์ของโปรแกรมเมอร์","2026-06-07 06:44:46.769Z",{"alt":382,"cover_image_path":383,"created":384,"expand":385,"id":424,"published_at":425,"school_blog":420,"short_description":426,"title":427,"updated":428,"slug":421,"views":423},"แนะนำ 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":386,"locale":407,"school_blog":408},[387,392,397,402],{"collectionId":12,"collectionName":13,"created":388,"created_by":15,"id":389,"name":390,"updated":391,"updated_by":15},"2026-03-16 06:29:28.721Z","4dngcyzugds90n0","จอเสริม MacBook","2026-06-07 06:48:57.654Z",{"collectionId":12,"collectionName":13,"created":393,"created_by":15,"id":394,"name":395,"updated":396,"updated_by":15},"2026-03-16 06:29:34.822Z","31rem2lfrdsmawe","จอคอมเขียนโปรแกรม","2026-06-07 06:48:57.759Z",{"collectionId":12,"collectionName":13,"created":398,"created_by":15,"id":399,"name":400,"updated":401,"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":403,"created_by":15,"id":404,"name":405,"updated":406,"updated_by":15},"2026-03-16 06:29:49.539Z","5dquc86ngxqk2gb","จอมอนิเตอร์โปรแกรมเมอร์","2026-06-07 06:48:57.962Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":409,"collectionId":66,"collectionName":67,"created":65,"expand":410,"id":420,"slug":421,"updated":422,"views":423},"spm4l1k5bgmhmmt",{"category":411},{"blogIds":412,"collectionId":116,"collectionName":117,"created":413,"created_by":15,"id":409,"image":414,"image_alt":65,"image_path":415,"label":416,"name":417,"priority":227,"publish_at":418,"scheduled_at":65,"status":125,"updated":419,"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":417,"th":417},"Knowledge","2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","s3vhc075erm9t15","best-macbook-monitors-for-programmers-2026","2026-06-21 20:06:19.909Z",175,"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":430,"cover_image_path":431,"created":432,"expand":433,"id":488,"published_at":489,"school_blog":484,"short_description":490,"title":491,"updated":492,"slug":485,"views":487},"ภาพปกบทความ 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":434,"locale":470,"school_blog":471},[435,440,445,450,455,460,465],{"collectionId":12,"collectionName":13,"created":436,"created_by":15,"id":437,"name":438,"updated":439,"updated_by":15},"2026-03-04 08:20:14.253Z","ah6lvy4x8qe08l5","Golang","2026-06-07 06:45:08.193Z",{"collectionId":12,"collectionName":13,"created":441,"created_by":15,"id":442,"name":443,"updated":444,"updated_by":15},"2026-03-04 08:34:00.920Z","ecac9y661or1xka","WebSocket","2026-06-07 06:45:55.734Z",{"collectionId":12,"collectionName":13,"created":446,"created_by":15,"id":447,"name":448,"updated":449,"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":451,"created_by":15,"id":452,"name":453,"updated":454,"updated_by":15},"2026-03-16 03:49:11.920Z","68w24pqpvxluy94","Roadmap","2026-06-07 06:48:55.437Z",{"collectionId":12,"collectionName":13,"created":456,"created_by":15,"id":457,"name":458,"updated":459,"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":461,"created_by":15,"id":462,"name":463,"updated":464,"updated_by":15},"2026-03-16 03:49:27.028Z","6x2tx5b8cvpi4tf","พัฒนาซอฟต์แวร์","2026-06-07 06:48:55.697Z",{"collectionId":12,"collectionName":13,"created":466,"created_by":15,"id":467,"name":468,"updated":469,"updated_by":15},"2026-03-16 03:49:34.466Z","mmrky37ung92c97","ระบบ Real-time","2026-06-07 06:48:55.815Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":472,"collectionId":66,"collectionName":67,"created":65,"expand":473,"id":484,"slug":485,"updated":486,"views":487},"wqxt7ag2gn7xcmk",{"category":474},{"blogIds":475,"collectionId":116,"collectionName":117,"created":476,"created_by":15,"id":472,"image":477,"image_alt":65,"image_path":478,"label":479,"name":480,"priority":481,"publish_at":482,"scheduled_at":65,"status":125,"updated":483,"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":480,"th":480},"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-15 21:49:49.385Z",167,"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":494,"cover_image_path":495,"created":496,"expand":497,"id":536,"published_at":537,"school_blog":532,"short_description":538,"title":494,"updated":539,"slug":533,"views":535},"วิธีใช้ 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":498,"locale":519,"school_blog":520},[499,504,509,514],{"collectionId":12,"collectionName":13,"created":500,"created_by":15,"id":501,"name":502,"updated":503,"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":505,"created_by":15,"id":506,"name":507,"updated":508,"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":510,"created_by":15,"id":511,"name":512,"updated":513,"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":515,"created_by":15,"id":516,"name":517,"updated":518,"updated_by":15},"2026-03-04 08:44:16.902Z","1pf59ie7wale4so","Localhost","2026-06-07 06:46:30.326Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":521,"collectionId":66,"collectionName":67,"created":65,"expand":522,"id":532,"slug":533,"updated":534,"views":535},"rfxf19ot4iq992c",{"category":523},{"blogIds":524,"collectionId":116,"collectionName":117,"created":525,"created_by":15,"id":521,"image":526,"image_alt":65,"image_path":527,"label":528,"name":529,"priority":227,"publish_at":530,"scheduled_at":65,"status":125,"updated":531,"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":529,"th":529},"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-21 05:10:43.487Z",491,"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":541,"cover_image_path":542,"created":543,"expand":544,"id":576,"published_at":577,"school_blog":572,"short_description":578,"title":541,"updated":579,"slug":573,"views":575},"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":545,"locale":566,"school_blog":567},[546,551,556,561],{"collectionId":12,"collectionName":13,"created":547,"created_by":15,"id":548,"name":549,"updated":550,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":552,"created_by":15,"id":553,"name":554,"updated":555,"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":557,"created_by":15,"id":558,"name":559,"updated":560,"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":562,"created_by":15,"id":563,"name":564,"updated":565,"updated_by":15},"2026-03-04 08:34:12.496Z","992k3hc4xxojtaj","ความเสถียร","2026-06-07 06:46:00.958Z",{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":472,"collectionId":66,"collectionName":67,"created":65,"expand":568,"id":572,"slug":573,"updated":574,"views":575},{"category":569},{"blogIds":570,"collectionId":116,"collectionName":117,"created":476,"created_by":15,"id":472,"image":477,"image_alt":65,"image_path":478,"label":571,"name":480,"priority":481,"publish_at":482,"scheduled_at":65,"status":125,"updated":483,"updated_by":15},[],{"en":480,"th":480},"vey0miiiraly806","go-modules-managing-dependency","2026-06-22 00:58:38.371Z",422,"i3gpxgyzelb5hst","2026-03-06 03:23:46.142Z","เรียนรู้การเริ่มต้นโปรเจกต์ด้วย Go Modules การติดตั้งและอัปเดตแพ็กเกจ รวมถึงการจัดการเวอร์ชันของ Dependency อย่างมืออาชีพ","2026-06-07 06:44:45.492Z",{"alt":581,"cover_image_path":582,"created":583,"expand":584,"id":609,"published_at":610,"school_blog":605,"short_description":611,"title":581,"updated":612,"slug":606,"views":608},"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":585,"locale":599,"school_blog":600},[586,587,588,593,598],{"collectionId":12,"collectionName":13,"created":436,"created_by":15,"id":437,"name":438,"updated":439,"updated_by":15},{"collectionId":12,"collectionName":13,"created":441,"created_by":15,"id":442,"name":443,"updated":444,"updated_by":15},{"collectionId":12,"collectionName":13,"created":589,"created_by":15,"id":590,"name":591,"updated":592,"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":594,"created_by":15,"id":595,"name":596,"updated":597,"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":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},{"code":55,"collectionId":56,"collectionName":57,"created":58,"flag":59,"id":60,"is_default":61,"label":62,"updated":63},{"category":472,"collectionId":66,"collectionName":67,"created":65,"expand":601,"id":605,"slug":606,"updated":607,"views":608},{"category":602},{"blogIds":603,"collectionId":116,"collectionName":117,"created":476,"created_by":15,"id":472,"image":477,"image_alt":65,"image_path":478,"label":604,"name":480,"priority":481,"publish_at":482,"scheduled_at":65,"status":125,"updated":483,"updated_by":15},[],{"en":480,"th":480},"v3pnrpaatmfvk5q","golang-websocket-mobile-optimization-low-bandwidth","2026-06-22 02:20:59.639Z",241,"ajh621tzfnpj0u2","2026-03-02 08:50:22.787Z","เจาะลึกการจูน WebSocket สำหรับโลก Mobile! ตั้งแต่การทำ Adaptive Heartbeat เพื่อประหยัดแบตเตอรี่ ไปจนถึงเทคนิค Resume Message เมื่อเน็ตหลุด เพื่อให้แอปของคุณเสถียรที่สุดแม้ในวันที่เน็ตไม่เป็นใจ","2026-06-07 06:43:13.988Z",4,12,432,36]