เปิด Vagrant Environment บนเครื่องตัวเองแบบสาธารณะ
บทความนี้จะมาแนะนำความสามารถหนึ่งของ Vagrant (อ่านว่า เว'-เกรินทฺ) ซึ่งเป็นเครื่องมือที่สามารถควบคุม virtual machine ผ่าน command line ได้ ความสามารถนั้นคือ "Share"
บทความนี้จะมาแนะนำความสามารถหนึ่งของ Vagrant (อ่านว่า เว'-เกรินทฺ) ซึ่งเป็นเครื่องมือที่สามารถควบคุม virtual machine ผ่าน command line ได้ ความสามารถนั้นคือ "Share"
ในการพัฒนา Ruby แอพพลิเคชั่นแต่ละโปรเจค เราจะใช้ไลบรารี่หรือสภาพแวดล้อมในการพัฒนา (development environment) ที่แตกต่างกัน อีกทั้งเวอร์ชั่นของ Ruby ที่อาจจะแตกต่างกันด้วย ตัวช่วยที่ทำให้เราสามารถพัฒนาแอพพลิเคชั่นต่างๆ กันบนเครื่องของเราเครื่องเดียวได้นั้นคือ Ruby Version Manger (RVM)
การเขียน commit message นั้นสำคัญมาก เพราะว่ามันเป็นอีกช่องทางการสื่อสารหนึ่งระหว่างโปรแกรมเมอร์ด้วยกัน และยังเป็นช่องทางที่ดีที่สุดในการบอก context ของการแก้โค้ดนั้นๆ อีกด้วย การเขียน commit message นั้น ควรจะเป็นข้อตกลงของทีม เป็นสิ่งที่ทุกคนควรจะร่วมแรงร่วมใจกันทำนะครับ
แนวคิดการเขียนโค้ดเพื่อทดสอบโค้ดของเรานั้นอาจจะไม่ใช่แนวคิดที่ใหม่แต่อย่างใด แต่การเขียนโค้ดเพื่อทดสอบ "ก่อน" เขียนโค้ด (Test-Driven Development หรือ TDD) ยังคงเป็นเรื่องใหม่สำหรับหลายๆ คน ปัญหาหลักอีกอย่างหนึ่งก็คงเป็นเพราะเราไม่รู้ว่าจะเริ่มต้นเขียนอย่างไร เราจะมาเริ่มต้นเขียนโค้ดเพื่อทดสอบ และเขียน "ก่อน" ที่เราจะเขียนโค้ดเพื่อทำงานจริงๆ กันโดยใช้ Python ในบทความนี้
Soft Skill เป็นศัพท์ที่นิยมใช้ในงานฝ่ายบุคคล ซึ่งเชื่อว่านักพัฒนาซอฟท์แวร์หลายท่านอาจจะยังไม่เข้าใจเมื่อไปฟังในงานต่างๆหรือได้ยินใครพูดถึง ว่ามันหมายถึงอะไร Soft Skill ก็คือ ความรู้และทักษะความชำนาญที่ไม่เกี่ยวโดยตรงกับสายงาน แต่เป็นตัวช่วยหนุนให้การทำงานดีขึ้น ดีมากขึ้น จนถึงยอดเยี่ยม หากหน้าที่หลักของนักพัฒนาซอฟท์แวร์ คือ พัฒนาซอฟท์แวร์ให้ได้ตามความต้องการของผู้ใช้งานแล้วละก็ แค่ทักษะความรู้ในการเขียนโปรแกรมหรือออกแบบฐานข้อมูลเพียงอย่างเดียวย่อมไม่เพียงพอที่จะทำให้โครงการประสบความสำเร็จ ทักษะด้านใดบ้างที่จะช่วยให้นักพัฒนาซอฟท์แวร์สามารถพัฒนาซอฟท์แวร์ให้ประสบความสำเร็จ ถ้าพูดสั้นๆหรือคำแนะนำจากฝ่ายบุคคลก็มักจะบอกกันว่า เราต้องเก่งงานและเก่งคน สมรรถนะด้านเก่งงาน (Work Related Competency) สมรรถนะด้านเก่งคน (People Management Competency) ด้านบริหารตนเอง-บริหารเวลา จัดการตนเอง จูงใจตนเอง ความมั่นใจในตนเอง เชาวน์อารมณ์ ด้านทำงานร่วมกับคนอื่น-การจูงใจ การบริหารทีมงาน การสื่อสาร การนำเสนอ การจัดการข้อโต้แย้ง การบริหารคนดื้อ การจัดการการเปลี่ยนแปลง เป็นต้น การบริหารตนเอง ปกติแล้วชาวไอทีจะเป็นจ้าวแห่งการบริหารและขยันคิด Process และ วิธีการแก้ปัญหาต่างๆออกมามายหลายตลบจนให้เรียนรู้ไม่หวาดไม่ไหว ใครตามไม่ทันก็เหมือนกับวัยรุ่นตกยุคไม่ทันแฟชั่น แต่ทำไมงานสายโปรแกรมเมอร์มักจะถูกต่อว่าจากลูกค้าหรือคนสายอาชีพอื่นว่าไม่ตรงเวลา ติสต์ อารมณ์ศิลปินสูง แต่นั่นก็ไม่ได้หมายความว่าทุกคนในสายอาชีพนี้เป็นอย่างนั้น เพราะผมรู้จักโปรแกรมเมอร์ชาวต่างประเทศหลายคนเขาก็มีสมาธิและตรงเวลามาก ไม่ได้ทำงานหามรุ่งหามค่ำ จริงๆแล้วหรือเป็นเพราะว่าโปรแกรมเมอร์เหล่านั้นไม่รู้หลักในการบริหารตนเอง การบริหารเวลา เราชาวไอทีก็มีโปรแกรมที่บริหารมากมาย อย่างเช่น […]
การพัฒนา และสร้างเว็บเพจ มีหัวใจหลักอยู่ด้วยกัน 3 ส่วน คือ HTML, CSS และ JavaScript โดย HTML เป็นส่วนโครงสร้างหลักของเว็บเพจ CSS ใช้เพื่อปรับแต่งหน้าตาของเว็บเพจให้สวยงาม ส่วน JavaScript ใช้เพิ่มแต่งเติมลูกเล่นในการแสดงผลบนเว็บเพจ เช่น คลิกเมาส์ การตรวจสอบการกรอกข้อมูลในฟอร์ม การเลื่อนหน้าจออัตโนมัติตามเวลาที่กำหนด ฯลฯ JavaScript เป็น Script Language สิ่งแรกที่เราต้องทราบเกี่ยวกับ JavaScript คือ เป็นภาษาคอมพิวเตอร์ที่เขียนลงบนเว็บเพจ โดย Web Browser จะเป็นผู้อ่านโค๊ตและตีความหมาย แล้วจึงแสดงผลออกบนหน้าจอ จะเห็นได้ว่า JavaScript จะต้องอาศัย Web Browser จึงไม่สามารถเขียนโปรแกรมแยกเป็นอิสระได้ เช่น ไม่สามารถเข้าถึงฐานข้อมูลได้โดยตรง หรือไม่สามารถเข้าใช้งานฮาร์ดแวร์ต่างๆ เช่น USB, CD-Rom เป็นต้น JavaScript เป็น Client Side Script ซึ่งหมายความว่ามีการแปลโค๊ตในฝั่งของ […]
วันนี้จะมาคุยถึงเรื่อง Object-oriented programming (OOP) ในภาษา PHP กันซะพอหอมปากหอมคอ ก่อนอื่นนั้น เท่าที่สังเกตุส่วนมาก Developers สมัยนี้แทบจะเรียกว่า เขียนโปรแกรมแบบ OOP “เป็น” กันหมดแล้ว เพราะว่าสมัยนี้ Framework หรือว่า Components ต่างๆ นั้นถูกผลิตมาแบบ OOP เป็นเสียส่วนใหญ่ จริงๆ ก็เรียกได้ว่า แทบจะ 100% เลยทีเดียว ทั้ง Yii, CI, Zend, etc. ซึ่งแน่นอนเราก็หลักเลี่ยงที่จะใช้มันไม่ได้เสียด้วย ทีนี้พอ Developers ใช้ของพวกนี้บ่อยๆ เข้าจนชำนาญ ก็พาลคิดไปว่า กรูนี่เขียน OOP “เป็น” แต่ไอ้คำว่า เป็น นี่ต้องมาดูกันอีกทีว่าเป็น แค่นั้น เพราะว่าของพวกนี้ มันต้องมี Basic ครับ ไม่สามารถกระโดดข้ามขั้นไปได้ เพราะว่าถ้า Basic ไม่แน่น ขาดความเข้าใจพื้นฐาน […]