Python – Inheritance

การสืบทอด(Inheritance) การสืบทอดเป็นคุณลักษณะเด่นอย่างหนึ่งสำหรับการเขียนโปรแกรมแบบ OO(Object-Oriented Programming) โดยอ้างถึงการกำหนดคลาสขึ้นมาใหม่และด้วยคุณลักษณะจากคลาสที่มีอยู่โดยไม่มีการแก้ไขใดๆ โดยคลาสใหม่เรียกว่าคลาสสืบทอด(derived or child class) และคลาสที่เป็นต้นแบบของการสืบทอดนั้นเรียกว่าคลาส base(หรือ parent) class BaseClass: # รายละเอียดของ Base Class class DerivedClass(BaseClass): # รายละเอียดของ Derived Class คลาสสืบทอด(derived class) ได้สืบทอดคุณลักษณะจากคลาสต้นแบบ และสามารถเพิ่มคุณลักษณะใหม่ลงไปได้ ซึ่งทำให้เราสามารถสร้างคลาสใหม่โดยการนำคุณลักษณะเดิมที่มีอยู่แล้วมาปรับปรุงเพื่อใช้งานได้มากขึ้น ตัวอย่างการสืบทอด กำหนดให้ polygon เป็นรูปปิดซึ่งมีด้าง 3 ด้าน เราทำการสร้างคลาส polygon ได้ดังนี้ class Polygon: def __init__(self, no_of_sides): self.n = no_of_sides self.sides = [0 for i in range(no_of_sides)] def inputSides(self): Read more about Python – Inheritance[…]

Python – Objects and Class

ไพธอนเป็นหนึ่งในภาษาที่เป็น Object Oriented ซึ่งต่างจาก procedure oriented language ที่จะเน้นการใช้งานเป็นฟังก์ชัน แต่ Object Oriented จะเน้นการใช้งานในรูปแบบออบเจค โดยออบเจ็คแต่ละชนิดนั้นประกอบด้วยข้อมูลตัวแปรและฟังก์ชันเพื่อมาใช้ทำงานกับข้อมูลต่างๆ และคลาสซึ่งเป็นการกำหนดรูปแบบให้ออบเจ็คแต่ละชนิด เราสามารถเปรียบเทียบคลาสเป็นเหมือนโครงร่างของบ้าน ซึ่งจะประกอบด้วยข้อมูลของพื้น, ประตู, หน้าต่าง และอื่นๆ ขึ้นอยู่กับรายละเอียดนี้เราสามารถประกอบเป็นบ้าน โดยบ้านเป็นออบเจ็คหนึ่ง ซึ่งบ้านหลายๆหลังสามารถสร้างจากการรายละเอียดเริ่มต้นเหล่านี้ ซึ่งสามารถสร้างเป็นออบเจ็คได้หลายแบบจากคลาสเดียวกันซึ่งจะเรียกว่า instance ของคลาส การกำหนดคลาสในไพธอน สำหรับการกำหนดฟังก์ชันเราจะเริ่มต้นประกาศฟังก์ชันด้วยคีย์เวิร์ด def แต่สำหรับการกำหนดคลาสเราจะเริ่มต้นประกาศคลาสด้วยคีย์เวิร์ด class โดยสิ่งแรกที่มักประกาศคือ docstring ซึ่งเป็นข้อควาที่ระบุข้อมูลคร่างๆ เกี่ยวกับคลาสนั้นๆ แต่ก็ไม่ได้บังคับตายตัวว่าจำเป็นต้องใส่ทุกครั้ง แต่การใส่จะทำให้เมื่อกลับมาอ่านแล้วสามารถจะทำความเข้าใจเกี่ยวกับคลาสได้รวดเร็วขึ้น ตัวอย่างการใช้งาน class abc ”’ docstring here ”’ pas คลาสจะทำการสร้าง local namespace ขึ้นมาใหม่ซึ่งใช้ประกาศแอทริบิวต์หรือฟังก์ชัน และยังมีแอททริบิวท์พิเศษที่เริ่มต้นชื่อด้วย __ เช่น __doc__ ใช้กำหนดรายละเอียด docstring ของคลาส Read more about Python – Objects and Class[…]

