Ubuntu server 18.04 config static IP with ifupdown not netplan

เดิมก่อนหน้า server 18.04 จะออกมาให้ใช้งานกันนั้น จะเป็น server 16.04 เราตั้งค่า (config) static IP ให้กับ server ด้วยไฟล์นี้ /etc/network/interfaces ซึ่งก็คือ package ชื่อ ifupdown และ DNS resolver ที่ใช้ก็คือ resolvconf แต่ใน server 18.04 นี้ เปลี่ยนไปใช้ package ชื่อ netplan แก้ไขที่ไฟล์ /etc/netplan/01-netcfg.yaml และใช้ DNS resolver คือ systemd-resolve ซึ่งจะ connect สอบถามชื่อ DNS จาก internal DNS ที่ IP 127.0.0.53 (ตรวจดูด้วยคำสั่ง cat /etc/resolv.conf) (ย้ำ) บทความนี้ไม่ได้บอกเล่าให้ทุกคนต้องทำแบบนี้ เพียงแต่หากท่านมีงานเฉพาะอย่างที่ต้องการใช้แบบก่อนหน้านี้ … Read more

Uploading Files into Database with ASP.NET MVC

การ    upload  file มีหลายรูปแบบ ไม่ว่าจะเป็นการ upload file  แบบ copy ไว้บน server หรือจะเป็นการบันทึกลงในฐานข้อมูลเลยโดยตรง วันนี้จะขอนำเสนอในส่วนของการ upload   file  และบันทึกลงฐานข้อมูล     โดยใช้ ASP.NET MVC  ดังนี้   กำหนดไฟล์ที่ต้องการ upload ให้มีรูปแบบดังนี้       public class UploadModel { [Required] public HttpPostedFileBase File { get; set; } }   ในส่วนของ    View   <form id=”uploader” enctype=”multipart/form-data” method=”POST”> <a type=”submit” href=”#” onclick=”uploadConfirm();” class=”btn btn-info”><span class=”glyphicon … Read more

จดหมายลอกลวง 23/4/61

ช่วง ศุกร์ที่ 20 ถึง เช้าวันนี้ จันทร์ที่ 23 เมษายน 2561 พบว่า มีผู้ใช้หลายท่านได้รับ email ลักษณะประมาณนี้ แล้วมีคำถามว่า เป็นของมหาวิทยาลัยส่งจริงหรือไม่ ตอบก่อนเลยว่า “ไม่ใช่อีเมลของทางมหาวิทยาลัย” เป็นจดหมายหลอกลวง ทางระบบของมหาวิทยาลัยจะไม่ส่ง email แจ้งเตือนใดๆอย่างนี้ ข้อสังเกต ลิงค์ใน email ที่ให้คลิก จะเป็นอะไรที่ไม่ใช่ psu.ac.th (ทราบไม๊ครับ ? ว่าโดเมนเนมของมหาวิทยาลัยสงขลานครินทร์ คือ psu.ac.th ???) ถ้าเป็นเว็บไซต์ที่ถูกต้อง ของมหาวิทยาลัย จะต้องปรากฏ รูปกุญแจเขียว และ โดเมนเป็นของมหาวิทยาลัยสงขลานครินทร์ ซึ่งใช้โดเมนเนม psu.ac.th ดังภาพ ผู้ส่ง (From) ในทางปฏิบัติ จะ “ตั้งค่า” ให้เป็นใครก็ได้ แต่ในที่นี้ เค้าจะไม่สามารถตั้งค่าเป็น @psu.ac.th ได้ เพราะเราได้ทำการจดทะเบียน DomainKeys Identified Mail … Read more

การบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 2 : การบันทึกความต้องการ)

