ในการใช้งาน Desktop Linux บางระบบที่เป็นแบบ Lightweight เช่น Xfce, Lxde หรือ Openbox จะประสบปัญหาในเรื่องของการเซ็ท Keyboard layout เพื่อเปลี่ยนภาษา เช่น ภาษาอังกฤษ->ภาษาไทย เพราะไม่มีเมนูปรับแต่งให้สามารถทำได้ รวมทั้งการใช้งานที่เป็นระบบหลายหน้าจอ เช่น 2 จอ เป็นต้น ก็จะเป็นปัญหาในการใช้งานได้ แต่เรามีวิธีการแก้ปัญหาได้ง่ายกว่าที่เราคิด โดยมีวิธีการดังนี้ครับ

... Read More

ในการทำงานบางอย่างบนระบบ Linux ซึ่งต้องทำบน command line นั้น บางคำสั่งอาจจะมีการทำงานค้างไว้แต่หากเป็นการ remote อยู่ก็จะเกิดปัญหาว่า หากปิด terminal ที่ remote อยู่จะทำให้โปรเซสนั้นถูก kill ไปด้วย แต่ถ้าเราใช้คำสั่ง screen ซึ่งจะจำลอง terminal ไว้ แล้วเราสามารถ detach ออกจาก terminal เมื่อไหร่ก็ได้ โดยที่โปรเซสนั้นจะไม่ถูก kill และเราสามารถที่จะ resume เข้าสู่ terminal เมื่อไหร่ก้ได้เช่นกัน โดยการใช้งานเราสามารถทำได้ดังนี้ครับ

... Read More

ปัจจุบันเทคโนโลยี Virtualization นิยมนำมาใช้กันมากเพราะสามารถช่วยประหยัดทรัพยากรต่าง ๆ และง่ายต่อการบริหารจัดการ โดยเฉพาะในเรื่องของการพัฒนาระบบเครื่องแม่ข่ายต่าง ๆ ซึ่งในการพัฒนาระบบ Cloud นั้น ระบบ Virtualization จัดเป็นหัวใจสำคัญเลยทีเดียว ในระบบ Ubuntu 13.04 เราสามารถใช้ qemu เพื่อสร้าง Virtual Computer ได้ง่าย ๆ ดังนี้

... Read More

ในระบบปฏิบัติการ Ubuntu จะมี script ตัวนึงซึ่งจะถูกเรียกขึ้นมาทำงานเมื่อมีการบูตระบบครั้งแรก ก็คือ /etc/rc.local โดยเราอยากให้ระบบมีการเรียกคำสั่งอื่นใดขึ้นมาทำงานบางอย่างก่อนเราก็จะใส่คำสั่งใน script นี้ แต่ทุกคำสั่งที่ทำงานใน /etc/rc.local นี้จะทำงานด้วย user ที่เป็น root แต่หากเราต้องการให้บางคำสั่งทำงานด้วย user อื่น เราสามารถใช้คำสั่ง su ช่วยได้ โดยมีรูปแบบดังนี้ครับ

... Read More

ในการพัฒนาระบบสารสนเทศนั้น การเลือกเทคโนโลยีมาใช้พัฒนานั้นเป็นสิ่งสำคัญ บางครั้งเราอยากจะรู้เทคโนโลยีที่เรานำมาใช้ทำ Web Application มีความสามารถในการตอบสนองการทำงานได้ดีหรือน้อยกว่ากัน อย่างเช่น งานแบบเดียวกัน ถ้าใช้ php+apache2 แล้วจะสามารถรองรับได้กี่ request per second แต่ถ้าใช้ Bottle+Gevent จะสามารถรองรับ Request per second ได้ดีกว่าแค่ไหนนั้น เราสามารถทำการทดสอบได้ด้วยโปรแกรมชุดเอนกประสงค์ Apache Utility ได้ครับ โดยทำการทดลองใน Ubuntu ดังนี้ครับ

... Read More

