The Nature of Software Development โดย Ron Jeffries

The Nature of Software Development เขียนโดย Ron Jeffries เป็นหนังสือที่พยายามอธิบายการทำซอฟต์แวร์ให้ง่าย และนำเสนอการทำงานเป็นรอบๆ (Iterative) ได้น่าสนใจมาก เน้นให้ผู้อ่านปรับทัศนะคติการทำซอฟต์แวร์ใหม่ ในแบบที่เขาเรียกว่า “The Natural Way” เพราะเขาเชื่อว่ามันเป็นหนทางที่เข้าใจง่าย เน้นการส่งมอบคุณค่าให้ได้ไว และบ่อยๆ

หนังสือเล่มนี้ใช้ภาษาอ่านไม่ยาก คนทั่วไปอ่านได้ เหมือนกำลังฟังลุง Ron บ่นๆ ไปเรื่อยๆ เพื่อปูพื้นฐานและปรับทัศนคติ ใครอ่านที่ผมสรุปไว้และสนใจอยากลองหาฉบับเต็มมาอ่าน ลองดูได้จากลิงค์นี้ครับ The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece

การทำซอฟต์แวร์ขึ้นมาตัวหนึ่ง จะมีหลายกระบวนการ เช่น วางแผน พัฒนา จัดการคนทำงาน เพื่อให้งานมันเสร็จ และผู้ว่าจ้าง หรือลูกค้าเรา สามารถใช้งานซอฟต์แวร์นั้นได้ ซึ่งสิ่งที่เราส่งมอบให้ มันคือสิ่งที่มีคุณค่า เพราะถ้าซอฟต์แวร์ยังเป็นแค่โค้ด หรือยังเล่นไม่ได้ ต่อให้เขียนโค้ดดีแค่ไหน มันก็ยังไร้ค่าใช่หรือเปล่า?

แล้วคำถามต่อไปคือ เมื่อซอฟต์แวร์ มันใช้เวลาผลิตนาน จะให้มันเสร็จไวๆ มอบของ(คุณค่า)ให้ลูกค้าได้เห็นบ่อยๆ จะทำอย่างไรล่ะ?  Continue reading “The Nature of Software Development โดย Ron Jeffries” »

Marshmallow Challenge สร้างตึกได้ สร้างทีมเป็น

2-3 ปีก่อน คุณ  Peter Skillman เคยเล่าในงาน TED ถึงปัญหาด้านการออกแบบ ที่เขาเรียกมันว่า “ปัญหามาสเมลโล (Marshmallow Problem)” ซึ่งคลิปนี้ คุณ Tom Wujec จึงเล่าถึงการนำปัญหานั้นไปทำเป็นเกมส์ในคลาสสัมนาต่างๆ โดยที่เขาเรียกมันว่า “Marshmallow Challenge” หรือ การแข่งขันกันสร้างตึกสูงที่สุดด้วยเส้นสปาเก็ตตี้ 20 เส้น มาร์ชแมลโลว์ 1 ก้อน และเทปกาว เชือก กรรไกร

วิธีการคือ มีทีมจำนวน 4คน ถ้าทีมไหนต่อเส้นสปาเก็ตตี้ 20 เส้นได้สูงที่สุด และเอาก้อนมาร์ชแมลโลว์วางไว้บนนั้นได้ด้วย จะถือว่าเป็นผู้ชนะ Continue reading “Marshmallow Challenge สร้างตึกได้ สร้างทีมเป็น” »

How To Set Up Deployment with Git

เวลาปรับปรุง code แล้วนำไฟล์ขึ้น server ก็คงใช้ upload ปกติทั่วไป อันนี้มาลองดูวิธีที่หล่อขึ้นมาอีกนิด คือใช้ git ทำ deployment เลย ซึ่งยังไม่เป็น Continuous Integration (CI) และ Continuous Deployment (CD) เพราะยังไม่ใช่ Automatic Deployment แต่แค่อำนวยความสะดวกในการทำงานร่วมกับทีม สะดวกในการ merge file, มี subversion และไม่ต้องหาไฟล์ที่แก้ไขเพื่ออัพโหลด Continue reading “How To Set Up Deployment with Git” »

8 วิธี ปรับ Prestashop อย่างไรให้เร็ว เมื่อมีสินค้าเป็นหมื่น (8 Step to optimize PrestaShop for huge products)

ขอโน๊ตไว้สั้นๆ

  1. เลือกประเภท Server ที่เน้นการใช้งาน CPU (Choosing Server Type, Provide high CPU capabilities)
  2. ปรับ Performance ใน Apache Web Server/Nginx (Tuning Performance in Apache Web Server)
  3. ปรับ Performance ในระบบหลังบ้าน Prestashop (Tuning Performance in Prestashop Back office)
  4. ลบ Module ที่ไม่ได้ใช้ออกให้หมด (Remove unused Modules)
  5. ปรับรูปแบบคำสั่ง SQL ใหม่ (Optimize SQL Queries)
  6. ทำ Database Caching (Database Caching)
  7. ทำ Page Caching (Page Caching)
  8. ทำ Load Balancing และ Auto Scaling (AWS EC2 – Load Balancing and Auto Scaling)