ก่อนที่จะอธิบายการทำ Git Fileserver Backend บน Salt Master จะอธิบายความหมายต่างๆ ที่ควรรู้ก่อนน่ะครับ Salt Master คือ Service ของ Salt ที่ติดตั้งอยู่บนเครื่อง Server เพื่อเป็นตัวควบคุม Client หรือเรียกว่า Salt Minion เช่น เราสามารถสั่งติดตั้ง Package bind9 และสั่ง start service bind9 ให้อัตโนมัติจากเครื่อง Salt Master ได้เลย โดยการสั่งงานผ่าน SLS Formula หรือ Script ซึ่งอยู่ใน File server ของเครื่อง Salt Master ซึ่งโดยปกติ salt file server path จะอยู่ที่ directory /srv/salt/ ของ host salt master ซึ่งเราสามารถเปลี่ยนให้ไปเรียกที่ git repository ได้ หมายความว่าเราสามารถเรียก Script SLS Formula จาก repository ที่อยู่ใน git server ได้ git server ถ้าอธิบายแบบง่ายๆ ก็คือ การทำ version control ให้กับ code ที่เราเขียนขึ้น สามารถอ่านเพิ่มเติมได้ที่ Link นี้ครับ ซึ่ง git server นี้จะเป็น git server ที่ติดตั้งขึ้นมาเองก็ได้ หรือจะใช้เป็นบริการฟรีอย่างเช่นเว็ปไซด์ github.com ซึ่งเป็นเว็บไซต์ที่ให้บริการเสมือน git server เป็นบริการฟรีแบบมีเงื่อนไขคือ คุณสามารถใช้งานได้ฟรี แต่โปรเจ็กที่สร้างขึ้นจะต้องเป็นแบบ public เท่านั้น คือ คนอื่นสามารถเข้าไปดูโค้ด ดูดโค้ด ท่านได้ ถ้าไม่อยากให้ชาวบ้านเห็นโปรเจ็กของท่าน ก็ต้องเสียตังใช้บริการ เพื่อสร้างโปรเจ็กแบบ private หรือ git server ที่ให้บริการฟรีอีกเว็ปไซด์ก็คือ bitbucket.com
Continue reading

Recruitment Module คือ โมดูลที่มีไว้สำหรับการประกาศรับสมัครพนักงานและเข้าดูข้อมูลผู้ที่มาสมัครงานใน OrangeHRM ซึ่งประกอบด้วย 2 ส่วนหลักคือ

Job เป็นส่วนที่มีไว้เพื่อทำการประกาศรับสมัครพนักงานใหม่ เข้าทำงานภายในองค์กรในตำแหน่งที่องค์กรต้องการ โดยทาง Admin หรือหัวหน้าแผนกจะทำการประกาศรับสมัครงาน โดยมีขั้นตอนการเริ่มต้นใช้งาน คือ

ทำการคลิกที่ Add เพื่อทำการเพิ่มตำแหน่งที่ต้องการรับสมัคร

ใส่รายละเอียดดังต่อไปนี้

  •  ชื่อตำแหน่ง
  • หัวหน้างาน
  • รายละเอียดงาน
  • คลิกที่ Active

ทำการกด Save

2


Continue reading

CouchDB เป็นหนึ่งใน Database Software ที่มีลิขสิทธิ์แบบ Open Source ที่มานำเสนอเพื่อจะได้เป็นตัวเลือกหนึ่งที่เพื่อนๆ สามารถนำมาใช้เป็นฐานข้อมูลให้กับระบบต่างๆ ของเราได้ครับ

เริ่มต้นจากการติดตั้งก่อนเลยนะครับ ซึ่ง CouchDB สามารถติดตั้งได้ทั้งบน Windows และ Linux (หรือกระทั่ง Mac OS X)

สำหรับการติดตั้ง CouchDB บน Windows ให้เราเข้าไปดาวน์โหลดตัวติดตั้งได้ที่หน้า ดาวน์โหลด บนเว็บไซต์ของ CouchDB หลังจากนั้นก็เพียงแค่ติดตั้งตามขั้นตอนของ Installation Wizard ก็เป็นอันเสร็จสิ้นกระบวนการ
Continue reading

