[CodeMania101] สรุปงาน Code Mania 101

สำหรับงานนี้น่าจะเป็นงาน Code Mania ครั้งแรก ที่ผมได้นั่งรถเมล์จากต้นสาย น่าจะเกือบสุดสายเลย รถเมล์สาย 149 โดยในงาน Code Mania จัดมาเป็นครั้งที่ 5 แล้วครบ ซึ่งในครั้งนี้จัดที่ ม กรุงเทพ กล้วยน้ำไทครับ (แอบไกล) น่าจะเป็นการมาที่นี่อีกครั้งในรอบ 4 ปี ของผมนะครับ ครั้งล่าสุดมาเป็น TA สอนตัว Pentaho ครับ เข้าเรืองดีกว่าครับ

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 นี้แล้ว สิ่งที่ขาดไม่ได้ คือ ของกินครับ

ปีนี้รู้สึกแปลก ถ้าปีก่อน

สถานที่จัดงาน เดินเยอะดีครับ ต้องวางแผนการฟังดีๆ

เสื้อที่ระลึกในงานครับ

มาด้วย 149 ก็ต้องกลับด้วยรถเมล์สาย 149 เดินออกมา เห็นพอดี เกิอบวิ่งตามขึ้นไม่ทัน


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.