มีคนถามเข้ามาเรื่อง Arduino IDE บน Ubuntu ผมก็สงสัยว่า IDE ก็มีอยู่ให้ดาวน์โหลดที่เว็บ arduino.cc พอเข้าเว็บไปดูอีกรอบก็ถึงทราบว่าเป็น zip ไฟล์นี่เอง เข้าใจว่าไม่รู้ว่าจะเปิดไฟล์ไหนยังไงล่ะมั๊ง ครั้งนี้ก็เลยมาแนะนำวิธีติดตั้ง Arduino IDE บน Ubuntu 14.04 กันสักหน่อย ตัว IDE สามาถติดตั้งได้ 2 วิธี วิธีแรกคือติดตั้งผ่าน Software Center พิมพ์คำว่า Arduino ลงไปก็สั่งติดตั้ง IDE ได้เลย ง่ายมากๆ

อีกแบบคือติดตั้งเอง สำหรับ Linux ค่ายอื่นๆ ที่ไม่มีคนใจดีทำ package มาให้ :) การติดตั้งแบบติดตั้งเองต้องติดตั้ง Java ด้วยนะครับ :) เริ่มจากติดตั้ง Java กันก่อนเลย


Continue reading

อย่างที่ทราบกันว่า git เป็นเทคโนโลยีที่จะให้นักพัฒนาอย่างเราๆ สะดวกสบายในการพัฒนาอะไรสักอย่างหนึ่งขึ้นมา ซึ่ง git จะทำหน้าที่ในการจัดการเกี่ยวกับเวอร์ชันของซอร์สโค้ดของเรา ไม่ว่าจะเป็นเรื่องการตรวจสอบความแตกต่างระหว่างเวอร์ชัน (diff) การย้อนกลับมาเวอร์ชันก่อนหน้าเมื่อมีปัญหา (revert) หรือตรวจสอบเกี่ยวกับรายละเอียดของแต่ละเวอร์ชัน (log)

นักพัฒนาที่ใช้ git ส่วนใหญ่ จะนิยมใช้บริการจากผู้ให้บริการอย่าง GitHub หรือ BitBucket แต่ในองค์กรที่ให้ความสำคัญกับความปลอดภัย อาจจะเลือกที่จะตั้งเซิร์ฟเวอร์เพื่อใช้ในการบริหารจัดการซอร์สโค้ดเอง
Continue reading

ความแตกต่างระหว่าง local repository กับ remote repository นั้น ก็เหมือนกับการที่เราทำงานบนเครื่องของเรา กับการทำงานโดยข้อมูลอยู่บนเซิร์ฟเวอร์ ซึ่งอย่างหลังทำให้มีความปลอดภัย และทำงานร่วมกันกับบุคคลอื่นได้ง่ายกว่า

เริ่มต้นโดยการทดลองใช้คำสั่ง git init เพื่อสร้าง repository บน local ก่อน
Continue reading

ครั้งที่แล้วเราใช้ Raspberry Pi เชื่อมต่อกับ Sensor วัดอุณหภูมิ DHT22 ครั้งนี้ลองมาใช้ 1 Wire Temperature Sensor อย่าง DS1820 บ้าง Sensor ตัวนี้มี 3 ขาหน้าตาคล้ายกับ TM/LM35 จ่ายไฟ 3.0 – 5.5V อ่านข้อมูลจากขาที่ 2 คล้ายกัน แต่ข้อมูลจะส่งออกมาเป็น digital สามารถต่อพ่วงใช้งานร่วมกันหลายตัวแบบ parallel ได้ ใครสนใจในรายละเอียดของ DS1820 ก็สามารถ ใน Raspberry Pi เราสามารถใช้ Kernel Module ชื่อ w1-gpio และ w1-therm ในการเชื่อมต่อกับ DS1820 ได้โดยตรงก่อนอื่นมาต่อวงจรกันก่อน


Continue reading

การใช้งาน Git ผ่าน Remote Repository ร่วมกันนั้น ก่อนหน้านี้เราพูดถึงการทำงานแบบ Centralized Workflow ไปแล้ว ในคราวนี้จะพูดถึงการทำงานอีกลักษณะหนึ่ง ซึ่งก็ไม่ได้แตกต่างจาก Centralized Workflow นัก เพียงแต่ผู้พัฒนา พัฒนาโดยแตก Branch Feature บน local repository แล้วจึง merge แล้ว push ไปยัง Remote Repository

เริ่มต้นจากนักพัฒนามากกว่า 1 คน ที่ทำงานบน remote repository เดียวกัน เริ่มโดยการใช้คำสั่ง git clone เพื่อคัดลอกมาทำงานบน local repository
Continue reading

เกี่ยวกับ Git Workflow นั้นให้มองภาพการพัฒนาซอฟต์แวร์ที่มีนักพัฒนาหลายคนร่วมในโครงการ การพัฒนาฟีเจอร์ การ release version ใหม่ การแก้ bug ซึ่ง git workflow ก็คือการนำสิ่งเหล่านั้นมาพัฒนาในรูปแบบของ workflow โดยใช้ git ช่วยในการพัฒนา

ยกตัวอย่างการพัฒนาซอฟต์แวร์ตามผังการพัฒนาในรูปตัวอย่างด้านล่าง


Continue reading

