วันจันทร์ที่ 3 กันยายน พ.ศ. 2561

แหล่งเรียนรู้ด้านคอมพิวเตอร์ ฟรี (เน้นภาษาไทย)

cr:https://github.com/adminho/learning-it

แหล่งเรียนรู้ด้านคอมพิวเตอร์ ฟรี (เน้นภาษาไทย)

เรียนอย่างนี้นะครับว่า ตั้งแต่ผมทำเพจ facebook มา ก็ได้แชร์ลิงค์ต่างๆ ที่เป็นความรู้ไว้เยอะมาก จึงรู้ว่าความรู้ที่คนไทยเผยแพร่มีเยอะ แต่ปัญหาใหญ่เวลาโพสต์บนเพจ มันไล่หายาก สะเปะสะปะ ไม่เป็นระเบียบ ผมเลยถือโอกาสจัดรวบรวมเท่าที่ทำได้ เพื่อให้ค้นหาได้ง่ายหน่อย ต่อไปก็จะมีเพิ่มขึ้นเรื่อยๆ ไม่ได้หยุดเท่านี้ ถ้าหาเจอนะ
ใครมีอะไรแนะนำก็แตก Branch แล้ว commit มาได้เลยครับ ถ้าเห็นมีประโยชน์เดี่ยว merge ให้ หรือใครไม่สะดวกก็ทัก inbox มาที่เพจ แฟนเพจ ที่สำคัญต้องไม่ละเมิดลิขสิทธิ ถูกต้องพระราชบัญญัติลิขสิทธิ์ พ.ศ.2537
แหล่งเรียนรู้ส่วนใหญ่ ก็จะเป็น e-book, วีดีโอ, เน้นไปที่ ภาษาไทย เป็นหลัก เหมาะกับผู้ศึกษาศาสตร์ทางคอมพิวเตอร์เริ่มต้น ที่ภาษาอังกฤษอาจยังไม่แข็งแรงมากนัก โดยเน้นไปทางการเขียนโปรแกรมเป็นหลัก แต่ก็มีภาษาอังกฤษด้วย เผื่อคนสนใจ

สารบัญ

หนังสือ Ebooks ฟรี ภาษาไทย

** หนังสือบางเล่มต้องสมัครเป็นสมาชิก www.ebooks.in.th ก่อนถึงจะโหลดได้

JavaScript

HTML and CSS

PHP

Java and Android

C and C++

Swift and IOS

Python

ภาษาโปรแกรมอื่นๆ

UNIX

Server and Network

Data structure และ algorithm

Database

IoT (internet of things) and Embedded system

Software Engineer

AI, Data Mining และ Data science

หนังสืออื่นๆ เกี่ยวกับคอม

รวมลิงค์ Text book ฟรี

วีดีโอสอนฟรีเป์นภาษาไทย

*** บางลิงค์ต้องติดตั้ง iTune U ก่อนนะครัช ถึงจะดูได้ ให้โหลดโปรแกรมก่อนได้ที่
https://www.apple.com/th/support/itunes-u/using/

PHP

ภาษา C

ภาษา C#

Python

HTML5

JavaScript

CSS

Java

ภาษา R

iOS and Swift

Database

Data structure และ algorithm

Network

Data science, Machine Learning, AI

Agile

อื่นๆ ที่น่าสนใจ

วีดีโอสอนเป็นภาษาอังกฤษ

คอร์สเรียนฟรีจากทั่วโลก

รายชื่อเว็บไซต์ที่เปิดคอร์สสอนการโค้ดดิ่ง (ภาษาอังกฤษ) น่าจะเป็นประโยชน์ มีทั้งฟรี และเสียเงิน คละกันไป

แหล่งความรู้อื่นๆ

อันนี้ไม่เกี่ยวกับคอมพิวเตอร์เท่าไร แต่อยากแชร์

เอาใจคนที่เรียนอยู่สายวิทย์คณิต หรือจะเข้าเรียนต่อมหาลัย แปลเป็นไทยมาจากคอร์สออนไลน์ระดับโลก Khan Academy ซึ่งได้รับการสนับสนุนจาก "มูลนิธิศักดิ์พรทรัพย์" แปลนี้ไม่ใช่เป็นซับสไคร้นะครัช แต่สอนบรรยายภาษาไทยเลยแหละ (ดีตรงนี้แหละ) เนื้อหาดีมากเลย
อันนี้ของจุฬา
คอร์สเรียนฟรี จากม. ชั้นระดับโลก จะมีเนื้อหาหลายวิชารวมกัน ต้องแยกแยะเลือกเรียนดู (ถ้าจะเลือกเรียนแต่คอม)
ของมหาวิทยาลัยไทย

