สรุปคอร์ส : IT Fundamentals by DataRockie

ใครที่สนใจในเรื่อง Command Line, SQL, Python มาทางเน้!!!!! คอร์สออนไลน์จากเพจ DataRockie สอนโดยแอดทอย Kasidis Satangmongkol มาแล้ววว คอร์สนี้มีชื่อว่า IT Fundamentals สนนราคาอยู่ที่ 990 บาท โชคดีที่สมัครทันช่วง 1 แถม 1 เลยเหลือ 495 บาท แต่ใครมีปัญหาทางการเงินติดต่อหลังไมค์แอดทอยได้ ไม่ใช่ปัญหาาาา ลดแลกแจกแถมกันสุดๆ

คอร์สนี้มี 35 Videos 7 Modules ใช้เวลาประมาณ 3–5 ชม. สอนเกี่ยวกับ Command Line, SQL, Python ในคอร์สจะมีทั้งวิดีโอ บทความอธิบายเนื้อหาในวิดีโอ และเนื้อหาอื่นๆ เพิ่มจากวิดีโออีกด้วย

และที่ขาดไม่ได้ก็คือ Formative Quiz ทบทวนความรู้ที่เพิ่งเรียนกันสดๆ ดูตัวอย่าง ลองทำแล้วได้ 15/15 เลยเอามาอวดหน่อยยย

ใครสนใจสามารถลองเรียนพรีวิวเบื้องต้นได้ ที่นี่ หรือ Course Syllabus เต็มๆ อย่างละเอียด ที่นี่

คอร์สนี้เหมาะกับใคร

ใครก็ตามที่อยากมีพื้นฐานการเขียนโปรแกรมจริงๆ (แต่ยังไม่เคยเขียนมาก่อน) หรือใครก็ตามที่สนใจ Command Prompt, SQL และ Python ให้มารวมตัวกันทางนี้ สำคัญกว่าความอยากรู้อยากเห็นของผู้เรียน นั่นก็ครืออ เค้าสอนเป็นภาษาไทยจ้า ตัดปัญหาการนั่งแปล sub ให้วุ่นวาย ถ้ายังงง เชิญไปคุยทาง messenger ได้เกือบ 24 ชม. (ไม่ได้ประชดนะ พูดจริงๆ )

ก๊อกสองคือ คอร์สนี้เค้าตั้งใจเสิร์ฟให้คนที่ใช้ Windows เพราะอย่างที่บอกว่าเน้น Command Prompt เป็นหลัก ส่วนฝั่ง Mac OS อดใจกันนิดนึง Terminal ใน Mac กำลังจะคลอดแล้วววววว (แอดทอยกล่าว)

โดยหลังจากเรียนจบคอร์สนี้ แอดทอยบอกว่าเราจะสามารถทำสิ่งพวกนี้ได้

  • จัดการข้อมูล ไฟล์ และโฟลเดอร์ต่างๆของ Windows ผ่าน Command Prompt
  • สร้าง จัดการ วิเคราะห์ฐานข้อมูลด้วย SQLite ผ่าน Command Prompt
  • เขียนโปรแกรม Python เบื้องต้นเพื่อรับข้อมูลจาก Users และเชื่อมต่อกับฐานข้อมูล SQLite
  • พื้นฐานการเขียนโปรแกรม สามารถนำความรู้ไปต่อยอดได้ง่าย

ไปดูกันเลยว่าเค้าสอนอะไรบ้างงงงงงง

Module 1 — Essential Command Line

Command line เป็นการเขียนคำสั่งผ่าน Command Prompt โดยการคลิกปุ่มวินโดว์และลองพิมพ์ cmd หรือเข้าไปที่ Run.. แล้วพิมพ์ cmd จากนั้นจะมีหน้าจอขึ้นมาพร้อมกับบอกว่า ณ ตอนนี้เราอยู่ที่ไหน โดยจะแสดง directory เป็น path บอกไว้เลย หากเราพิมพ์คำสั่งอะไรลงไป คำสั่งนั้นก็จะถูกทำกับ directory ที่เราอยู่

