นักวิทยาศาสตร์ข้อมูล (Data Scientist)

Git และ Github สิ่งที่ Data Scientist ต้องรู้จัก

หลังจากได้เรียนรู้เกี่ยวกับ R แล้ว ก็จะทราบว่า การทำงานกับ R นั้นคือการสั่งด้วยการ พิมพ์คำสั่ง (script หรือ code)
ว่าด้วยเรื่องของการปฎิบัติ หลังจากที่ code เขียนเสร็จแล้ว ก็จะเก็บหรือ save ไว้ในเครื่องคอมของเรา ใช่ไหมหละครับ สมมุติว่า ต้องการจะใช้ code เดิมที่เขียนขึ้นมาเมื่อครั้งที่แล้ว แต่พบว่า code นี้ ไม่ถูกต้องและต้องแก้ไข และเมื่อแก้ไขเสร็จแล้วก็ save ทับลงไปด้วยความบังเอิญหรือตั้งใจก็ตาม แต่โชคร้ายที่ code นั้นไม่ถูกต้องอีก และอยากจะกลับไปยัง code ชุดแรกที่สร้างขึ้น ก็ทำไม่ได้เพราะว่าถูก save ทับไปแล้ว และจะต้องเขียน code ขึ้นมาใหม่ ซึ่งทำให้เสียเวลา หรือ หลายๆคน คงจะเคย save ไว้หลาย version เช่น fileAed1.R, fileAed2.R, fileAfinal.R, fileAfinal2.R หลายต่อหลาย version ซึ่งบางครั้ง อาจจะจำไม่ได้ว่าอันไหนเป็น version ที่ต้องการ แต่เหตุการนี้ จะไม่เกิดขึ้นถ้าเพื่อนๆ รู้จัก Version Control System ซึ่งในบทความนี้ ผมจะแนะนำให้รู้จัก Git และ Github ครับ

github-logo

Git และ Github เป็น เครื่องมือที่สำคัญอันนึงที่ data scientist จะต้องรู้จัก แรกเริ่มจริงๆแล้ว Git ถูกใช้กันในหมู่ นัก programmer ครับ ยrogrammers ใช้ Git เพื่อร่วมกันพัฒนา software หรือ code Git คือ version control system อันหนึ่ง แปลกันตรงๆ คือ ระบบที่ช่วยควบคุมลำดับและขั้นตอนของการพัฒนา code ช่วยให้ผู้พัฒนา code สามารถ บันทึกการพัฒนาลงไปใน code พูดง่ายๆ คือ Git จะช่วยผู้ใช้ทราบถึงการเปลี่ยนแปลงระหว่าง code ดั่งเดิม กับ code ที่พัฒนาขึ้นมา Git ไม่ใช่เจ้าหรือระบบเดียวที่เป็น version control ครับแต่ยังมี เช่น SVN แต่ Git เป็นที่นิยมมาก ถ้าไม่มี Github การจะทำงานร่วมกันกับ Git จะต้องพิมพ์ผ่าน command หรือ Terminal เท่านั้น ดังนั้น Github จึงถูกพัฒนาขึ้นมาเพื่อทำให้การทำงานกับ Git สะดวกและง่ายดายมากขึ้น Github คือ application ทำงานร่วมกันกับ Git โดยมี interface ที่ทำใช้งานง่าย

gitandgithub

ประโยชน์ของ Github

  1. ช่วยเก็บ code ของเรา online คล้ายๆ dropbox หรือ google drive แต่เก็บเฉพาะ code file

  2. ช่วยให้เราเห็นข้อแตกต่างของ code ที่ถูกบันทึกในช่วงเวลาต่างๆ เช่น ก่อนหน้านี้ หรือ ที่ถูกพัฒนาโดยเพื่อนร่วมทีมหรือคนอื่น

  3. เอื้ออำนวยให้การร่วมกันพัฒนา code หรือ project นั้นๆ ได้อย่างราบรื่น ยกตัวอย่างเช่น project A มีนักพัฒนาสามคนร่วมกันพัฒนาจาก original code แต่ละคนก็พัฒนาจาก original code แตกกิ่งก้านการพัฒนาออกไป เมื่อมีนักพัฒนาอยากจะพัฒนาต่อจากที่นักพัฒนาทำไว้แล้วก็สามารถทำได้ หรืออยากจะพัฒนาจาก original code ก็สามารถทำได้เช่นกัน

  4. บันทึก code ได้ทั้งในเครื่องคอมพิวเตอร์ และ บน github ในเวลาเดียวกัน ง่ายๆ คือ การ backup

การสมัครนั้นก็แสนจะง่ายครับ เข้าไปลงทะเบียน Github แล้วก็สามารถ download application ไว้ในเครื่องได้ครับ

สำหรับใครที่อยากจะรู้ขอแนะนำ

  • ภาษาไทย Blog ของคุณ วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย Git คืออะไร ซึ่งอธิบายได้อย่างดีมาก

  • English จาก Data School Git and Github for Beginner อันนี้ก็ดีงามด้วยประการทั้งปวงครับ

ปล.ถ้าพบว่าข้อมีจุดใดไม่ถูกต้อง หรืออธิบายไม่ถูกต้องสามารถเขียนแนะนำเข้ามาได้ครับ จะขอบคุณอย่างมาก

วันนี้ขอฝากไว้เท่านี้ก่อนครับ ต่อไปจะมาอธิบายการทำงานของ Github ว่ามันทำงานกันอย่างไร push, pull, fork คืออะไร ติดตามกันได้ และสามารถใช้ร่วมกันกับ R และ RStudio ได้อย่างไร

Xiith Jais

Xiith Jais

Xith สิทธ์ is studying PhD. of Botanical epidemiology at UPLB, Philippines. Xith love "R" , and use "R" in my research at International Rice Research Institute. Xith hope to have R- communities in Thailand. : )
Xiith Jais
Loading Facebook Comments ...

Leave a Reply