Continuous Integration และ Testing ควรอยู่ด้วยกันเสมอ
ในการพัฒนา software ได้นำเอาแนวคิด Continuous Integration(CI) เข้ามาใช้งาน ซึ่งผมคิดว่าเป็นสิ่งที่ขาดไม่ได้เลย เพื่อช่วยทำให้ทีมทำการ integrate บ่อย ๆ เพื่อช่วยทำให้ software ที่สร้างค่อย ๆ...
View Articleสวัสดี .Net Core สิ่งที่นักพัฒนาต้องลอง
บริษัท Microsoft ได้เปิดตัว .Net Core ออกมา เป็นการเปลี่ยนแปลงของ Microsoft ที่น่าสนใจอย่างมาก ซึ่งทำให้นักพัฒนาสามารถพัฒนาระบบงาน ด้วยภาษา C# และ F# รวมไปถึง ASP.Net บนระบบปฏิบัติใดก็ได้ ทั้ง...
View Articleเมื่อ Comment ใน code ไม่ใช่เรื่องเล่น ๆ !!
จากคำถามใน Quora.com เรื่อง What is the best comment in source code that you have ever encountered ? ว่าด้วยเรื่องการ comment ใน source code ที่ดี มันเป็นคำถามที่ดีมาก ๆ รวมทั้งคำตอบต่าง ๆ ก็น่าสนใจ...
View Articleพัฒนาระบบ Swift Web Application ด้วย Vapor กัน
ในช่วงวันหยุดมาศึกษาสิ่งใหม่ ๆ กันหน่อย หรือว่าใหม่ของผมแต่อาจจะเก่าของคนอื่นก็ได้ !! สำหรับนักพัฒนา iOS app นั้น ต้องสร้างระบบ Backend/API หรือ Server-side มาใช้งานเสมอ ซึ่งมักจะพัฒนาด้วยภาษาอื่น ๆ...
View Articleทำไม code แย่ ๆ มันจึงเกิดขึ้นในทุกระบบ !!
ทำไมในการพัฒนา software ถึงมี bad code หรือ code ที่มันแย่ ๆ ขึ้นมาเพียบเลย ? หรือว่าจำนวนนักพัฒนาที่สามารถเขียน code ให้มีคุณภาพมีน้อยกันนะ ? หรือว่ามันมีเหตุผลอื่น ๆ อีกนะ ?...
View ArticleStub Driven Development สำหรับ Mobile Application
ในการพัฒนา Mobile app ส่วนใหญ่นั้น จำเป็นต้องทำงานร่วมกับ Server-side API ผ่านระบบ network ไม่ว่าจะเป็น RESTful API และ Web Service ปัญหาที่มักเกิดขึ้นเสมอก็คือ ต่างคนต่างทำงาน ต้องรอกันเสมอ ถ้าฝั่ง...
View Articleว่าด้วยเรื่องของ Delegator และ Callback ใน Swift
วันนี้นั่งดูและเขียน code ด้วยภาษา Swift สำหรับพัฒนา iOS app พบว่าในหลาย ๆ ส่วนการทำงานใช้ Delegate pattern เพื่อเชื่อมต่อการทำงานในแต่ละส่วน เช่น User Interface Data model Networking layer Service...
View Articleสรุปข้อแตกต่างระหว่าง SOA และ Microservice ไว้นิดหน่อย
ในปัจจุบันไปงานไหน ๆ ก็มีแต่คนพูดถึง Microservice ว่ามันดีอย่างนั้นอย่างนี้ แต่สำหรับใครก็ตามที่มีประสบการณ์กับ SOA (Service Oriented Architecture) หรือบางคนอาจจะเรียกว่า Service Oriented Ambiguity...
View Articleเมื่อนักพัฒนาไม่สามารถควบคุมความซับซ้อนของ code ได้ !!
จากบทความเรื่อง Why it happens to your code again and again? อธิบายการพัฒนาระบบ web application ด้วย RoR (Ruby on Rails) ซึ่งเป็น framework หลักของการพัฒนาระบบด้วยภาษา Ruby...
View Articleนักพัฒนาที่ดีควรหลีกเลี่ยงการตั้งชื่อที่แย่ ๆ
อ้างอิงข้อความจากคุณ Phil Karlton There are only two hard things in Computer Science: cache invalidation and naming things. รวมทั้งข้อมูลจากผลสำรวจเรื่อง The hardest problem in programming is what to...
View ArticleRegression Testing คืออะไร ?
เช้านี้อ่านเจอบทความเรื่อง What is Regression Testing ? ทำการอธิบายเกี่ยวกับ Regression testing ว่าคืออะไร ? มีเป้าหมายเพื่ออะไร ? และจะลงมือทำการทดสอบเมื่อใด ? จึงทำการสรุปการอ่านไว้นิดหน่อย...
View Article[Update] การติดตั้ง Robot Framework บนระบบปฏิบัติการ Windows
แก้ไขสำหรับการติดตั้ง Robot Framework บนระบบปฏิบัติการ Windows Software ที่ใช้ในการติดตั้งประกอบไปด้วย Python 2.7.12 เพิ่มเติมสำหรับ Text editor ที่ใช้เขียน script ของ Robot framework คือ Sublime และ...
View Articleเมื่อ MVC ย่อมาจาก Massive ViewController
เมื่อวานนั่งดู Code การพัฒนา iOS ด้วยภาษา Swift โจทย์เดียวกันจาก developer 4 คน แต่โครงสร้างของ code ที่ออกมานั้นเหมือนกัน นั่นคือเป็น MVC(Model View Controller) ในรูปแบบของ Apple...
View ArticleATDD, BDD, SbE มันต่างกันอย่างไร ?
มีคำถามที่น่าสนใจคือ ATDD, BDD และ SbE มันคืออะไร ? เหมือน หรือ แตกต่างกันอย่างไรบ้าง ? มีเป้าหมายเพื่ออะไรบ้าง ? จากนั้นจึงลองไปค้นหาคำตอบ ก็พบว่าเรื่องนี้เขาคุยกันมาตั้งแต่ปี 2010 แล้ว...
View Articleลำดับของการทดสอบส่งผลต่อประโยชน์ที่จะได้รับจาก TDD นะ
วันนี้ช่วงพักกลางวันจากงาน Conference JCSSE2016 ได้นั่งลองเขียน code ตามแนวคิด TDD (Test Driven Development) เพื่อทบทวนความเข้าใจในเรื่อง Small step (Increamental step)...
View Articleสรุปผลการสำรวจเรื่องการใช้งาน Java และ เทคโนโลยีที่เกี่ยวข้องประจำปี 2016 จาก...
ในปี 2016 นี้ทาง RebelLabs ทำการสรุปผลสำรวจเรื่องการใช้งาน Java และเทคโนโลยีที่เกี่ยวข้อง ซึ่งแบ่งออกเป็น 3 ส่วน ดังนี้ Java Tools and Technologies Landscape Report 2016 : Looking at raw data Java...
View Articleทำความเข้าใจกับ Legacy code ด้วยการเขียน Test สิ
พอดีมีโอกาสแลกเปลี่ยนแนวทางในการจัดการ Legacy code จึงทำการสรุปสิ่งที่พูดไปไว้นิดหน่อย Legacy code คือ code ที่ไม่มี Test ซึ่ง Test คือชุดการทดสอบแบบอัตโนมัตินะ คำถาม ถ้าต้องการจะแก้ไข และ...
View Articleมาลอง Scale Elasticsearch ด้วย Docker Swarm Mode กันหน่อย
ติดตามข่าวสารเกี่ยวกับ Docker 1.12 มานิดหน่อย มีความสามารถใหม่ ๆ เพียบเลย นั่นคือเรื่องของ Docker Swarm Mode ทำให้เราจัดการได้ง่ายขึ้น ดังนั้นเพื่อให้เข้าใจจึงลองนำมาใช้งานกับ Elasticsearch กันดีกว่า...
View ArticleDocker Swarm Mode :: Load balance มันทำงานอย่างไร ?
จาก blog เรื่อง มาลอง Scale Elasticsearch ด้วย Docker Swarm Mode กันหน่อย คำถามที่น่าสนใจสำหรับการเริ่มต้นใช้งาน Docker Swarm Mode คือ ถ้ามีหลาย ๆ container แล้วตอนทำงานจริง ๆ มันทำงานบน container...
View Articleสรุปเรื่องของ Code Quality จาก Code Climate
นั่งดู VDO เรื่อง Code Quality Lessons Learned จาก CodeClimate.com ตั้งคำถามที่น่าสนใจเกี่ยวกับ Code Quality ไว้ดังนี้ Code Quality คืออะไร ? ใช้อะไรวัดค่าความซับซ้อนของ code ? ทำไม code ของ project...
View Article