ในการพัฒนา Web Application ด้วยเทคโนโลยี WSGIServer นั้น โดยปกติมักจะมี Front-end Webserver เพื่อเป็นตัวกระจายโหลด โดยในบทความอื่น ๆ ของผม จะมีการนำ Apache Web Server มาทำเป็นตัวกระจายโหลด ซึ่งตัว Apache นั้นจะเป็น Web Server แบบหนักและมีความสามารถอื่น ๆ มากมาย แต่เราเอามาใช้เพียงเป็นตัวกระจายโหลด จึงเหมือนกับขี่ช้างจับตั๊กแตน ทำให้การรองรับโหลดของระบบเราไม่สูงเท่าที่ควร ผมจึงแนะนำ POUND ซึ่งเป็น Reverse Proxy และ Load Balancer มาทำเป็น Front-end ให้กับ WSGIServer ซึ่งจะทำให้ระบบของเรารองรับโหลดได้ดียิ่งขึ้น โดยการใช้งานใน Ubuntu นั้น มีขั้นตอนดังนี้ครับ

... Read More

ในการพัฒนาซอฟท์แวร์ในลักษณะที่เป็นทีมเวิร์คหรือพัฒนาเดี่ยวก็ตาม ควรจะต้องมีระบบสำหรับเก็บตัว sourcecode ที่เราได้พัฒนาขึ้น ซึ่งสามารถที่จะปรับปรุง sourcecode ในลักษณะเป็น revision ได้ รวมทั้งมีคุณสมบัติในการรวม sourcecode จากนักพัฒนาหลาย ๆ คนมาเป็น sourcecode หนึ่งเดียวกันได้ ซึ่งระบบที่ตอบโจทย์เหล่านี้ได้คือระบบ control version นั่นเอง โดยระบบ control version ที่นิยมกันก็จะมี cvs, svn, mercurial, bazaar รวมทั้ง git ซึ่งเป็นระบบที่ผมจะกล่าวถึงในบทความนี้ครับ

... Read More

คราวที่แล้วผมได้เขียนบทความเกี่ยวการพัฒนาระบบสารสนเทศด้วย Flask กับ Gunicorn ซึ่งผมได้ทำการศึกษาเกี่ยวกับ Framework ในภาษา Python เพิ่มเติม ก็พบว่ามี Framework ตัวนึงที่น่าสนใจมาก ๆ ซึ่งมีประสิทธิภาพสูงและมีเสถียรภาพมาก ๆ นั้นก็คือ Bottle ครับและเมื่อนำมาใช้คู่กับ WSGI Server อย่าง Gevent แล้ว จะสามารถรองรับงานได้อย่างมหาศาลเลยทีเดียว โดยมีขั้นตอนดังนี้ครับ

... Read More

ในการพัฒนาระบบสารสนเทศนั้น เราจำเป็นต้องมีเครื่องมือสำหรับการพัฒนาระบบ ซึ่งเครื่องมือชนิดหนึ่งที่จำเป็นและขาดไม่ได้คือ Integrated Development Environment (IDE) ซึ่งก็คือชุดรวมเครื่องมือที่จำเป็น เช่น Editor, Complier, Debugging หรือแม้่เป็น Control Version Repository ด้วย ไว้ด้วยกัน โดยเครื่องมือที่ตัวผมนิยมใช้คือ Eclipse ซึ่งเป็นเครื่องมือพัฒนาระบบที่สามารถทำงานได้ในหลาย ๆ แพลตฟอร์ม เช่น วินโดว์ และ ลินุกซ์ เป็นต้น ซึ่งตัว Eclipse จะเป็นที่นิยมในการพัฒนาโปรแกรมภาษา Java แต่กระนั้นก็สามารถใช้พัฒนาโปรแกรมภาษาอื่น ๆ ได้ เช่น C, PHP หรือ Python ได้ โดยผ่าน plugin โดยในบทความนี้จะแนะนำวิธีการลง PyDev ซึ่งเป็น plugin สำหรับการพัฒนาโปรแกรมภาษา Python บน Eclipse ใน Ubuntu ดังนี้ครับ

... Read More

ช่วงนี้ผมอยู่ในระหว่างการพัฒนาระบบสารสนเทศตัวใหม่ ซึ่งผมใช้ Flask เป็น Framework ในการพัฒนา และทำการ Deploy โดยใช้ Apache2 เป็น Front-end Web Server และใช้ Gunicorn เป็น WSGI Server ซึ่งต้องมีการปรับแต่งค่าต่าง ๆ เพื่อให้สามารถใช้งานได้ โดยมีขั้นตอนดังนี้ครับ

... Read More