สำหรับงานนี้น่าจะเป็นงาน Code Mania ครั้งแรก ที่ผมได้นั่งรถเมล์จากต้นสาย น่าจะเกือบสุดสายเลย รถเมล์สาย 149 โดยในงาน Code Mania จัดมาเป็นครั้งที่ 5 แล้วครบ ซึ่งในครั้งนี้จัดที่ ม กรุงเทพ กล้วยน้ำไทครับ (แอบไกล) น่าจะเป็นการมาที่นี่อีกครั้งในรอบ 4 ปี ของผมนะครับ ครั้งล่าสุดมาเป็น TA สอนตัว Pentaho ครับ เข้าเรืองดีกว่าครับ
- Keynote: Chachiyo’s formula เดอะซีรี่ย์- “Reboot 8088” อาจารย์ ดร.ทีปานิส ชาชิโย
- Flash Talk
- 1. “Let's secure our app with Docker Secrets” โดยคุณ ภวินท์ คงคาสวรรค์@ Pronto Tools
- 2. “Microservices: What not to do and what not to expect?” โดยคุณชาคริต ลิขิตขจร @ Taskworld
- 3. “Automate scalable microservices with Kubernetes on Google Cloud by Billme” โดยคุณ ชาญศิลป์ ชิ้นประเสริฐ @ Billme
- 4. “มาเขียน bad code กัน” โดยคุณ สมเกียรติ ปุ๋ยสูงเนิน @ สยามชํานาญกิจ
- 5. Stop binding event handlers in the class constructor (React) Kelvin @ Pronto Tools
- 6. Why a Data Pipeline and Why you need a Data Engineer ดร. กานต์ อุ่ยวิรัช @ Pronto Tools
- Session บ่าย
- อื่นๆ จิปาถะ
Keynote: Chachiyo’s formula เดอะซีรี่ย์- “Reboot 8088” อาจารย์ ดร.ทีปานิส ชาชิโย
สำหรับเรื่องสูตร Chachiyo’s formula แนะนำไปอ่านของเพจ #สรุป ครับ ซึ่งสูตรนี้ที่ผมเข้าใจ มันเป็นอธิบายพฤติกรรมของอิเล็กตรอน โดยตัวอย่างการเอาไปใช้ สามารถเอาไปสร้างสูตรเคมีต่างๆได้ และทุกสูตรก็มีที่มาครับ
- นิวตัน คิดสูตรได้ที่ใต้ต้นแอปเปิ๊ล
- อาร์คิมิดีส คิดสูตรได้ที่อ่างน้ำ
- อาจารย์ ดร.ทีปานิส คิดสูตรได้ที่โลตัส วัดธาตุทอง พิษณุโลก
แล้ว อ เกี่ยวกับ Coding ยังไง ?
- สำหรับในงานด้านการวิจัย คิดสูตร ทฤษฏี หรือ สมการ มาลอยๆไม่ได้ มันต้องมีการทดสอบก่อน โดยมีการนำคอมพิวเตอร์มาทุ่นแรงครับ แต่ต้องมีการ Coding เพื่อแปลงสูตรให้คอมพิวเตอร์มันเข้าใจครับ โดยในด้านฟิสิกส์มี Software ในกลุ่มนี้ Quantum chemistry and solid-state physics software ครับ
- โดยของไทยมีโปรแกรม Siam Quantum (SQ) ที่อาจารย์ และทีมพัฒนาครับ ซึ่งความยากของการทำ Software ในกลุ่มนี้ น่าจะเป็นเรื่อง
- ความเร็ว
- ไม่ได้ลงมือ Coding ทันที ใช้การเขียนลงกระดาษก่อน เป็นการทำ Static Code Analysis ทวนสอบจนมั่นใจแล้ว ค่อยลงมือทำจริงครับ
- การทดสอบ ซึ่งตอนนี้ใช้การเทียบเคียงกับ Software ของต่างชาติ
- Code is Everything !!!
- อ๋อ และ อ มีเว็บของเค้าเองนะครับ Siam Physics
วันวานยังหวานอยู่ - (อ มีร้องเพลงโชว์ด้วย) ในอดีต
- 8088 คือ CPU รุ่นแรกๆ มีในยุคนั้น 4 MHz ซึ่งการเขียนโปรแกรมถูกบังคับจากทรัพยากรที่จำกัด
- ThaiIRC = โปรแกรม Chat ยุคแรก
- CU Writer / Rajavithi Word โดยเฉพาะ Rajavithi Word เกิดจากทีมแพทย์ หมอลงมาลุย Coding เองเลย
สมัยโน้นมีคนเขียนโปรแกรม เป็นในลักษณะสมครเล่น งานอดิเรก อยู่ปัจจุบัน แต่ทำไมโปรแกรมเมอร์ยังขาด ? ปัญหาอยู่ที่มุมมองซึ่ง อ ได้ให้ไว้ 2 มุม "ค่านิยม ผู้ผลิต VS ผู้บริโภค ในโจทย์เดียวกัน"
ถ้าเราจะปรับเปลี่ยนอะไร เราต้องปลูกผังค่านิยมอะไรบ้างอย่างลงไป ซึ่ง อ ได้ยกทฤษฏีลิงตัวที่ร้อย (100th Monkey Effect) เมื่อเราทำอะไรลงไป ทำให้คนอื่นคล้อยตาม ทำตาม เมื่อถึงจุดหนึ่งทุกคนมีการปรับพฤติกรรม ทำตามทั้งหมดครับ จนสุดท้ายทุกคนมีแนวคิดของตัวเอง สร้างสมการของตัวเองขึ้นมาได้ครับ
Flash Talk
1. “Let's secure our app with Docker Secrets” โดยคุณ ภวินท์ คงคาสวรรค์@ Pronto Tools
- ใช้ตัว Docker Secret เอามาจัดการอะไรที่มันมีความสำคัญ
- แม้ว่ามีเครื่องมือของ Docker อย่าง Docker Secret เข้ามาช่วยแล้ว แต่มันยังไม่ใช้อะไรที่สามารถจัดการได้เรื่องความปลอดภัยได้เลยทีเดียว (ใน Software Engineering ชอบว่า Quote "No Silver Bullet for xxx"
2. “Microservices: What not to do and what not to expect?” โดยคุณชาคริต ลิขิตขจร @ Taskworld
- อย่าทำ Spaghetti Code ไปเป็น Spaghetti Service - แม้ทำว่า Micor Service แล้ว Code ดูน่าดูแลขึ้น แต่แลกมาด้วยกับการมี Service ที่เยอะ และพันจนกลายเป็น Spaghetti
- Read by Queue - ไม่ต้องทำ Request แบบปกติแหละ เอาเข้า Queue ไป ผ่านไปนานๆ ยังอยู่ใน Queue เหมือนเดิม ปล่อยให้มัน Timeout ไปดีกว่า ลดภาระฝั่ง Server ด้วย
- อย่าแบ่ง Service โดยใช้ N-Tier - เพราะ มันไม่ต่างจากการทำ N-Tier
- อย่าแบ่ง Service ตาม Technical ให้ดูองค์ประกอบอื่นๆ ด้วย เช่น กำลังคน / Process ภายในองค์กร
ถ้าในมุมของผม คือ การนำปรับมาใช้ให้เหมาะสมกับองค์กร หรือทีมมากกว่าครับ อย่าเชื่อ Best Practices หรือข้อดีทั้งหมด 100%
Slide: Microservices: What not to do and what not to expect ?
3. “Automate scalable microservices with Kubernetes on Google Cloud by Billme” โดยคุณ ชาญศิลป์ ชิ้นประเสริฐ @ Billme
- แยก API กับงานหลังบ้านอออกจากกัน เพื่อ Performanxc & Resposnse
- จัดการงานที่ต้องใช้ Load หนักๆ อย่างไร ที่ประหยัดสุด คำตอบ คือ ใช้ตัว Kubernates เข้ามาจัดการ และเลือก Scale เฉพาะช่วงที่ Peek
4. “มาเขียน bad code กัน” โดยคุณ สมเกียรติ ปุ๋ยสูงเนิน @ สยามชํานาญกิจ
- การเขียน Code มันมีสิ่งสำคัญที่เราควรสนใจ 3 กลุ่ม
- Functionality-ทำงานได้
- Maintainability-ดูแลได้
- Readability-อ่านเข้าใจ
- แต่ในความเป็นจริง ทุกคนมี Coding Style ที่แตกต่าง สิ่งที่ต้องปรับ คือ การเอา Coding Standard มาใช้ มองว่าเป็นProcess เลย หรือเอา Tools ในกลุ่ม Static Code Analysis Tools มันมีหลายตัว ตามแต่ละภาษาลองไปดูกัน
- สำหรับคนเจอเคสนี้ มันคือ ปัญหาที่ต้องปรับมัน อย่ายอมรับมัน
Blog: “มาเขียน bad code กัน”
5. Stop binding event handlers in the class constructor (React) Kelvin @ Pronto Tools
ไม่ได้จดครับ ช่วงนั้นน่าจะงานเข้า
6. Why a Data Pipeline and Why you need a Data Engineer ดร. กานต์ อุ่ยวิรัช @ Pronto Tools
- Data Pipeline คือ อะไร
- มองว่าท่อ ที่มีการทำงานย่อยๆ ต่างๆ ข้างใน จากข้อมูลดิบ และนำไป Visualize Data หรือเอาไป Analytic ต่อ
- แล้ว Data Pipeline มัน ช่วยอะไร บ้างหละ?
- Sanitize while processing data - มีการ Clean Data
- Decouple components - แยก Component มองว่าเป็นการแบ่งงานในการออกเป็นชิ้นๆ ได้
- Access data at multiple stages - สามารถดู Data ในแต่ละ Stage ได้ มองว่าเราสามารถ Debug ตัว Data ได้
- Promote transparency - เห็นการทำงานใน แต่ละ Step
- Automate
- Data Engineer & Data Scientist
- Data Engineer - ทำให้ Data มัน Ready to used เพราะยุคนี้ Data มากขึ้น แต่ Data ไม่ Clean มากขึ้นตาม
- Data Scientist - ควร Focus การทำ Model Analytic มากกว่า
- Tools สำหรับที่ใช้ในการทำ Data Pipeline เช่น AirFlow (เดี๋ยวมีลง Detail ใน Session ช่วยบ่าย)
Session บ่าย
Session บ่าย แยกเป็น 3 ส่วน สำหรับของผมได้ เข้า Session ดังนี้ครับ ถ้ามีเวลาพยายามเอาที่พิมพ์ไว้ใน Tablet มาขึ้น Blog ครับ
- "The Present, Past, and Future of Asynchronous Programming in Python” โดย โยธิน ม่วงสมมุข ห้องบรรยาย 1 (965)
- "Coding Security" โดยคุณ นฤดม รุ่งศิริวงศ์ ห้องโรงละคร (9ชั้น 16)
- “Walking Through Distribution Parallel Programming Evolution” โดย ธัญสินี ต่อวงศ์ไพชยนต์ ห้องบรรยาย 1 (965)
- “Intro to Airflow: Good bye Cron, Welcome scheduled workflow management" โดย บุรัสกร สบายยิ่ง ห้องบรรยาย 2 (7 ชั้น 2)
- “Predictive Modelling based on Small Data” โดย อ. เอกสิทธิ์ พัชรวงศ์ศักดา ห้องบรรยาย 2 (7 ชั้น 2)
อื่นๆ จิปาถะ
- งานนี้มี Code Battle ด้วย แต่ไม่ได้เอาคอมมา อดไปครับ แต่เท่าที่ดูโจทย์น่าจะเขียนแบบ Divide & Conquer ได้
- สำหรับ Blog นี้แล้ว สิ่งที่ขาดไม่ได้ คือ ของกินครับ
ปีนี้รู้สึกแปลก ถ้าปีก่อน
- Code Mania 11 - Raise the Bar
- แต่ปีนี้ Code Mania 101 - ????????? (แค่รู้สึกแปลกๆ เหมือนขาด Theme ไป 555)
สถานที่จัดงาน เดินเยอะดีครับ ต้องวางแผนการฟังดีๆ
เสื้อที่ระลึกในงานครับ
มาด้วย 149 ก็ต้องกลับด้วยรถเมล์สาย 149 เดินออกมา เห็นพอดี เกิอบวิ่งตามขึ้นไม่ทัน
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.