ป้ายกำกับ

แสดงบทความที่มีป้ายกำกับ Eclipse แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Eclipse แสดงบทความทั้งหมด

วันศุกร์ที่ 12 มิถุนายน พ.ศ. 2558

ทดลองติดตั้ง Team Foundation Server 2013

หลายปีมาแล้วที่ผมพยายามจะทดลองใช้ Team Foundation Server(TFS) ตั้งแต่สมัย Visual Studio 2008 แต่สุดท้ายก็เลิกใช้ เนื่องจากมันใช้ทรัพยากรค่อนข้างมาก ซึ่งตอนนั้นผมไม่ได้มี Windows Server ดูแลประจำอยู่ ก็เลยหันไปใช้ Subversion บน Ubuntu แทน และเนื่องจากตอนนั้นก็ต้องการเพียงแค่เรื่องของ Version Control เท่านั้นด้วย ก็เลยลงตัว แต่ผมก็ยังติดตามดูความสามารถของโปรแกรมตัวนี้อยู่เรื่อยๆ เพราะคิดว่าสักวันคงต้องได้ใช้มันแน่ๆ

ผ่านไปหลายปี หลังจากดูๆมานาน และหลายปีแล้วที่มหาวิทยาลัยสงขลานครินทร์ลงทุนซื้อลิขสิทธิ์ซอฟต์แวร์ของค่าย Microsoft ไว้ทุกๆปี ก็เลยคิดว่าน่าจะเอามาใช้ให้คุ้มค่า 2-3 วันมานี้ก็เลยได้เวลาทดลองติดตั้งดู ซึ่งผมได้ทดลองติดตั้งไว้ใน Virtual Machine โดยลืมไปว่ามันค่อนข้างใช้ทรัพยากรนะ ทีแรกผมกำหนด RAM ไว้เพียง 4GB พอเริ่มต้นติดตั้ง ก็ต้องหยุดเพื่อเพิ่ม RAM เข้าไปอีก จะใช้มากหรือน้อยก็อยู่ที่ว่าเราจะเลือกติดตั้งแบบใด ซึ่งมีอยู่ 3 แบบคือ
  1. Basic สำหรับติดตั้งบนเครื่องระดับ Windows Client เช่น Windows 8.1 เป็นต้น โดยไม่จำเป็นต้องมี Microsoft SQL Server แต่มันจะติดตั้งรุ่น Express ให้ และจำกัดขนาดทีมได้ไม่เกิน 5 คน ซึ่งจะเทียบเท่ากับ Team Foundation Server Express ที่ Microsoft ให้ดาวโหลดใช้ได้ฟรี
  2. Standard สำหรับติดตั้งบนเครื่องระดับ Windows Server เช่น Windows Server 2012 เป็นต้น โดยติดตั้งทุกอย่างอยู่บนเครื่องเดียว ซึ่งจะต้องมี Microsoft SQL Server อยู่ด้วย (ต้องการ RAM อย่างน้อย 8GB) และให้เลือกทำงานร่วมกับ SharePoint ได้ด้วย (ต้องการ RAM อย่างน้อย 10GB) ซึ่งผมเลือกที่จะไม่ลง SharePoint (ยังไม่อยากปวดหัว เอาไว้โอกาสหน้านะ)
  3. Advance สำหรับติดตั้งบนเครื่องระดับ Windows Server โดยที่ SQL Server หรือ SharePoint  Server อยู่ที่เครื่องอื่น
สำหรับการติดตั้งแบบ Standard นั้น เราควรจะติดตั้ง SQL Server ให้เรียบร้อยเสียก่อน โดยจะต้องเลือกติดตั้ง Reporting Service ไว้ด้วย ซึ่งถ้าหากเราไม่ได้ใช้ SharePoint ก็จะต้องเลือกติดตั้ง Reporting Service แบบ Native Mode 