อ้างอิงจากบทความก่อนหน้าในหัวข้อ “เริ่มต้นกับการบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 1 : Overview)”  จากบทความดังกล่าว ผู้เขียนตั้งใจเกริ่นนำเพื่อให้ผู้อ่านเข้าใจเกี่ยวกับเครื่องมือ TFS เพื่อนำมาเป็นผู้ช่วยผู้จัดการโครงการ ในการบริหารโครงการมาแล้ว สำหรับใน Phase2 นี้ ผู้เขียนจะขออธิบายขั้นตอนและรายละเอียดของการบันทึกความต้องการ หรือที่เรียกว่า Backlog Items โดยใช้เครื่องมือ TFS ในกระบวนการ Software Process : SDLC ในขั้นตอน Planning หรือการวางแผน ผู้จัดการโครงการจะสามารถวางแผนได้ ก็ต่อเมื่อทราบรายละเอียดของความต้องการทั้งหมดหรือเกือบทั้งหมดของโครงการ ในที่นี่ขอเรียกว่า Backlog items  ดังนั้น TFS จะเป็นเครื่องมือที่ช่วยเก็บบันทึก รวบรวม Backlog items ต่างๆ ที่เก็บรวบรวมมา และสามารถตรวจสอบสถานะของแต่ละ Backlog items ว่าอยู่ในสถานะใด เช่น ยังไม่ดำเนินการ กำลังดำเนินการ หรือดำเนินการแล้วเสร็จ เป็นต้น อยากรู้รายละเอียดกันแล้วใช่ไม๊ค่ะ…มาติดตามกันเลยค่ะ ขั้นตอน 1 : การสร้าง Project Name ก่อนการบันทึก Backlog … Read more

เริ่มต้นกับการบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 1 : Overview)

บทความนี้เป็นลักษณะของการเล่าประสบการณ์ของการนำเครื่องมือ MS Team Foundation มาใช้เพื่อการบริหารโครงการ เพื่อให้ผู้อ่านหรือผู้สนใจได้เห็นภาพคร่าว ๆ หรือหากเป็นประโยชน์ก็สามารถนำไปใช้งานการทำงานได้จริง ^___^

Team Foundation Server หรือ TFS เป็นเครื่องมือช่วยในกระบวนการของการพัฒนาระบบ ผลิตโดยบริษัทไมโครซอฟท์ ซึ่งประกอบด้วยเครื่องมือต่างๆ ที่ช่วยในการพัฒนาระบบในหลายๆ ส่วน ตั้งแต่ส่วนการบริหารโครงการ ส่วนการพัฒนาระบบ เป็นต้น แต่ในครั้งนี้จะกล่าวถึงการนำ TFS มาช่วยผู้จัดการโครงการในการบริหารโครงการ ตั้งแต่ขั้นตอนการมอบหมายงาน ตลอดจนการติดตามงาน ซึ่งผู้เขียนขอแบ่งออกเป็น Phase ย่อย ๆ เพื่อไม่ให้ผู้อ่านเบื่อกันไปซะก่อนนะค่ะ โดย Phase 1 นี้จะขอเกริ่นนำเพื่อให้ผู้อ่าน เห็นภาพรวมกันก่อน และใน Phase ถัดๆ ไปจะแนะนำขั้นตอนการใช้งานนะค่ะ

เบื้องต้นให้ผู้อ่านคิดถึงกระบวนการการพัฒนาระบบสารสนเทศทั่วไป จะมีขั้นตอนต่างๆ ตามกระบวนการ SDLC ซึ่งจะมีขั้นตอนหลักๆ คือ

Software Process : SDLC

  • Planning
  • Requirement Analysis
  • Designing the product architecture
  • Building or Developing the Product
  • Testing the Product
  • Deployment and Maintenance

ในมุมองของผู้จัดการโครงการ ในการบริหารโครงการ TFS ก็สามารถนำมาเป็นเครื่องมือช่วยงานได้ตั้งแต่ขั้นตอนการเก็บความต้องการจากลูกค้า (Requirements) และนำมารวบรวมไว้ใน TFS หลังจากนั้นจะนำ Requirements ที่ได้เข้าสู่กระบวนการวางแผนต่อไป

เริ่มต้นมาทำความเข้าใจคำที่ใช้ใน TFS กันก่อนนะค่ะ ซึ่งจะเทียบให้เห็นกับคำทั่วๆ ที่ใช้กันในการพัฒนาระบบ นะค่ะ

  • Backlog items หมายถึง ความต้องการ หรือ Requirements
  • Sprint หมายถึง รอบระยะของโครงการย่อย หรือ รอบระยะเวลาของการพัฒนาระบบซึ่งแบ่งย่อยเป็นรอบๆ
  • Task หมายถึง งานย่อยๆ ที่จะมอบหมายให้สมาชิกดำเนินการ