iOS 11 รองรับไฟล์มาตรฐาน FLAC แล้ว

ผู้ใช้ของเวป reddit ที่ได้ทดลองใช้ iOS 11 beta 1 ที่เปิดให้นักพัฒนาได้ใช้แล้วนั้นได้รายงานว่า ในสามารถเล่นไฟล์เพลงที่ถูกแปลงด้วยมาตรฐาน FLAC ได้แล้ว สำหรับการเล่นไฟล์ FLAC ใน iOS 11 beta 1 ต้องนำไฟล์ FLAC ไปวางบน iCloud Drive ก่อนแล้วทำการ sync ไฟล์ดังกล่าวมาลงยังอุปกรณ์ไม่ว่าจะเป็น iPhone หรือ iPad จากนั้นทำการเลือกเล่นเพลงผ่านแอพลิเคชัน Files ซึ่งเป็นแอพลิเคชันใหม่ที่ Apple เปิดให้ใช้เพื่อเข้าถึงไฟล์ต่างๆในอุปกรณ์ โดยแอพลิเคชัน Files จะรองรับตั้งแต่ iOS 11 ขึ้นไปเท่านั้น แต่เดิมนั้น ในอุปกรณ์ต่างๆของ Apple จะใช้มาตรฐาน Apple Lossless Audio Codec (ALAC) ที่พัฒนาโดย apple เอง เป็นการ encode ไฟล์เพลงแบบไม่สูญเสียข้อมูลต้นฉบับ(lossless) Read more about iOS 11 รองรับไฟล์มาตรฐาน FLAC แล้ว[…]

iOS 11 สำหรับนักพัฒนา

Drag and Drop: เพิ่มความสามารถการ drag/drop ภายในแอพเดียวกัน หรือคนละแอพ เฉพาะใน ipad ARKit: เพิ่ม API สำหรับ Augment Reality(AR) โดยทำการผสมผสานระหว่าง live camera view จากกล้องถ่ายรูป เข้ากับวัตถุที่ใส่ไว้ในโปรแกรม ซึ่งทำให้ดูเหมือนกับวัตถุเหล่านั้นอยู่ในภาพจริง โดย ARKit ยังสามารถตรวจหาระนาบ(plane) จาก live camera view ได้ Machine learning: มีการเปิดให้ใช้ core ML framework ซึ่งนักพัฒนาสามารถจะสามารถป้อน train model, data input เพื่อที่จะรับข้อมูลจากการ prediction, apple มีตัวอย่างการใช้ core ML เพื่อจะทำนายราคาของอสังหาริมทรัพย์ Vision: มีการเปิดใช้ vision framework เพื่อจะใช้สำหรับ การวิเคราะห์รูปภาพ แต่เดิมใน Read more about iOS 11 สำหรับนักพัฒนา[…]

Embed youtube video into iOS Application (swift project)

จากเอกสารของ google(ที่นี่) ที่เสนอแนะวิธีการ embed youtube video ลงบน iOS app โดยใช้ตัวอย่างเป็นภาษา objective-c วันนี้เราจะมาลอง embed youtube video โดยใช้โปรเจค swift กัน วิธีการนำ library เข้ามาใช้ใน project ของเรามีสองแบบ แบบแรกผ่าน cocoapods แบบที่สอง ให้โหลด source file จาก github แล้วมา import ลงใน project ของเราเอง สำหรับวันนี้เราจะมาใช้วิธีนำ library เข้ามาใช้ผ่าน cocoapods วิธีการนำ youtube library มาใช้ผ่าน cocoapods cocoapods คืออะไร cocoapods เป็น dependency manager คือ แหล่งรวมโปรเจค objective-c และ Read more about Embed youtube video into iOS Application (swift project)[…]

iOS Tutorial – Begin with swift ( day 8 ) – Properties