CLI is a command line program that accepts text input to execute operating system functions.

เชื่อว่าหลายคนเคยลองพิมพ์เข้าไปเพื่อทำอะไรสักอย่าง เช่น เข้าไปมั่วแก้ปัญหาคอม 55555 มันเหมือนกับเราเข้าไปที่ window explorer เพื่อเข้าไปหาไฟล์ในโฟลเดอร์ต่างๆ โดยการคลิกเม้าส์เข้าไป แต่เจ้าตัว CLI ไม่ต้องใช้เม้าส์คลิกเลย พิมพ์อย่างเดียวเราก็สามารถเข้าไปจัดการไฟล์ในคอมของเราได้

เนื้อหาใน Module แรกนี้ จะเกี่ยวกับพื้นฐานการใช้ CLI เบื้องต้น ตั้งแต่เปลี่ยน directory ไปมา การทำงานกับไฟล์และโฟลเดอร์ หรือ ค้นหา String ใน text file
เดี๋ยวลองยกตัวอย่างสัก 3–4 คำสั่งนะครัช

echo

เป็นคำสั่งที่ใช้แสดงค่าที่เราต้องการ โดยการพิมพ์ echo [ข้อความที่จะแสดงผล]

echo hello word
echo Malonglearn

cd.. และ cd

การเปลี่ยน directory ย้อนกลับ หรือไปข้างหน้าโดยใช้ cd.. หรือ cd [ชื่อโฟลเดอร์ที่จะเข้าไป]

cd..
cd\Desktopnew\Folder

dir

การ list ไฟล์ทั้งหมดใน directory ที่เราอยู่ ณ ตอนนั้น

mkdir

ไม่ใช่ MK สุกี้เด้อออ อย่าเข้าใจผิด จริงๆ แล้วคือ make directory หรือการสร้างโฟลเดอร์ โดยการพิมพ์ mkdir [ชื่อโฟลเดอร์] เมื่อสร้างแล้วก็ใช้ cd เพื่อเข้าไปยังโฟลเดอร์นั้นได้

mkdir Malonglearn
cd Malonglearn

มาลองดูการสร้าง text file ง่ายๆ ด้วยการใช้ Command Line

##สร้างข้อความขึ้นมาแล้วสร้างไฟล์ hello.txt เพื่อเก็บค่า
1. echo hello world > hello.txt
##ตรวจสอบดูว่ามีไฟล์ที่เราสร้างหรือยัง /B เป็นการลิสต์เฉพาะชื่อไฟล์
2. dir /B
##ตรวจสอบดูว่ามีข้อความอะไรอยู่ในไฟล์ hello.txt
3. type hello.txt
##เพิมข้อความบรรทัดใหม่เข้าไปในไฟล์ hello.txt
4. echo welcome to command line >> hello.txt
##ตรวจสอบดูว่ามีข้อความเพิ่มขึ้นมาหรือยัง
5. type hello.txt

ลองไปดูในพรีวิวคอร์สฟรีของแอดทอยได้ มีให้ดูฟรี 6 คลิปเลยจ้า มีคำสั่งมากกว่านี้อีกหลายคำสั่ง เรียนแล้วเอาไปใช้ได้จริงได้เลย


Module 2— Intermediate Command Line

เนื้อหาของ Module นี้จะประกอบไปด้วย การสร้าง Website ง่ายๆด้วย HTML, ตัวอย่างการใช้งาน Curl ดึงข้อมูลจาก Website, การจัดการ Process ด้วย Task Manage, วิธีการ Ping Website/ Server และวิธีการเขียน .bat script เพื่อรัน Job ง่ายๆใน Command Prompt เราลองมาดูกันสัก 2 ข้อ

taskmgr, tasklist, taskkill

