วันจันทร์ที่ 31 ตุลาคม พ.ศ. 2559

AutoCAD คืออะไร



 AutoCAD คืออะไร


           AutoCAD เป็นซอฟต์แวร์ช่วยออกแบบด้วยคอมพิวเตอร์ ( Computer Aided Drafting/Design , CAD ) ที่สามารถรองรับการทำงานทั้งใน 2 มิติ และ 3 มิติ บริษัทผู้พัฒนาคือ Autodesk แม้ในตลาดซอฟต์แวร์จะมีโปรแกรมประเภท CAD หลายโปรแกรม แต่ในงานออกแบบด้านวิศวกรรม สถาปัตยกรรม และอุตสาหกรรมต่างๆ ของหน่วยงาน องค์กรทั้งของรัฐบาลและเอกชนทั่วโลกส่วนใหญ่จะนิยมใช้ AutoCAD เนื่องจากเป็นซอฟต์แวร์ที่มีขีดความสามารถสูงในการสร้างแบบจำลองสามมิติ นักออกแบบสามารถควบคุมการวาด เปลี่ยนมุมมองได้ในทุกทิศทางรอบแบบ กำหนดคุณสมบัติของภาพวาดได้ตามต้องการ ด้วยคำสั่งและเครื่องมือช่วยที่มีประสิทธิภาพ ช่วยให้ประหยัดเวลาและค่าใช้จ่าย ทำให้ AutoCAD เป็นตัวเลือกที่ดีในงานที่มีความละเอียดและต้องการความแม่นยำสูง
          นอกจากนี้ AutoCAD ยังมีชุดคำสั่งสำหรับสร้างให้แบบจำลองมีแสง เงา สีสันที่ดูเสมือนจริงได้อีกด้วย นับตั้งแต่เปิดตัว AutoCAD ได้มีเวอร์ชันต่างๆเกิดขึ้นอย่างต่อเนื่อง นับถึงเวอร์ชันล่าสุด (AutoCAD 2010) เป็นรุ่นที่ 25 แต่ละเวอร์ชันมีจุดเด่นเฉพาะ ที่ได้รับการพัฒนาอย่างต่อเนื่อง สำหรับเว็บไซต์ของเรา จะแนะนำให้รู้จักคำสั่งต่างๆ และวิธีการใช้อย่างละเอียดของ AutoCAD R14 ซึ่งแม้จะเป็นเวอร์ชันเก่า แต่ก็มีขีดความสามารถในการออกแบบทั้งสองมิติและสามมิติที่ดีพอสมควร และคำสั่งที่มีใช้ใน AutoCAD R14 จะมีอยู่เกือบทั้งหมดใน AutoCAD รุ่นใหม่ๆ อีกทั้งวิธีการใช้งาน AutoCAD รุ่นต่างๆมีความคล้ายคลึงกัน ดังนั้นการศึกษาการใช้งานคำสั่งของ AutoCAD R14 ของเราจะเป็นพื้นฐานที่ในการใช้งาน AutoCAD รุ่นใหม่ๆที่จะมีความสามารถสูงขึ้นต่อไป

SketchUp คืออะไร?


SketchUp คืออะไร? ความเป็นมาของ SketchUp


SketchUp Make  เป็นโปรแกรมออกแบบที่มีความสามารถในการเปลี่ยนภาพวาดโครงร่างให้กลายเป็นภาพงานจำลอง 3 มิติ เป็นโปรแกรมขนาดเล็ก จึงทำให้มีการประมวลผลออกมาอย่างรวดเร็ว 


ถ้าเป็นรุ่น SketchUp Pro จะต้องเสียเงินซื้อ แต่ถ้าเป็นรุ่นทั่วไปจะมีให้โหลดใช้ฟรีค่ะ และเพราะความฟรี บวกกับความง่ายในการใช้งานของมันนี่เอง จึงทำให้นักออกแบบคนไทยส่วนมากนิยมหันมาใช้เจ้าโปรแกรมตัวนี้กันมากขึ้นเรื่อยๆ 






ความเป็นมาของโปรแกรม SketchUp 
เริ่มแรกโปรแกรม SketchUp ถูกพัฒนาขึ้นโดยบริษัท @Last Software ในปี ค.ศ. 2000 ด้วยแนวคิด "3D for everyone" (3D สำหรับทุกคน) จากนั้นทาง Goolgle  ก็เกิดสนใจเจ้าโปรแกรมตัวนี้เข้าเพราะมันมีคุณสมบัติหลายอย่างตรงกับที่ต้องการ เช่น ใช้งานง่าย ใช้ทรัพยากรเครื่องต่ำ กินเนื้อที่เครื่องน้อย ประมวลผลได้อย่างรวดเร็ว ด้วยเหตุนี้โปรแกรม SketchUp จึงเหมาะอย่างยิ่งที่จะนำมาใช้เป็นเครื่องมือสำหรับให้คนทั่วไปใช้สร้างแผนที่ 3D บน Google Maps และ Google Earth ซึ่ง 2 อย่างนี้ถือว่าเป็นเรื่องใหม่เอามากๆ ในสมัยนั้น


ในปี 2006 ทาง Google จึงได้ซื้อโปรแกรม SketchUp จากบริษัท @Last Software มาและเปลี่ยนชื่อเป็น Google SketchUp เพื่อนำมันมาพัฒนาต่อและ ให้มันสามารถใช้สร้างแผนที่ 3D ให้ได้ตามที่ตั้งใจไว้


