
Sign up to save your podcasts
Or


EP นี้พาย้อนไปดูประวัติศาสตร์ของภาษา Java ที่เป็นที่นิยมกันมาอย่างยาวนานครับ ปัจจุบันดูเหมือน Java จะได้รับความนิยมน้อยลงจนชวนทำให้คิดว่าอาจจะเป็นภาษาที่ตายแล้วในอีกไม่ช้านี้ แต่เดี๋ยวก่อน บทความนี้จาก The ReadME Project ทำให้เห็นว่า Java ไม่เคยหายไปไหน แถมยังมีอนาคตที่สดใสอีกด้วย
เรื่องราวจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ
The ReadME project: https://github.com/readme/featured/java-programming-language
EP นี้พาไปดูผลการรายงานจาก Octoverse 2022 ต่อกันเป็นตอนที่สองครับ ในตอนนี้เน้นเนื้อหาไปที่ project ที่ได้รับความนิยมสูงๆ เช่น มี contributors เยอะสุด (vscode) หรือดึงดูดคนที่เพิ่งเข้ามาช่วยในวงการ open source เป็นครั้งแรกเยอะสุด (ก็ vscode อีก) ดูเหมือนว่าบริษัทใหญ่ๆ จะเริ่มเน้นสร้างชุมชนนักพัฒนาของตนเองผ่านการนำ product ของบริษัทมาเป็น OSS สุดท้ายเราปิดกันด้วย 5 ทิศทางที่ GitHub มองว่าเป็นอนาคตของ OSS ครับ
ไปฟังรายละเอียดกันใน EP นี้ครับ
EP นี้พาไปดูผลการสำรวจรายปีของ GitHub ที่ชื่อ Octoverse 2022 กันครับ โดยในตอนแรกจะสรุปเนื้อหาในด้าน The state of open source software โดยมาดูกันว่า GitHub มองว่าเทรนด์สามด้านของการพัฒนาที่ใช้ open source software จะไปในทางไหน นอกจากนี้มีผลการวิจัยว่า GitHub Copilot ทำให้นักพัฒนาเขียนโค้ดเสร็จเร็วขึ้นกว่าเท่าตัว! สุดท้ายผมจะพาไปดูว่าภาษาที่ได้รับความนิยมใน GitHub สูงสุด ในปี 2022 มีอะไรกันบ้างครับ
ไปฟังกันใน EP นี้ได้เลยครับ
EP นี้หยิบหนังสืออีกเล่มมาอ่านและสรุปให้ทุกท่านฟังกันครับ หนังสือชื่อ A Philosophy of Software Design โดย Prof. John Ousterhout เป็นหนังสือที่ให้แนวทางการออกแบบซอฟต์แวร์ในระดับโค้ดดิ้งเลย ผมคิดว่ามีประโยชน์และสามารถนำไปใช้ได้จริงครับ
โดยใน EP นี้จะเริ่มจากปัญหาของการออกแบบซอฟต์แวร์ที่ไม่ดีก่อน ซึ่งวายร้ายหลักก็คือ ความซับซ้อน (complexity) นั่นเอง เราไปดูกันว่า สัญญาณที่บ่งบอกว่าซอฟต์แวร์เราเร่ิมซับซ้อนแล้วมีอะไร และสาเหตุของความซับซ้อนมาจากอะไรบ้าง ไปฟังกันได้เลยครับ
หยิบงานวิจัยที่ทำกับนักศึกษามาเล่าสู่กันฟังใน EP นี้ครับ งานนี้เป็นเรื่องเกี่ยวกับปัญหาความปลอดภัยใน npm packages ซึ่งเกิดขึ้นได้บ่อยๆ ไม่ว่าจะเป็น package ที่เรา import เข้ามาเอง (direct dependency) หรือ package ที่ถูกเรียกใช้จาก package ที่เรา import มาอีกที (transitive dependency) เราจะตรวจสอบปัญหาจาก package เหล่านี้ได้อย่างไร ไปฟังกันใน EP นี้ครับ
เครื่องมือ V-Achilles: https://github.com/MUICT-SERU/V-Achilles
EP นี้ เอาเนื้อหาจาก Chapter 23 ของหนังสือ SE at Google เรื่อง Continuous Integration (CI) มาเล่าให้ฟังกันครับ
ไปดูกันว่า Google มีคอนเซ็ปต์ของ CI อย่างไร และใช้งาน CI ในช่วงไหนบ้างใน development workflow ใน EP นี้ครับ
Episode ที่ 80 นี้ผมหยิบบทความชุดใหม่เรื่อง Developer Productivity for Human โดยนักวิจัยจาก Google สองท่าน คุณ Ciera Jaspan และ คุณ Collin Green มาเล่าให้ฟังกันครับ โดยใน EP นี้จะพูดถึงปัญหาว่า ทำไมการวัดผลิตภาพของนักพัฒนาซอฟต์แวร์ (developer productivity) จึงเป็นเรื่องที่ยาก ซึ่งประกอบด้วยปัจจัยหลายอย่าง เช่น developer ก็เป็นคน (ไม่ใช่เครื่องจักร มีความรู้สึกนึกคิด มีอารมณ์ มี background ที่แตกต่างกัน) และ งานพัฒนาซอฟต์แวร์ก็เป็นงานที่ซับซ้อนและต้องใช้ความคิดสร้างสรรค์เยอะมาก ในการแก้ไขปัญหา
รายละเอียดเป็นอย่างไร ไปฟังกันใน EP นี้ครับ
EP นี้หยิบงานวิจัยของตัวเองมาเล่าให้ฟังกันครับ เป็นงานวิจัยที่ทำร่วมกับ อ. มรกต เชิดเกียรติกุล อ. อภิรักษ์ หุ่นหล่อ และ อ. โมเรศ ปรัชญพฤทธิ์ ครับ ในงานวิจัยนี้เราศึกษาว่าการนำ Virtual Reality (VR) มาใช้ในการเรียนการสอน Software Engineering โดยเฉพาะการนำเสนอผลงาน มีผลต่อการเรียนการสอนอย่างไร ผมคิดว่าผลที่ได้อาจจะนำไปประยุกต์ใช้กับการทำงานของทีมพัฒนาซอฟต์แวร์ในการทำงานแบบ WFH หรือ work from anywhere ได้เช่นกันครับ
งานศึกษาวิจัยนี้เกิดขึ้นในช่วงโควิด-19 ที่ต้องมีการเรียนการสอนแบบออนไลน์ ทำให้การปฏิสัมพันธ์ระหว่าง อาจารย์-นักศึกษา และ นักศึกษาด้วยกันเอง ลดลงอย่างมาก เราพบว่าการนำ VR มาใช้ ทำให้นักศึกษารู้สึกว่ามีปฏิสัมพันธ์กับเพื่อนและอาจารย์ง่ายขึ้น รู้สึกถึงการมีตัวตนอยู่ร่วมกัน และทำให้การเรียนเป็นไปอย่างสนุกสนานมากขึ้นครับ
รายละเอียดไปฟังกันใน EP นี้ครับ
EP กระโดดมา Chapter 20 ในหนังสือ Software Engineering at Google เรื่อง Static Analysis ครับ ผมอธิบายว่าเครื่องมือ Static Analysis คืออะไร และเลือกแนวทางการใช้งานเครื่องมือ Static Analysis ที่ Google มาอธิบาย เพื่อให้ผู้ฟังสามารถลองหาเครื่องมือที่ใกล้เคียงกัน และเลือกจุดใน developer workflow ที่นำเครื่องมือเหล่านั้นไป plug-in ได้อย่างเหมาะสม โดยหลักๆ มีอยู่ 3-4 จุด คือ ช่วง code review, ช่วง presubmit, ช่วง compile, และใน IDE
รายละเอียดไปฟังกันใน EP นี้ครับ
EP นี้พาไปดูการทำ DevOps แบบ Netflix กันครับ คุณ Lorin Hochstein ซึ่งเป็น senior software engineer ที่ Netflix และดูแลด้าน continuous delivery tooling มาแชร์ว่าบริษัทของเขาทำ DevOps อย่างไร โดยความสำเร็จของ DevOps ที่ Netflix เกิดจาก 4 ปัจจัยหลัก คือ Architecture (สถาปัตยกรรมซอฟต์แวร์ที่เหมาะสม), Culture (วัฒนธรรมองค์กรที่ส่งเสริม), Toooling (ชุดเครื่องมือที่ช่วยสนับสนุน) และ Skills (ความสามารถที่ทำให้ดำเนินงานได้อย่างไม่สะดุด)
รายละเอียด ไปฟังกันใน EP นี้ครับ
From the publisher's feed