<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gitflow on TECHFOR by Suriya Sonphu</title><link>http://suriyasonphu.com/tags/gitflow/</link><description>Recent content in Gitflow on TECHFOR by Suriya Sonphu</description><generator>Hugo -- gohugo.io</generator><language>th</language><lastBuildDate>Sat, 12 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://suriyasonphu.com/tags/gitflow/index.xml" rel="self" type="application/rss+xml"/><item><title>Web Technology Development Basic Workshop: จากพื้นฐาน Software Engineering สู่การพัฒนาด้วย AI</title><link>http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/</link><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate><guid>http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/</guid><description>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-group.jpg" alt="Featured image of post Web Technology Development Basic Workshop: จากพื้นฐาน Software Engineering สู่การพัฒนาด้วย AI" />&lt;p>วันที่ 12–13 กันยายน 2569 ผมมีโอกาสกลับไปที่ &lt;strong>มหาวิทยาลัยเกษตรศาสตร์ วิทยาเขตศรีราชา&lt;/strong> อีกครั้ง แต่ครั้งนี้ไม่ใช่ในฐานะนิสิต ผมกลับไปในบทบาทของผู้สอนในกิจกรรม &lt;strong>Web Technology Development Basic Workshop&lt;/strong> สำหรับนิสิตชั้นปีที่ 3 สาขาวิทยาการและเทคโนโลยีดิจิทัล คณะวิทยาศาสตร์ จำนวนกว่า 50 คน เพื่อเตรียมความพร้อมก่อนเข้าสู่หลักสูตรสหกิจศึกษา&lt;/p>
&lt;p>สำหรับผม กิจกรรมครั้งนี้มีความหมายมากกว่าการกลับไปสอนเรื่องเทคโนโลยี เพราะเป็นโอกาสที่จะถ่ายทอดสิ่งที่ผมได้เรียนรู้จากการทำงาน Software Development จริง ว่าเบื้องหลังซอฟต์แวร์หนึ่งระบบนั้นไม่ได้มีเพียงการเขียนโค้ดให้ทำงานได้ แต่ยังมีเรื่องของแนวคิด การออกแบบ การทำงานร่วมกัน และความรับผิดชอบต่อระบบที่เราส่งมอบ&lt;/p>
&lt;h2 id="มากกวาการเรยน-framework">มากกว่าการเรียน Framework
&lt;/h2>&lt;p>เป้าหมายของ Workshop ครั้งนี้ไม่ใช่เพียงให้นิสิตสามารถเขียน Backend หรือ Frontend ให้ทำงานได้ แต่ผมอยากให้เข้าใจว่า &lt;strong>Software หนึ่งระบบถูกสร้างขึ้นมาอย่างไร&lt;/strong> ตั้งแต่แนวคิด การออกแบบ โครงสร้างของ Application ไปจนถึงวิธีที่ทีม Software Development ทำงานร่วมกันในโลกจริง&lt;/p>
&lt;p>Framework และเครื่องมือสามารถเปลี่ยนไปได้ตลอดเวลา วันนี้เราอาจใช้ .NET, Vue.js หรือ TypeScript อีกไม่กี่ปีข้างหน้าเครื่องมืออาจเปลี่ยน แต่พื้นฐานของการคิดแบบวิศวกรรมซอฟต์แวร์ยังคงนำไปใช้ต่อได้เสมอ&lt;/p>
&lt;p>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-gitflow.jpg"
width="1152"
height="1536"
srcset="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-gitflow_hu_74b76af84d64d511.jpg 480w, http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-gitflow_hu_7d4bcb0e9a099d3a.jpg 1024w"
loading="lazy"
alt="กำลังอธิบาย Gitflow Workflow และแนวทางการทำงานร่วมกันในทีมพัฒนาซอฟต์แวร์"
class="gallery-image"
data-flex-grow="75"
data-flex-basis="180px"
>&lt;/p>
&lt;p>ผมจึงพยายามให้ผู้เรียนเห็นภาพตั้งแต่ต้นว่า Full-stack Development ไม่ใช่การเอา Frontend กับ Backend มาวางต่อกันเท่านั้น แต่เป็นการเข้าใจความสัมพันธ์ของแต่ละส่วนในระบบ ทั้ง API, Data Flow, Application Structure, การจัดการ State และการตัดสินใจเชิงออกแบบที่อยู่เบื้องหลังโค้ด&lt;/p>
&lt;h2 id="จากศนยส-full-stack">จากศูนย์สู่ Full Stack
&lt;/h2>&lt;p>การอบรมถูกออกแบบในลักษณะ Hands-on ให้ลงมือทำจริง โดยเริ่มจากพื้นฐานของ Web Application ก่อนค่อย ๆ ต่อไปสู่การสร้าง Backend, Frontend และการเชื่อมต่อทั้งสองฝั่งเข้าด้วยกัน&lt;/p>
&lt;p>เนื้อหาหลักครอบคลุมเรื่อง RESTful API, Backend Development, Frontend Development, TypeScript, การจัดการข้อมูล และการเชื่อมต่อ Application แบบ Full Stack รวมถึงการอธิบายว่าแต่ละส่วนมีหน้าที่อะไร และทำไมเราจึงออกแบบโครงสร้างแบบนั้น&lt;/p>
&lt;p>สิ่งที่ผมให้ความสำคัญคือ &lt;strong>อย่าเพิ่งรีบจำ Syntax แต่ให้เข้าใจเหตุผลของโค้ดก่อน&lt;/strong> เพราะถ้าเราเข้าใจโครงสร้าง เราจะสามารถเรียนรู้ Framework ใหม่ หรือแก้ปัญหาที่ซับซ้อนขึ้นได้ด้วยตัวเอง&lt;/p>
&lt;p>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-mentoring.jpg"
width="1620"
height="1080"
srcset="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-mentoring_hu_c79d320df10cbfd.jpg 480w, http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-mentoring_hu_d3c7f51791976e8a.jpg 1024w"
loading="lazy"
alt="การให้คำแนะนำระหว่าง Hands-on Lab ของนิสิต"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="360px"
>&lt;/p>
&lt;p>ระหว่าง Lab สิ่งที่น่าสนใจคือคำถามของผู้เรียนไม่ได้อยู่แค่ “ต้องพิมพ์อะไรต่อ” แต่เริ่มเปลี่ยนเป็น “ทำไมต้องทำแบบนี้” ซึ่งสำหรับผมเป็นจุดที่สำคัญมาก เพราะการพัฒนาซอฟต์แวร์ไม่ได้เกิดจากการจำคำสั่ง แต่เกิดจากการเข้าใจปัญหาและตัดสินใจอย่างมีเหตุผล&lt;/p>
&lt;h2 id="software-development-เปนงานของทม">Software Development เป็นงานของทีม
&lt;/h2>&lt;p>อีกเรื่องที่ผมตั้งใจใส่ไว้ใน Workshop คือวิธีการทำงานร่วมกันของทีม Software Development&lt;/p>
&lt;p>ในงานจริง โค้ดไม่ได้จบที่เครื่องของคนเขียน เราต้องทำงานร่วมกับคนอื่น ต้องมีการ Review ต้องมีการแก้ไข ต้องมี Release และในอนาคตอาจมีคนอื่นเข้ามาดูแลต่อ&lt;/p>
&lt;p>นิสิตจึงได้เรียนรู้และทดลองแนวคิดของ &lt;strong>Gitflow Workflow&lt;/strong>, การสร้าง Feature Branch, การทำ Pull Request และแนวทางการทำงานที่ลดความเสี่ยงจากการแก้ไขโค้ดร่วมกัน&lt;/p>
&lt;p>รวมถึงแนวคิด Agile และ Best Practices ต่าง ๆ ที่ช่วยให้ทีมสามารถส่งมอบซอฟต์แวร์ได้อย่างต่อเนื่อง โดยยังคงคุณภาพของระบบไว้&lt;/p>
&lt;p>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-classroom.jpg"
width="1536"
height="1152"
srcset="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-classroom_hu_c66e21aa3b89d188.jpg 480w, http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-classroom_hu_8eb846a2da93f7a5.jpg 1024w"
loading="lazy"
alt="บรรยากาศการลงมือพัฒนา Web Application ภายในห้องปฏิบัติการ"
class="gallery-image"
data-flex-grow="133"
data-flex-basis="320px"
>&lt;/p>
&lt;p>ผมอยากให้เห็นว่า “Code ใช้งานได้” เป็นเพียงเงื่อนไขหนึ่งของ Software ที่ดี เพราะในโลกจริง Code นั้นยังต้อง &lt;strong>อ่านได้ ตรวจสอบได้ แก้ไขได้ ทดสอบได้ และส่งต่อให้คนอื่นดูแลได้&lt;/strong>&lt;/p>
&lt;h2 id="พนฐานทแขงแรงกอนใช-ai">พื้นฐานที่แข็งแรงก่อนใช้ AI
&lt;/h2>&lt;p>ทุกวันนี้ AI Agent สามารถช่วยเราเขียนโค้ด สร้าง Feature หรือแม้แต่ทำงานหลายขั้นตอนแทน Developer ได้อย่างรวดเร็ว&lt;/p>
&lt;p>แต่ผมเชื่อว่าการใช้ AI ให้เกิดประโยชน์สูงสุด &lt;strong>ไม่ได้เริ่มต้นจากการ Prompt ให้เก่งที่สุด&lt;/strong> แต่เริ่มต้นจากการที่เรารู้ว่าเรากำลังสร้างอะไร และรู้ว่าสิ่งที่ AI สร้างให้นั้นถูกต้องหรือเหมาะสมกับระบบของเราหรือไม่&lt;/p>
&lt;p>ถ้าเราไม่เข้าใจ Architecture, Data Flow, Security, Maintainability หรือหลักการของ Software Development เราอาจได้ Code ที่ดูเหมือนทำงานได้เร็วมาก แต่กำลังสร้างปัญหาใหม่และเพิ่ม &lt;strong>Technical Debt&lt;/strong> ให้กับระบบโดยไม่รู้ตัว&lt;/p>
&lt;p>สิ่งที่ผมอยากให้ผู้เรียนเห็นคือเส้นทางประมาณนี้:&lt;/p>
&lt;p>&lt;strong>Understand → Design → Build → Collaborate → Improve → Accelerate with AI&lt;/strong>&lt;/p>
&lt;p>ไม่ใช่&lt;/p>
&lt;p>&lt;strong>Prompt → Generate → Copy → Hope it works&lt;/strong>&lt;/p>
&lt;p>AI ควรเป็นเครื่องมือที่ช่วยขยายความสามารถของ Developer ไม่ใช่เครื่องมือที่ทำให้เราเลิกคิด&lt;/p>
&lt;p>เมื่อพื้นฐานแข็งแรง เราจะสามารถใช้ AI Agent เพื่อเพิ่ม Productivity ได้มากขึ้น ทั้งการสร้าง Feature, Refactoring, Testing, Documentation หรือ Code Review และในขณะเดียวกันก็ยังสามารถประเมินคุณภาพของสิ่งที่ AI สร้างขึ้นมาได้&lt;/p>
&lt;h2 id="สงทผมอยากใหนสตไดกลบไป">สิ่งที่ผมอยากให้นิสิตได้กลับไป
&lt;/h2>&lt;p>เวลาของ Workshop มีจำกัด และเนื้อหาที่เตรียมไว้ทั้งหมดไม่สามารถส่งต่อได้ครบทุกหัวข้อ&lt;/p>
&lt;p>ผมจึงเลือกที่จะไม่เร่งให้ผ่านทุก Slide แต่ให้ความสำคัญกับการที่ผู้เรียนได้คิด ทดลอง และเข้าใจสิ่งที่กำลังทำให้มากที่สุด&lt;/p>
&lt;p>Software Development เป็นทักษะที่ไม่สามารถเรียนจบได้ภายในสองวัน สิ่งสำคัญหลังจาก Workshop คือการฝึกต่อ การทดลองสร้างของจริง และการเรียนรู้อย่างต่อเนื่อง&lt;/p>
&lt;p>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-instructor.jpg"
width="1620"
height="1080"
srcset="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-instructor_hu_5e11079046081052.jpg 480w, http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-instructor_hu_a45880446f333b24.jpg 1024w"
loading="lazy"
alt="ช่วงหนึ่งของการสอนและทดลองระบบร่วมกับนิสิต"
class="gallery-image"
data-flex-grow="150"
data-flex-basis="360px"
>&lt;/p>
&lt;p>สิ่งที่ผมประทับใจคือความสนใจ ความร่วมมือ และ Productivity ของนิสิตตลอดช่วงเวลาที่เราอยู่ด้วยกัน หลายคนเริ่มจากพื้นฐาน แล้วค่อย ๆ เชื่อมโยงแต่ละส่วนจนเห็นภาพของ Full-stack Application ที่สมบูรณ์มากขึ้น&lt;/p>
&lt;p>การกลับไปที่มหาวิทยาลัยครั้งนี้จึงไม่ได้เป็นเพียงโอกาสในการแบ่งปันความรู้ แต่ยังทำให้ผมได้พลังและแรงบันดาลใจกลับมาด้วย มันย้ำให้ผมเห็นอีกครั้งว่าทำไมผมถึงชอบงาน Software Development และทำไมการส่งต่อความรู้ด้านวิศวกรรมซอฟต์แวร์ให้กับคนรุ่นต่อไปจึงมีความหมาย&lt;/p>
&lt;p>ท้ายที่สุด สิ่งที่อยากฝากไว้มากที่สุดคือ &lt;strong>เครื่องมือเปลี่ยนได้ แต่พื้นฐานที่ดีจะทำให้เราไปต่อได้เสมอ&lt;/strong>&lt;/p>
&lt;p>&lt;img src="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-group.jpg"
width="1536"
height="720"
srcset="http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-group_hu_f8dbfab5a3a5b26a.jpg 480w, http://suriyasonphu.com/post/2026-09-web-technology-development-basic-workshop/workshop-group_hu_e6a8f3b20299aaad.jpg 1024w"
loading="lazy"
alt="บรรยากาศการเตรียมการสอนใน Web Technology Development Basic Workshop"
class="gallery-image"
data-flex-grow="213"
data-flex-basis="512px"
>&lt;/p>
&lt;h2 id="สอการสอน">สื่อการสอน
&lt;/h2>&lt;p>สื่อและ Hands-on Lab ที่ใช้ใน Workshop ครั้งนี้สามารถดูได้จากหน้า Workshop โดยตรง:&lt;/p>
&lt;p>&lt;strong>&lt;a class="link" href="https://suriyasonp.github.io/web-tech-ku-workshop/" target="_blank" rel="noopener"
>Web Technology Development Basic Workshop&lt;/a>&lt;/strong>&lt;/p>
&lt;p>หน้า Workshop นี้รวบรวมเนื้อหาที่ใช้ในการเรียนรู้ทั้ง Backend, Frontend, Git Workflow และ Hands-on Lab ไว้ในรูปแบบที่อ่านและติดตามได้ง่ายกว่าการเข้าไปไล่ดูไฟล์ใน Repository โดยตรง&lt;/p></description></item></channel></rss>