สรุปช่วงเช้าจากงาน YOW! Australia 2023 sharing ของชาว ODDS 😎
แชร์ประสบการณ์จากงาน YOW! ที่ Brisbane และ Sydney ส่งตรงจาก Australia!
วันก่อนผมมีโอกาสได้มาฟัง Session แชร์ประสบการณ์จากงาน YOW! Australia 2023 เลยอยากจะมาสรุปทุกหังข้อที่ได้ฟังในวันนี้ โดยหวังว่าจะมีประโยชน์ทั้งกับคนอื่น ๆ และตัวผมเองในอนาคต 🙏🏼 (มีสรุปตอนท้ายอยู่ในทุกหัวข้อครับ)
สำหรับท่านใดที่ต้องการฟังด้วยตัวเอง สามารถเข้าไปดูได้ที่เพจ ODDS เลยครับ
ที่นี่ >> https://www.facebook.com/oddsteam
HEDY: Creating a programming language for everyone
โลกทุกวันนี้เปลี่ยนไปแล้ว เราสามารถมองเห็นโลกอีกฟากได้เพียงแค่เปิด Instragrams สิ่งนี้เกิดจากความสามารถของแอพพลิเคชั่นและความสามารถในการสร้างแอพพลิเคชั่นก็คือ Programming Skills นั่นเอง!
สิ่งที่พี่ ๆ พูดถึงก็คือเราทุกคนควรมีความสามารถด้าน Programming แม้ว่าจะแค่นิดเดียวก็ตาม เพื่อให้เราสามารถเข้าใจการทำงาน และสามารถแก้ไขมันได้หากต้องการ
แล้วจะทำยังไงให้ทุก ๆ คนเข้าใจเรื่อง Programming ล่ะ สิ่งนั้นก็คือ Hedy Programming Language ซึ่งเป็นภาษาที่ถูกออกแบบมาเพื่อสอน Programming เลย เพื่อให้ผู้เรียนที่มาใหม่ ได้เข้าใจพื้นฐานแบบง่ายที่สุด และนำไปต่อยอดได้ในอนาคต! นอกจากนั้นยังเป็น Opensource ที่ทุกคนสามารถ contribute ได้เลย! (มีภาษาไทยด้วยนะ)
HEDY เป็นภาษาเริ่มต้นที่แนะนำสำหรับผู้ที่ต้องการสอนหรือเรียนรู้พื้นฐาน Programming โดยเฉพาะเด็ก ๆ เนื่องจากรองรับหลายภาษาทำให้สามารถเขียน Codeในภาษาตัวเองได้เลย! 🐣
Why is my app slow? Defining reliability in platform engineering
แอพช้าไม่ทันใจ ปัญหานี้เกิดจากหลายส่วนครับ และหนึ่งในนั้นคือปัญหาจาก Platform หัวข้อนี้เลยเป็นการแชร์การสังเกตและวัดผลข้อมูลเพื่อให้สามารถระบุปัญหาและแก้ปัญหานั้นได้ครับ
เป้าหมายคือการนำตัวชี้วัดบางอย่างเพื่อมาแสดงผลข้อมูลครับ ซึ่ง 2-Sigma Technique คือพระเอกในหัวข้อนี้ โดยเราจะนำข้อมูลในอดีตมาแบ่งกลุ่มแล้วแยกคำนวณก่อนนำมาหาค่าเฉลี่ย โดยเป้าหมายคือการหาจุดที่เกิดปัญหาก่อนที่จะได้รับแจ้งจากผู้ใช้งาน ซึ่งก็เป็นหนึ่งในการสร้างความน่าเชื่อถืออย่างนึงครับ
เราสามารถสร้าง Platforms ที่มีความน่าเชื่อถือได้ หากเรามีระบบการสังเกตและการวัดผลที่ดีเพียงพอ เพื่อให้สามารถแก้ปัญหาได้ตรงจุด 📈
Coding will never be the same again
ในยุคนี้มี Tools มากมายสำหรับ Developer นั่นรวมไปถึง AI ด้วย โดยหนึ่งในนั้นคือ Github Copilot ครับ
สิ่งที่น่าสนใจในหัวข้อนี้คือความน่าใช้งานและความฉลาดของ Github Copilot ที่นอกเหนือจากการแนะนำ Code ที่เราพิมพ์ เช่น การให้ Copilot อธิบายโปรเจคที่เราทำอยู่แบบคร่าว ๆ หรือการอธิบาย Component ซึ่งมีประโยชน์มากสำหรับสมาชิกที่เข้าทีมมาใหม่ หรือผู้ที่ต้องการเข้าใจโครงสร้าง, Design ของโปรเจคนั้น ๆ
นอกจากนี้เรายังได้รู้โครงสร้างคร่าว ๆ ของการทำงานของ Github Copilot ครับ โดยตัวมันเองก็มีระบบการกรองอยู่ด้วย เช่นการใช้ข้อมูลจาก Public Repo หรือ Repo ที่ได้รับอนุญาตแล้วเท่านั้น มีการกรองคำไม่เหมาะสม ลบส่วนที่เป็น Unique ID เช่น อีเมล์ รหัสต่าง ๆ ในส่วนของ Prompt และ Response ตัว Github ก็ลบออกไปด้วยเพื่อความเป็นส่วนตัวของผู้ใช้งาน
Github Copilot เป็นเครื่องมือที่สามารถเข้ามาช่วย Developer ได้อย่างดี หากเรารู้จักวิธีใช้งานที่ถูกต้องและเต็มประสิทธิภาพของมัน เช่นเดียวกันกับ AI หรือเครื่องมืออื่น ๆ ที่มีให้ใช้ในปัจจุบัน 🤖
Java Renaissance
หัวข้อนี้พูดถึงเรื่องของ Java ล้วน ๆ เลย โดยพี่เต้มาเล่าว่า Java เจอปัญหาอะไร ทำไมต้องเปลี่ยนแนวทางการปล่อยเวอร์ชั่นใหม่ของตัวภาษา Java ครับ
เริ่มจากยุค bad old days ในตอนนั้นปัญหาคือการออกแต่ละเวอร์ชั่นคือต้องใช้เวลา 2 – 4 ปี! แถมพอออกมาแล้วก็มีขนาดใหญ่มาก มีของที่ต้องเปลี่ยนเยอะ ทำให้ส่งผลเสียต่อทั้งทาง Java และ Developer ที่ใช้อยู่
ทาง Java เลยจำเป็นต้องเปลี่ยนแนวทางในการปล่อยเวอร์ชั่น ที่เรียกกันว่า “Tip & Tail” ซึ่งจะปล่อยทุก ๆ 6 เดือน ทำให้ผู้ใช้ได้รับทั้ง feature ใหม่ ๆ พร้อมทั้งมี LTS (Long Term Support) ในเวอร์ชันหลัก ๆ ที่จะช่วยให้ผู้ใช้ได้รับ security update และ critical fix แบบสม่ำเสมอด้วย!
เส้นทางการเดินทางของ Java ทำไมถึงต้องมี “การฟื้นฟู” (renaissance) แนวทางการพัฒนาปัจจุบันและ Feature ในอนาคตของ Java 🏗️
Living on the Edge
หัวข้อนี้พูดถึงการที่เราจะสามารถสร้างสิ่งที่เรียกว่า Edge หรือเซิฟเวอร์ที่อยู่ใกล้ลูกค้ามากที่สุดครับ เช่น การรองรับผู้ใช้ที่อยู่ในภาคกลาง แยกกับเซิร์ฟเวอร์ภาคมใต้หรือภาคอีสาน ซึ่งเป็นสิ่งที่จำเป็นสำหรับระบบที่ต้องการความรวดเร็วและตอบสนองกับลูกค้าให้เร็วที่สุด เช่น เซิร์ฟเวอร์เกม หรือระบบที่ต้องการ latency ต่ำ ๆ
นอกจากนั้นยังมีกิจกรรมให้ร่วมสนุก ชิงรางวัล Xbox PC gamepass 3 เดือนด้วย
การสร้างระบบที่รองรับผู้ใช้ในแต่ละพื้นที่เป็นสิ่งสำคัญโดยเฉพาะระบบที่มีความต้องการแบบเฉพาะเจาะจง เพื่อให้สามารถรองรับผู้ใช้ในรูปแบบที่ต้องการได้ ✅
The joy of building large scale system
ทุกวันนี้เราเขียน Software ให้ใช้งานได้เต็มประสิทธิภาพของ hardware แล้วหรือเปล่า ? วันนี้พี่อลิฟจะมาแชร์ให้ฟังครับ
เริ่มจากการเล่าโดยไล่มาจากอดีตเลย ตั้งแต่สมัยที่มีทรัพยากรจำกัด ทั้งในด้านความจุ (Storage), ความเร็วการประมวลผล (Processing), ความเร็วของเครือข่าย (Internet) เพื่อให้เห็นว่าในด้าน Hardware นั้นปัจจุบันพัฒนาไปมากแล้ว แต่ในส่วนของ Architecture ที่เราเขียนอยู่นั้นในบางครั้งอาจจะทำให้เรียกใช้ hardware ได้ไม่เต็มประสิทธิภาพของมัน
ทั้ง ๆ ที่ solution ในปัจจุบันมีให้เลือกมากมาย ทั้งในส่วนของภาษาใหม่ ๆ ที่พัฒนามาให้รองรับกับระบบ และ Opensource หรือ Tools ต่าง ๆ ที่เข้ามาช่วยเรื่องนี้ด้วย แต่บางครั้งเรากลับเขียน Software ที่ไม่ดีพอที่จะทำงานได้เต็มประสิทธิภาพของมัน ทำให้ส่งผลกระทบต่อทั้ง Developer และ User
ในหลาย ๆ ครั้งเราอาจจะไม่เปิดใจลอง Technology หรือ Tools ใหม่ซึ่งในบางครั้งมันอาจจะช่วยให้ Product ของเราดีขึ้นก็ได้ ดังนั้นจะดีกว่า ถ้าเราเปิดใจและลองดู
เราควรเขียน Softwareให้เท่าทัน Hardware ทั้งการเลือกภาษาให้เหมาะสมกับสิ่งที่ใช้, อัพเดตแนวคิดและวิธีการให้รองรับกับเทคโนโลยีในปัจจุบันอยู่เสมอ เพื่อให้เราสามารถส่งมอบ Products ที่ดีกว่าเดิม โดยใช้ Effort น้อยลง ❤️
สำหรับช่วงเช้าของงานก็จบลงเท่านี้ครับ แต่แน่นอนว่ายังเหลือช่วงบ่ายอีกเยอะ ฝากติดตามด้วยครับ 🫶