ในการพัฒนาซอฟต์แวร์เราจำเป็นต้องเก็บซอร์สโค้ดไว้ในเวอร์ชั่นคอนโทรล (version control) เพื่อที่บันทึการเปลี่ยนแปลงต่างๆ ในซอร์สโค้ดของเราและการทำงานร่วมกับทุกคนในทีม ซึ่งซอฟต์แวร์ประเภทเวอร์ชั่นคอนโทรลที่นิยมกันในปัจจุบันนั้นก็คือ Git และก็มีคลาวด์เซอร์วิสที่ควบคุมการทำงาน Git อีกทีเพื่อเราทำงานกับคนในทีมได้สะดวกยิ่งขึ้นด้วย เช่น GitHub, Bitbucket เป็นต้น เซอร์วิสอย่าง GitHub หรือ Bitbucket มีบางอย่างที่ไม่ตอบโจทย์ระดับองค์กรเหมือนกัน เช่น ไม่รองรับจำนวนคนในองค์กรได้ การใช้งาน repository อาจจะไม่เพียงพอ หรืออยากเก็บซอร์สโค้ดเป็นความลับในองค์กรทำให้เราไม่อยากฝากไว้กับผู้ให้บริการภายนอก เป็นต้น เพราะฉะนั้นจึงมีคนคิดค้นให้เซอร์วิสพวกนี้ให้ทำงานได้สำหรับองค์กร ซึ่งมีชื่อว่า GitLab
Continue reading

สมาคมสมาพันธ์โอเพนซอร์สแห่งประเทศไทย ร่วมกับ สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์การมหาชน) ขอเชิญทุกท่านร่วมงานสัมมนาโอเพนซอร์ส ประจำปี 2557 กับงาน “มหกรรมซอฟต์แวร์โอเพนซอร์สแห่งประเทศไทย ครั้งที่ 12″ หรือ Thailand Open Source Festival 2014 ระหว่างวันที่ 10-11 ตุลาคม 2557 ตั้งแต่เวลา 9.00-16.30 น. ณ สถาบันเทคโนโลยีปัญญาภิวัฒน์ พบกับ Open Source Solution มากมายจากผู้ประกอบการธุรกิจซอฟต์แวร์ สัมนาและ Workshop ด้าน Cloud Computing และการพัฒนาซอฟต์แวร์ด้วยเครืองมือโอเพนซอร์ส หากคุณเป็นคนรักซอฟต์แวร์โอเพนซอร์ส งานนี้ห้ามพลาด!

รายละเอียดเพิ่มเติม – ossfestival.in.th

คราวที่แล้ว blog เรื่อง systemd เกี่ยวกับการใช้งานเบื้องต้นไป คิดว่าหลายท่านอาจจะเริ่มใช้งานกันได้แล้ว ปัญหาของ systemd ยังไม่จบแค่นั้น สำหรับท่านที่เขียน init script สำหรับ start, stop, restart service เอง แล้วพยายามจะใช้ init script เดิมปัญหาเกิดขึ้นทันที อันนี้ซวยสุด เพราะผมเองก็เขียน init script เหมือนกัน T_T ครั้งนี้ก็เลยมา blog เรื่อง unit file กันสักหน่อย เอ่อ…ถ้าหักดิบใช้ CoreOS ไปเลยทุกอย่างจะจบ โดนบังคับโดยบริยาย ไม่มีอะไรให้ใช้นอกจาก systemd ไม่มี unit file ก็ต้องเขียนผ่าน cloud init เอง เรียกได้ว่านอนหลับฝันเป็น systemd เลยทีเดียว ครั้งที่แล้วได้ลองจัดการ service ผ่าน systemd โดยใช้ systemctl ไปบ้างแล้ว ครั้งนี้ก็ต้องเขียน unit file แล้วล่ะครับ

ขอยกตัวอย่าง node.js ก็แล้วกันง่ายดี node.js ทำงานเป็น httpd service ได้ระบุ port ผ่านไฟล์ config ซึ่งเราก็จะไม่แก้ไขเหมือนเดิม ใช้ port 3000 ของที่มีมานั่นแหละ :) มาสร้าง project กันก่อน ถ้ามี node.js และ express generator ก็สร้างตัวอย่างง่ายๆ ขึ้นมาได้เลย


Continue reading

สมาคมศึกษาและพัฒนาโอเพ่นซอร์ส (OSEDA) เปิด RedHat OpenStack WorkShop เตรียมความพร้อมบุคคลากรด้าน Cloud Computing ด้วย RedHat OpenStack ที่ได้รวบรวมเทคโนโลยีสำหรับที่จะสร้างโครงสร้างพื้นฐานของ Cloud IaaS (Infrastructure as a Service) ที่ได้รับความนิยมสูงสุดและสามารถขยายให้รองรับการใช้งาน ในระดับองค์กรที่ต้องการใช้ Private Cloud จนถึงการใช้งานในระดับการให้บริการ Public Cloud

ใน Workshop ท่านจะได้ฝึกปฎิบัติ

  • ติดตั้ง OpenStack (IceHouse)
  • สร้าง Project, Users, Role และกำหนด Permission ของ User
  • สร้าง Instance จาก image และ Volumne และสามารถกำหนด flavor ตามความต้องการ
  • สร้าง networks, subnets และ route เข้าใจการทำงานของ L2 network และ L3 Agent
  • สร้าง keypair เพื่อให้สามารถรองรับการเข้าไปใช้งาน Instance
  • สามารถบริหาร Security Groups และสามารถกำหนด Floating IP ให้แก่ Instance
  • สามารถเข้าใช้งาน Instance ด้วย SSH จาก External IP
  • สามารถบริหารจัดการ Block Storage (Cinder)
  • สามารถติดตั้ง Object Storge (Swift) ในลักษณะการขยายงานแบบ Multinode
  • สามารถบริหารจัดการ Container และการสร้าง Zone อย่างเหมาะสม

สนใจ สอบถามรายละเอียดเพิ่มเติมได้ที่ – OSEDA