หรือเรียกอีกชื่อหนึ่งว่า ท่าไม้ตาย เรามักจะใช้มันด้วยวิธีการกด Ctrl + Alt + Delete เวลาคอมค้าง หรือโปรแกรมค้าง เพื่อ kill process หยุดการทำงานของโปรแกรมนั้น ใน Command line เราสามารถพิมพ์ taskmgr เพื่อเรียกเจ้าตัว Task Manager ออกมาได้

taskmgr

จากนั้นเจ้า Task Manager จะบอกเราว่ามี Process อะไรบ้างที่กำลัง Run อยู่ในคอมของเรา จากนั้นไปที่ Tab Details จะเห็นว่ามี List ของ Process พร้อมทั้ง PID หรือ Process ID ในกรอบสีนำ้เงิน

ซึ่งเราสามารถใช้คำสั่ง เพื่อดู Task List ที่บอกว่ามี Process อะไรบ้างที่ทำงานอยู่ด้วย Command line เช่นกัน

tasklist

หากเราต้องการจะ kill process โดยใช้ command line ก็ทำได้ง่ายๆ โดยใช้ Task kill ลองมาดูตัวอย่างการ kill process ที่ชื่อ notepad.exe กันดู

#ใช้คำสั่ง tasklist
#ใช้ pipe operator "|" เพื่อส่ง output จาก command แรก ไปยัง command ต่อไป
#ใช้ findstr เพื่อหาข้อความที่ต้องการ
#หา process ที่มีคำว่า notepad
tasklist | findstr “notepad"
#หลังจาก ได้ PID = 14680 มาแล้ว ทำการ kill process โดยใช้คำสั่ง
taskkill /PID 14680
#จากนั้นลองตรวจสอบ process ดูอีกที จะเห็นว่ามันไม่แสดง process notepad.exe แล้ว
tasklist | findstr “notepad"

ping

เหมือนเป็นการสะกิดเรียกเป้าหมายที่จะเราจำการ ping สมัยคนใช้ blackberry (ดักแก่) ก็จะมีฟังก์ชั่น ping ทำให้เครื่องเป้าหมายที่เรา ping ไป สั่นรัวๆ บางทีก็​ ping กันจนอีกฝ่ายแบตหมด

ใน Command line นั้น Ping เหมือนกับการเคาะประตูเรียกว่ามีใครอยู่มั้ย ยกตัวอย่าง สมมุติวันนี้เราจะไปเคาะประตูเรียก www.google.co.th เพื่อดูว่ามีคนอยู่บ้านมั้ย เหมือนกับการเชคว่า website ยังใช้ได้มั้ย

ping www.google.co.th

เรายังสามารถ ping โดยใช้ IP Address ได้ด้วย เช่น

ping 172.217.24.163

หาก ping ไม่เจอ จะมีสภาพแบบนี้ T_T

ในคอร์สยังมีสอนการใช้ curl เพื่อดึงข้อมูล HTML ออกมาจาก website แบบสะดวกมากๆ รวมถึงการสร้าง .bat file ด้วย มาลองเรียนกันได้

สรุป Modules 1–2 Command Line

เนื้อหา 2 Modules นี้ ถือว่ามีประโยชน์มากสำหรับ Windows users เพราะการใช้ Command line มันมีประโยชน์มากจริงๆ (ถ้าเบื่อเม้าส์ ก็ลองมารัวๆ คีย์บอร์ดกันบ้าง) ทำให้เราทำนู่นทำนี่เบื้องต้นได้ง่ายขึ้น ส่วนตัวแล้วเคยใช้แค่ shutdown เพื่อตั้งเวลาในการปิดคอมเวลาดูหนังก่อน 555 สายขี้เกียจอย่างเราต้องมาาา แถมให้จากประสบการณ์ตรงครัช

shutdown –s –t [seconds]

เช่น สมมุติตั้งเวลา 1 ชม. ก็พิมพ์ว่า เพราะ 1 ชม. มี 3,600 วินาที

shutdown –s –t 3600


