Author Archive admin

Byadmin

Inheritance – การสืบต่อเผ่าพันธ์

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

แนวคิดแบบ OOP ช่วยให้เราเอาโค้ดเดิมๆที่มีอยู่ ที่มีการทดสอบแล้วว่า work มาใช้ โดยที่ไม่ใช่การ copy เอามาวางในโปรแกรมเรานะครับ แต่เป็นการประกาศว่า คลาสของเรา มีการสืบต่อมาจาก คลาสที่มีอยู่แล้ว ทำให้คลาสของเราสามารถทำงานได้เหมือนกับคลาสที่มันสืบต่อมา แถมยังต่อยอดความสามารถเพิ่มเติมได้อีกด้วย

เพราะฉะนั้น การสืบทอดใน OOP พูดง่ายๆก็คือ การ reuse code โดยที่มี code ตั้งต้นชุดเดียว แล้วเอามาใช้ได้เรื่อยๆ นั่นเอง เช่น สมมติมี Class  A เชียนไว้โดยโปรแกรมเมอร์ชื่อนาย ก ทีนี้ เราเห็นว่า Class A ทำงานได้ดีชมัด เราอยากเอา Class A มาใช้ แทนที่เราจะ copy code มาวางในโปรแกรมเรา เราก็ทำงานสืบทอด Class A มาซะเลย ทีนี้ Class ของเราก็จะมีความสามารถจาก Class A  แถมเรายัง Modify ให้เก่งขึ้นได้อีกด้วย

 

 

Byadmin

Encapsulation – การห่อหุ้มข้อมูล

โดยปกติการเขียนโปรแกรมแบบ OOP ที่มองทุกอย่างเป็นวัตถุนั้น ภายในแต่ละวัตถุจะมี 2 ส่วน คือ Data กับ Method

ส่วนของข้อมูล(Data) บางครั้งมักจะถูกห่อหุ้มไว้ให้ใช้ได้ภายในวัตถุนั้นๆ เท่านั้น

ถ้าอยากจะเปลียนแปลงข้อมูล ก็ควรจะเรียกใช้ผ่าน Method

การป้องกันไม่ให้มาแก้ Data โดยตรงก็คือ การ encapsulation นั่นเอง คือหุ้ม Data ไว้ ให้เรียกใช้ผ่าน Method (รายละเอียดปลีกย่อยยังมีอีกเยอะ ผมจะเล่าแค่ conceptให้เข้าใจนะครับ ส่วนอื่นไปศึกษาต่อได้ไม่ยาก)

ยกตัวอย่าง

เราออกแบบและเขียนโปรแกรม วัตถุบัญชีธนาคาร

ในบัญชีธนาคารก็จะมี Data ก็คือ ยอดเงิน  กับ Method คือฝากถอน โดย Method ฝากถอน จะทำงานโดยบันทึกข้อมูลรายการเดินบัญชีลงใน statement + ปรับข้อมูลยอดเงิน

สมมติว่าเราทำงานกันเป็นทีมโปรแกรมเมอร์ เราก็ควรออกแบบวัตถุบัญชีธนาคารนี้ว่า

ห้ามมาปรับยอดเงินโดยไม่ผ่าน Method นะ ไม่งั้นมันจะไม่มีการบันทึก transaction ฝากถอนไง อยู่ดีๆ ยอดเงินก็เพิ่มขึ้นหรือลดลง โดยพอไปดู statement กลับไม่เจอรายการ

พอโปรแกรมเมอร์คนอื่นมาใช้วัตถุบัญชีธนาคารก็ต้องทำตามกฎที่เราออกแบบไว้

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

อย่างนี้เป็นต้น

ทีนี้ประโยชน์อีกอย่างหนึ่งสำหรับโปรแกรมเมอร์คนอื่นๆก็คือ

เค้าก็ไม่จำเป็นต้องรู้ว่าไอ้เจ้า Method ฝากถอน มันทำงานยังไง

จะต้องไปปรับยอด ไปลงบัญชี บลาๆๆๆ อย่างไร

เพราะเค้าเชื่อใจว่าเราออกแบบและเขียน Method ให้เค้ามาดีแล้ว

เค้าก็เรียกใช้ Method ที่เราออกแบบไว้ ก็จบเลย อย่างอื่นไม่ต้องไปแคร์

ถ้ามันผิด ก็งานเข้าเราที่ต้องแก้บั๊กเท่านั้นเอง

Byadmin

Type in C# – ว่าด้วยเรื่องชนิดของข้อมูล

ชนิดของข้อมูลในภาษา C# แบ่งออกเป็น 3 ประเภทใหญ่ๆ คือ

  1. Value Type
  2. Reference Type
  3. Pointer Type

 

1. Value Type ชนิดข้อมูลแบบเก็บค่าจริงๆ เช่นพวก Integer, Bool, Decimal, Floating point

Value Type ยังแบ่งออกเป็น 2 กลุ่มใหญ่ๆ อีกคือ

1.1 struct

โดยใน Struct ยังแบ่งออกเป็น 3 กลุ่มย่อยเข้าไปอีกคือ

1.1.1 Numeric Type พวกตัวเลข แบ่งออกเป็น 3 อีก คือ

1.1.1.1 Integral (จำนวนเต็ม)ได้แก่ sbyte, byte, char, short, ushort, int, uint, long, ulong