แม้ว่า Google SketchUp จะถูกพัฒนาจนมาถึงเวอร์ชั่น 8 และทาง Google ยังคงนำมันมาใช้สร้างแผนที่ 3D อยู่ แต่ทว่าหลังจากนั้น  Google  ก็ไม่มีนโนบายชัดเจนที่จะนำมันมาพัฒนาต่อแบบจริงจัง ดังนั้นทีมงานส่วนหนึ่งของ Google SketchUp ซึ่งบางคนก็เป็นหนึ่งในทีมพัฒนามาตั้งแต่ยุคเริ่มของบริษัท @Last Software จึงได้ย้ายไปอยู่กับบริษัท Trimble 


โดยในปี 2012 บริษัท Trimble ได้ซื้อโปรแกรม Google SketchUp มาและให้สัญญาว่าจะนำมันมาพัฒนาต่ออย่างจริงจัง


ปัจจุบัน  Trimble ได้นำจุดแข็งของตนนั่นคือ ความเชี่ยวชาญด้านวิศวกรรม มาผนวกกับจุดแข็งของทีมงาน SketchUp เก่าที่มีความเชี่ยวชาญด้านโปรแกรมกราฟฟิก เมื่อจับทั้งสองฝ่ายมาร่วมมือกัน จึงทำให้ SketchUp ครอบคลุมทุกสิ่งที่นักออกแบบ และนักวิศวกรกราฟิกต้องการมากขึ้นเรื่อยๆ




คุณสมบัติของโปรแกรม SketchUp Make
- มีเครื่องมือหลายตัวที่ช่วยอำนวยความสะดวกในการออกแบบให้ง่ายขึ้น
- มีการออกแบบเมนูเครื่องมือที่ในการวาดแบบ ให้คล้ายกับของโปรแกรม Photoshop หรือ Paint ใน Windows เพื่อย่นระยะในการทำความเข้าใจ และง่ายในการเรียนรู้
- สามารถหมุนดูวัตถุ 3 มิติ หรือแบบ 2 มิติได้ 360 องศา อีกทั้งสามารถซูมเข้า-ออกได้ตามต้องการ
- มี VDO สอนการใช้งานอย่างละเอียด ทั้งจากในโปรแกรม หรือจาก Youtube พร้อมวิธีให้ลองทำตาม
- สามารถใส่เงาของวัตถุที่ออกแบบได้อย่างอัตโนมัติ
- สามารถย้อนกลับการทำงานได้หลายขั้นตอน(Undo)
- สามารถเลือกสีและปรับแต่งชิ้นงานได้อย่างอิสระ
- โหลดใช้ได้ฟรี ไม่มีค่าใช้จ่ายแอบแฝง
- รองรับการทำงานทั้งบนระบบปฏิบัติการ Windows และ Mac OS X

วันเสาร์ที่ 29 ตุลาคม พ.ศ. 2559

12 ภาษาโปรแกรมมิ่งยอดนิยม ที่ชาวไอทีควรจะต้องลับฝีมือไว้บ้าง !