Module 3 — Getting Started with SQLite

SQL หรือ Structured Query Language เป็นภาษาหนึ่งที่ไว้ใช้ดึงข้อมูลออกมาจากฐานข้อมูลที่ถูกเก็บเป็นตาราง ในรูปแบบของ Relational Database คือ มี Row (แถว) และ Column (สดมภ์ คำไทยไปอี๊กกกก)

ส่วนที่ 3 นี้ จะเริ่มเข้าสู่การใช้ SQL ผ่าน Command line โดยต้องลงโปรแกรม SQLite ก่อน และทำการ Set PATH ให้เรียบร้อย

จากนั้นเริ่มใช้งานผ่าน Command line กันเลยยย โดยการพิมพ์

sqlite3
##หรือเข้าสู่ sqlite พร้อมกับการสร้าง database ชื่อ school
sqlite3 school.db

จากนั้นเจ้า Command line ก็จะเปลี่ยนตัวเองเข้าสู่ sqlite

หลังจากนั้นก็เริ่มสร้าง Tables ได้เลย โดยใช้ SQL syntax

##สร้างตารางชื่อ student โดยมีคอลัมน์ id, name, major, gpa
CREATE TABLE student (id, name, major, gpa);
##เชคดูว่าใน database มีตารางอะไรบ้าง
.tables

ใส่ข้อมูลไปในตารางที่เราสร้างขึ้นด้วย SQL syntax

##ใส่ข้อมูลลงไปในตาราง student คอลัมน์แรก = 1 คอลัมน์ที่สอง = David คอลัมน์ที่สาม = Economics คอลัมน์ที่สี่ = 3.5
INSERT INTO student VALUES (1, "David", "Economics", 3.5);

หลังจากนั้นลองใช้คำสั่ง SELECT เพื่อเรียกดูข้อมูล

##ดึงข้อมูลทุกคอลัมน์ (*) จากตาราง student
SELECT * FROM student;

Module 4 — Getting Started with SQL Queries

หลังจากทำการสร้างตารางและรู้จักกับ SELECT กันแล้ว Module นี้ แอดทอยจะสอน SQL พื้นฐานสำหรับคนที่ไม่เคยเรียน SQL มาก่อนเลยครัชช

  • SQL Query พื้นฐานสำหรับ data analyst มีสาม clauses คือ select, where และ join
  • select ใช้ดึงคอลัมน์ที่เราต้องการ ถ้าต้องการพรีวิวข้อมูลให้ใช้คู่กับ limit
  • where ใช้ฟิลเตอร์ข้อมูลที่เราต้องการด้วยเงื่อนไข
  • join ใช้สำหรับดึงข้อมูลจากหลายๆตารางพร้อมกัน เราเชื่อม (join tables) ด้วย key หรือคอลัมน์ id
  • union ดึงข้อมูลจากสองตารางมาเรียงต่อกัน top/ bottom
  • Aggregate Functions ใช้สรุปผลสถิติเบื้องต้น avg sum min max count
  • วิธีการ export result เป็นไฟล์ .csv ทำได้สองวิธีคือ .excel และ .output

ตัวอย่างการใช้ .excel ในการ export result พิม Query เสร็จปุ๊ป Excel เด้งขึ้นมาปั๊ป

สรุป Module 3–4 SQL

SQL เป็นภาษาที่เรียนรู้ได้ง่ายที่สุดแล้ว เพราะมีโครงสร้างของภาษาอังกฤษ คือเหมือนภาษามนุษย์ที่ใช้พูดกัน ส่วนตัวคิดว่าควรเรียนเอาไว้ เพราะไม่ว่าจะเป็นสายอาชีพไหนก็มีสิทธิ์ที่จะได้ใช้ SQL ไม่วันใดก็วันหนึ่ง