อ่านครั้งแรก อาจจะยังไม่เข้าใจ ขออธิบายรายละเอียดเพิ่มเติมนะค่ะ กล่าวคือ

  1. ในขั้นตอนของการวางแผน หรือ Planning สำหรับการพัฒนาระบบสารสนเทศจะเริ่มต้นด้วยการเข้าไปเก็บ รวบรวมความต้องการ หรือ Requirements จากลูกค้า ซึ่ง Requirements นี้ใน TFS จะเรียกว่า Backlog item โดยผู้จัดการโครงการจะนำ Backlog ที่ได้จากการรวบรวม มาเก็บไว้ใน TFS เพื่อเข้าสู่กระบวนการคัดกรอง Backlog items อีกครั้ง
  2. การคัดกรอง Backlog items คือ การพิจารณา Backlog item ว่าจะให้ดำเนินการ หรือไม่ดำเนินการ ด้วยเหตุผลใด
  3. หลังจาก Backlog items ผ่านขั้นตอนการคัดกรอง ก็จะมี Backlog items ที่พิจารณาให้ดำเนินการ ผู้จัดการโครงการก็จะต้องนำ Backlog Items มาวางแผน โดยพิจารณาตามระยะเวลา ในกรณีที่มี Backlog items จำนวนมาก นั่นก็หมายถึงระบบก็จะมีขนาดใหญ่ไปด้วยเช่นกัน จำเป็นจะต้องมีการแบ่งโครงการเป็นโครงการย่อยๆ เพื่อป้องกันความเสี่ยงของการพัฒนาระบบไม่เสร็จตามแผนที่วางไว้ การแบ่งโครงการออกเป็นโครงการย่อยๆ ใน TFS เรียกว่า Sprint ใน Sprint จะต้องระบุวันที่เริ่มต้น และ วันที่สิ้นสุด ซึ่งก็คือระยะเวลาของโครงการนั่นเอง
  4. จากนั้นผู้จัดการโครงการจะต้องพิจารณาร่วมกับลูกค้าเพื่อเลือก Backlog items ที่จะทำให้แล้วเสร็จใน Sprint นั้นๆ ในการคัดเลือก ก็จะนำปัจจัยหลาย ๆ ปัจจัย มาพิจารณา ซึ่งได้แก่ Backlog item ที่เป็นฟังก์ชันหลัก หรือมีความสำคัญจำเป็นต้องทำก่อน ความเร่งด่วนของการใช้งาน เป็นตน ผลจากการคัดกรอง หรือคัดเลือก ผู้จัดการโครงการก็จะทราบว่าในแต่ละ Sprint มี Backlog items อะไรบ้างที่จะต้องดำเนินการ ซึ่งจะเข้าสู่กระบวนการวางแผนและมอบหมายงานต่อไป
  5. โดยในแต่ละ Backlog item ของแต่ละ Sprint นั้น ผู้จัดการโครงการ จะต้องดำเนินการกำหนด งานย่อยๆ ซึ่งเป็นงาน ตามขั้นตอน หรือกระบวนการที่จะทำให้ Backlog item อันนั้นสำเร็จนั่นเอง โดยงานย่อยดังกล่าวเรียกว่า Task ซึ่งผู้จัดการโครงการเอง จะทำการบันทึกงานย่อยๆ ดังกล่าวลงใน TFS เพื่อเข้าสู่ขั้นตอนการมอบหมาย Task ต่อไป

ตัวอย่าง รูปภาพ เพื่อความชัดเจนมากยิ่งขึ้นนะค่ะ

 

ในครั้งต่อไป จะมาอธิบายวิธีการใช้เครื่องมือ TFS เพื่อทำการบันทึกข้อมูล Backlog items และอธิบายขั้นตอนการคัดกรอง Backlog items กันนะค่ะ อย่าลืมติดตามอ่านกันต่อนะค่ะ

 

ข้อมูลอ้างอิง

Team Foundation Overview : https://msdn.microsoft.com/en-us/library/ms242904(VS.80).aspx

Software Process