เราจะมาเตรียมเครื่องมือสำหรับการพัฒนาโปรแกรมด้วยภาษาจาวากัน โดยในส่วนนี้เราจะติดตั้งเครื่องมือการพัฒนาหลายๆตัว ดังนี้
Java SDK
Eclipse - ใช้สำหรับเขียน code
Glassfish - เพื่อเป็น container สำหรับ Java EE Application
Maven - เพื่อใช้ในการ build , deploy , undeploy โปรเจคที่เราสร้างขึ้น
SVN - เพื่อช่วยในการทำงานร่วมกับนักพัฒนาคนอื่น
โดยในบริษัทส่วนมากจะใช้เครื่องมือต่างๆเหล่านี้ในการพัฒนา หรือในการทำงานร่วมกันเป็นทีม ซึ่งผู้อ่านที่สนใจอยากจะทำงานด้านนี้ จำเป็นต้องเรียนรู้และหัดสร้างความคุ้นเคยกับเครื่องมือเหล่านี้ไว้ จะช่วยให้เมื่อเข้าไปสมัครงานหรือเข้าไปทำงานแล้วจะสามารถทำงานกับนักพัฒนาคนอื่นได้ดีต่อไปครับ
ในส่วนของ Glassfish นั้นเป็น Application Server โดยในหลายบริษัทส่วนมากจะไม่นิยมใช้ตัวนี้ แต่จะนิยมใช้ WebSphere, JBoss AS เหล่านี้มากกว่า แต่เราสามารถเรียนรู้การทำงาน , การติดตั้ง , การตั้งค่า Connection Pool etc. จาก Glassfish หลังจากนั้นจึงขยับไปเรียนรู้ตัวอื่นก็จะไม่เป็นอุปสรรคมาก
ในส่วนของ SVN คือ Software Version Control โดยจะเป็นตัวเก็บการเปลี่ยนแปลงใน code ไว้ เพื่อให้นักพัฒนาสามารถเปรียบเทียบ code , undo code กลับไปยัง version ก่อนหน้า, merge code จากหลายๆนักพัฒนาเข้าเป็น version เดียวกัน ทั้งนี้ เป็นต้น
ทำไมต้องใช้ SVN ลองดูตัวอย่างนะครับ เรามี application ชื่อว่า FlightBooking ซึ่งมี feature 2 อย่างคือ
1. จองตั๋วเครื่องบิน
2. Check in
และในทีมพัฒนามีนักพัฒนา 2 คน ผมก็ให้คนนึงทำเรื่องจองตั๋วเครื่องบิน และอีกคนทำ check in โดยผมจะมี FlightBooking project อยู่ใน svn ชื่อว่า Trunk ซึ่งจะมี source code ของโปรเจ็คนี้เป็น version 0.1
หลังจากนั้น นักพัฒนาทั้งสองคนก็จะใช้ eclipe connect เข้ามาที่ SVN server โดยแต่ละคนจะทำการ copy FlightBooking project จาก Trunk ไปไว้ที่ branch ของตัวเอง เราเรียกว่า Branch/Tag
จากตรงนี้ ใน SVN เราจะมี
Trunk - เก็บ FlightBooking project version 0.1
Branch_booking - มี source code เดียวกับ trunk โดยนักพัฒนาคนที่ 1 จะดึง(check out) code จาก branch นี้
Branch_checkin - มี source code เดียวกับ trunk โดยนักพัฒนาคนที่ 2 จะดึง(check out) code จาก branch นี้
การ checkout คือการดึง source code จาก SVN ไปยัง Eclipe โดย eclipe จะ copy จาก SVN server มาไว้ที่เครื่องของนักพัฒนา แต่จะเก็บการเปลี่ยนแปลงทุกอย่างไว้เพื่อใช้สำหรับการเปรียบเทียบ code ที่อยู่บน SVN และ ที่เครื่องของนักพัฒนาต่อไป
จะเห็นว่านักพัฒนาทั้ง 2 คนต้อง check out source code มาไว้ที่เครื่องของตัวเองผ่าน eclipse และต้อง check out จากคนละ branch
จากนั้นเมื่อนักพัฒนาแต่ละคนแก้ไข code เป็นส่วนย่อยๆของงานที่ตัวเองรับผิดชอบก็ต้องหมั่น นำ code ที่ตัวเองแก้ไปนั้น ไปยัง SVN Server ขั้นตอนนี้เรียกว่า การ commit code คือการที่นักพัฒนา transfer code ที่เปลี่ยนแปลงไป ไปยัง branch บน SVN server โดยการ commit code นั้น พยายามใส่คำอธิบายด้วยว่า ทำอะไรส่วนไหน และควร commit source code ที่เกี่ยวข้องกัน ไปครั้งพร้อมกัน เช่น เราอาจจะแก้ code ที่ Entity.java และ Service.java เราก็ควร commit ทั้งสอง file ไปพร้อมกัน
หลังจากนักพัฒนาทั้งสองได้ทำงานเรียบร้อยและ commit code ทั้งหมดที่เครื่องตัวเองไปยัง SVN server แล้ว ณ จุดนี้ เราจะได้
Trunk - เก็บ FlightBooking project version 0.1
Branch_booking - มี source code ที่นักพัฒนาคนที่ 1 ได้ทำการเพิ่ม booking เข้าไป
Branch_checkin - มี source code ที่นักพัฒนาคนที่ 2 ได้ทำการเพิ่ม check in เข้าไป
สุดท้าย ผมจะทำการรวม source code จาก Branch_booking และ Branch_checkin เข้าไปยัง Trunk โดยผมจะต้องดูว่า source code ของนักพัฒนาทั้งสองคนนั้น มีส่วนที่ขัดแย้งกันหรือไม่ เช่น อาจจะแก้ code ส่วนเดียวกัน ผมก็จะเป็นคนเลือกว่าจะทำอย่างไร ดังนั้นคนที่จะทำการรวม source code จากนักพัฒนาทุกคนให้เป็นอันเกียวกันนั้นจึงต้องใช้ความชำนาญ และคิดถึงผลกระทบได้อย่างรอบคอบ
หลังจากรวมเรียบร้อยแล้ว ผมก็จะได้ trunk ที่มีทั้ง booking และ check in เรียบร้อยแล้ว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น