ภาษาสำหรับเขียนโปรแกรมนั้นไม่ได้จำกัดเฉพาะโปรแกรมเมอร์อีกเต่อไป สารพัดอาชีพที่เกี่ยวข้องทั้งวิศวกรเครือข่าย, แอดมิน, ผู้จัดการสตอเรจ, หรืออาชีพที่ดูแลโครงสร้างพื้นฐานต่างๆ ก็ควรรู้เกี่ยวกับภาษาโปรแกรมมิ่งยอดฮิตเหล่านี้ อย่างน้อย 2 – 3 ภาษา ก็จะเป็นประโยชน์ต่อการทำงานเป็นอย่างมาก
Python สุดยอดโปรแกรมมิ่งท็อปสามที่ผู้ที่ทำงานกับโครงสร้างพื้นฐานด้านไอทีควรเรียนรู้ไว้ เนื่องจากการใช้งานที่ง่าย แถมไม่ต้องเสียเวลาคอมไพล์ ทำให้ดีบั๊กได้อย่างรวดเร็วและง่ายดาย มีการนำมาใช้กับการทำงานได้อย่างรวดเร็ว หรือแม้แต่การผสานโค้ดเข้ากับโค้ดตัวอื่นๆ ได้อย่างต่อเนื่อง โดยเฉพาะการนำมาใช้กับคอนโทรลเลอร์ SDN ยอดนิยมอย่าง POX และ Ryu
Java เป็นภาษาเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดในโลกมาอย่างยาวนาน โดยมีผู้ใช้มากกว่าภาษา C ที่เป็นอันดับสองถึงสองเท่า เนื่องจากการที่รันได้บนทุกแพลตฟอร์ม แม้แต่บนแอนดรอยด์หรือ IoT อีกทั้งจากอายุที่มีมานานมาก ทำให้แหล่งความรู้ต่างๆ มีให้เข้าถึงอย่างมหาศาล แม้จะเรียนรู้ได้ง่ายน้อยกว่า Python แต่จาวาก็มีคุณสมบัติพิเศษตรงที่มีข้อยกเว้นมากมาย ที่ว่าแม้คุณเขียนโค้ดผิดก็ยังเข้าใจและรันต่อได้ ถือเป็นภาษาหลักที่สายอาชีพไอทีทุกคนควรมีทักษะติดตัว
PowerShell ถือเป็นภาษาตัวท็อปสำหรับงานไอทีที่ทำงานกับวินโดวส์ ทำให้คุณสามารถเรียกดูข้อมูลหรือสั่งงานบางอย่างที่ไม่สามารถทำได้ผ่านทูลแอดมินมาตรฐาน อีกทั้งเมื่อต้นปีที่ผ่านมา ไมโครซอฟต์ได้เปิด PowerShell ให้เป็นโอเพ่นซอร์ส ที่สามารถใช้บนแมคและลีนุกซ์ได้ด้วย
Bash ถ้าพาวเวอร์เชลล์สำหรับวินโดวส์ Bash ก็ถือเป็นโปรแกรมมิ่งหลักสำหรับลีนุกซ์ทุกรุ่นทุกแบบ ใช้สั่งงานจัดการระบบแบบอัตโนมัติได้เป็นอย่างดี จนคนกล่าวว่า แอดมินลีนุกซ์จะไม่สามารถทำงานได้ดีถ้าไม่รู้เรื่องภาษา Bash แต่ปัจจุบันคนก็เริ่มมองหาตัวแทนที่ใช้ได้บนหลายแพลตฟอร์มมากกว่าอย่าง Python
TCL (อ่านว่า ทิกเกิ้ล Tickle) เป็นภาษาสำหรับชาวเน็ตเวิร์กโดยเฉพาะ โดยรันได้บนเราเตอร์ซิสโก้ และฮาร์ดแวร์ด้านเครือข่ายหลายชนิด ถือเป็นโอเพ่นซอร์สที่มีประโยชน์ในการจัดการเครือข่ายและความปลอดภัยแบบอัตโนมัติ แถมยังใช้งานร่วมกับภาษา C ได้เป็นอย่างดี
C เหมือนกับจาวาตรงที่เป็นภาษาโปรแกรมมิ่งที่ใช้งานได้ครอบจักรวาล แถมยังเป็นที่นิยมสูงสุดเป็นอันดับสอง (และเคยนำจาวาอยู่หลายปีก่อนหน้านี้) นั่นคือ มีแหล่งข้อมูลให้ศึกษาอย่างมหาศาลเช่นกัน นับเป็นภาษาแรกที่ผู้เรียนวิทยาศาสตร์คอมพิวเตอร์ต้องรู้ แม้จะไม่ง่ายเท่าจาวาหรือ Python แต่ก็สามารถใช้ควบคุมระบบได้โดยตรง รวดเร็ว ใช้ทรัพยากรน้อย ถือเป็นพื้นฐานของภาษาโปรแกรมมิ่งอื่นๆ บนโลก ถือว่าคุ้มที่จะเรียนสำหรับผู้ที่ต้องการลงลึกกับหลักการโปรแกรมมิ่งอย่างจริงจัง
C++ ด้วยชื่อที่คล้าย C ทำให้เป็นที่นิยมมากที่สุดในโลกเป็นอันดับสาม แต่ก็ยังคงความซับซ้อนและยากในการเรียนพอๆ กับ C โดย C++ ถือเป็นการพัฒนาแยกยอดออกมา ที่มีทั้งจุดเด่นและจุดด้อยต่างๆ เมื่อเทียบกับ C
Javascript แม้จะเป็นที่รู้จักในการใช้เป็นภาษาสำหรับพัฒนาเว็บไซต์ฝั่งแสดงผล (Front-end) แต่ก็ยังสามารถนำมาใช้ทำงานในเบื้องหลัง (ผ่าน Node.js) หรือนำมาเขียนสคริปต์ที่รันแบบอัตโนมัติได้ด้วย ถือเป็นภาษายอดนิยมอันดับ 6 ของโลก และมีแนวโน้มที่จะได้รับความนิยมมากขึ้นเรื่อยๆ ไม่แปลกที่จะถูกเขียนเป็นหนึ่งในคุณสมบัติเวลารับสมัครงานสายไอทีในปัจจุบัน
Perl มักถูกมองเทียบกับ Python ในแง่ของการเขียนสคริปต์ ซึ่งระบบลีนุกซ์บางตัว (ตัวเก่าส่วนใหญ่) สามารถรันสคริปต์ Perl ได้ นอกจากนี้ยังใช้บ่อยในงานด้านเครือข่ายและความปลอดภัย รวมถึงเป็นสคริปต์ฝั่งเซิร์ฟเวอร์ที่รันบนเว็บไซต์ (เก่าๆ ที่ยังไม่ใช้ php) ตอนนี้ถือเป็นภาษายอดนิยมอันดับ 9
PHP ภาษาสำหรับเว็บฝั่งเซิร์ฟเวอร์ยอดนิยม จริงๆ ถือเป็นภาษาที่ใช้ได้ครอบจักรวาลเช่นกัน โอเอสส่วนใหญ่บนโลกนี้รองรับ แถมยังทำงานร่วมกับฐานข้อมูล SQL ได้ดีมาก ตอนนี้ติดอันดับ 7 ของโลก แต่ปัจจุบันผู้พัฒนาเว็บมีแนวโน้มย้ายออกไปซบอกภาษา Ruby แทน รวมถึงด้านสคริปต์งานอัตโนมัติก็เริ่มหันไปพึ่ง Python กันมากขึ้น แต่ก็ยังถือว่าเป็นภาษาที่มีประโยชน์มากถ้างานคุณเกี่ยวข้องกับเว็บเซิร์ฟเวอร์เป็นหลัก
Ruby เป็นภาษาที่ได้รับการยกย่องตามชื่อว่า “สวยงาม” และ “ดูเป็นธรรมชาติ” ซึ่งถูกพัฒนาให้คนใช้รู้สึกเพลิดเพลินเวลาโค้ดดิ้ง แถมยังเรียนรู้ได้ง่ายอีกด้วย แม้ตอนนี้จะยังอยู่แค่อันดับ 13 แต่ก็เริ่มแซงขึ้นมาเรื่อยๆ โดยเฉพาะในงานด้านพัฒนาเว็บ โดยนิยมนำมาใช้ร่วมกับเฟรมเวิร์กที่ชื่อ Rails
Frenetic เป็นภาษาน้องใหม่ล่าสุด เปิดตัวไปเมื่อ 2553 ออกแบบมาใช้สำหรับงานเครือข่ายที่กำหนดโดยซอฟต์แวร์เป็นหลัก ถือว่าออกมารองรับเทรนด์โครงสร้างพื้นฐานไอทีที่ใช้ซอฟต์แวร์จัดการโดยเฉพาะ ตอนนี้ถือว่ามีประโยชน์เมื่อคุณทำงานกับระบบ SDN แบบ OpenFlow แต่ก็ถือว่าการเรียนรู้ภาษาน้องใหม่นี้จะทำให้คุณมีความแตกต่างที่แข่งกับคนอื่นได้มากในอนาคตอันใกล้