เมื่อเสร็จสิ้นการติดตั้ง เราจะสามารถเข้าถึง TFS ได้ที่ URL http://<servername>:8080/tfs

Eclipse Plug-In

ส่วนหนึ่งที่ผมตัดสินใจทดลองติดตั้ง TFS ดูอีกสักครั้ง ก็เพราะค้นพบว่ามี Eclipse Plug-In สำหรับใช้ทำงานร่วมกับ TFS อยู่ด้วย ซึ่งหากทีมพัฒนาซอฟต์แวร์ของเราใช้ IDE คนละตัวกัน โดยเฉพาะ IDE สองขั้วตรงกันข้ามอย่าง Visual Studio และ Eclipse แต่ถ้ายังสามารถทำงานร่วมกันในระบบเดียวได้ ก็จะทำให้การทำงานราบรื่นขึ้น

สำหรับการติดตั้ง Plug-In นี้ไม่ได้ยุ่งยากอะไรเลย เพียงแค่ Add Repository ของ Plug-In ไว้ โดยใส่ URL คือ http://dl.microsoft.com/eclipse/tfs ดังภาพ

จากนั้นก็เลือกติดตั้ง
เท่านี้ก็ติดตั้งได้เรียบร้อย

Netbeans Plug-In

สำหรับผู้ที่ใช้ Netbeans นั้น เท่าที่ผมค้นมา พบว่ามีการร้องขอให้ทาง Microsoft ทำ Plug-In ออกมาเหมือนกัน ตั้งแต่เมื่อปี 2010 แล้ว แต่ก็ไม่ได้รับการตอบสนอง และมีโครงการ NetBeans Plugin for Team Foundation Server ที่พัฒนามานานแล้วแต่ยังไม่เสร็จสักที สุดท้ายก็มีกระทู้ใน StackOverflow แนะนำให้เลี่ยงไปใช้วิธีอื่น เช่น ใช้ SVN Bridge เป็นต้น แต่ก็จะได้ความสามารถเพียงแค่เรื่องของ Version Control เท่านั้น

สรุป

สำหรับผู้ที่สนใจจะนำเอากระบวนการพัฒนาซอฟต์แวร์ตามหลักการมาใช้ในทีม เครื่องมืออย่าง Team Foundation Server นี้ก็เป็นสิ่งที่น่าสนใจไม่น้อย หากไม่มีงบเพียงพอที่จะซ์้อ สามารถใช้รุ่น Express ก็ได้ และเดี๋ยวนี้ทาง Microsoft ก็มีบริการแบบ Online ที่เรียกว่า Visual Studio Online ให้สามารถทำงานได้เช่นกัน

วันจันทร์ที่ 28 เมษายน พ.ศ. 2557

Ubuntu 14.04 LTS: ปัญหา Subversion บน Eclipse 3.8

หลังจากที่ผมติดตั้ง Ubuntu 14.04 LTS ไปประมาณหนึ่งสัปดาห์ ตอนนี้ก็ได้ฤกษ์ใช้งาน Eclipse เขียนโปรแกรมสักที และเนื่องจากโปรแกรมหลายๆตัวที่ผมเขียน ผมใช้ Subversion เก็บซอสโค้ดไว้ จึงทำการ Import โปรแกรมมา แต่ปรากฏว่าเกิดปัญหาขึ้น 2 เรื่อง

ปัญหาที่ 1 SVN มี 2 เมนู

เมื่อเลือกเมนู File/Import จะปรากฏหน้าต่าง ซึ่งปกติแล้ว เราก็จะเลือกหัวข้อย่อย SVN โดยจะมีหัวข้อ Checkout Projects from SVN ดังภาพ (ขออภัยที่ผมลืมเก็บภาพตอนที่มี 2 หัวข้อ) แต่ปรากฏว่ามี SVN อีกอันหนึ่ง มีหัวข้อย่อยคล้ายๆกัน ผมก็เกิดความสงสัยขึ้น แอ๊ะเกิดอะไรขึ้นกับ Eclipse และเมื่อเปิดไปที่เมนู Window/Preferences/Team เพื่อดูการตั้งค่าของ Subversion ก็ปรากฏว่า มีหัวข้อ SVN อยู่ 2 หัวข้อเช่นกัน