การสร้างฐานข้อมูลบน CouchDB ที่จะทดสอบให้ดูกันนี้ จะทดลองสร้างฐานข้อมูลบน Ubuntu กันนะครับ

โดยเราสามารถสร้างฐานข้อมูลด้วยการรันคำสั่ง

$curl -X PUT http://localhost:5984/<database_name>

ดังรูปตัวอย่างด้านล่าง


Continue reading

Performance Module เป็นโมดูลที่ไว้ใช้วัดประสิทธิภาพในการทำงานแต่ละตำแหน่ง และกำหนดไว้ว่ามีถึงระดับไหนบ้าง โดยในโมดูลนี้ จะมีโมดูลย่อย 5 โมดูล ได้แก่ KPI List, Add KPI, Copy KPI, Add Review และ Review

1. KPI List เป็นการแสดงเกณฑ์ในการวัดประสิทธิภาพในการทำงานแต่ละตำแหน่ง โดยหากจะทำการดู จะต้องเลือกที่ Performance แล้วคลิก KPI List แล้วทำการเลือกตำแหน่งงานที่ต้องการดู หรือ ถ้าจะดูทั้งหมดให้กด Search ได้เลย และยังสามารถเพิ่มเกณฑ์ในการวัดประสิทธิภาพในการทำงาน ได้จากหน้านี้ด้วย โดยการคลิกที่ Add หรือจะเข้าโมดูล Add KPI ก็ได้
Continue reading

ในระบบ Git stores repository จะมี directory ที่ชื่อว่า .git ภายในนั้นจะมีสิ่งที่เรียกว่า git hooks ที่อนุญาติให้คุณสามารถเขียน script เพื่อคุมการทำงานของ workflow ได้ แต่โดยปกติแล้ว Git จะไม่สามารถที่จะ push .git ขึ้นไปยัง repository ได้ นั้นหมายความว่า git hooks ที่ผมจะพูดนั้นทำงานได้เฉพาะบน local เท่านั้น ( แต่โชคไม่ทีเท่าไหร่มีคนสามารถหาช่องเจอ โดยอาศัย case-insensitive filesystems ซึ่งสามารถ push .Git หรือ .GIT ขึ้นไปยัง repository ได้ อ่านเพิ่มเติมได้ที่ CVE-2014-9390 )

มาดูสิ่งที่ git เตรียมไว้ให้ใน git hooks กัน

git hooks

เราสามารถอ่านคำอธิบายการทำงานต่างๆ ของแต่ละไฟล์ได้เลย หากต้องการจะใช้งานให้ลบนามสกุล .sample ออก แล้วทำการ change mode ให้สามารถ execute ได้


Continue reading

Serf เป็นเครื่องมือที่ช่วยให้ การจัดการ กับ ระบบคลัสเตอร์ทำได้ง่ายขึ้น  ทำงานโดยผ่าน GOSSIP โปรโตคอล ซึง Serf ถูกออกแบบมาเป็นโครงสร้างที่  ไม่ซับซ้อน, ใช้ทรัพยากรน้อย, ทำงานได้เร็ว และ ยืดหยุ่น อยากให้เปรียบเทียบกับ Hearbeat แม้ฟังก์ชั่นอาจจะไม่ตรงตัวนักแต่จะทำให้เข้าใจได้ง่ายกว่า Serf พัฒนาโดย HarshiCorp  ซึ่งเป็นคนพัฒนา Vagrant เขียนด้วย ภาษา Go (Golang)

สาเหตุที่ผมเลือกใช้ Serf ในการนำเอามาใช้งานคือ ต้องการหลีกเลี่ยงการออกแบบระบบให้กลายเป็น (Single point of failure) ขณะเดียวกัน ลดความยุ่งยากของระบบที่ทุกสิ่งทุกอย่างรวมอยู่ด้วยกัน (Centralized) นอกจากนั้นผมต้องการนำเอาระบบนี้มาใช้ใน Docker และ ขณะเดียวกันก็ลดความยุ่งยากของการ deployment ระบบ สรุปภาพรวมของความต้องการผมได้ดังนี้

  • หลีกเลี่ยง จุดตาย (Single point Of Failure)
  • หลีกเลี่ยง ระบบที่รวมอยู่ที่ศูนย์กลาง (De-centralized)
  • อยากได้การทำงานของ ระบบที่ไม่ซับซ้อน เพื่อง่ายต่อการทำความเข้าใจ หรือ การเรียนรู้  และ ง่ายต่อการติดตั้ง ปรับแต่ง
  • etcd  ต้องการ Server etcd ไม่งั้นจะคอย report ERROR ไม่สามารถเชื่อมต่อกับ Node Datacenter ได้
  • Zookeeper ระบบมีความซับซ้อน
  • Dooserd ดูจาก repository ไม่ค่อยมีการ update และ issue fix  มานานแล้วผมจึงใช้
  • Google Kubernates มีขนาดใหญ่ไปและผมต้องการระบบอะไร ที่มันมีความซับซ้อนน้อยที่สุด