วันอาทิตย์ที่ 16 ตุลาคม พ.ศ. 2559

What is JSP คืออะไร (Java Server Pages) รู้จักกับ JSP ทำไมต้องใช้ JSP

What is JSP คืออะไร (Java Server Pages) รู้จักกับ JSP ทำไมต้องใช้ JSP สำหรับ JSP (Java Server Page) เป็นเทคโนโลยี่ไว้สำหรับพัฒนา Application บนเว็บไซต์ ในรูปแบบของ Server และ Client แสดงผลและโต้ตอบกับ User Interface ผ่าน Web Browser อย่างพวก IE , Chrome , Firefox และอื่น ๆ โดยอาศัยการทำงานร่วมกับพวก Client Tags เช่นพวก HTML / JavaScript / CSS และพวก jQuery ให้ได้ผลลัพธ์ตามที่ต้องการ ซึ่ง JSP ก็เหมือนกับโปรแกรม ASP , PHP และ .Net รูปแบบการทำงานนั้นไม่แตกต่างกัน แต่แตกต่างกันตรงที่ JSP เป็น Subset ของภาษา Java โดยรูปแบบการเขียนนั้นจะใช้รูปแบบคำสั่งและชุด SDK ของ Java และใน JSP จะมีนามสกุลของไฟล์เป็น .jsp

Java JSP

Java and JSP


แต่การพัฒนา Website หรือ Web Application ด้วยภาษา JSP จะสามารถแยกย่อยได้อีกประมาณ 2-3 รูปแบบ และแต่ล่ะรูปแบบการวางโครงสร้าง และรูปแบบการเขียนก็ต่างกัน แต่พื้นฐานแล้วยังใช้ Syntax ภาษา Java เหมือนกัน โดยสรุป ๆ แล้วแยกออกเป็น 3 รูปแบบคือ

  • Scriptlets คือการเขียน JSP ร่วมกับ HTML ให้มองว่าเหมือนพวก ASP และ PHP แต่จะใช้นามสกุลไฟล์ .jsp ส่วน Code นั้นก็สามารถเขียนร่วมกับ HTML หรือสกลับกันไปมาได้

  • Servlet เป็นการเขียน JSP ขั้นสูงขั้น ซึ่งจะแยกในส่วนของ Interface (HTML) กับส่วนของ Code ที่เป็นภาษา Java ออกจากกัน ให้มองถึงรูปแบบการเขียน ASP.Net ที่แยก .ASPX และ .VB ไว้คนล่ะไฟล์

  • Framework การเขียน Web Application ด้วย JSP จะมี Framework มารองรับการเขียนหลาย ๆ ตัวเช่น Spring , Struts และ Hibernate โดยรูปแบบการเขียนจะเป็น Pattern ในรูปแบบของ MVC

ส่วนจะเลือกใช้ตัวไหนนั้นก็ขึ้นอยู่กับความต้องการ เช่นถ้าเขียนเว็บทั่ว ๆ ไปก็อาจจะใช้แค่ Scriptlets แต่ถ้าเป็น Web ที่ขนาดใหญ่ขึ้นต้องการความเป็นระเบียบเทียบร้อยก็อาจจะเลือกใช้ Servlet และใน Project ขนาดใหญ่เขียนกันหลาย ๆ คนก็ควรจะเลือกใช้ Framework ซึ่งเหมาะอย่างยิ่งสำหรับการเขียน Web Application ทขนาดใหญ่ และ แยกย่อยออกเป็นหลาย ๆ ระบบ

Java JSP


