Programming Archive

วันนี้ใช้ Git Standup กันหรือยัง ?

เมื่อเช้าอ่านเจอบทความเรื่อง Git for Daily Standup โดยนักพัฒนาหลาย ๆ คนอาจจะต้องมีประชุมที่เรียกว่า Standup meeting หรือ Daily Standup เพื่อทำการพูดคุย บอกความคืบหน้า และ ปัญหาที่เกิดขึ้น เช่น เมื่อวานทำอะไร เพื่อทำให้เป้าหมายสำเร็จ วันที่ทำอะไร เพื่อทำให้เป้าหมายสำเร็จ ติดปัญหาอะไร ที่จะทำให้เป้าหมายไม่สำเร็จ

Read More…

การเริ่มต้นใช้งาน Docker สำหรับการพัฒนาระบบ Frontend ด้วย Vue.js

เมื่อวานทำการแบ่งปันความรู้เรื่องการใช้งาน Docker สำหรับการพัฒนา web application ด้วย Vue.js นิดหน่อย โดยแบ่งขั้นตอนการนำ Docker มาใช้งานดังนี้ 1. สรุปขั้นตอนการพัฒนา 2. สรุปเครื่องมือต่าง ๆ ที่ใช้ในการพัฒนา 3. ลงมือทำ เพื่อให้เห็นผล 4. เริ่มนำ Docker เข้ามาใช้งานหรือมาช่วย 5. รออะไรลงมือกันเลย

Read More…

สรุปการทำ profiling ระบบ Web application ที่พัฒนาด้วยภาษา Golang

เนื่องจากต้องมาดู performace ของระบบ web application ที่พัฒนาด้วยภาษา Golang นิดหน่อย จึงทำการสรุปสิ่งที่ต้องใช้งานไว้นิดหน่อย เครื่องมือที่ใช้งานคือ pprof ประกอบไปด้วย CPU profile Heap profile Goroutine profile

Read More…

ว่าง ๆ มาแกะ build.gradle ใน code ตัวอย่างของ Google Sample

นั่งดูตัวอย่าง code ตัวอย่างของ Android Architecture Component พบสิ่งที่น่าสนใจมากมาย หนึ่งในนั้นคือ การจัดการไฟล์ build.gradle (Gradle) หรือไฟล์ configuration ของระบบงานนั่นเอง มาดูกันว่ามีอะไรที่น่าสนใจบ้าง

Read More…

เก็บมาเล่าเกี่ยวกับ Programming