Continue reading

สวัสดีครับมาดูการ Fork และ Pull Request ใน Github กันครับ ซึ่งความหมายของ Fork ในภาษาอังกฤษแปลว่าการแตกสาขา ใน GitHup ก็จะหมายถึงการ copy repository ที่มีอยู่แล้วนำมาพัฒนาต่อยอดไป ส่วนใหญ่ก็จะ Fork จาก repository ที่ share public ไว้ หรือใน repository ที่เรามี permission ก็จะสามารถ Fork repository นั้นมาได้ ส่วนการ Pull Request คือการบอกถึงการเปลี่ยนแปลงใน repository ของเรากับ repository อื่น คนอื่นสามารถมา comment, review การเปลี่ยนแปลงนั้น, modification หรือแม้แต่สามารถ push และ commit ถ้าจำเป็น
Continue reading

zabbix สามารถ monitor website ต่างๆ ตามที่เรากำหนดได้ ซึ่งตอนติดตั้ง zabbix server ต้องกำหนดให้ support cURL(libcurl) ด้วยจึงจะสามารถใช้งานในส่วนนี้ได้โดยสามารถดูวิธีการติดตั้ง libcurl เพิ่มเติมได้ที่ Link นี้ zabbix สามารถ monitor ได้ทั้ง HTTP และ HTTPS web monitoring จะแบ่งเป็น 2 ส่วนคือ web scenario และ step โดย web scenario จะประกอบด้วย HTTP request หรือเรียกว่า steps ใน steps สามารถบอกถึงค่า download speed per second, response time, response code และค่าอื่นๆ และ zabbix monitoring ยังสามารถตรวจสอบ HTML page นั้นมี string ที่เราต้องการอยู่หรือไม่ เรามาเริ่มการ config zabbix web monitoring กันเลย ในตัวอย่างผมจะกำหนดให้มี zabbix server 1 host และ zabbix agent 1 host ซึ่งติดตั้ง web server ไว้รายละเอียดต่างๆ ของแต่ล่ะ host ดังนี้
Continue reading

เรียนเชิญผู้ที่สนใจในงาน Linux Embeded และ Internet of Thing ทุกท่านเข้าร่วมชมงานประกวดผลงาน ผู้เข้ารอบงานประกวดนวัตกรรมจากคอมพิวเตอร์จิ๋ว (Raspberry PI) ครั้งแรกในประเทศไทย ในวันที่ 17 มกราคม 2558 ลานกิจกรรม ชั้น 3 IT Mall Fortune

กิจกรรมในงาน

  • ไอเดียผลงานจาก Raspberry PI จาก 23 ทีม จัดแสดงตามโต็ะแสดงผลงานให้ท่านได้เลือกชมตามสะดวก
  • ชมการพรีเซนต์ผลงานประกวดจากผู้เข้าแข่งขัน
  • Mini Workshop Raspberry PI ฟรี
  • ตัวอย่างการนำ Embedded System ไปใช้ในงานอุตสาหกรรมจริง พร้อมให้คำปรึกษาจากวิศวกรของเรา
  • สินค้าทางด้าน Embedded System เช่น Raspberry PI , NUCLEO จัดจำหน่ายในงานราคาพิเศษ
  • หัวข้อการบรรยายพิเศษ จาก แขกรับเชิญ เป็นงานที่เน้นบรรยากาศเป็นกันเองครับ

รายละเอียดเพิ่มเติม – http://www.deaware.com/training/rpicontest