แล้วทำไมต้องใช้ JSP ???
แน่นอนว่า JSP เป็นทางเลือกสำหรับการพัฒนา Application บนเว็บไซต์ เหตุผลแรกก็คือ JSP สามารถใช้งานได้ฟรี และสามารถรองรับได้ทุก Platform ไม่ว่าจะเป็น Windows , Linux และ iOS รวมทั้ง Software อื่น ๆ ที่จะเป็นต่อการใช้งานและการพัฒนาก็ฟรีเช่นเดียวกัน อย่างเช่น Apache Tomcat , Eclipse IDE รวมทั้งด้านทรัพยากรสำหรับการพัฒนา เนื่องจาก Java เป็นภาษาที่มีขนาดใหญ่มาก และ สามารถแบ่งย่อยได้อีกมากมายหลากหลาย และมีตัวเลือก Library , Class , Framework , Plugin ให้เลอกใช้มากมาย แทบได้ว่าจะทำอะไรก็มีมาให้หมด โดยบางครั้งก็ไม่ต้องขียนเองให้ยุ่งยาก เพียงแค่หา Library มาใช้ก็สามารถนำมาใช้กับ Web ของเราได้

และในด้่าน Performance ต้อง ยอมรับว่า JSP ที่พัฒนาด้วยภาษา Java มีประสิทธิภาพการทำงานสูงมาก ฉะนั้นเราจะเห็นว่าเว็บไซต์ใหญ่ ๆ ที่ต้องการความเสถียรสูง เช่นพวก Bank จะเลือกใช้ JSP ในการพัฒนา Application ซะส่วนใหญ่ และจากที่ผมเองได้ลองเขียนดูแล้ว และเปรียบเทียบระหว่าง PHP , ASP.Net และ JSP ต้องยอมรับว่า JSP มีการจัดการจัดสรรพวกค่าตัวแปรใน Web Server ดีมาก เช่น เมื่อสร้างตัวแปรแล้ว สามารถนำไปใช้งานได้ในระดับ Page , Session และ Application ได้อย่างง่ายดาย ซึ่งในนส่วนนี้เองขะช่วยลดการทำงานที่ซ้ำซ้อนของ Server ได้อย่างดี ซึ่งเหมาะอย่างยิ่งกับ Application ที่รองรับการทำงานขนาดใหญ่ได้


จะเขียน JSP จะต้องทำอย่างไร
ในการเขียน JSP นั้น เราสามารถทำได้ง่าย ๆ เพียงแค่ติดตั้ง Java SDK และหาพวก Web Server มาติดตั้ง เช่น Apache Tomcat , WebLogic , WebSphere แต่ในบทความนี้จะแนะนำให้เลือกใช้ Apache Tomcat เพราะติดตั้งง่าย รองรับได้ทั้งบน Windows , Mac และ Linux ซึ่งสามารถอ่านวิธีการ Download ตัว Java SDK และ Apache Tomcat ได้จากบทความถัดไป

ขั้นตอนที่ 1 ติดตั้ง Java SDK


ขั้นตอนที่ 2 ติดตั้ง Apache Tomcat


ขั้นตอนที่ 3 ติดตั้งและปรับแต่ง Eclipse หรือ Netbeans


สรุปแล้วเราจะต้องใช้ 3 อย่างนี้ในการที่จะเขียน JSP

Java JSP

Apache Tomcat


เครื่องมือ Tools ในการเขียน JSP ด้วย Java
ในปัจจุบันเครื่องมือที่นิยมเขียนโปรแกรมบนภาษา Java หรือ JSP จะมีอยู่ 2 ตัวตือ Eclipse และ Netbeans โดยที่ทั้ง 2 ตวนี้เป็น Open Source ที่สามารถ Download และใช้งานได้ฟรี และยังสามารถทำการ Download และติดตั้ง Plugin อื่น ๆ เพื่มได้อีกมากมาย ไว้เพื่อช่วยในการเขียนโปรแกรมได้ง่ายนั้น

Java JSP

Eclipse IDE

Java JSP

Netbeans IDE


ส่วนที่ไหนที่เหมาะสำหรับการเขียน JSP กว่ากัน ผมได้เขียนเปรียบเทียบคร่าว ๆ ไว้ในหัวหข้อ ใช้อะไรดีระหว่าง Netbeans และ Eclipse ซึ่งจะเป็นเหตุผลหนึ่งว่าควรจะเลือกตัวไหนไว้สำหรับเขียน JSP

Netbeans : สร้าง Java GUI และการสร้าง Event Action และ Dialog โต้ตอบแบบง่าย ๆ

Netbeans : สร้าง Java GUI และการสร้าง Event Action และ Dialog โต้ตอบแบบง่าย ๆ หัวข้อนี้ต่อจาก Netbeans และ GUI จากบทความที่แล้ว จะขอธิบายต่อเกี่ยวกับ พื้นฐานการเขียนโปรแกรมแบบ GUI เพื่อติดต่อกับ User คือ การรับคำสั่งจากผู้ใช้ รวมทั้งการโต้ตอบกลับไปเพื่อให้ผู้ใช้งานทราบผลลัพธ์ของการดำเนินการนั้น ๆ และการเขียนโปรแกรม Java แบบ GUI ด้วย Netbeans ก็สามารถสร้าง Event หรือเหตุการณ์ต่าง ๆ ได้่อย่างง่ายดาย โดยอาศัยการออกแบบ Form ด้วย Object และ Control ต่าง ๆ จาก Netbeans และการเขียน Code Java เพื่อให้โปรแกรมแสดงการโต้ตอบ หรือทำงานต่าง ๆ ตามที่เราต้องการ