หลังจากที่ตรวจสอบ Plug-In ต่างๆที่ติดตั้ง (เลือกลิ้งค์ Uninstall or update ที่เมนู Window/Preferences/Install/Update) ก็ได้ข้อสรุปว่า ผมติดตั้ง Eclipse Team Provider สำหรับ Subversion ไปสองตัวคือ Subversive และ Subclipse ซึ่งปกติแล้ว ผมจะใช้ Subversive อยู่เป็นประจำ เพราะมี Connector หลายแบบให้เลือกใช้ แต่เอ Subclipse มันมาได้ไง? เราเผลอไปติดตั้งตอนไหนนะ? จะเอาออกดีหรือเปล่า? เพื่อให้มั่นใจ ผมจึงศึกษาข้อมูลดูจาก StackOverflow และพบว่า เขาแนะนำให้ใช้ Subclipse ดีกว่า เพราะทีมพัฒนา(มาตอบเอง) บอกว่า ทีมงานเขา Active กว่า Subversive ที่มีผู้พัฒนาอยู่น้อย และยังติดวงเล็บต่อท้ายว่า Incubation ตั้งนานแล้ว นอกจากนี้ เขายังทำงานร่วมกับทีมที่พัฒนา Subversion บนระบบอื่นๆ เช่น AnkhSVN และ TortoiseSVN อย่างไกล้ชิด เพื่อให้สามารถทำงานเข้ากันได้

โอเคครับ ผมก็เลยตัดสินใจ ถอน Subversive ออก แต่ตอนที่ถอนออก เราจะต้องไล่ถอน Plug-In ต่างๆที่เกี่ยวข้องออกให้หมดนะครับ ไม่อย่างนั้นแล้ว เมนู SVN ของ Subversive จะยังคงปรากฏให้เห็นอยู่ อาจจะทำให้เกิดความสับสนในการใช้งานได้ เพราะมันจะคล้ายๆกัน สำหรับ Plug-In ที่เกี่ยวข้องกับ Subversive ก็คือ
  • Subversive SVN Team Provider (Incubation)
  • Subversive SVN JDT Ignore Extensions (Optional) (Incubation)
  • Subversive SVN Integration for the Mylyn Project (Optional) (Incubation)
  • Subversive Revision Graph (Optional) (Incubation)
  • Subversive SVN Connectors
  • Native JavaHL x.x Implementation (Optional)
  • SVNKit x.x.x Implementation (Optional)

ปัญหาที่ 2 Subclipse 1.8 ไม่สามารถทำงานร่วมกับ JavaHL 1.8 ได้