รู้จักกับ properties properties คือค่าที่ถูกเก็บและเป็นส่วนหนึ่ง class, structure และ enumeration store properties คือ ค่าคงที่ หรือตัวแปรที่ที่ถูกบันทึก ซึ่งจะหาได้ใน class, structure compute properties คือ ค่าที่ถูกคำนวณขึ้น ซึ่งจะหาได้ใน class, structure, enumeration store properties store properties สามารถจะประกาศเป็น ค่าคงที่(ประกาศด้วย let) หรือตัวแปร (ประกาศด้วย var) ก็ได้ ตัวอย่างการใช้ store properties struct TrackInfo{ var length:Int var currentTime:Int } จากตัวอย่าง เราทำการสร้าง Structure ชื่อ TrackInfo สำหรับไว้ทำการบันทึกข้อมูลรายละเอียดของเพลงแต่ละเพลง โดยเราทำการประกาศ ตัวแปร properties ชื่อว่า Read more about iOS Tutorial – Begin with swift ( day 8 ) – Properties[…]

iOS Tutorial – Begin with swift ( day 7 ) – Class และ Structure

รู้จักกับ Class และ Structure วิธีการประกาศ Class         การประกาศใช้ Class นั้นจะใช้ keyword “class” ตามด้วยชื่อของคลาสที่ต้องการประกาศ และรายละเอียดของคลาสจะอยู่ภายในเครื่องหมาย {} วิธีการประกาศ Structure       การประกาศใช้ Structure นั้นจะใช้  keyword “struct” ตามด้วยชื่อของ Structure ที่ต้องการประกาศ และรายละเอียดของ structure จะอยู่ภายในเครื่องหมาย {} ตัวอย่างการใช้งาน Class และ Structure struct GeoLocation{ var lat = 88.25 var long = 91.5 } struct Size{ var width = Read more about iOS Tutorial – Begin with swift ( day 7 ) – Class และ Structure[…]

iOS Tutorial – Begin with Swift ( day 6 ) – Enumerations

รู้จักกับ enumerations enumeration คือประเภทของข้อมูลแบบหนึ่งที่กำหนดขึ้นเอง สำหรับจับกลุ่มของข้อมูลที่มีความเกี่ยวเนื่องกัน หากเราเคยคุ้นเคยกับภาษา c ข้อมูลประเภท enumeration จะเป็นการกำหนดชื่อของข้อมูลกับค่าที่เป็น integer แต่ใน swift สามารถทำได้มากกว่านั้น ใน swift การกำหนดค่าให้ enumeration จะแบ่งออกเป็นสองแบบใหญ่ๆ raw value ค่าคงที่จะถูกกำหนดให้ตามแต่ละกรณีไปโดยจะเป็นค่าคงที่ไม่เปลี่ยนแปลงโดยจะสามารถเก็บข้อมูลได้เป็นชนิด String, Character, integer, float associate value  ค่าที่จะถูกกำหนดโดยรูปแบบได้ก็ได้ ตามแต่ละกรณี เราจะมาลงรายละเอียดใน enumeration ประเภทนี้ต่อไป วิธีการประกาศ         เราประกาศใช้ enumeration ด้วย keyword “enum” จากนั้นตามด้วยชื่อประเภทของข้อมูลที่เราจะสร้างขึ้น<enumeration_name> ซึ่งประเภทของข้อมูลนี้ ควรจะขึ้นต้นด้วยตัวพิมพ์ใหญ่ เพราะเรากำลังจะประกาศประเภทของข้อมูลใหม่และชื่อของประเภทควรจะเป็นเอกพจน์อีกด้วย จากนั้นรายละเอียดของของมูลทั้งหมดจะอยู่ภายในเครื่องหมาย {} ตัวอย่างการใช้ enumeration enum Direction { case Read more about iOS Tutorial – Begin with Swift ( day 6 ) – Enumerations[…]

iOS Tutorial – Begin with Swift ( day 5 ) – Closure

รู้จักกับ closure closure คือกลุ่มของคำสั่งที่อยู่รวมกัน สามารถจะถูกประกาศและถูกใช้ในส่วนต่างๆ ของโค้ดได้  ซึ่ง closure ใน swift เองนั้นเปรียบได้กับ block ในภาษา c และ objective-c รูปแบบของ closure : ฟังก์ชัน: ซึ่งเราพูดถึงไปในบทที่แล้ว เป็น closure ที่กลุ่มคำสั่งดังกล่าวมีการกับหนดชื่อให้กับ closure และไม่มีการบันทึกค่าต่างๆ ไว้ใช้ ฟังก์ชันซ้อนฟังก์ชัน: เป็น closure ที่กลุ่มคำสั่งดังกล่าวมีการกำหนดชื่อให้ และมีการบันทึกค่าต่างๆไว้ใช้ Closure expression: เป็นกลุ่มของคำสั่ง ที่ไม่มีการกำหนดชื่อให้กลุ่มนั้น และมีการบันทึกค่าต่างๆไว้ใช้ใน closure โดยบทนี้เราจะมาเน้นถึง Closure Expression โดยลักษณะของการใช้ closure expression รูปแบบเต็มจะเขียนได้ดังนี้       ชุดคำสั่งใน closure ต้องอยู่ภายในเครื่องหมาย {}  และชุดคำสั่งที่ดำเนินการภายในทั้งหมด closure จะมาหลัง Read more about iOS Tutorial – Begin with Swift ( day 5 ) – Closure[…]

iOS Tutorial – Begin with Swift ( day 4 ) – Function

รู้จักกับ Function ฟังก์ชันคือ กลุ่มของคำสั่งที่ถูกรวมกัน เพื่อทำตามจุดประสงค์โดยรวมของกลุ่มคำสั่งนั้นๆ   ฟังก์ชันจะประกอบด้วยองค์ประกอบหลักๆ คือ       Keyword: func ซึ่งเป็นการบอกว่ากลุ่มคำสั่งนี้คือการประกาศฟังก์ชัน ชื่อฟังก์ชัน(name): เป็นชื่อที่ถูกตั้งขึ้นตามจุดประสงค์ของกลุ่มคำสั่ง เพื่อไว้ใช้เรียกกลุ่มของคำสั่งนั้น ข้อมูลตัวแปร(argument): ซึ่งเป็นข้อมูลเพิ่มเติมที่ถูกส่งเข้าไปในฟังก์ชัน เพื่อทำให้ฟังก์ชันนั้นสามารถทำงานบรรลุตามจุดประสงค์ของฟังก์ชัน ซึ่งฟังก์ชันอาจกำหนดให้มี หรือไม่มีข้อมูลตัวแปรนี้ก็ได้  ข้อมูลตัวแปรนี้สามารถใช้ได้หลายประเภทตั้งแต่ การส่งตัวแปรแบบธรรมดาอย่างภาษา c ทั่วไป หรือไปถึงประเภทที่ซับซ้อน ตามการส่งตัวแปรแนว objective-c กลุ่มคำสั่ง(statement): ซึ่งเป็นกลุ่มคำสั่งที่ใช้ดำเนินการเพื่อให้บรรลุจุดประสงค์ของฟังก์ขัน ข้อมูลตัวแปรที่ส่งกลับ(return value): เป็นข้อมูลตัวแปรที่เป็นผลลัพท์จากการกระทำตามกลุ่มคำสั่งและต้องการส่งผลกลับออกไป ซึ่งฟังก์ชันอาจจะมีหรือไม่มี return value ก็ได้ตามแต่กำหนด ถ้าไม่ต้องการให้มี return value ฟังก์ชันจะมี return type เป็น void คือไม่มีประเภทใดๆ ตัวอย่างการประกาศฟังก์ชันแบบไม่มีตัวแปร และไม่มีการคืนค่ากลับ func greeting(){ print(“Welcome to Swift Tutorial”) } Read more about iOS Tutorial – Begin with Swift ( day 4 ) – Function[…]