Java GUI Netbeans

การรับค่า Input จาก User

Java GUI Netbeans

การสร้าง Event Action และการโต้ตอบแบบง่าย ๆ


จาก Screenshot ถ้าเราอาศัยการเขียน Code ของ Java แบบเพียว ๆ ก็เป็นเรื่องที่ค่อนข้างยากพอสมควร แต่ถ้าเราใช้ Visual ของ Netbeans มาช่วยในการออกแบบและสร้าง Event จะสามารถสร้าง ผลลัพธ์ที่ง่ายได้อย่างน่าอัศจรรย์

ในบทความนี้จะเป็นเคสตัวอย่างการสร้าง GUI เพื่อรับค่าบน Form จากผู้ใช้ และแสดงกล่องโต้ตอบแบบง่าย ๆ โดยทั้งหมดนี้ใช้การเขียนโปรแกรมแกรม Netbeans ส่วนพวก Class ที่ใช้จะเป็น Swing (javax.swing) และ AWT (java.awt) ที่เป็นทั้งแบบตัว Wizard ทำการ Generate ตัว Code ของ Java มาให้ และเราจะใช้การเขียนเพิ่มบางคำสั่งเพื่อให้ได้ผลลัพธ์ที่ต้องการ

Java GUI Netbeans

ออกแบบ Windows Form ดังรูป

Java GUI Netbeans

ในส่วนของ Text Fields ให้เปลี่ยนชื่อตัวแปร ด้วยการคลิกขวาเลือก Change Variable Name...

Java GUI Netbeans

ตั้งชื่อเป็น txtName

Java GUI Netbeans

ในส่วนของ Button ก็เช่นเดียวกัน Change Variable Name...

Java GUI Netbeans

กำหลดชื่อเป็น btnClick

การสร้าง Event ให้กับ Button ของ btnClick

Java GUI Netbeans

คลิกขวาที่ Button -> Events -> Action -> actionPerformed

Java GUI Netbeans

จากนั้นตัว Pointer จะขี้มายังตำแหน่งของ Event อัตโนมัติ

1.private void btnClickActionPerformed(java.awt.event.ActionEvent evt) {                                        
2.// TODO add your handling code here:
3. 
4.}   


จากน้นเราจะสร้าง Dialog โดยจะใช้ JOptionPane ให้ทำการ import มาวะก่อน

Java GUI Netbeans

1.import javax.swing.JOptionPane;


Java GUI Netbeans

จากนั้นเขียน Code แสดง Dialog ดังนี้

1.private void btnClickActionPerformed(java.awt.event.ActionEvent evt) {                                        
2.// TODO add your handling code here:
3.JOptionPane.showMessageDialog(this, "Sawatdee : " + txtName.getText());
4.}    

หลังจากนั้นทดสอบโปรแกรม โดยคลิกที่ Run

Tips ใน Netbeans จะมี Hintช่วยในการแก้ไขปัญหา เช่น

Java GUI Netbeans

กรณีที่ไม่ได้ import ตัว Package เข้ามา สามารถใช้ hints ด้วยการคลิกที่จุดนั้น ๆ แล้วกด Alt + Enter

Java GUI Netbeans

มีให้เลือกวิธีการแก้ไขปัญหา

Java GUI Netbeans

ตัว Class หรือ Package ถูก import เข้ามาเรียบร้อยแล้ว

Screenshot

Java GUI Netbeans

แสดง Form GUI และให้ Input ข้อมูลชื่อ และคลิกที่ Button ของ Click

Java GUI Netbeans

แสดง Dialog แบบง่าย ๆ

เพิ่มเติม
จากตัวอย่างเราจะเห็นว่าเราจะอาศัยการทำงานระหว่างออกแบบ GUI การสร้าง Event และจะเขียน Code ก็ต่อเมื่อต้องการให้โปรแกรมทำงานอะไรเพิ่มเติม และทั้งหมดนี้เมื่อเรา View ดู Code ของ Java จะมีการ Generate ตัว Code ของ Java ให้อัตโนมัติ

