Education

Software Architect MeetUp#1

Software Architect Meetup เกิดขึ้นจากการที่กลุ่มคนนึงเริ่มเห็นว่าเมืองไทยในขณะที่ Developer Community กำลังเติบโตขึ้นมาก แต่หัวข้อจำนวนมากใน Meetup ต่างๆ มักจะเป็นหัวข้อที่เน้นไปที่การใช้เครื่องมือเฉพาะทาง ภาษาเฉพาะทาง

เราอยากเห็นเมืองไทยมีการพูดถึงพื้นฐานการพัฒนาซอฟต์แวร์ การออกแบบซอฟต์แวร์ และหัวข้อการเขียนโปรแกรมเชิงลึกมากขึ้น เพราะเราพบจากประสบการณ์ว่า ถ้าพื้นฐานการออกแบบและการพัฒนาซอฟต์แวร์ดี เครื่องมือก็จะเป็นแค่กระบวนท่า และการเข้าใจหัวข้อการออกแบบ Software Architecture เป็นสิ่งสำคัญสิ่งนึงของนักพัฒนาซอฟต์แวร์ที่ต้องการจะก้าวข้ามขั้นและพัฒนาตัวเอง

Topic #1 by Chakrit Likitkhajorn
State machine, Object-oriented and Functional Programming from Tracing perspective

หัวข้อนี้เราจะย้อนกลับไปโมเดลการออกแบบซอฟต์แวร์ขั้นพื้นฐานสุดคือ State machine ย้อนกลับไปดูประวัติศาสตร์ของ Object-oriented Programming อีกครั้งนึง เพื่อให้เห็นว่าในขณะที่ Alan Kay คิดเรื่อง Object-oriented เขาเจอปัญหาอะไร และเขาออกแบบมาเพื่อแก้ปัญหาสิ่งไหน และสุดท้ายกลับมาดู Functional Programming ว่ามันออกแบบมาแก้ปัญหาอะไร และจะจบที่การแสดง Practical Trade-off จากสถานการณ์จริงว่าการเลือกใช้ Paradigm แต่ละแบบมีผลต่อการไล่โค้ดและไล่แก้ไขปัญหาอย่างไรบ้าง


Topic #2 by Passapong Champillon Thaithatgoon
Self-Documented Code: Level of Abstraction Context foreach Data Behaviour

หัวข้อนี้เราจะเริ่มมองที่วิธีการอธิบายการทำงานภายในของซอร์ฟแวร์ ซึ่งต้องปรับเปลี่ยนให้รวดเร็ว และทันตามจังหว่ะของธุรกิจ ดังนั้นวิธีในแบบเดิมๆ ไม่ว่าจะเป็น E-R Diagram หรือแม้นแต่ UML Diagram เองนั้น กลับเป็นการเพิ่มระยะเวลาและต้นทุนที่ไม่จำเป็น เพราะสิ่งที่จำเป็นต้องเปลี่ยนจริงๆคือ code ไม่ใช่เอกสารอื่นๆ ดังนั้นเราจึงต้องทำให้ code มันอธิบายตัวมันเองได้ โดยความยากของการใช้ code อธิบายตัวเองนั้น จะเพิ่มขึ้นตามปริมาณของ code ซึ่งการใช้ “บริบท”เพื่อกำหนด โครงสร้างในการจัดการ ความซับซ้อนของ code ที่มีปริมาณเพิ่มขึ้นเรื่อยๆ จึงเป็นวิธีหนึ่งที่จะช่วยทำให้ code ยังอธิบายตัวเองได้

3844610da522a99a1d94f6822794770d9c84c2f7
Organized by
Chanrsilp Chinprasert