อยากให้เครดิตนิดนึงว่า แต่ก่อนเคยงงๆกับการเขียน SQL อยู่บ้าง แต่ได้เพจ DataRockie นี่ล่ะมาช่วยชีวิต เคยดูคอร์สภาษาอังกฤษมาก่อนแล้ว แต่เอาจริงๆมันก็ไม่กระจ่างเท่าคอร์สภาษาไทยหรอก (อาจเพราะไม่เก่งอิ้งเองล่ะ 5555) ฉะนั้นถ้าเข้าใจ Module 4 นี้ก็บอกได้เลยว่าสามารถใช้ SQL ในการทำงานเบื้องต้นได้แล้ว (แอบมีการสอน VLOOKUP ใน Excel ด้วยล่ะ)


Module 5 — Getting Started with Python

Python ถือเป็นภาษายอดฮิต ณ ขณะนี้ ยิ่งสำหรับสาย Data Science ที่ต้องใช้การเขียนโปรแกรมเพื่อจัดการกับข้อมูลจำนวนมาก ช่วยลดระยะเวลาในการทำงานลงไปได้เยอะ และมี Library มากมายที่เหมาะกับการวิเคราะห์ข้อมูล

Module นี้แอดทอยพาไปเขียน python กันบน command line ซึ่งเรียกว่าเป็นการเขียน code แบบ interactive python คือ กด enter เพื่อรันและดูผลลัพธ์ได้เลย

ก่อนอื่น อย่าลืม Download Python 3.8.2 มาใช้ก่อนเรียนนะครัช พอโหลดมาแล้วก็เข้าสู่โลก python ได้ง่ายๆ

#เข้าสู่การใช้งาน python
python
#แสดงผลคำว่า Hello world
print("Hello world")
#แสดงผลคำว่า Hello world
print('Hello world')
#แสดงผลคำว่า Hello world แบบสองบรรทัด
print("""Hello
world""")

เนื้อหาแบ่งเป็น 2 ส่วนหลักๆ คือ Basics และ Strings เพื่อปูพื้นฐานก่อนที่จะไป Modules ต่อไป

Basics

  • Python in command prompt
  • Basic calculation สอนการคำนวนเบื้องต้นด้วย python
  • Case sensitive ตัวหนังสือตัวเล็กตัวใหญ่มีผล
  • Comment จดโน้ตตอนเขียนโปรแกรมเพื่อให้เข้าใจง่ายเวลามาดูทีหลัง
  • Print function แสดงผลลัพธ์
  • Variables การสร้างตัวแปรไว้เก็บค่า
  • Data types ชนิดของข้อมูล

Strings

  • Basic string manipulation วิธีการทำงานกับ string เบื้องต้น
  • Function vs. Method ความแตกต่างระหว่าง Function และ Method
  • Fstring template การใช้ fstring เพื่อทำให้การแสดงผลลัพธ์สวยงาม

Module 6 — Python Programming

ต่อจาก Module ที่แล้วเลยครัช เนื้อหานี้จะเข้มข้นมากขึ้นลองมาดูว่ามีอะไรบ้าง

List

  1. Data structure โครงสร้างข้อมูลมีอะไรบ้าง
  2. List
  3. List indices
  4. List manipulation and method
  5. Update value in List

Control Flow

  1. Control flow — for loop
  2. Advanced list comprehension
  3. Control flow — if else
  4. For + if in program
  5. White space

พอเรียนส่วนนี้แล้ว ก็สามารถเขียนโปรแกรมประมาณนี้ได้

##สร้าง List ชื่อ marvel เก็บค่า Iron Man, Thor, Captain America, Captain Marvel, Black Widow
marvel = ['Iron Man', 'Thor', 'Captain America', 'Captain Marvel', 'Black Widow']
#ใช้ for loop เพื่อดึงค่าจาก list ทีละค่า โดยสร้างเงื่อนไขว่า ถ้าความยาวของชื่อ hero ใน list ชื่อไหนที่มีค่า > 10 ให้แสดงค่าชื่อ hero ออกมา นอกนั้นให้แสดงค่า name not long enough
for h in marvel:
if len(h) > 10:
print(h)
else:
    print("name not long enough")

