ช่วงนี้ผมกำลังย้ายบ้าน ไม่มีเวลาตอบคอมเมนต์มากนัก เดี๋ยวสถานการณ์ลงตัวแล้วจะมาตอบให้ ตอนนี้เอาประเด็นทางเทคนิคที่น่าสนใจจาก feed ที่อ่านไปก่อน (จริงๆ คือจดให้ตัวเองตามมาอ่านเมื่อมีเวลา)
Software Engineering
Chrome
Firefox
Ubiquity
Usability
ตามอ่านบล็อกของ Jeff Walcot ที่ Acquia (Confessions of a Drupal Convert) ไปยังบทความของ Kurt Cagle บน O’Reilly (Drupal as Open Architecture) แล้วน่าสนใจมาก
Cagle อ้างสไลด์ของ Roy Fielding ที่งาน OSCON 2008 (Open Architectures at REST (PDF))
Fielding เป็นคนคิดคำว่า REST โดยพัฒนาแนวคิดนี้ลงในวิทยานิพนธ์ปริญญาเอกของเขา ในสไลด์อันนี้ Fielding กำลังไปพัฒนาโครงการ Apache Sling สไลด์อันนี้จึงเป็นการโฆษณา Sling เป็นหลัก
แต่จุดน่าสนใจอยู่ในครึ่งแรกของสไลด์ ซึ่งเป็นแนวคิดที่ Fielding นำมาเป็นโมเดลให้กับสถาปัตยกรรมของ Sling นั่นคือแนวคิด Open Architecture ซึ่งในที่นี้มีความหมายในเชิง software engineering
อ่านบล็อก GullFOSS เขียนโดยวิศวกรของซันที่ทำ OpenOffice.org ว่าด้วยเรื่อง Experimenting with Agile software development
ติดใจย่อหน้านี้
We found out that an agile development style has high requirements on the building infrastructure:
- New builds are needed at least daily, usually more often.
- Builds need to run absolutely unattended, without any need for human interaction.
This is challenging, when not only compiling and linking, but as well installing an Office, installing an extension, running smoketest, unit tests and other automated tests - and all those on several platforms.
ผมมีประสบการณ์ในสาย Software Engineering มาน้อยมากๆ แต่ที่จับทางได้ก็น่าจะเป็นแบบที่เน้นไว้ คือใช้ automated tools ให้เยอะที่สุดเท่าที่เป็นไปได้ (เพื่อเอาแรงคนไปทำอย่างอื่น) รวมถึงออกแบบ process การทำงานให้ automatic/semantic ด้วยเช่นกัน
บ้านเรายังไม่ค่อยเน้นเรื่องนี้กันเท่าไร (เห็นแต่เถียงกันว่า IDE ของใครเจ๋งกว่า) ที่เห็นเริ่มใช้กันบ้างก็พวก Revision Control แต่อย่าง Bug Tracking, Branch Commit Tracking, Automated Testing Suite, Regression, Build Farm, QA นี้ยังไม่มากนัก มันน่าจะลงทุนสูงแบบในบล็อกข้างต้นว่าไว้ แต่ถ้าผลงานออกมาดีมันก็น่าจะคุ้มไม่ใช่หรือ?