{"version":1,"pages":[{"id":"-Lm0_lyaNtrFK5cn2INz","title":"สลัดผักเกมส์","pathname":"/games","siteSpaceId":"sitesp_4nrKd","emoji":"1f496","description":"มาทำความเข้าใจกันหน่อยนุงน๊า"},{"id":"-LzbiSFRzFWFFAOaj4A4","title":"Unity คือไย?","pathname":"/games/beginner/unity","siteSpaceId":"sitesp_4nrKd","description":"😎 โปรแกรมเมอร์สายเกมสุดคูล์เริ่มไง ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนเกม"}]},{"id":"-LzfzFxZS92CWdgYmBpK","title":"ติดตั้ง Unity กัน","pathname":"/games/beginner/install","siteSpaceId":"sitesp_4nrKd","description":"อยากเขียนเกมส์ด้วย Unity ต้องลงไรบ้าง","breadcrumbs":[{"label":"มือใหม่หัดเขียนเกม"}]},{"id":"-M-V5CdPLP8PUQHMxCpD","title":"ลองสร้างโปรเจคเกมตัวแรกกัน","pathname":"/games/beginner/create-new-project","siteSpaceId":"sitesp_4nrKd","description":"เคลียความเข้าใจการสร้างเกม 2D ด้วย Unity กัน","breadcrumbs":[{"label":"มือใหม่หัดเขียนเกม"}]},{"id":"-Lm0_lyaNtrFK5cn2INz","title":"สลัดผัก","pathname":"/","siteSpaceId":"sitesp_wq8XO","emoji":"1f496","description":"มาทำความเข้าใจกันหน่อยนุงน๊า"},{"id":"-LmQGs5HLHSBs-zUMNiR","title":"มีอะไรใหม่บ้าง","pathname":"/news","siteSpaceId":"sitesp_wq8XO","emoji":"1f4f0","description":"เวลาที่มีอัพเดทอะไรใหม่ๆจะเอามาใส่ไว้ในหน้านี้แหละ"},{"id":"-Lz_P31KwoYOpSNplWjk","title":"2020","pathname":"/news/2020","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"}]},{"id":"-MbiYQtXbBKzALiq_Ebk","title":"2020-11","pathname":"/news/2020/2020-11","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-ML8H1xpHxUEuHxORWAm","title":"2020-10","pathname":"/news/2020/2020-10","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-MKKFM19oTy1QdU5NE5Y","title":"2020-09","pathname":"/news/2020/2020-09","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-MHSbQUySqglN9ZcZqEN","title":"2020-08","pathname":"/news/2020/2020-08","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-MDrx-7ZDY4doavpuNCo","title":"2020-03","pathname":"/news/2020/2020-03","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-M1TCpXdJ454nES8xS14","title":"2020-02","pathname":"/news/2020/2020-02","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-Lz_P7pBHKDe2MWntF3z","title":"2020-01","pathname":"/news/2020/2020-01","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2020"}]},{"id":"-Lz_Oc8jcfp22x8Pn-7e","title":"2019","pathname":"/news/2019","siteSpaceId":"sitesp_wq8XO","description":"Updates","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"}]},{"id":"-Lz_PI3DnjRFOiXLrvAo","title":"2019-12","pathname":"/news/2019/2019-12","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2019"}]},{"id":"-Lv0TFdPJF_Ta06rsPu9","title":"2019-11","pathname":"/news/2019/2019-11","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2019"}]},{"id":"-Lsb8lfmWhVAW0PXbReZ","title":"2019-10","pathname":"/news/2019/2019-10","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2019"}]},{"id":"-Lq3f_qhEW-geNnl2AiT","title":"2019-09","pathname":"/news/2019/2019-09","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2019"}]},{"id":"-LoACu9LHIgrvrS35od0","title":"2019-08","pathname":"/news/2019/2019-08","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มีอะไรใหม่บ้าง","emoji":"1f4f0"},{"label":"2019"}]},{"id":"-LsAbOVaWO1B3FXlotP3","title":"อ่านเรื่องไรดี ?","pathname":"/roadmap","siteSpaceId":"sitesp_wq8XO","emoji":"1f914","description":"บทความเริ่มเยอะละ จะเริ่มอ่านเรื่องไรดีนะ"},{"id":"-Lm0gs_XkzUOzRin1nEE","title":"เขียนโค้ดด้วยภาษา C#","pathname":"/beginner-1/csharp101","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"ตำราพิชัยสงครามตั้งแต่ไม้จิ้มฟันยันยาวอวกาศ !","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-Lm0gtS1mf8YSgjbcLa6","title":"เกิดมาไม่เคยเขียนโค้ดมาก่อนเบย","pathname":"/beginner-1/csharp101/newbie","siteSpaceId":"sitesp_wq8XO","description":"ทุกอย่างมันต้องมีครั้งแรก ไม่ต้องเป็นห่วง ปลาตัวนี้นิ่มไร้ก้าง ไร้เกล็ด ไร้ขน ... นี่ก็เริ่มหวั่นๆละว่ามันเป็นปลาหรือเปล่า","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"}]},{"id":"-LnSMtLo5HlEN4M7RpBX","title":"พื้นฐาน","pathname":"/beginner-1/csharp101/basic","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"ระดับมัธยม","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"}]},{"id":"-Lm3TnID9DZ1TP0k-3KS","title":"1.โปรแกรมที่ต้องลง","pathname":"/beginner-1/csharp101/basic/tools","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-Lm3nfT0x0L8XqQcDcq8","title":"2.โครงสร้างของโค้ด","pathname":"/beginner-1/csharp101/basic/structure","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-Lm3pcuYdJ3ulEG7pSRb","title":"3.ชนิดของข้อมูล","pathname":"/beginner-1/csharp101/basic/datatype","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-Lm3tlPx2pI2aik6mv6h","title":"4.การสร้างตัวแปร","pathname":"/beginner-1/csharp101/basic/variable","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-Lm5YJJW8qp1KqD-U3Ln","title":"5.คำสั่งพื้นฐาน","pathname":"/beginner-1/csharp101/basic/operators","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-Lm9VWl97tXeFhHWA8Mu","title":"6.การแปลงข้อมูล","pathname":"/beginner-1/csharp101/basic/type-conversions","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmAXI9DTjy2JTo5qRCE","title":"7.การเปรียบเทียบค่า","pathname":"/beginner-1/csharp101/basic/boolean","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmYsLJ_VQFP2DcXRVLI","title":"8.การตัดสินใจด้วย IF statements","pathname":"/beginner-1/csharp101/basic/if","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZ01LvGvurMe_b3ejq","title":"9.การตัดสินใจด้วย Switch statements","pathname":"/beginner-1/csharp101/basic/switch","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZ4pJL72khLBT8AwNe","title":"10.การทำงานซ้ำๆด้วย While","pathname":"/beginner-1/csharp101/basic/while-loop","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZ6mjA27-Zv5tZm8L8","title":"11.การทำงานซ้ำๆด้วย Do While","pathname":"/beginner-1/csharp101/basic/do-while","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZ92E1RVvWdIULYCmU","title":"12.การทำงานซ้ำๆด้วย For","pathname":"/beginner-1/csharp101/basic/for","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZD9Ty1g37KVNCGw9i","title":"13.การแก้โจทย์จากรูป","pathname":"/beginner-1/csharp101/basic/img-solving","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LmZeVmNT4txF6s1WFw7","title":"14.มารู้จักกับ Array กัน","pathname":"/beginner-1/csharp101/basic/array","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"พื้นฐาน","emoji":"1f476"}]},{"id":"-LnSO3vwrnzT3NZH8ItV","title":"ระดับกลาง","pathname":"/beginner-1/csharp101/intermediate","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d1","description":"ระดับมหาลัย","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"}]},{"id":"-LmZhAUyVPypU4BGd8NS","title":"15.Value type vs Reference type","pathname":"/beginner-1/csharp101/intermediate/value-vs-reference","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmZlErAuNadOG3Fc_Xc","title":"16.ลดงานซ้ำๆด้วย Method","pathname":"/beginner-1/csharp101/intermediate/method","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-Lme6jrVe69vVvoEWG1Y","title":"17.มารู้จักกับ Class & Field กัน","pathname":"/beginner-1/csharp101/intermediate/class","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmeEuGF2njiervSU7oU","title":"18.มารู้จักกับ Constructor กันบ้าง","pathname":"/beginner-1/csharp101/intermediate/constructor","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmeL-j9JzAHbMJnXEGE","title":"19.มาเขียน Method ใน Class กัน","pathname":"/beginner-1/csharp101/intermediate/method-in-class","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmgNC1voN7doIHWw7Dq","title":"20.มารู้จักกับ Property กัน","pathname":"/beginner-1/csharp101/intermediate/property","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmhWCaz9E1nOiO03sue","title":"21.ลองใช้คลาสแบบจริงจังบ้าง","pathname":"/beginner-1/csharp101/intermediate/demo-class","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-Lmj21yC-35zV9PtxLg7","title":"22.การสืบทอด Inheritance","pathname":"/beginner-1/csharp101/intermediate/inheritance","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-Lmj5Ppomq2yKr82KE8t","title":"23.Polymorphism","pathname":"/beginner-1/csharp101/intermediate/polymorphism","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmqJdgCXK1x0BI01fRy","title":"24.Abstract Class","pathname":"/beginner-1/csharp101/intermediate/abstract-class","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmqQg7DubML_gk10Hj6","title":"25.Interface","pathname":"/beginner-1/csharp101/intermediate/interface","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmqWR6e9nh6NvSKy3D1","title":"26.Namespace","pathname":"/beginner-1/csharp101/intermediate/namespace","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmqhPWkiuGrfCzbskN9","title":"27.Enum","pathname":"/beginner-1/csharp101/intermediate/enum","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LmtPJTgseaPELzujxws","title":"28.Exception handler","pathname":"/beginner-1/csharp101/intermediate/exception","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-Lmt_11lffOoUeiTzEI2","title":"29.ลงลึกกับ string","pathname":"/beginner-1/csharp101/intermediate/string","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-Lmtj2vMga7Xm2Qe-5pA","title":"30.StringBuilder เพื่อนคู่ string","pathname":"/beginner-1/csharp101/intermediate/stringbuilder","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"ระดับกลาง","emoji":"1f9d1"}]},{"id":"-LnSP50gyEIPv4PSvN-1","title":"⏳ระดับสูง","pathname":"/beginner-1/csharp101/advanced","siteSpaceId":"sitesp_wq8XO","emoji":"1f468","description":"ระดับคนทำเป็นอาชีพควรจะต้องรู้","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"}]},{"id":"-Lr2hm24zJIyo-cmK4Fp","title":"Generic","pathname":"/beginner-1/csharp101/advanced/generic","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-Lr2YJ_RA97SXpCmGyIk","title":"Delegates","pathname":"/beginner-1/csharp101/advanced/delegates","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-Lr52ugadklEcxPO2thC","title":"Action & Func","pathname":"/beginner-1/csharp101/advanced/action-and-func","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-Lr5Je7d1981aMrCSBGr","title":"Lambda expression","pathname":"/beginner-1/csharp101/advanced/lambda-expression","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-LrUX6sd6dtuTuzPJs0g","title":"LINQ","pathname":"/beginner-1/csharp101/advanced/linq","siteSpaceId":"sitesp_wq8XO","description":"🤔 ทำงานกับข้อมูลมหาศาลใน .NET เขาทำกันยังไงนะ (สาย .NET ไม่รู้ไม่ได้)","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-LrVBodUfSdxgr9DOeBH","title":"พระคัมภีร์การใช้คำสั่ง LINQ","pathname":"/beginner-1/csharp101/advanced/linq-demo","siteSpaceId":"sitesp_wq8XO","description":"🤔 คำสั่งของ LINQ ที่ได้ใช้บ่อยๆมีไรบ้างนะ","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"⏳ระดับสูง","emoji":"1f468"}]},{"id":"-Lr2xQ1eyJjLmoXpjMeo","title":"Tips","pathname":"/beginner-1/csharp101/tips","siteSpaceId":"sitesp_wq8XO","emoji":"1f4a1","description":"เกร็ดความรู้","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"}]},{"id":"-Lp5pE7-VZwvvPZ0Zrjp","title":"C# version 8.0","pathname":"/beginner-1/csharp101/tips/csharp8","siteSpaceId":"sitesp_wq8XO","emoji":"1f4a1","description":"�� ภาษา C# เวอร์ชั่น 8.0 มีอะไรใหม่ๆบ้าง","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"Tips","emoji":"1f4a1"}]},{"id":"-Lr2ng2KMdlKzMABgKd3","title":"Boxing & Unboxing","pathname":"/beginner-1/csharp101/tips/boxing-and-unboxing","siteSpaceId":"sitesp_wq8XO","emoji":"1f4a1","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"เขียนโค้ดด้วยภาษา C#","emoji":"1f476"},{"label":"Tips","emoji":"1f4a1"}]},{"id":"-MDqpNDDlAoCPG5Hjq1E","title":"Algorithm","pathname":"/beginner-1/data-structure-and-algorithm","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤨 โครงสร้างข้อมูลเรียนไปทำไม? โตไปไม่ได้ใช้ ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-MDva9QiBArpcFaGYJDc","title":"Algorithm Big-O","pathname":"/beginner-1/data-structure-and-algorithm/big-o","siteSpaceId":"sitesp_wq8XO","emoji":"1f47e","description":"ลองดูดิ๊การบวกเลขมันง่ายจิงป่ะ ? 🤪","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Algorithm","emoji":"1f476"}]},{"id":"-ME2r1NixTVYWEvwxELO","title":"Algorithm P & NP","pathname":"/beginner-1/data-structure-and-algorithm/p-and-np","siteSpaceId":"sitesp_wq8XO","emoji":"1f47d","description":"🤔 คอมมันหารเลขยังไงหว่า ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Algorithm","emoji":"1f476"}]},{"id":"-Lu2xuSb3csw_I1LGarx","title":"OOP","pathname":"/beginner-1/oop","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"🤔 หลักพื้นฐานในการเขียนโค้ดด้วยแนวคิดแบบ OOP เขาคิดกันยังไง ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-Lu55Q6LJZrwT2F4CSNz","title":"Abstraction","pathname":"/beginner-1/oop/abstraction","siteSpaceId":"sitesp_wq8XO","emoji":"1f496","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-Lu5_XuliBDVowQzRwxJ","title":"Encapsulation","pathname":"/beginner-1/oop/encapsulation","siteSpaceId":"sitesp_wq8XO","emoji":"1f496","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-LuAJPjiPk8bg5dMUgWr","title":"Abstraction & Encapsulation","pathname":"/beginner-1/oop/abs-n-enc","siteSpaceId":"sitesp_wq8XO","emoji":"1f3c6","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-Lu7ydL1JjiViwDoPhJl","title":"Inheritance","pathname":"/beginner-1/oop/inheritance","siteSpaceId":"sitesp_wq8XO","emoji":"1f496","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-LuDDbz3kx9OpeYWfK4i","title":"Polymorphism","pathname":"/beginner-1/oop/polymorphism","siteSpaceId":"sitesp_wq8XO","emoji":"1f496","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-Lua6g1qlhgBA9s6FsWm","title":"Inheritance & Polymorphism","pathname":"/beginner-1/oop/inh-n-poly","siteSpaceId":"sitesp_wq8XO","emoji":"1f3c6","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-LueCzNREgPDeOjUS7Ap","title":"ลองเขียน OOP ดูดิ๊","pathname":"/beginner-1/oop/example","siteSpaceId":"sitesp_wq8XO","emoji":"1f4dd","description":"🤔 เวลาเขาเอาหลัก Object-Oriented Programming มาใช้จริงๆมันเป็นยังไงนะ ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-LumjNRC5_7Edecf9AUb","title":"OOP + Power of Design","pathname":"/beginner-1/oop/oop-n-design","siteSpaceId":"sitesp_wq8XO","emoji":"1f451","description":"🧐 บทปิดท้ายแห่งการหักมุม! ที่จะเผยพลังที่แท้จริงของการออกแบบ","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-Lv07SL8Za-tEmXZXxGv","title":"เทคนิคในการออกแบบ","pathname":"/beginner-1/oop/tips","siteSpaceId":"sitesp_wq8XO","emoji":"1f970","description":"","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"OOP","emoji":"1f466"}]},{"id":"-M0O67THE3ZQKf2WOCkS","title":"บทสรุปฐานข้อมูล","pathname":"/beginner-1/database-design","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 จะทำงานได้ต้องรู้เรื่องฐานข้อมูลแค่ไหนกันนะ ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-M2YHF7SLc3yUYmZ3enP","title":"เก็บรูปในฐานข้อมูล","pathname":"/beginner-1/database-design/img-handling","siteSpaceId":"sitesp_wq8XO","description":"🤔 ไฟล์รูปปรกติเขาเก็บกันยังไงนะ ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"บทสรุปฐานข้อมูล","emoji":"1f476"}]},{"id":"-M2J6cBoHeySANjfFe5p","title":"Database indexing","pathname":"/beginner-1/database-design/database-indexing","siteSpaceId":"sitesp_wq8XO","description":"🤔 ฐานข้อมูลช้าทำไงดีฉบับเบื้องต้น","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"บทสรุปฐานข้อมูล","emoji":"1f476"}]},{"id":"-M2f9GWnyrGEwod_HVKU","title":"การลบข้อมูล","pathname":"/beginner-1/database-design/delete-records","siteSpaceId":"sitesp_wq8XO","description":"🤔 เวลาจะลบข้อมูลควรทำยังไงกันนะ ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"บทสรุปฐานข้อมูล","emoji":"1f476"}]},{"id":"-MEBVHcuxejHqPlOcPde","title":"Communication Patterns","pathname":"/beginner-1/communication-patterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"🤔 แอพไม้จิ้มฟันยันยานอวกาศเขาออกแบบยังไง ?","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-Lvf3lDes0OGd5YmVLzR","title":"Design Patterns","pathname":"/beginner-1/design-patterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"หลักในการออกแบบซอฟต์แวร์โดยการนำ Design Patterns มาประยุกต์ใช้","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"}]},{"id":"-Lvjva3WUdyKjm_fn_ih","title":"Creational Patterns","pathname":"/beginner-1/design-patterns/creational","siteSpaceId":"sitesp_wq8XO","emoji":"1f930","description":"ตัวช่วยในการสร้าง object","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"}]},{"id":"-LvopCbvXXiRm1NOg5et","title":"Factory Method","pathname":"/beginner-1/design-patterns/creational/factory-method-pattern","siteSpaceId":"sitesp_wq8XO","emoji":"1f3ed","description":"แนวคิดในการสร้าง object ที่เหมาะสมกับสถานะการณ์ที่กำลังเป็นอยู่","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Creational Patterns","emoji":"1f930"}]},{"id":"-Lw1ln6bSBMrTVFeIcT1","title":"Abstract Factory","pathname":"/beginner-1/design-patterns/creational/abstract-factory-pattern","siteSpaceId":"sitesp_wq8XO","emoji":"1f3ed","description":"แนวคิดในการสร้างกลุ่มของ object ที่มีความสัมพันธ์กัน","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Creational Patterns","emoji":"1f930"}]},{"id":"-Lw8tgeO5m9jfJx2maNJ","title":"☝️ Singleton Pattern","pathname":"/beginner-1/design-patterns/creational/singleton-pattern","siteSpaceId":"sitesp_wq8XO","description":"แนวคิดในการสร้าง object ที่มีได้เพียงตัวเดียว","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Creational Patterns","emoji":"1f930"}]},{"id":"-LwgUryt4wbdxwKJ9UBm","title":"🏗️ Builder Pattern","pathname":"/beginner-1/design-patterns/creational/builder-pattern","siteSpaceId":"sitesp_wq8XO","description":"แนวคิดในการรับมือกับ object ที่มีขั้นตอนการสร้างซับซ้อน","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Creational Patterns","emoji":"1f930"}]},{"id":"-M2t6snLyD0qPLLsJxla","title":"Prototype Pattern","pathname":"/beginner-1/design-patterns/creational/prototype-pattern","siteSpaceId":"sitesp_wq8XO","emoji":"1f38e","description":"แนวคิดในการก๊อปปี้ object แบบง่ายๆ","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Creational Patterns","emoji":"1f930"}]},{"id":"-MLCreFuP9-MxUxmQ_wQ","title":"Structural Patterns","pathname":"/beginner-1/design-patterns/structural","siteSpaceId":"sitesp_wq8XO","emoji":"1f9f1","description":"ตัวช่วยจัดการโครงสร้างของโค้ด","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"}]},{"id":"-MLCx6lZtc30W38cX0Xk","title":"Adapter Pattern","pathname":"/beginner-1/design-patterns/structural/adapter-pattern","siteSpaceId":"sitesp_wq8XO","emoji":"1f50c","description":"แนวคิดในการเปลี่ยนสิ่งที่ทำงานร่วมกันได้ยาก มาทำงานร่วมกันได้ง่ายๆ 😘","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Structural Patterns","emoji":"1f9f1"}]},{"id":"-ML_slNQzBgAdLbkz_yd","title":"Proxy Pattern","pathname":"/beginner-1/design-patterns/structural/proxy-pattern","siteSpaceId":"sitesp_wq8XO","emoji":"1f4ea","description":"แนวคิดในการควบคุม object ให้ทำงานดั่งใจ 😈","breadcrumbs":[{"label":"มือใหม่หัดเขียนโค้ด"},{"label":"Design Patterns","emoji":"1f466"},{"label":"Structural Patterns","emoji":"1f9f1"}]},{"id":"-MLhIXhjl_-AC09ypR07","title":"Challenges","pathname":"/puzzle/challenges","siteSpaceId":"sitesp_wq8XO","emoji":"1f9e0","description":"ปริศนาลับสมอง","breadcrumbs":[{"label":"Puzzle"}]},{"id":"-MLhKxTwQUfOjqrqN4xJ","title":"Google ม้า 25 ตัว","pathname":"/puzzle/challenges/google-interview-01","siteSpaceId":"sitesp_wq8XO","emoji":"1f434","description":"โจทย์สอบสัมภาษณ์เข้า Google","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MLw_TltAxwI5xoMnRcN","title":"Amazon เสา 2 ต้น","pathname":"/puzzle/challenges/amazon-interview-01","siteSpaceId":"sitesp_wq8XO","emoji":"1f309","description":"โจทย์สอบสัมภาษณ์เข้า Amazon","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MLmKakS1UwrdY7HzfWj","title":"ทองเก๊","pathname":"/puzzle/challenges/fake-gold","siteSpaceId":"sitesp_wq8XO","emoji":"1f947","description":"โจทย์สอบสัมภาษณ์เข้า Saladpuk","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MM1GSO9PNcDym9FyTk0","title":"ยาต้านโควิด","pathname":"/puzzle/challenges/covid-vaccine","siteSpaceId":"sitesp_wq8XO","emoji":"1f48a","description":"โจทย์สอบสัมภาษณ์เข้า Saladpuk","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MMD1a4uf7Zt1Xe08Xnu","title":"CP หมวก 5 ใบ","pathname":"/puzzle/challenges/cp-interview-01","siteSpaceId":"sitesp_wq8XO","emoji":"1f3a9","description":"โจทย์สอบสัมภาษณ์ผู้บริหาร CP","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MMLRCIIJOMKJPeU_udk","title":"Einstein's Riddle 01","pathname":"/puzzle/challenges/einsteins-riddle-01","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"โจทย์ที่ไอสไตน์บอกว่ามีคนแค่ 2% บนโลกที่ตอบได้","breadcrumbs":[{"label":"Puzzle"},{"label":"Challenges","emoji":"1f9e0"}]},{"id":"-MKJPMKSWIdXZdihAPv9","title":"Docker","pathname":"/basic/docker-1","siteSpaceId":"sitesp_wq8XO","emoji":"1f433","description":"คอร์ส Docker หลักแสนที่ไม่ต้องจ่ายเงินเรียน 😘","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-MKKqd-Cbe3f-5JRHCPQ","title":"Docker Containers","pathname":"/basic/docker-1/containers","siteSpaceId":"sitesp_wq8XO","emoji":"1f4e6","description":"🐳 Docker ตอนที่ 2 กับสิ่งที่เรียกว่า คอนเทนเนอร์","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-MKQQZNoeAmxK-p50Hk_","title":"Docker Exercise 01","pathname":"/basic/docker-1/exercise01","siteSpaceId":"sitesp_wq8XO","emoji":"1f0cf","description":"ลองใช้งานเจ้าวาฬน้ำเงินครั้งแรกกันแบบละเอียดยิบ 🐳","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-MKYMhtUYgbVeL2rpZh4","title":"🛠️ Docker Tools","pathname":"/basic/docker-1/tools","siteSpaceId":"sitesp_wq8XO","description":"อยากใช้เจ้าวาฬน้ำเงินแต่ขี้เกียจจำคำสั่งทำไงดี 🤔","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-MKb_tSky35tYdpt1Jga","title":"🗃️ Docker Registry","pathname":"/basic/docker-1/registry","siteSpaceId":"sitesp_wq8XO","description":"แหล่งเก็บ Docker Images ที่ใหญ่ที่สุดในโลก 😍","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-MKgRi9isOnZUNWLgyT2","title":"🖼️ Container Image","pathname":"/basic/docker-1/images","siteSpaceId":"sitesp_wq8XO","description":"ลองสร้าง Image ตัวแรกของเรากัน 😉","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-ML7rc_ig7jjCoUF7Ua1","title":"Docker Push","pathname":"/basic/docker-1/push","siteSpaceId":"sitesp_wq8XO","emoji":"1f4e2","description":"ส่ง 🖼️ Container Images ให้คนอื่นได้ใช้กัน","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-MLPs_jCy3iNHIMy_-r4","title":"WSL","pathname":"/basic/docker-1/wsl","siteSpaceId":"sitesp_wq8XO","emoji":"1f504","description":"🤔 อยากใช้ Windows กับ Linux พร้อมกันทำไง","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker","emoji":"1f433"}]},{"id":"-Ln6-ot5tSQI_QxfDv7e","title":"Clean Code","pathname":"/basic/clean-code","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"เคยทำความสะอาดโค้ดกันบ้างหรือเปล่า ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-MESoDWfOTCE45iBXsKh","title":"Uncle Bob - Clean Code","pathname":"/basic/clean-code/uncle-bob-part-1","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"🤔 Clean Code ในมุมของปรมาจารย์เขาคิดยังไงบ้างน๊า","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Clean Code","emoji":"1f476"}]},{"id":"-MEbdfZg2vgbePmPkKFh","title":"Uncle Bob - Comments","pathname":"/basic/clean-code/uncle-bob-part-2","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"🤔 Clean Code - การคอมเมนต์โค้ดของลุงบ๊อบ","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Clean Code","emoji":"1f476"}]},{"id":"-MEgSPtYJbvu0RFkzQq3","title":"Uncle Bob - Naming","pathname":"/basic/clean-code/uncle-bob-part-3","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"🤔 Clean Code - การตั้งชื่อของลุงบ๊อบ","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Clean Code","emoji":"1f476"}]},{"id":"-MF403ns6LYg_rd2WjnO","title":"Uncle Bob - Mindset","pathname":"/basic/clean-code/uncle-bob-part-4","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"🤔 Clean Code - แนวคิดของโปรแกรมเมอร์มืออาชีพมีไรบ้าง ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Clean Code","emoji":"1f476"}]},{"id":"-MFOjKewN6Ln0l8GaYCN","title":"Uncle Bob - TDD","pathname":"/basic/clean-code/uncle-bob-part-5","siteSpaceId":"sitesp_wq8XO","emoji":"1f9d3","description":"🤔 เขียนเทสมันจะช่วยให้การออกแบบมันดีขึ้นได้ไง ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Clean Code","emoji":"1f476"}]},{"id":"-Ln1xlroLGxlvmu4uoJT","title":"Code Smells","pathname":"/basic/code-smells","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"โค้ดคุณส่งกลิ่นเน่าออกมาหรือเปล่า ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LnSPxq2E1TN5e3aa3WJ","title":"สิ่งที่คนเขียนโค้ดมักเข้าใจผิด","pathname":"/basic/mist","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"เราเข้าใจว่ามันต้องเป็นแบบนี้ แล้วรู้ได้ไงว่าเราเข้าใจมันถูก?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LoNVguUbNzktfPWoyh3","title":"AI พื้นฐาน","pathname":"/basic/ai","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มารู้จักกับโลกของ AI กันบ้างว่าจริงๆแล้วมันคืออะไรกัน","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-Lsqc83Q6EQu9j0IhBCk","title":"Git พื้นฐาน","pathname":"/basic/git","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-M2CAns-eTBvCuzMXY8K","title":"Git branching strategy","pathname":"/basic/git/branching-strategy","siteSpaceId":"sitesp_wq8XO","description":"🤔 มืออาชีพเขาทำ Branch ยังไงกันนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Git พื้นฐาน","emoji":"1f476"}]},{"id":"-LnAKOxcr37mRXJiHDeG","title":"Cloud พื้นฐาน","pathname":"/basic/cloud101","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"พื้นฐานของคลาวที่ developer ทุกคนควรต้องรู้","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LpkPqyeqkpr__DX1Z_J","title":"UML พื้นฐาน","pathname":"/basic/uml","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 เคยสงสัยไหมว่า developer เขาคุยกันเข้าใจได้ยังไง ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-Lps2i4P2gtPGyeux9dk","title":"Activity Diagram","pathname":"/basic/uml/activity-diagram","siteSpaceId":"sitesp_wq8XO","description":"🤔 อธิบายของที่ซับซ้อนๆให้เข้าใจง่ายๆด้วยภาพเขาทำกันยังไง?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"UML พื้นฐาน","emoji":"1f476"}]},{"id":"-Lpq4J5CslPtnTm3MNYP","title":"Class Diagram","pathname":"/basic/uml/class-diagram","siteSpaceId":"sitesp_wq8XO","description":"🤔 ออกแบบคลาสต่างๆร่วมกันกับคนอื่นโดยไม่เขียนโค้ดเขาทำกันยังไง?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"UML พื้นฐาน","emoji":"1f476"}]},{"id":"-LpvpdtsPuirLpoGRXeB","title":"Sequence Diagram","pathname":"/basic/uml/sequence-diagram","siteSpaceId":"sitesp_wq8XO","description":"🤔 เราจะอธิบายของต่างๆตอนที่มันคุยกันให้เข้าใจง่ายๆยังไงดี ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"UML พื้นฐาน","emoji":"1f476"}]},{"id":"-Lpx2LabTg3f1MZ3fOTK","title":"Use case Diagram","pathname":"/basic/uml/use-case-diagram","siteSpaceId":"sitesp_wq8XO","description":"🤔 จะอธิบายสิ่งที่อยู่ในระบบทั้งหมดให้คนอื่นเข้าใจง่ายๆได้ยังไงดีนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"UML พื้นฐาน","emoji":"1f476"}]},{"id":"-Lq3PN_xoSZLxl5qqvGD","title":"บทสรุปการใช้ UML","pathname":"/basic/uml/summary","siteSpaceId":"sitesp_wq8XO","description":"🤔 ทำไมเราต้องใช้ UML ด้วย? ไม่ใช้ได้ป่าว? ข้อดีข้อเสียคือไร?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"UML พื้นฐาน","emoji":"1f476"}]},{"id":"-Lok3JhbhSxK2mzJ-_9e","title":"Data Scientist","pathname":"/basic/data-scientist","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"อยากสร้าง AI ต้องรู้อะไรบ้าง? เตรียมตัวยังไง? ตรงนี้มีคำตอบ","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LokAN_9V1n4-SGyzE3d","title":"การเลือก Algorithms ให้ AI (1/5)","pathname":"/basic/data-scientist/algorithms-category","siteSpaceId":"sitesp_wq8XO","description":"🤔 Data Scientist เขาเลือก Algorithm ในการแก้ปัญหายังไงกันนะ","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Data Scientist","emoji":"1f476"}]},{"id":"-LonpqcFzzUPDuISfhTq","title":"การเตรียมข้อมูลให้ AI (2/5)","pathname":"/basic/data-scientist/data-ready","siteSpaceId":"sitesp_wq8XO","description":"🤔 จะสร้าง AI ต้องใช้ข้อมูลแบบไหนมันถึงจะฉลาดๆ","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Data Scientist","emoji":"1f476"}]},{"id":"-Lou4Y6Sw0j3SkKygYxU","title":"หลักการตั้งคำถามให้ AI (3/5)","pathname":"/basic/data-scientist/questions","siteSpaceId":"sitesp_wq8XO","description":"🤔 จะรีดคำตอบจาก AI ยังไงถึงจะไม่ได้คำตอบขยะกลับมา ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Data Scientist","emoji":"1f476"}]},{"id":"-Lp0h_IRqrRiyjo72prB","title":"แฉความลับของ AI Model (4/5)","pathname":"/basic/data-scientist/model-work","siteSpaceId":"sitesp_wq8XO","description":"🤔 AI มันตอบคำถามเราได้ยังไง? มาดูการทำงานที่แท้จริงของมันกัน","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Data Scientist","emoji":"1f476"}]},{"id":"-LpD-mSYdOqx7iGYRq7h","title":"หัดเขียน AI จาก AI ของคนอื่น (5/5)","pathname":"/basic/data-scientist/ai-gallery","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากเขียน AI เก่งๆควรจะต้องทำยังไงบ้างนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Data Scientist","emoji":"1f476"}]},{"id":"-LsUkL2jt6O1SJMgObOp","title":"DevOps พื้นฐาน","pathname":"/basic/devops","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 สงสัยกันไหมว่าการทำซอฟต์แวร์สมัยนี้เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LpcXfK1em2Ne60IQth4","title":"Docker ขั้นพื้นฐาน","pathname":"/basic/docker","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 อยากให้โปรแกรมเราทำงานได้หมดทุกเครื่องทำไงดี ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LpcboSQRQm6qRV11O46","title":"Image and Container","pathname":"/basic/docker/image-and-container","siteSpaceId":"sitesp_wq8XO","description":"มาทำความเข้าใจกับ Image กับ Container กันดีกว่า","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker ขั้นพื้นฐาน","emoji":"1f476"}]},{"id":"-Lpg0hC5yYs8zMutI4Or","title":"แชร์ Docker Image ที่สร้างไว้","pathname":"/basic/docker/share-image","siteSpaceId":"sitesp_wq8XO","description":"🤔 Environment ที่เราสร้างไว้จะเอาให้คนอื่นเอาไปใช้ยังไงนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Docker ขั้นพื้นฐาน","emoji":"1f476"}]},{"id":"-Lq5nBlCwGhLrru7BLhR","title":"Microservices พื้นฐาน","pathname":"/basic/microservices","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 Microservices architecture คืออะไร? ดียังไง? ควรใช้ไหม?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LqC-2vn7IkUvF5gMvmH","title":"Microservices ที่ดีมีลักษณะยังไง","pathname":"/basic/microservices/microservices","siteSpaceId":"sitesp_wq8XO","description":"🤔 ออกแบบ Microservices Architecture ยังไงถึงจะถือว่าดี ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Microservices พื้นฐาน","emoji":"1f476"}]},{"id":"-LqHPHCSWBzzlO-2Z2X4","title":"Microservices Tips","pathname":"/basic/microservices/tips","siteSpaceId":"sitesp_wq8XO","description":"🤔 ถ้าอยากจะทำ Microservices Architecture มีข้อแนะนำอะไรบ้างนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Microservices พื้นฐาน","emoji":"1f476"}]},{"id":"-LqQmurs6IPG5QAPPD-v","title":"จาก Monolith สู่ Microservices","pathname":"/basic/microservices/monolith-services","siteSpaceId":"sitesp_wq8XO","description":"🤔 เวลาเขาถอดชิ้นส่วน Monolith ให้กลายเป็น Microservices เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Microservices พื้นฐาน","emoji":"1f476"}]},{"id":"-M0hvjGgfwkVw_tVCYM9","title":"ความรู้พื้นฐานในการทำเว็บ","pathname":"/basic/web-101","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 คนทำเว็บควรจะต้องรู้อะไรบ้าง","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-Lnb5EcV39cXtmG370KS","title":"Bottlenecks of Software","pathname":"/basic/bottlenecks","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"อยู่ๆแอพที่ทำก็ช้าเป็นเต่าเฉยเลย เกิดจากอะไรและแก้ไงดี ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LqvkklLkDfJIhNPH1Sb","title":"หัวใจที่สำคัญที่สุดของฐานข้อมูล","pathname":"/basic/bottlenecks/work-with-db","siteSpaceId":"sitesp_wq8XO","description":"🤔 ความรู้เบื้องต้นของฐานข้อมูลที่โปรแกรมเมอร์ 90% ไม่รู้","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Bottlenecks of Software","emoji":"1f466"}]},{"id":"-LqfdI4YM4Oiw9vihyBp","title":"Agile Methodology","pathname":"/basic/agile-methodology","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"🤔 คนเก่งๆเขาการจัดการโปรเจคยังไงให้มีประสิทธิภาพกันนะ ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LqkQfkrngFGhQ-7iHbH","title":"Agile in a Nutshell","pathname":"/basic/agile-methodology/agile-in-a-nutshell","siteSpaceId":"sitesp_wq8XO","description":"🤔 โดยทำไมต้องทำ Agile? ขอสรุปแบบเห็นภาพแจ่มๆเลยได้ไหม?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Agile Methodology","emoji":"1f466"}]},{"id":"-LqpPyuak6PVtv8XWaS2","title":"Software Development Life Cycle","pathname":"/basic/agile-methodology/sdlc","siteSpaceId":"sitesp_wq8XO","description":"🤔 รู้ป่าว 80% ที่โปรเจคล่มก็เพราะเรื่องนี้แหละ!! และเราเข้าใจมันถูกหรือยัง? (อธิบายเป็นภาษาคน)","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Agile Methodology","emoji":"1f466"}]},{"id":"-LrxP4BJkq6dl2TQiScw","title":"Code Review","pathname":"/basic/agile-methodology/code-review","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากให้ทีมเก่งขึ้น แต่ไม่มีเวลาสอนทำไงดี ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Agile Methodology","emoji":"1f466"}]},{"id":"-LrAvutl86TQRoMJnkGx","title":"Security พื้นฐาน","pathname":"/basic/security101","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"เรื่องไม่ลับแต่คนส่วนใหญ่ไม่รู้กับหลักการทำ security","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LrEuNXtsSlk8qxI0Mvq","title":"การเก็บรหัสผ่านที่ถูกต้อง","pathname":"/basic/security101/secure-password","siteSpaceId":"sitesp_wq8XO","description":"🤔 ถ้าเราต้องเก็บความลับของลูกค้าไว้ เราจะต้องเก็บยังไงถึงจะเรียกว่าปลอดภัย?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-MbgfBWxZ80AkcmNaZOV","title":"Security in actions","pathname":"/basic/security101/security-in-actions","siteSpaceId":"sitesp_wq8XO","description":"😒 ก็รู้นะว่าสำคัญ แต่เขียนโค้ดเรื่องนี้ไม่เป็น","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-MbmbGe1Oe63_fLR1W6z","title":"Hash function","pathname":"/basic/security101/security-in-actions/hash-function","siteSpaceId":"sitesp_wq8XO","description":"😘 ลองเปลี่ยนข้อความธรรมดาให้เป็นฟามลับกันมุ้ย","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"},{"label":"Security in actions"}]},{"id":"-M3UotazzQLOzLrroG5U","title":"Security Principles","pathname":"/basic/security101/security-principles","siteSpaceId":"sitesp_wq8XO","description":"🤔 หลักการขั้นพื้นฐานของความปลอดภัยคืออะไรน๊า ?","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-MHRU1f3Ixp9nP_HaU03","title":"The Matrix 1","pathname":"/basic/security101/the-matrix-1","siteSpaceId":"sitesp_wq8XO","emoji":"1f60e","description":"สรุปปม The Matrix ภาค 1 ในมุมของโลกของคอมพิวเตอร์","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-MH_uPNwou3f62mJX4vm","title":"The Matrix 2","pathname":"/basic/security101/the-matrix-2","siteSpaceId":"sitesp_wq8XO","emoji":"1f60e","description":"สรุปปม The Matrix ภาค 2 ในมุมของโลกของคอมพิวเตอร์","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-MHs7SAyTcMmNSiUq7RW","title":"HTTPS in a nutshell","pathname":"/basic/security101/https-in-a-nutshell","siteSpaceId":"sitesp_wq8XO","description":"🤔 ไม่ได้ปลอดภัยเหมือนที่เราคิด อธิบายหมดเปลือกแบบภาษาชาวบ้าน","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"Security พื้นฐาน","emoji":"1f466"}]},{"id":"-LmXswgLXrRV0ZatXkxU","title":"SOLID Design Principles","pathname":"/basic/solid","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"พื้นฐานในการออกแบบโค้ดที่ควรจะต้องรู้","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"}]},{"id":"-LmXwcjlVnUz2RAvIPNz","title":"มารู้จักกับ SOLID กันดีกว่า","pathname":"/basic/solid/intro","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-LmY-oPStRD9jw4jpqBe","title":"Single-Responsibility Principle","pathname":"/basic/solid/srp","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-Lmtw4BxA9IipNtC9fCX","title":"Open/Closed Principle","pathname":"/basic/solid/ocp","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-LmwSVetaZnwqBoftJ5w","title":"Liskov Substitution Principle","pathname":"/basic/solid/lsp","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-LmykkSSC5ufsRJVW4OC","title":"Interface Segregation Principle","pathname":"/basic/solid/isp","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-Ln0VVvZibRgW33FLwaI","title":"Dependency-Inversion Principle","pathname":"/basic/solid/dip","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"พื้นฐานที่ควรต้องรู้"},{"label":"SOLID Design Principles","emoji":"1f466"}]},{"id":"-LnB4MudIEcDSh8__BXb","title":"Microsoft Azure 101","pathname":"/cloud/azure101","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มาลองหัดเล่น Cloud ของ Microsoft กันดีกว่า","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LnBDWpJesbE7YTKrtUU","title":"สมัคร Microsoft Azure","pathname":"/cloud/azure101/register","siteSpaceId":"sitesp_wq8XO","description":"เริ่มต้นสมัครคลาว์ของ Microsoft Azure กันดีกว่า","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnFCkUmNKVhUzouXbj-","title":"รู้จักกับ Resource Groups","pathname":"/cloud/azure101/resource-groups","siteSpaceId":"sitesp_wq8XO","description":"ตัวช่วยในการจัดการกับ services ต่างๆบนคลาว์","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnHNPq1332Z0k8pKAiV","title":"สร้างเว็บตัวแรกกัน","pathname":"/cloud/azure101/website","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnI6amASKTIt1hXGKBa","title":"สร้าง Virtual Machine กัน","pathname":"/cloud/azure101/vm","siteSpaceId":"sitesp_wq8XO","description":"สร้าง VM Ubuntu, Red Hat, Debian, Windows ภายใน 5 นาที","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnKPEg8cKes4iWSMgqp","title":"ประเภทของคลาว์เซอร์วิส","pathname":"/cloud/azure101/service-types","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnN80tTEKjP9TVrBzjC","title":"มาสร้าง Logic App กัน","pathname":"/cloud/azure101/logic-app","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LngS1py312N-EnGOKex","title":"มาสร้าง Function App กัน","pathname":"/cloud/azure101/function-app","siteSpaceId":"sitesp_wq8XO","description":"เขียนโค้ดโดยไม่สนใจเรื่องเซิฟเวอร์ล่ม กับ Azure Serverless","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnPal0dcRYz2pJVub6U","title":"คลาว์คิดเงินยังไง ?","pathname":"/cloud/azure101/pricing","siteSpaceId":"sitesp_wq8XO","description":"แพงป่าว ค้างจ่ายได้ป่ะ มีส่วนลดไหม คิดเงินทุกเดือนไหม","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnhAibgc0OTsLzwAsIC","title":"Cloud Native","pathname":"/cloud/azure101/cloud-native","siteSpaceId":"sitesp_wq8XO","description":"รูปแบบในการทำงานกับคลาว์","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnhP41CimE__Ncx1lW4","title":"Guideline for Cloud scaling","pathname":"/cloud/azure101/guideline-for-cloud-scaling","siteSpaceId":"sitesp_wq8XO","description":"การสร้างแอพที่รองรับผู้ใช้ปริมาณมากๆ","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-LnliSv5kCv06jewQhpX","title":"Auto Scaling","pathname":"/cloud/azure101/auto-scaling","siteSpaceId":"sitesp_wq8XO","description":"เซิฟเวอร์ไม่ล่ม ยืดหดได้ดั่งใจหมาย เพื่อรอบรับผู้ใช้ปริมาณมากๆ","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Microsoft Azure 101","emoji":"1f476"}]},{"id":"-M1OiF8DvWzocnMJHwSl","title":"Azure App Services","pathname":"/cloud/azure-app-services","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มาหัดทำแอพบนคลาว์กันดีกั่ว","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-M1eTDYIo97AjOQjaxu-","title":"App Service Plan","pathname":"/cloud/app-service-plan","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 เซิฟเวอร์ที่รับผู้ใช้เป็นล้านๆ หาได้จากไหนนะ ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LnoWQSJpqkDqh_rsLhm","title":"Azure Storage","pathname":"/cloud/azure-storage","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"เก็บไฟล์ 1GB  = 0.61 บาท รับโหลดหลัก TB ชิวๆ ทำ BigData สบายๆ","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LnrV-35vMDlnJI6YGEg","title":"Blob storage","pathname":"/cloud/azure-storage/blobs","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Storage","emoji":"1f476"}]},{"id":"-LnrGnBo2ImwKQm-k1rb","title":"ลองสร้างที่เก็บไฟล์กันเลย","pathname":"/cloud/azure-storage/blobs/create","siteSpaceId":"sitesp_wq8XO","description":"ไหนดูดิที่เก็บไฟล์ 1GB ราคา 0.6 บาทมันเป็นยังไง ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Storage","emoji":"1f476"},{"label":"Blob storage"}]},{"id":"-LntTkF5K43EZXBxHq80","title":"เข้าใจ Blob storage ให้มากขึ้น","pathname":"/cloud/azure-storage/blobs/detail","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Storage","emoji":"1f476"},{"label":"Blob storage"}]},{"id":"-Lntc8rmxBD2L_6s1hDW","title":"ลองเขียนโค้ดอัพโหลดไฟล์กันบ้าง","pathname":"/cloud/azure-storage/blobs/blob-code-01","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Storage","emoji":"1f476"},{"label":"Blob storage"}]},{"id":"-Lo4D77X5Ufyis6XRTCA","title":"สร้างเว็บจากที่ฝากไฟล์บนคลาว์","pathname":"/cloud/azure-storage/blobs/staticweb","siteSpaceId":"sitesp_wq8XO","description":"เปลี่ยนที่เก็บไฟล์มาเก็บเว็บอย่างง่ายกัน จบภายใน 5 นาที","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Storage","emoji":"1f476"},{"label":"Blob storage"}]},{"id":"-Lo69_Vf6qqtKrq7177u","title":"Azure Bot Service","pathname":"/cloud/azure-bot-service","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มาหัดเขียนพวก Chat Bot กันง่ายนิดเดียว","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-Lo9LvqC1-5n-3vR1wqZ","title":"Bot เข้าใจเราได้ยังไงกันนะ","pathname":"/cloud/azure-bot-service/introduction","siteSpaceId":"sitesp_wq8XO","description":"มาดูเบื้องหลังการทำงานของ Chat Bot กับ LUIS กันดีกว่า","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Bot Service","emoji":"1f476"}]},{"id":"-LoADc4gbEzJy_elj3Tc","title":"Azure Cognitive Services","pathname":"/cloud/azure-cognitive-services","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มาดูกันว่าคลาว์มี AI สำเร็จรูปแบบไหนให้เราเล่นได้บ้าง ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LoL6HuQjpb_KZgNy-HI","title":"การสร้าง Cognitive Services","pathname":"/cloud/azure-cognitive-services/create-cognitiveservices","siteSpaceId":"sitesp_wq8XO","description":"สร้าง Cognitive Services และ โครงของโปรเจคที่จะทำงานด้วย","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoBRVPuQcOSf2PSx6y5","title":"การ Login ด้วยใบหน้า","pathname":"/cloud/azure-cognitive-services/faceauth","siteSpaceId":"sitesp_wq8XO","description":"บอกลาการ login แบบเดิมๆไปได้เลย Face authentication มาแบ๊ว!","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoEME1VEYdVY6-jXZpf","title":"อ่านลายมือจากรูปเป็นตัวอักษร (OCR)","pathname":"/cloud/azure-cognitive-services/ocr","siteSpaceId":"sitesp_wq8XO","description":"เขียนแอพถ่ายรูปแล้วแปลงเป็นข้อความกัน ใช้ได้ทุกภาษา","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoFt8YLS8zfon0Ou36J","title":"เขียน AI แยกของต่างๆทำยังไง?","pathname":"/cloud/azure-cognitive-services/image-classification","siteSpaceId":"sitesp_wq8XO","description":"ลองใช้ AI แยกลุงตู่กับลุงแม้วกัน ใช้ภาษาอะไรก็ทำได้ !!","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoLH-k_eT02DEX8Wmiu","title":"เขียนแอพ ทายอายุ บอกเพศ ง่ายจิ๊ดเดียว","pathname":"/cloud/azure-cognitive-services/face-detection","siteSpaceId":"sitesp_wq8XO","description":"ใครว่า AI ยากมาลองดูกัน ภาษาอะไรก็เขียนได้ จบภายใน 10 นาที","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoKYqNcf5D_PJI1M92f","title":"เขียนแอพให้ AI อธิบายรูปเป็นภาษาคน","pathname":"/cloud/azure-cognitive-services/analyze-an-image","siteSpaceId":"sitesp_wq8XO","description":"ลองส่งรูปให้ AI สาธยายดูดิ๊ว่ามันเห็นอะไรในรูป ใช้ได้ทุกภาษา","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Cognitive Services","emoji":"1f476"}]},{"id":"-LoO1N1STjVi7tnr6Ptt","title":"Machine Learning Studio","pathname":"/cloud/machine-learning-studio","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"มาสร้าง AI กันดูซิ แม้แต่เด็กประถมก็สามารถทำได้","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LoQ6n1EJXx7I7Vs4sQY","title":"มาสร้าง AI ของแท้ตัวแรกของเรากัน","pathname":"/cloud/machine-learning-studio/ml101","siteSpaceId":"sitesp_wq8XO","description":"สมัยนี้ AI มันง่ายจนเด็กประถมก็สามารถสร้างได้แล้วนะ","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Machine Learning Studio","emoji":"1f476"}]},{"id":"-Lof6PkcdkF4vxtYv1n5","title":"สร้าง AI ตัดสินใจอนุมัติบัตรเครดิต 💳","pathname":"/cloud/machine-learning-studio/credit-risk","siteSpaceId":"sitesp_wq8XO","description":"เอาไปขายธนาคารได้เลยไหมเนี่ย 🤣 AI สมัยนี้เด็กประถมก็ทำได้แล้ว","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Machine Learning Studio","emoji":"1f476"}]},{"id":"-Lv9JpudRRZVPsbRRnwH","title":"ลองเรียกใช้ AI ของเรากัน","pathname":"/cloud/machine-learning-studio/call-your-api","siteSpaceId":"sitesp_wq8XO","description":"😑 สร้าง AI ของแท้เป็น Web Service ละ แต่มันเรียกใช้ยังไงหว่า","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Machine Learning Studio","emoji":"1f476"}]},{"id":"-Lq6FxsL_v69XEsK2xno","title":"Azure Service Fabric","pathname":"/cloud/azure-service-fabric","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"อยากทำ Microservice บนคลาว์เขาทำกันยังไงนะ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-Lu0Fxj1Wef9s-LjIJbE","title":"สร้าง Service Fabric กัน","pathname":"/cloud/azure-service-fabric/create","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากได้แอพที่ อึด ถึก ทน ต้องเริ่มยังไงกันนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Service Fabric","emoji":"1f476"}]},{"id":"-LpG_x_UVJREXshfqiNP","title":"Blockchain","pathname":"/cloud/blockchain","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 อธิบาย Blockchain หมดเปลือกในภาษาที่มนุษย์เข้าใจได้","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LpJ4ZbXGvsnCbM0u5tx","title":"Blockchain ทำงานยังไง ?","pathname":"/cloud/blockchain/magic","siteSpaceId":"sitesp_wq8XO","description":"🤔 ทำไม Blockchain ถึงถูกเจาะระบบยาก เวทมนต์ของมันคืออะไร ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Blockchain","emoji":"1f476"}]},{"id":"-LpMYJuZY75KxCL_jn59","title":"Consensus Algorithm คืออะไร ?","pathname":"/cloud/blockchain/consensus-algorithm","siteSpaceId":"sitesp_wq8XO","description":"🤔 เวลาที่ Blockchain เกิดข้อขัดแย้งมันหาข้อสรุปยังไงมาดูกัน","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Blockchain","emoji":"1f476"}]},{"id":"-LpOpXtxf-eqrWCdyMMM","title":"สร้าง Blockchain ใช้เองกัน !","pathname":"/cloud/blockchain/create-eth","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากมี Blockchain เป็นของตัวเองต้องทำไง ? ทำ ICO ง่ายๆเลย","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Blockchain","emoji":"1f476"}]},{"id":"-Lpc7jpf3i0YZOZ8uet8","title":"หัดเขียน Smart Contract กัน","pathname":"/cloud/blockchain/smart-contract","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากเขียนโปรแกรมบน Blockchain ต้องเริ่มต้นยังไงกันนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Blockchain","emoji":"1f476"}]},{"id":"-LrKEzspqf2LM_aSRXHh","title":"Power BI","pathname":"/cloud/power-bi","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 อยากทำกราฟเทพๆ โดยไม่เขียนโค้ด + ทำงานบน Android & iOS ทำไง?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LrnNNTIk3wCCtuKVUli","title":"Azure Web App","pathname":"/cloud/azure-web-app","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 อยากสร้างเว็บบทคลาว์ต้องทำไง ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-LrnYIPe_1oJZZ8aI3A1","title":"เซิฟเวอร์บนคลาว์ ราคา? ต่าง?","pathname":"/cloud/azure-web-app/pricing","siteSpaceId":"sitesp_wq8XO","description":"🤔 อยากทำเว็บบนคลาว์ต้องเสียตังป่ะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure Web App","emoji":"1f476"}]},{"id":"-LsXJ1XNa-6-GVPRaS5E","title":"Azure DevOps","pathname":"/cloud/azure-devops","siteSpaceId":"sitesp_wq8XO","emoji":"1f476","description":"🤔 DevOps เขาทำกันยังไงนะ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-Lsez5LZcy4qfRm2MQEA","title":"เล่น Azure DevOps กัน","pathname":"/cloud/azure-devops/azure-devops","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure DevOps","emoji":"1f476"}]},{"id":"-LsfAq4-F28UMbiSIXI2","title":"เล่นกับ Repository","pathname":"/cloud/azure-devops/repository","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure DevOps","emoji":"1f476"}]},{"id":"-LsgP6aFvxgQTqnR2PTF","title":"ลองทำ Continuous Integration (CI)","pathname":"/cloud/azure-devops/ci","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure DevOps","emoji":"1f476"}]},{"id":"-LshmCQiEHig_rAEbRK7","title":"ลองทำ Continuous Delivery (CD)","pathname":"/cloud/azure-devops/cd","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure DevOps","emoji":"1f476"}]},{"id":"-Lsp0ICK6fmpEuvSnIpL","title":"เล่น Kanban Board","pathname":"/cloud/azure-devops/kanban-board","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Azure DevOps","emoji":"1f476"}]},{"id":"-M-Y4t0NBBX8iHF5Ahxg","title":"Cloud Playground","pathname":"/cloud/cloud-playground","siteSpaceId":"sitesp_wq8XO","emoji":"1f920","description":"โปรเจคที่สร้างขึ้นมาบนคลาว์เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"Cloud Computing"}]},{"id":"-M-YDHbPsqjYGxpYneWO","title":"การป้องกันความลับหลุดตอนที่ 1","pathname":"/cloud/cloud-playground/app-config-01","siteSpaceId":"sitesp_wq8XO","description":"🤔 การเก็บรหัสลับบนคลาว์ เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Cloud Playground","emoji":"1f920"}]},{"id":"-M-_D6aD9X2z8YHrU4hD","title":"การป้องกันความลับหลุดตอนที่ 2","pathname":"/cloud/cloud-playground/app-config-02","siteSpaceId":"sitesp_wq8XO","description":"🤔 การเก็บรหัสลับบนคลาว์ เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Cloud Playground","emoji":"1f920"}]},{"id":"-M-hy0tE39jIKqfGUega","title":"การป้องกันความลับหลุดตอนที่ 3","pathname":"/cloud/cloud-playground/app-config-03","siteSpaceId":"sitesp_wq8XO","description":"🤔 การเก็บรหัสลับบนคลาว์ เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Cloud Playground","emoji":"1f920"}]},{"id":"-M-vxy8HtWkfH9dUo1Xa","title":"การป้องกันความลับหลุดตอนจบ","pathname":"/cloud/cloud-playground/app-config-04","siteSpaceId":"sitesp_wq8XO","description":"🤔 การเก็บรหัสลับบนคลาว์ เขาทำกันยังไงนะ ?","breadcrumbs":[{"label":"Cloud Computing"},{"label":"Cloud Playground","emoji":"1f920"}]},{"id":"-LnYAEX0J2hC9NudOfMm","title":"Test-First Design","pathname":"/software-testing/test-first-design","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"โชว์พลังที่แท้จริงของ Test-Driven Development (TDD) ด้วยเกม OX","breadcrumbs":[{"label":"Software Testing"}]},{"id":"-LmTBsJjoq1GWMJb8oCt","title":"Test-Driven Development","pathname":"/software-testing/tdd101","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"Software Testing","breadcrumbs":[{"label":"Software Testing"}]},{"id":"-LmTLSlAFjT4KVFX2u_P","title":"1.มารู้จักกับ TDD กันดีกว่า","pathname":"/software-testing/tdd101/intro","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTNYhm6solNbabYt3N","title":"2.Test cases เขาเขียนกันยังไงนะ","pathname":"/software-testing/tdd101/test-cases","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTRp5Ky1lE3D6QHMhq","title":"3.เครื่องมือในการทดสอบ","pathname":"/software-testing/tdd101/xunit01","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTUZfRl6dCR5Rp3UiU","title":"4.การใช้ Theory และ InlineData","pathname":"/software-testing/tdd101/xunit02","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTVtMW9RahIYI8q5DZ","title":"5.โค้ดที่ทดสอบได้","pathname":"/software-testing/tdd101/testable-code","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmT_PkTNrcmU2TX9kJS","title":"6.Mantra of TDD","pathname":"/software-testing/tdd101/mantra-of-tdd","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTdqqcw4To7cuatIGh","title":"7.Functional & None-Functional testing","pathname":"/software-testing/tdd101/fun-n-nonefun-testing","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTgIdC6_qWYqnm46Dv","title":"8.Manual vs Automation testing","pathname":"/software-testing/tdd101/manual-vs-automation","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTivnRqKdLrqYRXL3d","title":"9.Automation Frameworks in .NET","pathname":"/software-testing/tdd101/automation-frameworks","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTlfu-IGuHnMDyADgl","title":"10.Mock Framework","pathname":"/software-testing/tdd101/mock-framework","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmTmkVj1zgQi6brw472","title":"11.มาเรียนการใช้ Moq กันเถอะ","pathname":"/software-testing/tdd101/moq101","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmToBO5y-7lMKD7laCx","title":"12.สรุป","pathname":"/software-testing/tdd101/summary","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Testing"},{"label":"Test-Driven Development","emoji":"1f466"}]},{"id":"-LmV6OG5ZAhZzq3ICuGw","title":"Web API","pathname":"/web/web-api-101","siteSpaceId":"sitesp_wq8XO","emoji":"1f466","description":"Web","breadcrumbs":[{"label":"Web"}]},{"id":"-LmVADIFJDtBLosq2Sxo","title":"1.Web API คืออะไร","pathname":"/web/web-api-101/intro","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVCY2Ec5id8S8qSdNy","title":"2.ติดตั้ง .NET Core SDK","pathname":"/web/web-api-101/net-core-sdk","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVEIlhaRbIrJhP4cgB","title":"3.สร้าง Web API ตัวแรกกัน","pathname":"/web/web-api-101/create-your-web-api","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVG4kn2jf8hV85HTgx","title":"4.Verbs","pathname":"/web/web-api-101/verbs","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVR1J-RfkMXl7bRjBZ","title":"5.Swagger เพื่อคู่ API","pathname":"/web/web-api-101/swagger","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVT3kpIrAhhjcf0n4F","title":"6.การใช้ Model","pathname":"/web/web-api-101/modeling","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVXrycrGfJECWo-M-N","title":"7.เรียก Web API ผ่าน Postman","pathname":"/web/web-api-101/postman","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmV_4pbkJopzYKOW7FS","title":"8.มาจัดกลุ่ม API กัน (1/2)","pathname":"/web/web-api-101/grouping-api-01","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmVb3vBGcgIkraZCPhv","title":"9.มาจัดกลุ่ม API กัน (2/2)","pathname":"/web/web-api-101/grouping-api-02","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Web"},{"label":"Web API","emoji":"1f466"}]},{"id":"-LmQMABDZJvFe25M6sbA","title":"Design Patterns","pathname":"/software-design/designpatterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f934","description":"Software Design","breadcrumbs":[{"label":"Software Design"}]},{"id":"-LmQ_AzUIioZD9ap1IKt","title":"Creational patterns","pathname":"/software-design/designpatterns/creational-patterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f988","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"}]},{"id":"-LmQRBv7-Zpqkpfe17Vu","title":"Abstract Factory","pathname":"/software-design/designpatterns/creational-patterns/abstract-factory","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Creational patterns","emoji":"1f988"}]},{"id":"-LmQS-DLgCQ9zg38XkdY","title":"Builder","pathname":"/software-design/designpatterns/creational-patterns/builder","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Creational patterns","emoji":"1f988"}]},{"id":"-LmQScvU0l0GOJHudJ6U","title":"Factory Method","pathname":"/software-design/designpatterns/creational-patterns/factory-method","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Creational patterns","emoji":"1f988"}]},{"id":"-LmQT4w4WgqhK4zONmKC","title":"Prototype","pathname":"/software-design/designpatterns/creational-patterns/prototype","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Creational patterns","emoji":"1f988"}]},{"id":"-LmQTjL4E8nyIekFkeVc","title":"Singleton","pathname":"/software-design/designpatterns/creational-patterns/singleton","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Creational patterns","emoji":"1f988"}]},{"id":"-LmQ_JpLnoH9qkjCO8Nm","title":"Structural patterns","pathname":"/software-design/designpatterns/structural-patterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f988","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"}]},{"id":"-LmQUcZBk6SUKBsZKeKT","title":"Adapter","pathname":"/software-design/designpatterns/structural-patterns/adapter","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Structural patterns","emoji":"1f988"}]},{"id":"-LmQVD6AmNo205KLJwqF","title":"Bridge","pathname":"/software-design/designpatterns/structural-patterns/bridge","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Structural patterns","emoji":"1f988"}]},{"id":"-LmQVf7nRdSwRrMmR45n","title":"Decorator","pathname":"/software-design/designpatterns/structural-patterns/decorator","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Structural patterns","emoji":"1f988"}]},{"id":"-LmQW1OBXARXLcimjiKq","title":"Facade","pathname":"/software-design/designpatterns/structural-patterns/facade","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Structural patterns","emoji":"1f988"}]},{"id":"-LmQWNY9kyAY3bOqq0XG","title":"Proxy","pathname":"/software-design/designpatterns/structural-patterns/proxy","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Structural patterns","emoji":"1f988"}]},{"id":"-LmQ_STiDstT2IEIy24S","title":"Behavioral patterns","pathname":"/software-design/designpatterns/behavioral-patterns","siteSpaceId":"sitesp_wq8XO","emoji":"1f988","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"}]},{"id":"-LmQWmtfdFeHCBq3VJLT","title":"Chain of Responsibility","pathname":"/software-design/designpatterns/behavioral-patterns/chain-of-responsibility","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQX9WuDp5eUz0ZQ5E3","title":"Command","pathname":"/software-design/designpatterns/behavioral-patterns/command","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQXaierBRaN1T6ZJii","title":"Iterator","pathname":"/software-design/designpatterns/behavioral-patterns/iterator","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQXrAOSN16rijwlrDm","title":"Mediator","pathname":"/software-design/designpatterns/behavioral-patterns/mediator","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQYAoVC4_FZANJTOFf","title":"Memento","pathname":"/software-design/designpatterns/behavioral-patterns/memento","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQYOt8lvLDn8hPkj3m","title":"Observer","pathname":"/software-design/designpatterns/behavioral-patterns/observer","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQYfAbJX2NZLG5dVgZ","title":"State","pathname":"/software-design/designpatterns/behavioral-patterns/state","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQYyzsOLkTezAyQGBs","title":"Strategy","pathname":"/software-design/designpatterns/behavioral-patterns/strategy","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQZDRdTFk9jdGsKd18","title":"Template Method","pathname":"/software-design/designpatterns/behavioral-patterns/template-method","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-LmQZTzEeV2QZgDS7oEw","title":"Visitor","pathname":"/software-design/designpatterns/behavioral-patterns/visitor","siteSpaceId":"sitesp_wq8XO","description":"","breadcrumbs":[{"label":"Software Design"},{"label":"Design Patterns","emoji":"1f934"},{"label":"Behavioral patterns","emoji":"1f988"}]},{"id":"-Lm0_lyaNtrFK5cn2INz","title":"❤️ เกร็ดความรู้","pathname":"/tips","siteSpaceId":"sitesp_lA05a","description":"มาทำความเข้าใจกันหน่อยนุงน๊า"},{"id":"-M34mknUE1EeB7m4Un8z","title":"กฏเหล็กในการทำงาน","pathname":"/tips/80-20-p2","siteSpaceId":"sitesp_lA05a","description":"✋ จงอย่าทำทุกอย่างให้ Perfect ตั้งแต่ครั้งแรก"},{"id":"-M2mvBmhhXC17OJwjhdD","title":"หากเหนื่อยนักขอจงหยุดพักเสียก่อน","pathname":"/tips/4uguy","siteSpaceId":"sitesp_lA05a","description":"อย่าใจร้อนรีบไปเดี๋ยวมันไม่เข้าที ~*` พักสักที...เดี๋ยวค่อยไป"},{"id":"-M2MWxVfqaOn0MTCBJmx","title":"ดราม่ากับ PHP","pathname":"/tips/php","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M1_vUgJxc94CN34rlD8","title":"อยากเรียนแต่ไม่มีตังเหรอ ?","pathname":"/tips/learning","siteSpaceId":"sitesp_lA05a","description":"ถามกับแมวน้ำได้ แต่ไม่มีกะตังให้หรอก ทุกวันนี้ก็กินแกลบอยู่ 😭"},{"id":"-M1T-XKIHdG0mafdZXrr","title":"แค่ต่างมุมมองทองก็กลายเป็นขี้ได้","pathname":"/tips/perspective","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M0c3F6vmy1C2Cue3unO","title":"อยากทำเว็บมันต้องรู้อะไรบ้างหว่า?","pathname":"/tips/web-starter-pack","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M0VvpNH_AksDPAG7wD5","title":"คิดแบบตรรกะจำแบบโปรแกรมเมอร์","pathname":"/tips/logic-thinker","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M0Ibje801aPIzXl361s","title":"เวลาทำงานเหตุผลมาก่อนเสมอ","pathname":"/tips/gap","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M08dYIiy449GiH0jf7j","title":"บังคับคลีนโค้ดทำไมฟระ ?","pathname":"/tips/clean-code","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M06NcWLrJ8GajIWIwOg","title":"บังคับทำเทสทำไมฟระ?","pathname":"/tips/y-test-first","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-M03vvXKrMyhRgUm9l2d","title":"Requirement Driven Design","pathname":"/tips/requirement-driven-design","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-Lt-U5CrfcK4id9kF9Vl","title":"👨‍💻 ที่สุดแห่งการเป็นโปรแกรมเมอร์","pathname":"/tips/9","siteSpaceId":"sitesp_lA05a","description":""},{"id":"-LsFc92Fdxs5ZX7n8ovy","title":"การทำซอต์แวร์โปรเจคยุคปัจจุบัน","pathname":"/tips/8","siteSpaceId":"sitesp_lA05a","description":"🤔 เดี๋ยวนี้การทำซอฟต์แวร์โปรเจคมันเป็นยังไงบ้างนะ"},{"id":"-Ls7Cdlss57K4oEitfzC","title":"เคล็ดไม่ลับในการทำซอฟต์แวร์","pathname":"/tips/7","siteSpaceId":"sitesp_lA05a","description":"🤔 เวลาทำซอฟต์แวร์โปรเจคจริงๆมันไม่มีอะไรเลย ถ้าเขาใจธรรมชาติของมัน"},{"id":"-LrtI_50D-9fcczTuM-i","title":"Quality vs Quantity","pathname":"/tips/6","siteSpaceId":"sitesp_lA05a","description":"🤔 คุณภาพดีแต่ทำเสร็จช้า กับ ทำเร็วแต่คุณภาพกาก เลือกไรดี ?"},{"id":"-LriU0Tp09cyC0OM_2rE","title":"ปัญหาสมองไหล","pathname":"/tips/5","siteSpaceId":"sitesp_lA05a","description":"🤔 developer ชอบลาออก เป็นปัญหาของใครกันแน่ ?"},{"id":"-LrgtR818yB4j0mpsy8X","title":"เรื่องแปลกในการทำซอฟต์แวร์","pathname":"/tips/tip4","siteSpaceId":"sitesp_lA05a","description":"🤔 แปลกแต่จริง และ เราก็จะเจอมันเสมอ"},{"id":"-LrcVa73thtIcFyKJegv","title":"กฎ 80:20","pathname":"/tips/80-20","siteSpaceId":"sitesp_lA05a","description":"กฎเหล็กในการทำงานให้มีประสิทธิภาพสูงสุด"},{"id":"-LrcWNUUwAxC2pIYUS2c","title":"เมื่อเราไม่เข้าใจกัน","pathname":"/tips/communication","siteSpaceId":"sitesp_lA05a","description":"ความสนุกก็เกิดขึ้นได้ทุกวัน เมื่อทีมไม่เข้าใจกัน"},{"id":"-LrcZxcv2kNgEk6NQE4R","title":"ปัญหาที่ใหญ่ที่สุดในการทำซอฟต์แวร์","pathname":"/tips/why-software-fail","siteSpaceId":"sitesp_lA05a","description":"🤔 อะไรคือสาเหตุหลักที่ทำให้บริษัทซอฟต์แวร์ต้องปิดตัว"}]}