Function & Module

  1. Functions
  2. Get input from users
  3. Return vs. Print
  4. Docstring
  5. Module
  6. Package management
  7. How to run python script

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

##สร้าง function ชื่อ freetime ถาม user ว่าชอบทำกิจกรรมอะไรเวลาว่าง โดยใช้ input เพื่อรับค่ามาเก็บไว้ในตัวแปรชื่อ activity1 และ activity2 ตามลำดับคำถาม จากนั้น return ค่าตามรูปแบบที่ตั้งไว้
def freetime():
activity1 = input("What do you do in your freetime? ")
activity2 = input("What else? ")
return f"Your free time activities are {activity1} and {activity2}."
##เมื่อเรียกใช้ function โดยพิมพ์ freetime() โปรแกรมก็จะถามคำถามแรก หลังจาก user ตอบคำถามแรก โปรแกรมก็จะส่งคำถามที่สองออกมา หลังจากนั้นนำคำตอบแรกและคำตอบที่สองมารวมกันในผลลัพธ์สุดท้าย

สรุป Module 5–6 Python

เนื้อหา python ถือว่าเยอะที่สุดเลย เพราะเน้นเข้าใจพื้นฐาน เริ่มจากแนะนำให้รู้จักกับ python จนกระทั่งเขียน function ไว้ใช้งานเอง และนำไปต่อยอดได้ง่าย หากสนใจเรียนคอร์สเกี่ยวกับ python เพิ่มเติม ก่อนจะไป Module 7 มี Big Fomative Quiz 50 ข้อให้ตอบกันเพื่อทบทวนเนื้อหา python ทั้งหมด โจทย์สับขาหลอกก็เยอะ เล่นเอามึนเลย 55555555


Module 7 — Final Project

เป็นการเอาความรู้ทั้งหมดตั้งแต่ Module1–6 มาใช้ โดยจะเขียนโปรแกรมผ่าน Visual Studio Code

Visual Studio Code from https://code.visualstudio.com/

สำหรับ Final project เราจะเขียน python script เพื่อเชื่อมต่อกับ university.db และรับข้อมูลจาก user เพื่อแสดงลัพธ์ใน Command prompt ใช้เวลาทั้งหมดประมาณหนึ่งชั่วโมง แต่อย่าเพิ่งต๊กกะใจ เค้ามี Guideline ไว้ให้ในคอร์สแล้ว

ปิดท้ายด้วยการใช้ Function verify_user() เพื่อรับค่า user และ password หากใส่ถูกต้อง ก็จะแสดงค่าที่เรา Query ออกมาผ่าน Command line เท่ฝุดๆ


Course Summary

photo by Jonatan Pie on Unsplash

จบแล้วครัช คอร์ส IT Fundamentals สำหรับปูพื้นฐานเรื่องการใช้ Command line, SQL, Python หากใครที่ไม่เคยใช้สักอย่างเลย ถือว่าคุ้มค่ามากๆ นำไปต่อยอดในการเรียนคอร์สอื่นๆ ต่อได้เลย และก็สามารถเริ่มทำงานสาย Data เบื้องต้นได้แล้ว

ส่วนใครที่เคยเขียน SQL กับ Python อยู่แล้ว ก็มาลองเรียนกันได้ เปลี่ยนฟิลมาเขียนผ่าน Command Line ก็สนุกไปอีกแบบ ดูเท่ด้วยอะ จอดำๆ อย่างเดียวเลย 5555 หวังว่าการรีวิวครั้งนี้จะมีประโยชน์ไม่มากก็น้อยนะครัช ใครลังเลอยู่จะได้ตัดสินใจได้ แต่ไม่ได้ลงลึกทุกรายละเอียด หากสนใจมาลองเรียนดู

พูดคุยติชม ดูการแนะนำและสรุปคอร์สอื่นๆ ได้ที่ https://www.facebook.com/Malonglearn