MyFormApp.java
001./*
002.* To change this template, choose Tools | Templates
003.* and open the template in the editor.
004.*/
005.package com.java.myapp;
006. 
007.import javax.swing.JOptionPane;
008. 
009./**
010.*
011.* @author WEERACHAI
012.*/
013.public class MyFormApp extends javax.swing.JFrame {
014. 
015./**
016.* Creates new form MyFormApp
017.*/
018.public MyFormApp() {
019.initComponents();
020.}
021. 
022./**
023.* This method is called from within the constructor to initialize the form.
024.* WARNING: Do NOT modify this code. The content of this method is always
025.* regenerated by the Form Editor.
026.*/
027.@SuppressWarnings("unchecked")
028.// <editor-fold defaultstate="collapsed" desc="Generated Code">                         
029.private void initComponents() {
030. 
031.jLabel1 = new javax.swing.JLabel();
032.txtName = new javax.swing.JTextField();
033.btnClick = new javax.swing.JButton();
034. 
035.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
036.getContentPane().setLayout(null);
037. 
038.jLabel1.setText("Welcome to ThaiCreate.Com");
039.getContentPane().add(jLabel1);
040.jLabel1.setBounds(120, 60, 140, 14);
041. 
042.txtName.setName("txtName"); // NOI18N
043.getContentPane().add(txtName);
044.txtName.setBounds(70, 100, 260, 20);
045. 
046.btnClick.setText("Click");
047.btnClick.addActionListener(new java.awt.event.ActionListener() {
048.public void actionPerformed(java.awt.event.ActionEvent evt) {
049.btnClickActionPerformed(evt);
050.}
051.});
052.getContentPane().add(btnClick);
053.btnClick.setBounds(150, 140, 90, 23);
054. 
055.pack();
056.}// </editor-fold>                       
057. 
058.private void btnClickActionPerformed(java.awt.event.ActionEvent evt) {                                        
059.// TODO add your handling code here:
060.JOptionPane.showMessageDialog(this, "Sawatdee : " + txtName.getText());
061.}                                       
062. 
063./**
064.* @param args the command line arguments
065.*/
066.public static void main(String args[]) {
067./* Set the Nimbus look and feel */
068.//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
069./* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
071.*/
072.try {
073.for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
074.if ("Nimbus".equals(info.getName())) {
075.javax.swing.UIManager.setLookAndFeel(info.getClassName());
076.break;
077.}
078.}
079.} catch (ClassNotFoundException ex) {
080.java.util.logging.Logger.getLogger(MyFormApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
081.} catch (InstantiationException ex) {
082.java.util.logging.Logger.getLogger(MyFormApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
083.} catch (IllegalAccessException ex) {
084.java.util.logging.Logger.getLogger(MyFormApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
085.} catch (javax.swing.UnsupportedLookAndFeelException ex) {
086.java.util.logging.Logger.getLogger(MyFormApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
087.}
088.//</editor-fold>
089. 
090./* Create and display the form */
091.java.awt.EventQueue.invokeLater(new Runnable() {
092.public void run() {
093.new MyFormApp().setVisible(true);
094.}
095.});
096.}
097.// Variables declaration - do not modify                    
098.private javax.swing.JButton btnClick;
099.private javax.swing.JLabel jLabel1;
100.private javax.swing.JTextField txtName;
101.// End of variables declaration                  
102.}


จากตัวอย่างจะเห็นว่า Dialog สร้างได้แค่คำสั่งภายใน 1 บรรทัด และนอกจากนี้ยังสามารถสร้าง Dialog ในรูปแบบอื่น ๆ ได้อีกมากมายเช่น

Ex :1
1.JOptionPane.showMessageDialog(frame,
2."Eggs are not supposed to be green.");

Java GUI Event / Dialog


Ex :2
1.JOptionPane.showMessageDialog(frame,
2."Eggs are not supposed to be green.",
3."Inane warning",
4.JOptionPane.WARNING_MESSAGE);

Java GUI Event / Dialog


Ex :3
1.JOptionPane.showMessageDialog(frame,
2."Eggs are not supposed to be green.",
3."Inane error",
4.JOptionPane.ERROR_MESSAGE);

Java GUI Event / Dialog


Ex :4
1.JOptionPane.showMessageDialog(frame,
2."Eggs are not supposed to be green.",
3."A plain message",
4.JOptionPane.PLAIN_MESSAGE);

Java GUI Event / Dialog


Ex :5
1.JOptionPane.showMessageDialog(frame,
2."Eggs are not supposed to be green.",
3."Inane custom dialog",
4.JOptionPane.INFORMATION_MESSAGE,
5.icon);

Java GUI Event / Dialog

การใช้งานเพิ่มเติมอ่านได้ที่

Netbeans : สร้าง Java GUI ด้วย Netbeans สร้าง Application แบบ Graphic แบบง่าย ๆ

Netbeans : สร้าง Java GUI ด้วย Netbeans สร้าง Application แบบ Graphic แบบง่าย ๆ ในกรณีที่ติดตั้ง Netbeans เราสามารถที่จะสร้าง Project แบบ GUI เพื่อเรียกใช้งานพวก Class ของ AWT และ Swing ได้ทันที โดยที่เราไม่ต้องทำการติดตั้งพวก Plugin ของ WindowBuilder เหมือนกับโปรแกรม Eclipse และการใช้งาน Netbeans สร้าง GUI ก็จะใช้หลักการเช่นเดียวกับโปรแกรม Eclipse ที่ติดตั้ง WindowBuilder คือเราจะใช้การสร้าง Form ผ่าน Toolbox ต่าง ๆ ที่ Netbeans มีให้ เช่นพวก Label , TextField , Button และอื่น ๆ อีกมากมาย จากนั้นเราสามารถที่จะสร้าง Event หรือเหตุการณ์ต่าง ๆ ให้กับ Object ที่เราสร้างขึ้น และเมื่อต้องการเขียนให้โปรแกรมทำงานในสิ่งที่ต้องการ ก็จะใช้การเขียนเพิ่มในส่วนของ Code ของภาษา Java


Java GUI Netbeans

Netbeans IDE Tools


ถ้าจะให้เปรียบเทียบระหว่าง Netbeans และ Eclipse ว่าตัวไหนดีกว่ากัน ส่วนตัวผมเองนั้นจะเลือกใช้ Eclipse เพราะสามารถทำงานได้เร็วว่า และมี Tools อย่าง Quick Fixed ที่ช่วยให้การเขียนโปรแกรมได้ง่ายยิ่งขึ้น

เริ่มต้นการสร้าง Project บน Netbeans

Java GUI Netbeans

เลือกเมนู File -> New Project

Java GUI Netbeans

เลือก Java -> Java Application

Java GUI Netbeans

กำหนดชื่อ Project ในส่วนของ Create Main Class ให้ติ๊กออก จากนั้นเลือก Finish

Java GUI Netbeans

ตอนนี้ได้โปรเจคเปล่า ๆ ยังไม่มีไฟล์ .java

Java GUI Netbeans

สร้าง Package โดยการคลิกขวา Project -> New -> Java Package...

Java GUI Netbeans

ใส่ชื่อ Package เช่น com.java.myapp

Java GUI Netbeans

ได้ Package เช่น com.java.myapp เรียบร้อยแล้ว

สร้างไฟล์ Class ของ Java

Java GUI Netbeans

คลิกขวาที่ Package เลือก New -> Others...

การสร้าง GUI ในการสร้างไฟล์ .java แบบ GUI สามารถเลือก Class ได้หลายตัวมาก เช่น

Java GUI Netbeans

Swing GUI Forms และภายใน Swing ก็มี Class แยกย่อยอีกหลายตัว เช่นเดียวกัน

Java GUI Netbeans

หรือจะเลือกใช้ AWT GUI Forms ซึ่งจะแยกย่อย Class ได้อีก 4-5 ตัว

หลายคนจะยังสงสัยว่าจะเลือกตัวไหนดี ซึ่งปกติแล้วพวกการเลือกพวก GUI ต่าง ๆ เป็เพียงค่า Default เริ่มต้นตอนที่สร้างไฟล์ Class เท่านั้น แต่หลังจากที่สร้างแล้ว เราสามารถทำการแก้ไข Code ต่าง ๆ และเรียกใช่้งาน Class ต่าง ๆ เพิ่มได้ทีหลัง และสามารถใช้ได้ทั้ง Swing และ AWT หรืออื่น ๆ ในการออกแบบและสร้าง Form ได้

Java GUI Netbeans

ในขั้นตอนนี้ให้เลือก Swing GUI Forms -> JFrame Form

Java GUI Netbeans

กำหนดชื่อ Class

Java GUI Netbeans

ตอนนี้ได้เราได้ Class ที่มี .java เรียบร้อยแล้ว พร้อมทั้ง Form เปล่า ๆ ที่โปรแกรมสร้างมาให้

Java GUI Netbeans

จะเห็นว่ามี Toolbox ที่ประกอบด้วย Controls และ Object ต่าง ๆ มากมาย ที่ไว้ออกแบบ Form

Java GUI Netbeans

ก่อนอื่นให้เราเข้าใจเกี่ยวกับ Layout ของ Form ซะก่อน ซึ่งปกติแล้วเวลาเราเขียนบน VB.Net หรือ Visual Studio จะมีการจัดพวก Control ต่าง ๆ ตามตำแหน่ง X , Y ของ Form แต่ในภาษา Java เราสามารถเลือกที่จะจัดรูปแบบของ Control และ Object ต่าง ๆ ได้ เช่น จะเป็นแบบ GridLayout (ให้ นึกถึง HTML แบบ Table) และอื่น ๆ อีกหลายรูปแบบ แต่ในค่าพื้นฐานแนะนำให้ปรับเป็น Null layout คือจัดวางตำแหน่งแบบ X , Y เหมือนกับ VB.Net ที่เราคุ้นเคย

Java GUI Netbeans

ทดสอบการสร้าง Label , TextField และ Button ด้วย (JLabel, jTextField และ jButton) อาศัยการลากวาง ๆ

Java GUI Netbeans

ปรับแต่ Properties ของ Form ซะหน่อยด้วยการคลิกที่ Form แล้วไปที่


Properties -> Code -> Form Size Policy -> Generate Resize Code

หรือจะปรรับแต่งพวก Size ได้ตามขนาดที่ต้องการ

Java GUI Netbeans

ทดสอบการรันโปรแกรม

Java GUI Netbeans

เลือก Class ที่เราได้สร้างไว้เพื่อทำการ Run

Java GUI Netbeans

ได้ผลลัพธ์ดังรูป

สรุป จากผลลัพธ์จะเห็นว่า Netbeans ช่วย ให้เราสร้าง Form GUI ด้วย Java แบบง่ายมาก ๆ โดยที่เรายังไม่ได้เขียน Code เลยซะบรรทัด ก็สามารถสร้าง GUI ได้แล้ว และขั้นตอนถัดไป หลังจากได้ GUI แล้ว เราจะต้องสร้าง Event เหตุการณ์ต่าง ๆ กับ User เช่นการรับค่าผ่าน Input และแสดง Dialog โต้ตอบแบบง่าย ๆ

Laravel

  Laravel Framework คือ PHP Framework ตัวหนึ่งที่ถูกออกแบบมาเพื่อพัฒนาเว็บแอพพลิเคชั่นต่างๆ ในรูปแบบ MVC (Model Views Controller) ซึ่งมีการแ...