1.1.1.2 Floating Point (จำนวนทศนิยม) ได้แก่ float กับ double

1.1.1.3 Decimal (จำนวนจุดทศนิยมแบบแม่นยำมากๆ ใช้กับพวกการเงิน)

1.1.2 Bool Type ข้อมูลแบบถูกผิด True/False

1.1.3 User Define structs กำหนดเอง

1.2 Enumerations ข้อมูลแบบนับ แบบแจกแจง เช่น ชุดข้อมูลของวัน จันทร์ อังคาร พุธ ….

เวลาประกาศก็จะทำได้ว่า enum myDay = {Mon, Tue, Wed,Thu, Fri, Sat, Sun}

 

2. Reference Type  ข้อมูลประเภทอ้างอิง คือ ตัวมันไม่ได้เก็บค่า แต่ตัวมันจะเก็บการอ้างอิงไปหาค่าอีกทีนึง

Reference type จะมี Keyword ที่ใช้ประกาศประกอบด้วย

2.1 Class

2.2 Interface

2.3 Delegate

และมีแบบ built-in ไว้แล้วใช้ได้เลย ได้แก่

2.4 String

2.5 dynamic

2.6 object

3. Pointer Type ข้อมูลประเภทชี้เป้า จะคล้ายๆข้อมูลแบบอ้างอิง แต่จะเป็นแบบ Type Unsafe คือ type ที่ชี้ไปหาอาจจะไม่ตรงกับที่ต้องการใช้

แล้วมันอาจจะทำให้เกิด runtime error ขึ้นมาได้

สังเกตุชนิดข้อมูลแบบ Pointer ได้จากเวลาประกาศจะมีเครื่องหมาย ดาว ติดอยู่หลังชนิดข้อมูล

int* p1, p2;

Byadmin

Style sheet, CSS, Less, Saas

style sheet หรือชื่อเต็มๆ คือ cascade style sheet หรือย่อว่า css

เป็นไฟล์ที่เป็นส่วนประกอบของเว็บไซต์ เพื่อใช้ในการวาง Layout ของเว็บ

สมัยก่อนก็รู้จักแต่ CSS

แต่เดี๋ยวนี้เจอ 2 คำเพิ่มขึ้นมา คือ

  1. Sass (ไม่ใช่ software as a service – SaaS นะ ห้ามสับสน)
  2. Less

ความเป็นมา

Saas

Saas ถูกออกแบบโดย Hampton Catlin และพัฒนาโดย Natalie Weizenbaum ตั้งแต่ปี 2006

แต่พึ่งจะมี Stable release ออกมาเมื่อปี 2017 นี่เอง

Saas เป็น script language ที่จะถูกแปลถูก compile ไปเป็น CSS อีกที

Saas ทำให้การเขียน css ง่ายขึ้น เราสามารถประกาศตัวแปร จัดกลุ่ม code ต่างๆได้

แล้วค่อย compile เป็น css อีกที

Less

เกิดทีหลัง Saas โดยได้แรงบันดาลใจมาจาก Saas เพียงแต่ว่าออกแบบมาให้การเขียนโค้ดใกล้เคียงกับ CSS มากที่สุด

Less สามารถที่จะ real time compile ได้ อธิบายง่ายๆ คือปกติ เวลาใช้ Saas หรือ less เราจะเขียนได้ไฟล์นามสกุล .saas หรือ .less

แล้วเอาไปผ่าน compiler จะได้เป็นไฟล์ .css แล้วค่อย upload ไปไว้ในเว็บของเราอีกที

แต่ less มีความสามารถมากกว่านั้นหน่อยก็คือ สามารถเอาไฟล์ less.js ไปไว้ในเว็บของเรา แล้วเรียกใช้ ซึ่งทำให้ เราไม่ต้องไปทำให้เป็นไฟล์

.css ก่อนนั่นเอง

Byadmin

Web Framework

Web framework หรือ web application framework คือ software framework ที่ออกแบบมาเพื่อช่วยในการพัฒนาเว็บ

วัตถุประสงค์ของมันก็คือช่วยลดการที่ต้องทำงานซ้ำๆ ลง ตัวอย่างเช่น การเขียนติดต่อ database หรือ template ต่างๆ

web framework ก็จะเตรียม library ต่างๆไว้ให้คนพัฒนาโปรแกรมได้เรียกใช้ ทำให้ประหยัดเวลาในการเขียนโค้ดซ้ำๆ

ตัวอย่าง Web framework

Angular/AngularJS

jQuery

Backbone.js

Node.js

React

Byadmin

เกี่ยวกับเรา

บริษัท มีฟาซอฟต์ เป็นผู้ให้บริการพัฒนาโปรแกรม เว็บไซต์ และแอพพลิเคชั่นตามความต้องการ

ด้วยประสบการณ์ในการพัฒนาโปรแกรมกว่า 10 ปี บริษํทจึงมีความเชี่ยวชาญในการค้นหาความต้องการและพัฒนาได้อย่างตรงจุด

ช่วยให้ลูกค้าประหยัดค่าใช้จ่าย ประหยัดเวลา และบุคคลากรในการพัฒนาโปรแกรม

Byadmin

สวัสดีชาวโลก – -‘

ยินดีต้อนรับสู่เวิร์ดเพรส นี่เป็นเรื่องแรกของคุณ คุณสามารถแก้ไขหรือลบมันได้ แล้วเริ่มการเขียน