วันอังคารที่ 9 กุมภาพันธ์ พ.ศ. 2559

VDOช่วยสอนเบื่่องต้น

ภาษา JAVA เบื่องต้น


    

เนื้อหาในหน้านี้ จะเป็นเนื้อหาที่ครอบคลุม การเรียน Java แทบจะทั้งหมด เนื้อหาพื้นฐาน มันจะอัดแน่นมากในบทนี้สำนวน หรือที่เราเรียกว่า Java syntax และคอนเซ็ปหลักๆ นั้น ยืมมาจาก C++ อย่างมากมายก่ายกองก็ว่าได้ ดังนี้ ในบทนี้จึงอาจดูเหมือนกำลังเรียนภาษา C++ แทนที่จะเป็นการเรียน Java ก็ได้ ก่อนที่เราจะเริ่มบทเรียน ขอบอกไว้ก่อนว่า บทเรียน Java นี้ เขียนขึ้น เพื่อคนที่ไม่เคยเรียน ไม่เคยสัมผัส กับ Java มาก่อนเลย จึงค่อนข้างละเอียดมาก
ก่อนจะเข้าสู่บทเรียน เรามาทราบองค์ประกอบของจาวาก่อนนะคะ ว่ามีอะไรบ้าง


องค์ประกอบ Java


Java เป็นภาษาที่มีอิสระในเรื่องของรูปแบบ หมายความว่า ในการพิมพ์ source code เราจะย่อหน้าหรือไม่ย่อหน้า จะวรรค 1 เคาะ หรือกี่เคาะ โปรแกรมก็ run ได้เหมือนเดิมทุกประการ ไม่เชื่อก็จงทดลองกับโปรแกรม HelloWorld.java ดูก็ได้! แต่ท่านควรยึดแบบแผนที่ดี (หัวข้อถัดไป)จะดีกว่า มิฉะนั้น จะไล่ดู ตรวจสอบ แก้ไขโค้ดลำบาก
• Java มีองค์ประกอบและไวยากรณ์คล้าย C และ C++
• Primitive Data Types มี boolean, byte, short, char, int, float
จงเลือกใช้ให้เหมาะสม โปรแกรมจึงจะทำงานอย่างมีประสิทธิภาพ (รันเร็ว ไม่เปลืองเนื้อที่ฮาร์ดดิสก์ ผลลัพธ์ถูกต้องเที่ยงตรง โดยเฉพาะทศนิยมด้วย ฯลฯ)
• Operators แต่ละคู่ต่อไปนี้ต้อง เขียน/พิมพ์ ติดกัน:


==, !=, <=, >=, &&, ||
ลักษณะและไวยากรณ์ของ Java
Comments มี 3 แบบ
//

/* */
/** */
อันที่จริงเราไม่ใช้ Comment เลยก็ได้ เพราะมันเป็นแค่หมายเหตุ หรือคำอธิบายเท่านั้น คอมฯ ไม่นำมาประมวลผลเลย แต่สำหรับโปรแกรมเมอร์ระดับอาชีพ เขียนโปรแกรมใหญ่ๆ บางบรรทัด บางบล็อกของโค้ดที่สำคัญเขาจะทำ Comment ไว้กันลืม ง่ายต่อการแก้ไขปรับปรุงใน 3 ปี 5 ปี ข้างหน้า เป็นต้น หรือแม้แต่เจอ bug ในปัจจุบันก็จะหาสาเหตุของ bug ได้ง่ายขึ้น

• เครื่องหมายสำคัญ

; เรียกว่า statement separator


{ } เรียกว่า statement grouper

โครงสร้างคุมโปรแกรม