วันนี้มี Post ที่น่าสนใจในกลุ่มสมาคมโปรแกรมเมอร์ไทย สมมติถ้าออกโจทย์แบบนี้ให้นักเรียนทำ มันจะยากไปไหมครับ 🙂 หาว่าบั๊กอยู่ตรงไหน ความน่าสนใจของ post นี้มันเกี่ยวกับ programming นี่แหละ ทำให้นึกถึงสมัยเขียน code ใหม่ ๆ เลย เลยสรุปความคิดเห็นกับสิ่งที่ผ่านมาไว้นิดหน่อย ถ้าถามว่าโจทย์นี้ยากไหม ? สิ่งที่ต้องรู้ก่อนคือ ต้องการวัดอะไรจากโจทย์นี้ เพราะว่าโจทย์ลักษณะนี้มีเป้าหมายเพื่อ วัดความละเอียดในเรื่องของ syntax และ sematic ของ code วัด logic ของผู้เรียน จากตัวอย่างมัน compile ผ่านแต่ทำงานแล้วมี bug อาจจะเกิด RuntimeException ได้มั้ง!! จำได้ว่าสมัยทำงานแรก ๆ บ้าไปสอบ certified ด้าน Java กับเขามา (ไม่เกี่ยวกับ post นะ) ผ่านทั้ง SCJA, SCJP, SCJS, SCWCD, SCBCD, [&hellip

Read More…

รูปแบบของ code แย่ ๆ ที่มักพบเจอ

ช่วงวันหยุดนั่งดู code เขียน code ไปเรื่อย ๆ ได้เห็นรูปแบบของ code ที่น่าสนใจ ไม่ใช่เรื่องของการตั้งชื่อ แต่มันคือ รูปแบบการทำงานของ code แน่นอนว่าเป็น code ที่สามารถทำงานได้ดีตามที่ต้องการ แต่ดันเป็น code ที่มีคุณลักษณะเฉพาะตัว เช่น ทำความเข้าใจยากมาก ส่วนต่าง ๆ ของระบบสามารถแก้ไข state หรือค่าได้โดยตรง แน่นอนว่าว่าค่านี้ ใช้ทั้งระบบ !! แก้ไขที่หนึ่งกระทบที่อื่น ๆ อีกมากมาย ใช้เวลาในการเพิ่ม feature เยอะขึ้น เมื่อเกิดปัญหาบน production แล้วการค้นหาจุดเกิดเหตุยากมาก ๆ จึงทำการสรุปสิ่งที่เจอไว้นิดหน่อย

Read More…

สรุปเรื่องโครงสร้าง project ภาษา Go ที่ DigitalOcean

ทีมพัฒนาของ Digitalocean นั้นได้ออกมาเล่าถึงประสบการณ์การพัฒนาระบบงานด้วยภาษา Go ซึ่งเป็นระบบงานภายในชื่อว่า Cthulhu โดยเป็นระบบงานที่ใช้งาน version control แบบ Monorepo นั่นคือ code ทุกสิ่งอย่างอยู่ใน repository เดียวกัน แม้ว่าจะมีมากกว่า 1 project ก็รวมกันอยู่ในนี้ แน่นอนว่า ต้องเจอปัญหาต่าง ๆ มากมาย ทั้งเรื่องของโครงสร้าง ทั้งเรื่องการ scale ทั้งเรื่องของการจัดการ dependency ต่าง ๆ ทั้งเรื่องของเครื่องมือที่ใช้งาน ทั้งเครื่องของเวลาในการ build ของ CI server ทั้งเรื่อง code ownership มาดูกันว่าทางทีม Digitalocean ทำอย่างไรบ้าง ? น่าสนใจมาก ๆ

Read More…

สรุปเรื่อง Modernizing Java Apps with Docker จากงาน DockerCon EU 2017

จาก VDO เรื่อง Modernizing Java Apps with Docker จากงาน DockerCon EU 2017 ซึ่งเป็นอีก session หนึ่งที่ตรงกับแนวคิดหลักของงานคือ Modernizing Traditional Application (MTA) โดยที่ Traditional Application คือระบบงานที่พัฒนามาหลายปีแล้ว แต่ยังเป็นหัวใจหลักหรือตัวขับเคลื่อนหลักขององค์กร แน่นอนว่า ทั้ง developer และ operation ต้องทำงานอย่างหนักเพื่อพัฒนาและดูแลรักษาระบบเหล่านี้

Read More…

แนวทางที่ดีสำหรับการทดสอบแบบอัตโนมัติ

สิ่งมักที่น่าสนใจสำหรับการทดสอบแบบอัตโนมัติ ส่วนใหญ่มักจะถูกสั่งให้ทำ ส่วนใหญ่มักจะบังคับให้ทำ บางครั้งทำแบบไม่เข้าใจว่าทำไมต้องทำ แต่ก็ต้องทำ ผลที่ออกมาเลยไม่ดี หรือมีก็เหมือนไม่มี หรือถ้าไม่บังคับก็ไม่ทำ หรืออาจจะแย่กว่าเดิมอีกต่างหาก ดังนั้นจึงขอแนะนำแนวทางที่คิดว่าน่าจะดี เพื่อให้การทดสอบแบบ manual และ อัตโนมัติมันดีและยั่งยืน มาเริ่มกันเลย

Read More…

ชื่อเรียกที่น่าสนใจในโลกของ Programming

วันนี้มีการพูดถึงเรื่อง Pokemon Exception Handling นิดหน่อย ซึ่งเป็นชื่อเฉพาะสำหรับการดักจับ exception หรือข้อผิดพลาดต่าง ๆ ของระบบ แบบที่ไม่รับผิดชอบเท่าไรนัก เนื่องจากดักจับตัวแม่มันเลย แต่นักพัฒนาดันชอบใช้ด้วย เพราะว่า มันง่ายดี ใครทำบ้างนะ

Read More…