[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-20-12-Web%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252520Development-all-all-createdAt:desc-default":3},{"data":4,"page":556,"perPage":557,"totalItems":558,"totalPages":559},[5,70,123,175,217,264,309,341,388,433,478,511],{"alt":6,"cover_image_path":7,"created":8,"expand":9,"id":66,"published_at":67,"school_blog":62,"short_description":68,"title":6,"updated":69,"slug":63,"views":65},"EP 2: Utility-First คืออะไร? เข้าใจระบบคลาสของ Tailwind แบบเซียน","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Foex8h30omh16sl5\u002F3_11zon_6_1rjlpmgd4p.webp","2026-03-04 08:26:53.867Z",{"keywords":10,"locale":34,"school_blog":44},[11,19,24,29],{"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:26:51.076Z","76qprkevbgfdps8","jn88tu5uo8a2bjj","Utility-First CSS","2026-06-07 06:45:19.560Z",{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},"2026-03-04 08:26:35.002Z","eq1u1plwlvvr2rh","Tailwind CSS","2026-06-07 06:45:13.938Z",{"collectionId":12,"collectionName":13,"created":25,"created_by":15,"id":26,"name":27,"updated":28,"updated_by":15},"2026-03-04 08:26:52.161Z","fk076a5j3zt8l2q","ระบบคลาส Tailwind","2026-06-07 06:45:19.902Z",{"collectionId":12,"collectionName":13,"created":30,"created_by":15,"id":31,"name":32,"updated":33,"updated_by":15},"2026-03-04 08:26:53.334Z","wsttxh3j0g5mpff","Tailwind CSS Classes","2026-06-07 06:45:20.424Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},"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":45,"collectionId":46,"collectionName":47,"created":48,"expand":49,"id":62,"slug":63,"updated":64,"views":65},"i22e96fj41lsws7","pbc_2105096300","school_blogs","",{"category":50},{"blogIds":51,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":57,"name":22,"priority":58,"publish_at":59,"scheduled_at":48,"status":60,"updated":61,"updated_by":15},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:26:33.946Z","vzv2yduhfk_hs035tvsww.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fi22e96fj41lsws7\u002Fvzv2yduhfk_hs035tvsww.webp",{"en":22,"th":22},10,"2025-07-25 05:27:14.926Z","published","2026-06-07 06:45:02.386Z","s1zmcugr4s22kyl","ep2-utility-first-tailwind-css-class-system-thai","2026-06-26 09:41:14.060Z",464,"oex8h30omh16sl5","2025-07-21 10:58:18.513Z","ลงลึกหัวใจของ Tailwind CSS ด้วยแนวคิด Utility-First เรียนรู้ระบบการจัดหมวดหมู่คลาส เทคนิคการจำแบบเซียน Responsive Design และ State Variants พร้อมโปรเจ็กต์ปฏิบัติสร้าง Dashboard Card","2026-06-07 06:42:50.426Z",{"alt":71,"cover_image_path":72,"created":73,"expand":74,"id":119,"published_at":120,"school_blog":115,"short_description":121,"title":71,"updated":122,"slug":116,"views":118},"ชีวิตจริงของโปรแกรมเมอร์ ไม่ได้เหมือนในซีรีส์","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fezrgikrys41bfwb\u002F1_1_11zon_s6t4sm6dw6.webp","2026-03-04 08:48:10.106Z",{"keywords":75,"locale":101,"school_blog":102},[76,81,86,91,96],{"collectionId":12,"collectionName":13,"created":77,"created_by":15,"id":78,"name":79,"updated":80,"updated_by":15},"2026-03-04 08:32:46.661Z","q5txzj2it0lt1j5","ทักษะโปรแกรมเมอร์","2026-06-07 06:45:49.578Z",{"collectionId":12,"collectionName":13,"created":82,"created_by":15,"id":83,"name":84,"updated":85,"updated_by":15},"2026-03-04 08:31:19.365Z","jsi5xepawqdkp8u","การจัดการเวลา","2026-06-07 06:45:23.934Z",{"collectionId":12,"collectionName":13,"created":87,"created_by":15,"id":88,"name":89,"updated":90,"updated_by":15},"2026-03-04 08:46:45.708Z","wakiabpnjndfezm","การเขียนโค้ด","2026-06-07 06:47:14.247Z",{"collectionId":12,"collectionName":13,"created":92,"created_by":15,"id":93,"name":94,"updated":95,"updated_by":15},"2026-03-04 08:48:08.066Z","qtpip438ihk5ex3","การแก้ไขบั๊ก","2026-06-07 06:47:42.975Z",{"collectionId":12,"collectionName":13,"created":97,"created_by":15,"id":98,"name":99,"updated":100,"updated_by":15},"2026-03-04 08:48:08.390Z","40ab0myps5mo26a","ซีรีส์โปรแกรมเมอร์","2026-06-07 06:47:43.195Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":103,"collectionId":46,"collectionName":47,"created":48,"expand":104,"id":115,"slug":116,"updated":117,"views":118},"spm4l1k5bgmhmmt",{"category":105},{"blogIds":106,"collectionId":52,"collectionName":53,"created":107,"created_by":15,"id":103,"image":108,"image_alt":48,"image_path":109,"label":110,"name":111,"priority":112,"publish_at":113,"scheduled_at":48,"status":60,"updated":114,"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":111,"th":111},"Knowledge",0,"2026-03-18 02:25:41.222Z","2026-06-07 06:45:02.533Z","grk6vnoa58fri69","real-life-of-a-programmer-not-like-in-tv-series","2026-06-17 10:57:12.759Z",230,"ezrgikrys41bfwb","2025-07-21 02:57:03.658Z","บทความนี้จะพาคุณไปทำความเข้าใจชีวิตจริงของโปรแกรมเมอร์ที่แตกต่างจากภาพในซีรีส์ ทั้งการแก้ไขบั๊ก การทำงานร่วมกับทีม และการจัดการเวลา","2026-06-07 06:44:06.221Z",{"alt":124,"cover_image_path":125,"created":126,"expand":127,"id":171,"published_at":172,"school_blog":167,"short_description":173,"title":124,"updated":174,"slug":168,"views":170},"JS2GO EP.4 การคอมไพล์และการประมวลผล: JavaScript และ Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fpjq29o4j4nns9ne\u002F7_11zon_h46fr6ypei.webp","2026-03-04 08:27:00.170Z",{"keywords":128,"locale":154,"school_blog":155},[129,134,139,144,149],{"collectionId":12,"collectionName":13,"created":130,"created_by":15,"id":131,"name":132,"updated":133,"updated_by":15},"2026-03-04 08:24:39.080Z","c1sf5bfjeaex1j0","JavaScript กับ Go","2026-06-07 06:45:11.949Z",{"collectionId":12,"collectionName":13,"created":135,"created_by":15,"id":136,"name":137,"updated":138,"updated_by":15},"2026-03-04 08:26:57.213Z","15ej59nfygtu4cd","การประมวลผล","2026-06-07 06:45:21.007Z",{"collectionId":12,"collectionName":13,"created":140,"created_by":15,"id":141,"name":142,"updated":143,"updated_by":15},"2026-03-04 08:26:58.802Z","wrcav4eowmaa6gx","การคอมไพล์","2026-06-07 06:45:21.535Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-06-07 06:45:07.798Z",{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-06-07 06:45:10.888Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":156,"collectionId":46,"collectionName":47,"created":48,"expand":157,"id":167,"slug":168,"updated":169,"views":170},"hsa1afr8fcnd6qb",{"category":158},{"blogIds":159,"collectionId":52,"collectionName":53,"created":160,"created_by":15,"id":156,"image":161,"image_alt":48,"image_path":162,"label":163,"name":164,"priority":58,"publish_at":165,"scheduled_at":48,"status":60,"updated":166,"updated_by":15},[],"2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":164,"th":164},"JS2GO","2025-08-11 03:41:08.820Z","2026-06-07 06:45:02.240Z","ova8s0y8m9x3vmb","compilation-and-execution-javascript-vs-go","2026-05-25 08:44:29.684Z",260,"pjq29o4j4nns9ne","2025-07-21 02:00:59.328Z","เรียนรู้เกี่ยวกับการคอมไพล์และการประมวลผลใน JavaScript และ Go และทำความเข้าใจข้อดีข้อเสียของทั้งสองภาษา","2026-06-07 06:42:51.324Z",{"alt":176,"cover_image_path":177,"created":178,"expand":179,"id":213,"published_at":214,"school_blog":209,"short_description":215,"title":176,"updated":216,"slug":210,"views":212},"EP 1: Tailwind CSS คืออะไร? ทำไมโปรแกรมเมอร์ทั่วโลกถึงหลงใหล - เริ่มต้นสู่การเป็นมือโปร","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fzcpsf29kavdmiu3\u002F1_11zon_10_3q83psd9al.webp","2026-03-04 08:26:57.162Z",{"keywords":180,"locale":203,"school_blog":204},[181,186,191,196,201,202],{"collectionId":12,"collectionName":13,"created":182,"created_by":15,"id":183,"name":184,"updated":185,"updated_by":15},"2026-03-04 08:26:54.123Z","2dfuz0ok9x09e16","การเขียนเว็บไซต์","2026-06-07 06:45:20.775Z",{"collectionId":12,"collectionName":13,"created":187,"created_by":15,"id":188,"name":189,"updated":190,"updated_by":15},"2026-03-04 08:26:56.612Z","yf74wkqyamfc5qx","โปรแกรมเมอร์","2026-06-07 06:45:20.920Z",{"collectionId":12,"collectionName":13,"created":192,"created_by":15,"id":193,"name":194,"updated":195,"updated_by":15},"2026-03-04 08:26:53.730Z","r9l0awn967x2y3m","Bootstrap vs Tailwind","2026-06-07 06:45:20.629Z",{"collectionId":12,"collectionName":13,"created":197,"created_by":15,"id":198,"name":199,"updated":200,"updated_by":15},"2026-03-04 08:26:45.284Z","4rzdk0vis9kf77i","CSS Framework","2026-06-07 06:45:18.233Z",{"collectionId":12,"collectionName":13,"created":14,"created_by":15,"id":16,"name":17,"updated":18,"updated_by":15},{"collectionId":12,"collectionName":13,"created":20,"created_by":15,"id":21,"name":22,"updated":23,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":45,"collectionId":46,"collectionName":47,"created":48,"expand":205,"id":209,"slug":210,"updated":211,"views":212},{"category":206},{"blogIds":207,"collectionId":52,"collectionName":53,"created":54,"created_by":15,"id":45,"image":55,"image_alt":48,"image_path":56,"label":208,"name":22,"priority":58,"publish_at":59,"scheduled_at":48,"status":60,"updated":61,"updated_by":15},[],{"en":22,"th":22},"8pd7kk07nlhtfja","ep1-tailwind-css-utility-first-framework-thai","2026-06-25 14:41:03.828Z",382,"zcpsf29kavdmiu3","2025-07-18 02:15:10.089Z","เริ่มต้นเรียนรู้ Tailwind CSS - Utility-First CSS Framework ที่กำลังเปลี่ยนวิธีคิดการเขียน CSS ของโปรแกรมเมอร์ทั่วโลก พร้อมเปรียบเทียบกับ Bootstrap และวิธีติดตั้ง 3 แบบ สำหรับมือใหม่ที่อยากเป็นมือโปรใน 10 EP","2026-06-07 06:42:51.065Z",{"alt":218,"cover_image_path":219,"created":220,"expand":221,"id":260,"published_at":261,"school_blog":257,"short_description":262,"title":218,"updated":263,"slug":258,"views":118},"EP.68 การเพิ่มฟีเจอร์การตรวจสอบและป้องกันการโจมตีใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5tt8xso3365g8qg\u002F107_11zon_dm61ine3og.webp","2026-03-04 08:48:10.205Z",{"keywords":222,"locale":243,"school_blog":244},[223,228,233,238],{"collectionId":12,"collectionName":13,"created":224,"created_by":15,"id":225,"name":226,"updated":227,"updated_by":15},"2026-03-04 08:48:09.101Z","a22cqq6to6k3r7r","ป้องกัน DoS attack","2026-06-07 06:47:43.381Z",{"collectionId":12,"collectionName":13,"created":229,"created_by":15,"id":230,"name":231,"updated":232,"updated_by":15},"2026-03-04 08:48:09.452Z","xchkl67nee18ltf","JWT Authentication","2026-06-07 06:47:43.537Z",{"collectionId":12,"collectionName":13,"created":234,"created_by":15,"id":235,"name":236,"updated":237,"updated_by":15},"2026-03-04 08:48:09.658Z","699s7xzk5rcpx52","Cross-Site WebSocket Hijacking","2026-06-07 06:47:43.742Z",{"collectionId":12,"collectionName":13,"created":239,"created_by":15,"id":240,"name":241,"updated":242,"updated_by":15},"2026-03-04 08:48:09.865Z","qk54xeio19qnz0s","ป้องกันการโจมตี WebSocket","2026-06-07 06:47:43.868Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":245,"collectionId":46,"collectionName":47,"created":48,"expand":246,"id":257,"slug":258,"updated":259,"views":118},"wqxt7ag2gn7xcmk",{"category":247},{"blogIds":248,"collectionId":52,"collectionName":53,"created":249,"created_by":15,"id":245,"image":250,"image_alt":48,"image_path":251,"label":252,"name":253,"priority":254,"publish_at":255,"scheduled_at":48,"status":60,"updated":256,"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":253,"th":253},"Golang The Series",1,"2026-03-16 04:39:38.440Z","2026-06-07 06:45:03.856Z","f6wqbz7ts26d54y","security-enhancements-websocket-chat","2026-06-26 15:35:04.186Z","5tt8xso3365g8qg","2025-07-17 10:48:28.405Z","เรียนรู้วิธีเพิ่มฟีเจอร์การตรวจสอบและป้องกันการโจมตี ใน WebSocket Chat เพื่อเพิ่มความปลอดภัยและป้องกันการโจมตีที่อาจเกิดขึ้นในห้องแชทออนไลน์!","2026-06-07 06:44:06.363Z",{"alt":265,"cover_image_path":266,"created":267,"expand":268,"id":305,"published_at":306,"school_blog":301,"short_description":307,"title":265,"updated":308,"slug":302,"views":304},"EP.67 การสร้างระบบบันทึกการใช้งาน (Audit Log) ใน WebSocket Server","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fc5vwrn61xeuvxd4\u002F105_11zon_g7j567886x.webp","2026-03-04 08:48:15.075Z",{"keywords":269,"locale":295,"school_blog":296},[270,275,280,285,290],{"collectionId":12,"collectionName":13,"created":271,"created_by":15,"id":272,"name":273,"updated":274,"updated_by":15},"2026-03-04 08:48:11.618Z","0sj071so7shimea","WebSocket Server tracking","2026-06-07 06:47:44.481Z",{"collectionId":12,"collectionName":13,"created":276,"created_by":15,"id":277,"name":278,"updated":279,"updated_by":15},"2026-03-04 08:48:10.919Z","2kuwy2wtyko9i05","Golang WebSocket logging","2026-06-07 06:47:44.304Z",{"collectionId":12,"collectionName":13,"created":281,"created_by":15,"id":282,"name":283,"updated":284,"updated_by":15},"2026-03-04 08:48:12.318Z","85b9we0aqny6dq3","การติดตามกิจกรรมผู้ใช้","2026-06-07 06:47:44.786Z",{"collectionId":12,"collectionName":13,"created":286,"created_by":15,"id":287,"name":288,"updated":289,"updated_by":15},"2026-03-04 08:48:13.279Z","yi5b1evn7cw4nsq","Audit Log WebSocket","2026-06-07 06:47:45.183Z",{"collectionId":12,"collectionName":13,"created":291,"created_by":15,"id":292,"name":293,"updated":294,"updated_by":15},"2026-03-04 08:48:13.876Z","rfq5qjqrq2q1yg0","การบันทึกกิจกรรม WebSocket","2026-06-07 06:47:45.486Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":245,"collectionId":46,"collectionName":47,"created":48,"expand":297,"id":301,"slug":302,"updated":303,"views":304},{"category":298},{"blogIds":299,"collectionId":52,"collectionName":53,"created":249,"created_by":15,"id":245,"image":250,"image_alt":48,"image_path":251,"label":300,"name":253,"priority":254,"publish_at":255,"scheduled_at":48,"status":60,"updated":256,"updated_by":15},[],{"en":253,"th":253},"vgfsb9f5tx6cg3u","audit-log-websocket-server","2026-06-13 09:35:26.569Z",235,"c5vwrn61xeuvxd4","2025-07-17 01:50:05.172Z","เรียนรู้วิธีสร้าง ระบบบันทึกการใช้งาน (Audit Log) ใน WebSocket Server เพื่อให้สามารถติดตามการกระทำต่าง ๆ ภายใน WebSocket Chat ได้อย่างมีประสิทธิภาพและปลอดภัย","2026-06-07 06:44:06.722Z",{"alt":310,"cover_image_path":311,"created":312,"expand":313,"id":337,"published_at":338,"school_blog":333,"short_description":339,"title":310,"updated":340,"slug":334,"views":336},"JS2GO EP.3 การเปลี่ยนจาก JavaScript สู่ Go: สิ่งที่คุณต้องรู้ก่อนเริ่มใช้งาน Go","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F9tsivuwclw8q7x2\u002F5_11zon_3_rl5bz67wfh.webp","2026-03-04 08:27:00.939Z",{"keywords":314,"locale":327,"school_blog":328},[315,316,317,322],{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},{"collectionId":12,"collectionName":13,"created":318,"created_by":15,"id":319,"name":320,"updated":321,"updated_by":15},"2026-03-04 08:26:59.576Z","gbpe5qtyjhuq6g6","เปลี่ยนจาก JavaScript สู่ Go","2026-06-07 06:45:21.883Z",{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},"2026-03-04 08:27:00.374Z","3zxor15qr0d9g3v","Go สำหรับนักพัฒนา","2026-06-07 06:45:22.252Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":156,"collectionId":46,"collectionName":47,"created":48,"expand":329,"id":333,"slug":334,"updated":335,"views":336},{"category":330},{"blogIds":331,"collectionId":52,"collectionName":53,"created":160,"created_by":15,"id":156,"image":161,"image_alt":48,"image_path":162,"label":332,"name":164,"priority":58,"publish_at":165,"scheduled_at":48,"status":60,"updated":166,"updated_by":15},[],{"en":164,"th":164},"i1qqus7b4yi6pea","from-javascript-to-go-what-you-need-to-know","2026-06-24 13:47:06.023Z",284,"9tsivuwclw8q7x2","2025-07-16 05:02:56.730Z","เรียนรู้ขั้นตอนและข้อควรระวังก่อนเริ่มใช้งาน Go เช่น การติดตั้ง, การตั้งค่า Go Modules, การเข้าใจ Go runtime, และเครื่องมือที่จำเป็นในการพัฒนา","2026-06-07 06:42:51.439Z",{"alt":342,"cover_image_path":343,"created":344,"expand":345,"id":384,"published_at":385,"school_blog":380,"short_description":386,"title":342,"updated":387,"slug":381,"views":383},"JS2GO EP.2 The Basics: JavaScript กับ Go ต่างกันอย่างไร?","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F8rlgmm84fb8ed6k\u002F3_11zon_5_l0496fhi8r.webp","2026-03-04 08:27:03.497Z",{"keywords":346,"locale":374,"school_blog":375},[347,352,357,362,367,372,373],{"collectionId":12,"collectionName":13,"created":348,"created_by":15,"id":349,"name":350,"updated":351,"updated_by":15},"2026-03-04 08:26:59.195Z","gab60xd583s3qaw","Superdev School","2026-06-07 06:45:21.712Z",{"collectionId":12,"collectionName":13,"created":353,"created_by":15,"id":354,"name":355,"updated":356,"updated_by":15},"2026-03-04 08:27:02.106Z","y326hq13xntn2i4","Programming Languages","2026-06-07 06:45:22.499Z",{"collectionId":12,"collectionName":13,"created":358,"created_by":15,"id":359,"name":360,"updated":361,"updated_by":15},"2026-03-04 08:27:02.927Z","dptjn49w7xukqr7","Syntax","2026-06-07 06:45:22.814Z",{"collectionId":12,"collectionName":13,"created":363,"created_by":15,"id":364,"name":365,"updated":366,"updated_by":15},"2026-03-04 08:24:43.639Z","mjcndls2y3h9ob6","Error Handling","2026-06-07 06:45:12.534Z",{"collectionId":12,"collectionName":13,"created":368,"created_by":15,"id":369,"name":370,"updated":371,"updated_by":15},"2026-03-04 08:24:38.707Z","v8n5s20nj500amh","JavaScript vs Go","2026-06-07 06:45:11.841Z",{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":156,"collectionId":46,"collectionName":47,"created":48,"expand":376,"id":380,"slug":381,"updated":382,"views":383},{"category":377},{"blogIds":378,"collectionId":52,"collectionName":53,"created":160,"created_by":15,"id":156,"image":161,"image_alt":48,"image_path":162,"label":379,"name":164,"priority":58,"publish_at":165,"scheduled_at":48,"status":60,"updated":166,"updated_by":15},[],{"en":164,"th":164},"nrvmv21txad2n7a","javascript-vs-go-differences","2026-06-19 12:27:39.041Z",313,"8rlgmm84fb8ed6k","2025-07-15 01:48:39.876Z","เรียนรู้ความแตกต่างระหว่าง JavaScript และ Go ในเรื่องของ Syntax, Error Handling, และ หลักการออกแบบ เพื่อเข้าใจการเลือกใช้ภาษาในโปรเจกต์ต่าง ๆ","2026-06-07 06:42:51.727Z",{"alt":389,"cover_image_path":390,"created":391,"expand":392,"id":429,"published_at":430,"school_blog":425,"short_description":431,"title":389,"updated":432,"slug":426,"views":428},"EP.66 การใช้ Golang ร่วมกับ JSON Web Tokens (JWT) เพื่อจัดการกับระบบการยืนยันตัวตน (Authentication)","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5p8k7lxxm75o9vs\u002F103_11zon_i57wahmqet.webp","2026-03-04 08:48:16.101Z",{"keywords":393,"locale":419,"school_blog":420},[394,399,404,409,414],{"collectionId":12,"collectionName":13,"created":395,"created_by":15,"id":396,"name":397,"updated":398,"updated_by":15},"2026-03-04 08:44:42.406Z","julxx94rca568ku","WebSocket Authentication","2026-06-07 06:46:37.674Z",{"collectionId":12,"collectionName":13,"created":400,"created_by":15,"id":401,"name":402,"updated":403,"updated_by":15},"2026-03-04 08:48:14.773Z","rvtg1ba2zbmb32s","การจัดการผู้ใช้ด้วย JWT","2026-06-07 06:47:45.712Z",{"collectionId":12,"collectionName":13,"created":405,"created_by":15,"id":406,"name":407,"updated":408,"updated_by":15},"2026-03-04 08:48:15.037Z","sl8wru9sz7m3so7","การสร้าง JWT Token","2026-06-07 06:47:45.892Z",{"collectionId":12,"collectionName":13,"created":410,"created_by":15,"id":411,"name":412,"updated":413,"updated_by":15},"2026-03-04 08:48:15.405Z","7fgg8b58kbl6ytw","การใช้ JWT ใน Golang","2026-06-07 06:47:45.979Z",{"collectionId":12,"collectionName":13,"created":415,"created_by":15,"id":416,"name":417,"updated":418,"updated_by":15},"2026-03-04 08:48:15.762Z","b4d6q368ip2h0yk","การยืนยันตัวตน WebSocket","2026-06-07 06:47:46.089Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":245,"collectionId":46,"collectionName":47,"created":48,"expand":421,"id":425,"slug":426,"updated":427,"views":428},{"category":422},{"blogIds":423,"collectionId":52,"collectionName":53,"created":249,"created_by":15,"id":245,"image":250,"image_alt":48,"image_path":251,"label":424,"name":253,"priority":254,"publish_at":255,"scheduled_at":48,"status":60,"updated":256,"updated_by":15},[],{"en":253,"th":253},"hhnqut20vjry7wq","golang-jwt-authentication-websocket","2026-06-23 14:20:53.300Z",293,"5p8k7lxxm75o9vs","2025-07-14 02:26:48.849Z","เรียนรู้วิธีการใช้ JSON Web Tokens (JWT) ใน Golang เพื่อสร้างระบบการยืนยันตัวตน (Authentication) ที่ปลอดภัยและมีประสิทธิภาพใน WebSocket Chat.","2026-06-07 06:44:06.840Z",{"alt":434,"cover_image_path":435,"created":436,"expand":437,"id":474,"published_at":475,"school_blog":470,"short_description":476,"title":434,"updated":477,"slug":471,"views":473},"EP.65 การเพิ่มระบบการกรองข้อความ (Message Filtering) ใน WebSocket Chat","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fowswelxoepoj0gp\u002F101_11zon_ubulw3ja7c.webp","2026-03-04 08:48:19.424Z",{"keywords":438,"locale":464,"school_blog":465},[439,444,449,454,459],{"collectionId":12,"collectionName":13,"created":440,"created_by":15,"id":441,"name":442,"updated":443,"updated_by":15},"2026-03-04 08:48:16.599Z","y6kdl4lnz3i5bvr","การกรองข้อความ WebSocket","2026-06-07 06:47:46.523Z",{"collectionId":12,"collectionName":13,"created":445,"created_by":15,"id":446,"name":447,"updated":448,"updated_by":15},"2026-03-04 08:48:17.031Z","rsowsqhsifxpoot","ระบบกรองข้อความในห้องแชท","2026-06-07 06:47:46.906Z",{"collectionId":12,"collectionName":13,"created":450,"created_by":15,"id":451,"name":452,"updated":453,"updated_by":15},"2026-03-04 08:48:17.744Z","y1hhfhr6r33nblh","การจัดการเนื้อหาห้องแชท","2026-06-07 06:47:47.105Z",{"collectionId":12,"collectionName":13,"created":455,"created_by":15,"id":456,"name":457,"updated":458,"updated_by":15},"2026-03-04 08:48:18.475Z","n26sxfz2d595rjk","การกรองคำต้องห้าม WebSocket","2026-06-07 06:47:47.398Z",{"collectionId":12,"collectionName":13,"created":460,"created_by":15,"id":461,"name":462,"updated":463,"updated_by":15},"2026-03-04 08:48:19.163Z","pmillzex6emosd6","ความปลอดภัยใน WebSocket Chat","2026-06-07 06:47:47.725Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":245,"collectionId":46,"collectionName":47,"created":48,"expand":466,"id":470,"slug":471,"updated":472,"views":473},{"category":467},{"blogIds":468,"collectionId":52,"collectionName":53,"created":249,"created_by":15,"id":245,"image":250,"image_alt":48,"image_path":251,"label":469,"name":253,"priority":254,"publish_at":255,"scheduled_at":48,"status":60,"updated":256,"updated_by":15},[],{"en":253,"th":253},"h7yv6ksm6bs53t7","message-filtering-websocket-chat","2026-05-12 15:16:58.963Z",232,"owswelxoepoj0gp","2025-07-09 03:16:44.566Z","เรียนรู้วิธีเพิ่ม ระบบการกรองข้อความ (Message Filtering) ใน WebSocket Chat เพื่อให้สามารถกรองข้อความที่ไม่เหมาะสมและควบคุมเนื้อหาของการสนทนาในห้องแชทแบบเรียลไทม์!","2026-06-07 06:44:07.223Z",{"alt":479,"cover_image_path":480,"created":481,"expand":482,"id":507,"published_at":508,"school_blog":503,"short_description":509,"title":479,"updated":510,"slug":504,"views":506},"JS2GO EP.1 เริ่มต้นจาก JavaScript สู่ Go: พื้นฐานที่นักพัฒนาควรรู้","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F98ivm3wc65qcnhf\u002F1_11zon_8_0l0qr2f0kr.webp","2026-03-04 08:27:18.718Z",{"keywords":483,"locale":497,"school_blog":498},[484,485,486,491,496],{"collectionId":12,"collectionName":13,"created":150,"created_by":15,"id":151,"name":152,"updated":153,"updated_by":15},{"collectionId":12,"collectionName":13,"created":145,"created_by":15,"id":146,"name":147,"updated":148,"updated_by":15},{"collectionId":12,"collectionName":13,"created":487,"created_by":15,"id":488,"name":489,"updated":490,"updated_by":15},"2026-03-04 08:27:13.612Z","xk01lchy9wnxndd","เริ่มต้นจาก JavaScript สู่ Go","2026-06-07 06:45:23.587Z",{"collectionId":12,"collectionName":13,"created":492,"created_by":15,"id":493,"name":494,"updated":495,"updated_by":15},"2026-03-04 08:27:15.893Z","keubtbdqa4mblx3","การพัฒนาโปรแกรม","2026-06-07 06:45:23.759Z",{"collectionId":12,"collectionName":13,"created":323,"created_by":15,"id":324,"name":325,"updated":326,"updated_by":15},{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":156,"collectionId":46,"collectionName":47,"created":48,"expand":499,"id":503,"slug":504,"updated":505,"views":506},{"category":500},{"blogIds":501,"collectionId":52,"collectionName":53,"created":160,"created_by":15,"id":156,"image":161,"image_alt":48,"image_path":162,"label":502,"name":164,"priority":58,"publish_at":165,"scheduled_at":48,"status":60,"updated":166,"updated_by":15},[],{"en":164,"th":164},"5ejyd23037m1tc0","from-javascript-to-go","2026-06-25 16:28:32.591Z",417,"98ivm3wc65qcnhf","2025-07-08 08:29:27.354Z","เรียนรู้พื้นฐานของภาษา JavaScript และ Go รวมถึงความแตกต่างที่สำคัญในเชิงการใช้งานและการออกแบบ","2026-06-07 06:42:52.541Z",{"alt":512,"cover_image_path":513,"created":514,"expand":515,"id":552,"published_at":553,"school_blog":548,"short_description":554,"title":512,"updated":555,"slug":549,"views":551},"EP.64 การจัดการข้อผิดพลาด (Error Handling) ใน WebSocket Server ด้วย Golang","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fgi64nuyuuxt3p9o\u002F99_11zon_se0u83rzme.webp","2026-03-04 08:48:22.352Z",{"keywords":516,"locale":542,"school_blog":543},[517,522,527,532,537],{"collectionId":12,"collectionName":13,"created":518,"created_by":15,"id":519,"name":520,"updated":521,"updated_by":15},"2026-03-04 08:48:20.221Z","rdq8ziks7d5ow1m","การจัดการข้อผิดพลาด WebSocket","2026-06-07 06:47:48.294Z",{"collectionId":12,"collectionName":13,"created":523,"created_by":15,"id":524,"name":525,"updated":526,"updated_by":15},"2026-03-04 08:48:20.425Z","kssyg088tiyq272","ข้อผิดพลาดใน WebSocket Server","2026-06-07 06:47:48.512Z",{"collectionId":12,"collectionName":13,"created":528,"created_by":15,"id":529,"name":530,"updated":531,"updated_by":15},"2026-03-04 08:48:20.723Z","bxlg7joxteer1is","การจัดการข้อผิดพลาด Golang","2026-06-07 06:47:48.675Z",{"collectionId":12,"collectionName":13,"created":533,"created_by":15,"id":534,"name":535,"updated":536,"updated_by":15},"2026-03-04 08:48:21.368Z","k867kcg5z7u4rjp","ข้อผิดพลาดในการเชื่อมต่อ WebSocket","2026-06-07 06:47:48.998Z",{"collectionId":12,"collectionName":13,"created":538,"created_by":15,"id":539,"name":540,"updated":541,"updated_by":15},"2026-03-04 08:48:21.972Z","nmwh840qvis4a64","การจัดการข้อผิดพลาด Golang WebSocket","2026-06-07 06:47:49.234Z",{"code":35,"collectionId":36,"collectionName":37,"created":38,"flag":39,"id":40,"is_default":41,"label":42,"updated":43},{"category":245,"collectionId":46,"collectionName":47,"created":48,"expand":544,"id":548,"slug":549,"updated":550,"views":551},{"category":545},{"blogIds":546,"collectionId":52,"collectionName":53,"created":249,"created_by":15,"id":245,"image":250,"image_alt":48,"image_path":251,"label":547,"name":253,"priority":254,"publish_at":255,"scheduled_at":48,"status":60,"updated":256,"updated_by":15},[],{"en":253,"th":253},"iotx8smkq7kievo","error-handling-websocket-server-golang","2026-06-25 11:32:13.940Z",247,"gi64nuyuuxt3p9o","2025-07-08 02:20:58.486Z","เรียนรู้วิธีการ จัดการข้อผิดพลาด (Error Handling) ใน WebSocket Server ด้วย Golang เพื่อให้ระบบ WebSocket ของเรามีความทนทานต่อข้อผิดพลาดและสามารถจัดการกับข้อผิดพลาดที่เกิดขึ้นได้อย่างมีประสิทธิภาพ!","2026-06-07 06:44:07.514Z",20,12,434,37]