• การเขียนโปรแกรมเรียกว่า coding
• โปรแกรมประกอบด้วยหลายๆ statements (ประโยคคำสั่ง)
• แต่ละ statement สิ้นสุดด้วยเครื่องหมาย ; (semicolon)
• โดยทั่วไป โปรแกรมทำงานอะไรก่อน อะไรหลัง ย่อมเป็นไปตามลำดับเดียวกันกับลำดับของ statements ในโปรแกรมนั้น
• ในบางกรณีที่เราไม่ต้องการให้โปรแกรมทำงานตามลำดับเดียวกันกับลำดับของ statements เราก็ต้องใช้ if, if…else, switch…case, และ loopsเช่น for, while, do…while เพื่อเบี่ยงหรือข้ามบาง statements ไป
• การเขียน loops ถ้าเขียนไม่ถูกต้อง อาจ run วนไม่หยุด (เรียกว่า infinite loop) จงกด Ctrl+C ให้หยุด แล้วแก้ไข

ภาษา Swift เบื่องต้น






เริ่มต้นด้วยการสร้างโปรเจคเขียนภาษา Swift กัน




ในหน้า Welcome to Xcode (จะต้องเป็นเวอร์ชั่น 6.0 หรือสูงกว่าเท่านั้นนะครับ) กดเลือกที่เมนู Create a new Xcode projectScreen Shot 2014-06-09 at 2.46.30 AM
เลือกที่ OS X > Application > Command Line Tool คือเราจะเริ่มหัดเขียนตั้งแต่พื้นฐานก่อนเลย จึงยังไม่ต้องรีบร้อนไปเลือกแบบ iOS Application นะครับ ค่อยเป็นค่อยไปดีกว่า
Screen Shot 2014-06-09 at 2.46.48 AM


ตั้งชื่อโปรดัก (ชื่อโปรแกรม) ชื่อองค์กร และ identifier (เป็นชื่อที่มี . ขั้นระหว่างคำ ตรงนี้อาจจะใช้เป็น com.myapp ไปก่อนก็ได้ แต่หากเป็นแอพที่จะอัพเข้า App Store แล้ว ในส่วนนี้จะต้องมีส่วนของชื่อองค์กร ชื่อแบรนด์ของผลิตภัณฑ์ อยู่ด้วยนะ เพื่อจะทำให้เราระบุชื่อแอพได้แบบไม่ซ้ำกันนั้นเอง) เลือก Language เป็น Swift