เมื่อเหลือแต่ Subclipse แล้ว ผมก็เริ่มต้น Import โปรแกรมใหม่ แต่ก็ไม่สำเร็จเนื่องจาก Subclipse ฟ้องว่าไม่สามารถทำงานร่วมกับ JavaHL ที่มีอยู่ได้ ต้องใช้รุ่น 1.7.x ดังภาพ
เมื่อตรวจสอบระบบแล้ว พบว่า Ubuntu 14.04 มี Package ของ Subclipse รุ่น 1.8 และ JavaHL รุ่น 1.8 เช่นกัน แต่จากคำอธิบายในบทความเรื่อง Wiki ของ JavaHL ระบุรุ่นที่ทำงานร่วมกันไว้คือ
Subclipse VersionSVN/JavaHL Version
1.10.x1.8.x
1.8.x1.7.x
1.6.x1.6.x
1.4.x1.5.x
1.2.x1.4.x
1.0.x1.4.x
นั่นหมายความว่า ถ้าใช้ Subclipse 1.8 ก็จะต้องติดตั้ง JavaHL 1.7 ซึ่ง Ubuntu 14.04 ไม่มีให้ และถ้าจะใช้ JavaHL 1.8 ตามที่ Ubuntu 14.04 มีให้ ก็ต้องอัพเกรด Subclipse เป็น 1.10 โดยทีแรกผมพยายามจะหา JavaHL 1.7 มาติดตั้งแล้ว แต่เกิดปัญหาว่า ในระบบอาจจะมีโปรแกรมอื่นๆที่ต้องใช้งาน JavaHL ด้วยเช่นกัน ไม่ใช่มีเพียง Eclipse เท่านั้น ทำให้เกิดปัญหา dependency ต่างๆพันกันไปหมด สุดท้ายผมก็เลยตัดสินใจ อัพเกรด Subclipse โดยเข้าไปที่ Install New Software และเพิ่ม Repository สำหรับ Subclipse รุ่น 1.10.x ตรงช่อง Work with ด้วย URL http://subclipse.tigris.org/update_1.10.x เท่านี้ก็จะปรากฏ Plug-In รุ่น 1.10 และส่วนที่เกี่ยวข้องอื่นๆมาให้เราเลือกติดตั้งได้ทันทีดังภาพ
เมื่อติดตั้งแล้ว ก็จะสามารถใช้งาน Subversion ได้ตามปกติ

วันจันทร์ที่ 20 มกราคม พ.ศ. 2557

Eclipse cannot start after upgrade Ubuntu to 13.10

สองวันมานี้ผมเสียเวลาไปกับการอัพเกรดเครื่องจาก Ubuntu 12.04 LTS ไปเป็น 13.10 เนื่องจากผมต้องการทดลองใช้งานโปรแกรมใหม่ๆ จึงคิดว่าถึงเวลาเตรียมพร้อมสำหรับ 14.04 LTS ที่จะออกมาประมาณเดือนเมษายนนี้แล้ว โดยผมใช้วิธีค่อยๆอัพเกรดเป็นขั้นๆ เนื่องจากมีโปรแกรมหลายๆอย่างที่ผมไม่อยากตั้งค่าใหม่ และอยากจะเห็นความเปลี่ยนแปลงของแต่ละรุ่นด้วย แต่ก็เสียเวลามากหน่อยเพราะต้องอัพเกรดดังนี้

  • จาก 12.04 LTS ไปเป็น 12.10
  • จาก 12.10 ไปเป็น 13.04
  • จาก 13.04 ไปเป็น 13.10
เสียเวลาไปเกือบสองวัน สุดท้ายก็ได้ทุกอย่างสมกับที่ยอมเสียเวลาเหนื่อย

แต่ก็มีปัญหากับ Eclipse ที่รันไม่ได้ ปัญหานี้มักจะเจอบ่อยๆในหลายๆครั้งที่ผมอัพเกรด Ubuntu ครั้งนี้มี Error คือ

!SESSION Mon Jan 20 21:15:05 ICT 2014 ------------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2014-01-20 21:15:05.091
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:626)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

มีหลายคนแนะนำให้แก้ไขไฟล์ eclipse/configuration/config.ini เนื่องจากชื่อไฟล์ org.eclipse.osgi_x.x.x.jar ไม่ตรงกับรุ่นที่ติดตั้ง ซึ่งเมื่อผมตรวจสอบ พบว่า ในเครื่องของผมไม่มีไฟล์นี้อยู่ ไม่รู้ว่าหายไปไหน และก็ไม่รู้ว่าจะเอามาจากไหนดีด้วย ค้นไปค้นมา ก็พบว่ามันอยู่ใน Package ชื่อ libequinox-osgi-java ครับ แต่ในเครื่องมันแสดงว่าผมติดตั้งไว้แล้ว ซึ่งควรจะมีไฟล์อยู่ ผมจึง reinstall ใหม่ ก็ใช้ได้เลยครับ