แนะนำกลุ่ม facebook

กลุ่มรวมคนไอทีสำคัญๆ เอาไว้ปรึกษาปัญหาด้านไอที

บทความดีๆ

Python

JavaScript

Python

Java and Android

GIT

DOCKER

Security & Hacker

วันพฤหัสบดีที่ 26 กรกฎาคม พ.ศ. 2561

แนวคิด Object Oriented Programming (OOP)



          Object Oriented Programming หรือที่เรียกสั้นๆว่า OOP นั้นเป็นการแบ่งขอบเขตของงานออกเป็นส่วนย่อย ๆ ที่เป็นอิสระต่อกัน โดยมองส่วนต่าง ๆ เป็นวัตถุหรือ ออบเจ็กต์ที่ไม่ขึ้นต่อกัน แต่มีการทำงานร่วมกัน หากยังไม่เข้าใจมาดูตัวอย่างง่ายๆกันก่อนดีกว่า


          หลังจากที่เข้าใจความหมายของ OOP คร่าวๆแล้ว มาดูคุณสมบัติหลักของแนวคิดการพัฒนาโปรแกรมเชิงวัตถุ หรือOOP กัน
  • นำกลับมาใช่ใหม่ (Reuse) บนสภาพแวดล้อมของระบบเดิม หรือ ระบบอื่น ๆ ได้
  • ประหยัดเวลาในการพัฒนา (Rapid Delivery)
  • ใช้งานง่าย (User Friendly)
  • ดูแลรักษาได้ง่าย (More Maintainable)
  • มีคุณภาพสูง (Greater Quality System) ในเชิงความถูกต้องและความรวดเร็วในการประมวลผล



หลักการของ OOP

ต่อมา มาดูหลักการของ OOP กัน


  • ทุกอย่างเป็น Object โดย Object แต่ละตัวจะมีหน้าที่และความสามารถแตกต่างกันไปออกไป
  • โปรแกรมก็คือการนำเอากลุ่มของ Object ย่อย ๆ มาทำงานด้วยกัน
  • แต่ละ Object เป็น Instance ของ Class
  • แต่ละ Object จะมีสถานะของตนเอง (State)
  • Object ที่ถูกสร้างมาจาก Class เดียวกันจะมีคุณสมบัติและความสามารถเหมือนกัน


ความแตกต่างระหว่างการเขียนโปรแกรมแบบมีโครงสร้างกับการเขียนโปรแกรมเชิงวัตถุ

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

          การเขียนโปรแกรมแบบมีโครงสร้าง (Structure Programming) เป็นการเขียนโปรแกรมที่ใช้พัฒนาระบบงาน เน้นในเรื่องหน้าที่การทำงาน (Function) ให้ความสำคัญกับขั้นตอนกระบวนการที่ทำ มีการแยกส่วนของข้อมูลฟังก์ชันอย่างชัดเจน จึงส่งผลให้เกิดความสับสันและความยุ่งยากในการเปลี่ยนแปลงแก้ไขโดยเฉพาะในโปรแกรมที่มีขนาดใหญ่


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

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



หลังจากที่รู้จักทั้งสองประเภทแล้ว แต่ละแบบมีทั้งข้อดีและข้อเสีย มาดูความแตกต่างคร่าวๆกัน


ข้อดีของ OOP         

ทุกประเภทของการเขียนโปรแกรมล้วนมีข้อดีตามรูปแบบการทำงานของมันเอง ซึ่งข้อดีของ OOP นั้นมีดังนี้

  • สามารถปรับปรุงแก้ไขได้ง่าย
  • ใช้งานง่าย
  • สามารถพัฒนาเพิ่มเติมได้ง่าย
  • ซ่อนรายละเอียดของโปรแกรม

วันพฤหัสบดีที่ 19 กรกฎาคม พ.ศ. 2561

การสร้าง Web Application ด้วย Dreamweaver + PHP + MySQL

1.การเตรียมพร้อมและข้อตกลงในการเรียนรู้
2.การสร้าง MySQL Connection กับ Dreamweaver
3.การสร้างโปรแกรมสำหรับการ Insert ข้อมูล
4.การสร้างโปรแกรมสำหรับแสดงข้อมูลจาก Database (Select Data)

Build PHP Applications With Macromedia Dreamweaver MX — SitePoint