เลือกที่เซฟโปรเจค แล้วกด Create เลย (จากรูปด้านบน จะเห็นว่าตรง Source Control ของผมจะมีมีปุ่มให้เลือกเนื่องจากว่า ผมได้เชื่อมพาทที่อยู่ไฟล์นี้เข้ากับ Github เอาไว้เก็บไฟล์บนอินเตอร์เน็ตนั้นเอง ศึกษาเรื่อง Source Control ที่http://www.appcodev.com/category/dev-tools/github/)
Screen Shot 2014-06-09 at 2.47.26 AM



เมื่อสร้างโปรเจคสำเร็จแล้ว จะนำท่านเข้าสู่การเขียนโปรแกรมด้วย Swift เลยนะครับ

โครงสร้างไฟล์ในโปรเจคของ Swift แบบ OS X > Application > Command Line Tool

ข้อดีของการเริ่มต้นด้วยโปรเจคแบบ Command Line Tool นั้นก็คือ เราจะทราบพื้นฐานการสร้างโค้ดของโปรแกรม Swift เลยครับ จะไม่มีโค้ดอื่นมาแทรกกวนใจ ทำให้งง ทำให้เราศึกษาโค้ด Swift ได้เต็มที และรวดเร็ว งั้นเรามาเริ่มกันเลย

สังเกตสักนิด !!!
ในโปรเจค จะมีไฟล์โค้ดมาให้เราแค่ 1 ไฟล์ คือ main.swift (main คือชื่อไฟล์ ส่วน .swift คือนามสกุลไฟล์)
โค้ด Swift จะมีแค่ไฟล์เดียวคือ .swift ไม่เหมือน C หรือ Objective-C ต้องมี .h และ .m ทำให้สับสน ??? ตั้งแต่ตอนแรกเลย ใช่มั้ยครับ
ในโค้ด main.swift จะมีโค้ดมาให้แค่ 2 บรรทัด นั้นคือ import Foundation และ printin(“Hello, World!”) เท่านั้น

โค้ดที่ให้มาคืออะไร

อันนี้จะง่ายต่อการเข้าใจมากๆ ครับ
Screen Shot 2014-06-09 at 3.14.07 AM
Screen Shot 2014-06-09 at 3.14.17 AM


คือการปริ้นตัวหนังสือออกมาทาง Console เราสามารถใช้ได้ทั้ง println() ให้บรรทัดต่อไปขึ้นบรรทัดใหม่ และ print() ให้บรรทัดต่อไปต่อกันกับบรรทัดก่อนหน้าได้

จะสังเกตว่า โค้ดแต่ละบรรทัดของ Swift จะไม่มี ; (Semicolon) ปิดท้ายประโยคนะครับ เพื่อประหยัดตัวอักษร แต่เราจะเขียนใส่เข้าไปก็ได้ครับไม่เออเรอแต่อย่างใด หากยังติดกับโปรแกรมภาษา Objective-C อยู่ ^^

การประกาศตัวแปร

การประกาศตัวแปรในภาษา Swift นั้นประกาศได้ 2 แบบ คือ

  1. แบบระบุชนิดตัวแปรเข้าไปเลย (Type Safe)
  2. แบบไม่ระบุชนิดตัวแปร (Type Inference)
การประกาศแบบ Type Safe จะทำให้เรารู้ได้เลยว่าชนิดข้อมูลของตัวแปรนั้นๆ เป็นชนิดอะไร จะทำให้ปลอดภัยจากการใช้งานสลับชนิดตัวแปรด้วย แต่การประกาศแบบ Type Inference เป็นการประกาศที่พบบ่อยมาก เพราะมันทำให้เราเขียนโค้ดได้สั้นลง ส่วนการรู้ว่าเป็นชนิดอะไรนั้นเราต้องไปดูที่ค่าของตัวแปรเอาเองว่าเป็นชนิดอะไรการตัวแปรในภาษา Swift มีอยู่ด้วยกัน 2 ประเภทหลัก คือ
  1. ตัวแปรที่ไม่สามารถเปลี่ยนแปลงค่าได้ หรือ Constant ตัวแปรนี้จะประกาศตัวแปรด้วยคีย์เวิร์ด let
  2. ตัวแปรที่สามารถเปลี่ยนแปลงค่าหลังจากประกาศตัวแปรแล้วได้ หรือ Variable ตัวแปรนี้จะประกาศตัวแปรด้วยคีย์เวิร์ด var
ทั้งสองคีย์เวิร์ดนี้มีการใช้แต่ต่างกัน หากไม่ต้องการให้ตัวแปรแก้ไขค่าได้ให้ใช้ let หากต้องการแก้ไขค่าตัวแปร อัพเดทค่าตัวแปร ในอนาคตให้ใช้ var
ตัวอย่าง

สังเกต
การประกาศตัวแปรแบบ Type Safe ชื่อชนืดของตัวแปรจะเริ่มต้นด้วยตัวพิมพ์ใหญ่ทั้งหมด เช่น String, Double, Int, Bool (จะไม่มีตัวพิมพ์เล็กให้สับสนอีกต่อไป เพราะว่าการประกาศตัวแปรพื้นฐานใน Swift ทุกตัวนั้นเป็น Object ของ Structure ทั้งหมด ดังนั้นชื่อชนิดตัวแปรจึงเป็นตัวพิมพ์ใหญ่)

ค่า Boolean จะใช้ชนิดตัวแปรว่า Bool และค่าที่ใช้จะใช้ true (จริง) และ false (เท็จ) เท่านั้น

การอัพเดทค่าตัวแปร ชนิด var และ let



จากรูปตัวแปร langName ที่ประกาศแบบ var นั้นจะสามารถอัพเดทค่าได้

ส่วนตัวแปร awesome ประกาศเป็นแบบ let หากมีการอัพเดทค่า จะทำให้คอมไพล์เลอร์ฟ้อง error : Cannot assign to ‘let’ value ‘awesome’ ทันที


การปริ้นและแสดงข้อความออกทาง Console

เราทราบมาคร่าวๆ แล้วนะครับว่า หากต้องการปริ้นข้อความหรือค่าตัวแปรต่างๆ ออกทาง Console ให้ใช้คำสั่ง println() หรือไม่ก็ print() เพื่อปริ้นค่าออกมาตามนี้

สังเกต หากเราต้องการปริ้นค่าตัวแปรพร้อมกับข้อความให้เราใส่ชื่อตัวแปรไว้ใน \(ชื่อตัวแปร) และใส่ทั้งหมดนี้ในสัญลักษณ์ฟันหนู เช่น “\(ชื่อตัวแปร) ข้อความธรรมดา” เท่านี้เอง

หรือต้องการแค่ปริ้นค่าตัวแปรออกมาเท่านั้น ก็ใช้แค่ชื่อตัวแปรได้เลย เช่น println(langName) โดยไม่ต้องใส่ใน \( )


การประกาศชื่อตัวแปรแบบ Unicode

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



จากตัวอย่างเราสามารถประกาศชื่อตัวแปรเป็นภาษาไทย ได้จริงๆ นะ ต่อไปการตั้งชื่อโปรแกรมจะไม่ใช่เรื่องยากอีกต่อไปที่จะคิดว่าจะใช้ชื่ออะไรดี

แล้วอักษร Unicode เอามาจากไหน ?

สำหรับนักพัฒนาที่อยากจะใช้อักษร Unicode มาใช้เป็นชื่อตัวแปร ให้กดไปที่ ตรงเปลี่ยนภาษา > Show Character View เสร็จสามารถเลือกอักษรที่ต้องการแล้ว ดับเบิ้ลคลิ้กมาใช้ในโค้ดได้เลย
Screen Shot 2014-06-09 at 3.44.09 AM  Screen Shot 2014-06-09 at 3.44.20 AM


ในบทความนี้จะพูดถึงพื้นฐานการเริ่มต้นกับ Swift นะครับ บทต่อไปจะเป็นเรื่องของ String Character ครับ ติดตามกันได้นะครับ

เพื่อนๆ คนไหนสนใจที่จะเริ่มศึกษา Swift ไปด้วยกัน เข้ามาคุยกันได้ที่เพจ Let Swift (www.facebook.com/let.swift) เลยนะครับ หรือในเพจ Appcodev ก็ได้เช่นกัน

วันอังคารที่ 2 กุมภาพันธ์ พ.ศ. 2559

ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม









ภาษาที่ใช้ในการพัฒนาคอมพิวเตอร์มีดังนี้




1. Java - Java (จาวา) เป็นหนึ่งในภาษาอันดับต้นๆ ที่ได้รับความนิยมในการสร้า Backend สำหรับเว็บแอพฯที่ต้องการความทันสมัยในการแสดงผล ด้วย Java และ Frameworks ที่มีให้ใช้ นักพัฒนาสามารถสร้างเว็บที่ปรับขนาดการแสดงผลให้เหมาะสมกับผู้ใช้ได้ทุกรูปแบบการเข้าชม ปัจจุบัน Java มักใช้พัฒนาแอพฯแอนดรอยส์สำหรับสมาร์ทโฟนและแท็บเล็ต









2. JavaScript - JavaScript เป็นภาษาที่เป็น Script ที่อยู่ในเว็บไซต์ (ใช่ร่วมกับ HTML) เพื่อให้เว็บไซต์ของเราดูมีการเคลื่อนไหว สามารถตอบสนองผู้ใช้งานได้มากขึ้น ยกตัวอย่าง Hellomyweb.com ตรงเมนูด้านซ้ายมือจะเห็นว่าสามารถคลิกเพื่อดูหัวข้อภายในได้ และสามารถคลิกที่ลูกศรสีเขียวเพื่อปิดดูทั้งหมด และลูกศรสีแดงเพื่อเปิดทั้งหมด ข้อดีของ Javascript คือสามารถทำให้ผู้ใช้งานใช้เว็บไซต์ของเราได้ง่ายขึ้น รวมถึงดึงดูดความสนใจของผู้ใช้งานได้อีกด้วย ปัจจุบันนี้ Javascript นั้นเป็นมาตราฐานที่อยู่ใน W3C จึงมั่นใจได้ว่าทุกๆ Web browser รองรับการทำงานของ Javascript แน่นอน เนื้อหาเบื้องต้นที่ผู้ใช้ต้องเข้าใจมาก่อนล่วงหน้าคือ HTML เพื่อให้สามารถทำความเข้าใช้ในเนื้อหาเรื่องนี้ได้ง่ายขึ้น





3. C# - C# เป็นภาษาหลักในการพัฒนาโปรแกรมบนระบปฏิบัติการของ Microsoft เมื่อเราสร้างสร้างเว็บแอพพลิเคชั่น ด้วย Arure และ .NET สำหรับอุปกรณ์ที่ใช้ระบบปฏิบัติการวินโดว์ C# เป็นภาษาที่รวดเร็วที่สุดในการเขียนโปรแกรมควบคุมทรัพยากรที่ไมโครซอฟท์มีให้ใช้ หรือแม้แต่ภาษาเกมคอมพิวเตอร์ยอดนิยมอย่าง Unity Engine ก็ใช้ C# เป็นภาษาหลักในการทำงานด้วยเช่นกัน





4.C++ - ภาษา C++ ต่อยอดมาจากภาษา C ออกแบบให้ทำงานง่ายขึ้นมีความเป็น Object มากกว่าเดิม จุดเด่น คือ การทำงานร่วมกับฮาร์ดแวร์ การเขียนโปรแกรมจำพวกจัดการหน่วยความจำ หรือเร่งประสิทธิภาพกราฟฟิค ต้องใช้ C++ ในการเขียน





5.PHP - ถ้าต้องการสร้างเว็บที่มีการใช้งานฐานข้อมูล PHP เป็นภาษาที่ทำงานร่วมกับ MySQL ในปัจจุบัน PHP เป็นภาษาที่นิยมอย่างมากในเว็บที่มีการจัดเก็บข้อมูลเนื้อหาบนเว็บไซต์ ตัวอย่างเว็บยอดนิยมประเภทนี้ก็อย่างเช่น WordPress นั่นเอง





6.Python - Python เป็นภาษาที่สามารถทำได้ทุกอย่างตั้งแต่ เว็บแอพพลิเคชั่น, User interfaces, Data analysis, Statistics และหากมีปัญหาอะไรก็ตาม มันมี Framework สำหรับแก้ไขปัญหาให้ใช้มากมาย Python นิยมใช้ในงานด้านวิทยาศาสตร์หรืออตสาหกรรมที่มีปริมาณข้อมูลขนาดใหญ่มาก





7.C - แม้ว่าจะเก่าแก่แล้ว แต่ภาษา C ยังคงได้รับความนิยมไม่เสื่อมคลาย เนื่องจากใช้ทรัพยากรเครื่องน้อย ทำงานได้รวดเร็ว และความสามารถครบถ้วน ถ้าต้องการเขียนซอฟแวร์ที่ทำงานร่วมกับไฟล์ระดับ Kernels หรือเขียนโปรแกรมที่รีดทรัพยากรออกมาได้ทุกหยดแล้วล่ะก็ต้อง ภาษา C เท่านั้น





8.SQL - ข้อมูลบนอินเตอร์เน็ตมีขนาดใหญ่ขึ้นทุกวัน SQL มีความสามารถในการค้นหาข้อมูลที่ผู้ใช้ต้องการได้อย่างรวดเร็ว สามารถค้นข้อมูลซ้ำๆ ได้อย่างแม่นยำ ด้วย SQL การระบุตำแหน่งของข้อมูลที่ต้องการในฐานข้อมูลขนาดใหญ่ไม่ใช่เรื่องยาก





9.RUBY - ถ้าต้องการสร้างโปรเจคส์ภายในเวลาจำกัด หรือสร้างตัวโปรแกรมเวอร์ชั่นทดสอบออกมาลองใช้งาน Ruby เป็นภาษาที่ถูกหยิบขึ้นมาใช้ เนื่องจากใช้งานง่าย และไม่ซับซ้อน แต่ไม่ใช่ว่างานใหญ่จะใช้ RUBY ไม่ได้นะ Twitter เว็บนี้ก็เขียนด้วย RUBY นะเอ้อ แต่ด้านความเร็ว PYTHON ทำงานรวดเร็วกกว่า แต่แลกมาด้วยความซับซ้อนในการเขียนที่ยากกว่า





10. Objective-C - ถ้าสนใจที่จะเขียนแอพฯ iOS คุณจำเป็นต้องเรียนรู้ภาษานี้ แม้ว่าปลายปีที่แล้วทาง Apple จะเปิดตัวภาษาใหม่ "Swift" แต่ Objective-C ก็ยังไมีการใช้งานกันอยู่อย่างแพร่หลาย โดยทำงานร่วมกับ XCode ชุดพัฒนาซอฟท์แวร์ของ Apple ปัจจุบันตลาดแอพฯเป็นที่สนใจของผู้ลงทุน ดังนั้นใครเขียนเป็นหางานไม่ยากแน่นอน





11. Perl - เป็นภาษาที่ทรงพลังและอยู่คู่กับเว็บไซต์มาตั้งแต่จุดเริ่มต้น และเป็นเครื่องมือสำคัญสำหรับผู้เชี่ยวชาญด้านไอที มีความปลอดภัยในการทำงานสูง





12. .NET - ตัวมันเองไม่ใช่ภาษาสำหรับเขียนโปรแกรม แต่ก็เป็นกุญแจสำคัญจากไมโครซอฟท์สำหรับทำงานกับ Cloud, Service และ การพัฒนาแอพ และด้วยความที่มันเป็น Open-Source มันกำลังเข้ามามีบทบาทบนแพลตฟอร์มของ Googel และ Apple ทำให้ตัว .NET จะเป็นเครื่องมือสำคัญในการสร้างแอพที่รองรับหลายแพลตฟอร์ม





13. Visual Basic - ภาษาสำคัญที่ประสบความสำเร็จในวงการธุรกิจ เป็นหนึ่งในภาษาหลักของ .NET สามารถสร้างแอพพลิเคชั่นขึ้นมารองรับภาคธุรกิจ และสร้างเอกสารอัตโนมัติอย่าง Excel ได้อัตโนมัติ ทำให้งานต่างๆ ดำเนินไปได้อย่างราบรื่น





14. R - R เป็นภาษาที่ทรงพลังและปฏิวัติข้อมูลครั้งใหญ่ เป็นภาษาที่นักพัฒนาจำเป็นต้องรู้จักในปี 2015 หากต้องการทำ Data analysis ทั้งจากด้านวิทยาศาสตร์, ธุรกิจ, บันเทิง และ Social Media





15. Swift - เป็นภาษาใหม่ที่มีอายุไม่ถึงปีด้วยซ้ำ Swift สร้างขึ้นโดยบริษัท Apple และเป็นที่จับตาของนักพัฒนาทันที เนื่องจากถูกออกแบบมาให้ทำงานได้รวดเร็ว และง่ายดาย ทำให้การพัฒนาแอพฯสำหรับ Mac และ iOS มีความง่ายขึ้น



.................................................................................