พื้นฐานไอที (IT Foundations)

IT Foundations เป็นโมดูลระดับเริ่มต้นของรายวิชา อิงตามโดเมนของ CompTIA IT Fundamentals (ITF+) ครอบคลุมคำศัพท์และแนวคิดหลักที่หัวข้อภายหลังทุกเรื่องต้องพึ่งพา ได้แก่ การที่คอมพิวเตอร์แทนข้อมูล ฮาร์ดแวร์และเครือข่ายที่ประกอบเป็นโครงสร้างพื้นฐาน ซอฟต์แวร์และการอนุญาตใช้งาน การเขียนโปรแกรมเบื้องต้น ฐานข้อมูล และหลักการความปลอดภัย ทุกข้อความด้านล่างอ้างอิงจากแหล่งที่น่าเชื่อถือและตรวจสอบได้ ซึ่งระบุไว้ท้ายแต่ละหัวข้อ

01 / 06

แนวคิดและคำศัพท์ไอที

เทคโนโลยีสารสนเทศตั้งอยู่บนแนวคิดพื้นฐานไม่กี่อย่าง: การที่คอมพิวเตอร์แทนข้อมูลเป็นตัวเลข วิธีวัดข้อมูล ชนิดของข้อมูล วงจร อินพุต-ประมวลผล-เอาต์พุต-จัดเก็บ ที่คอมพิวเตอร์ทุกเครื่องทำตาม และวิธีแก้ปัญหาอย่างเป็นระบบ

Inputkeyboard · mouseProcessingCPUOutputmonitor · printerStorageRAM · disk (SSD/HDD)
วงจรอินพุต–ประมวลผล–เอาต์พุต–จัดเก็บ

ระบบเลขฐาน: ฐานสอง ฐานสิบ ฐานสิบหก

คอมพิวเตอร์ทำงานบนระบบเลขฐานสอง (base-2) ใช้เพียง 0 และ 1 เพราะอุปกรณ์ดิจิทัลเก็บข้อมูลด้วยส่วนประกอบที่สลับระหว่างสองสถานะ มนุษย์ใช้ฐานสิบ (base-10) ส่วนฐานสิบหก (base-16) ใช้ 0-9 บวก A-F เพื่อย่อสตริงเลขฐานสองที่ยาวให้สั้นและอ่านง่ายขึ้น [1]

บิต ไบต์ และหน่วยวัด

บิต (binary digit) คือหน่วยข้อมูลที่เล็กที่สุด แปดบิตเป็นหนึ่งไบต์ [1] NIST กำหนดหน่วยอย่างเป็นทางการ: ในระบบ SI หนึ่งกิโลไบต์ = 1,000 ไบต์ และหนึ่งเมกะไบต์ = 1,000,000 ไบต์ ส่วนคำนำหน้าฐานสองให้ kibibyte = 1,024 ไบต์ และ mebibyte = 1,048,576 ไบต์ อัตราการรับส่งวัดเป็นบิตต่อวินาที (bps) [2]

ชนิดข้อมูล

ชนิดข้อมูล (data type) กำหนดว่าค่าแบบใดเก็บได้ ไมโครซอฟท์ระบุชนิดที่พบบ่อย: Boolean เก็บได้เพียง True หรือ False; Integer เก็บจำนวนเต็ม; Single และ Double เก็บเลขทศนิยม; และ String เก็บลำดับของอักขระ [3]

วงจรคอมพิวเตอร์: อินพุต → ประมวลผล → เอาต์พุต → จัดเก็บ

คอมพิวเตอร์ทุกเครื่องทำตามวงจรเดียวกัน หน่วยอินพุตรับข้อมูลและแปลงเป็นเลขฐานสอง; CPU ประมวลผลคำสั่งและควบคุมการทำงาน; หน่วยความจำและที่จัดเก็บเก็บข้อมูลก่อน ระหว่าง และหลังประมวลผล (RAM และ SSD/HDD); และหน่วยเอาต์พุตแปลงผลลัพธ์กลับเป็นรูปแบบที่มนุษย์อ่านได้ [4]

ระเบียบวิธีแก้ปัญหา

CompTIA กำหนดแบบจำลองการแก้ปัญหาอย่างเป็นระบบ: ระบุปัญหา ตั้งสมมติฐานสาเหตุที่น่าจะเป็น ทดสอบสมมติฐาน วางแผนการแก้ไข ลงมือแก้ไข ตรวจสอบว่าระบบทำงานครบถ้วน และบันทึกผล การทำตามลำดับขั้นช่วยเลี่ยงการเดาสุ่มและความผิดพลาดซ้ำ [5]

DecimalBinaryHex501015101010A25511111111FF
ค่าเดียวกันในฐานสิบ ฐานสอง และฐานสิบหก

02 / 06

โครงสร้างพื้นฐาน

โครงสร้างพื้นฐาน (infrastructure) คือรากฐานเชิงกายภาพของการประมวลผล ได้แก่ ชิ้นส่วนภายในคอมพิวเตอร์ อุปกรณ์ที่เราใช้โต้ตอบกับมัน และเครือข่ายกับการเชื่อมต่ออินเทอร์เน็ตที่เชื่อมเครื่องเข้าด้วยกัน

PC 1PC 2PC 3SwitchRouterInternet
อุปกรณ์เชื่อมผ่านสวิตช์และเราเตอร์สู่อินเทอร์เน็ต

ส่วนประกอบภายใน

ชิ้นส่วนหลักของคอมพิวเตอร์ทำงานร่วมกันเพื่อประมวลผลและเก็บข้อมูล แหล่งจ่ายไฟ (PSU) แปลงไฟ AC จากเต้ารับเป็นไฟ DC ที่เมนบอร์ด CPU การ์ดจอ และไดรฟ์ต้องใช้ [1] RAM (DRAM) เก็บข้อมูลที่กำลังใช้งานซึ่งถูกส่งไปยัง CPU ส่วนที่จัดเก็บระยะยาวเก็บข้อมูลอย่างถาวร [2]

ที่จัดเก็บ: HDD กับ SSD

ไดรฟ์สองชนิดหลักต่างกันโดยพื้นฐาน: SSD เก็บข้อมูลในหน่วยความจำแฟลชโดยไม่มีชิ้นส่วนเคลื่อนไหว ส่วน HDD เก็บบนจานแม่เหล็กที่หมุนเชิงกล ทำให้ SSD เร็วกว่ามาก (500 MB/s ขึ้นไป เทียบกับราว 30-150 MB/s) แม้ HDD จะถูกกว่าต่อกิกะไบต์ [3]

อุปกรณ์อินพุต/เอาต์พุตและพอร์ต

อุปกรณ์อินพุตส่งข้อมูลเข้าคอมพิวเตอร์ (คีย์บอร์ด เมาส์ สแกนเนอร์) และอุปกรณ์เอาต์พุตส่งผลลัพธ์ออก (จอภาพ เครื่องพิมพ์) [4] USB เป็นอินเทอร์เฟซมาตรฐานสำหรับเชื่อมต่ออุปกรณ์ต่อพ่วง: เสียบถอดได้ขณะเปิดเครื่องและตั้งค่าอัตโนมัติ จึงสลับอุปกรณ์ได้โดยไม่ต้องรีบูต และอุปกรณ์เล็กดึงไฟผ่านสายได้ [5]

เครือข่ายเบื้องต้น

เครือข่ายคือชุดอุปกรณ์ที่เชื่อมต่อกันเพื่อแลกเปลี่ยนข้อมูลและใช้ทรัพยากรร่วมกันผ่านสายหรือไร้สาย [6] สวิตช์เชื่อมอุปกรณ์หลายตัวภายในเครือข่ายเดียวและส่งข้อมูลเป็นเฟรม ส่วนเราเตอร์เชื่อมเครือข่ายต่าง ๆ เข้าด้วยกันและส่งข้อมูลเป็นแพ็กเก็ต — เชื่อมเครือข่ายภายในของคุณเข้ากับอินเทอร์เน็ต [7]

ประเภทบริการอินเทอร์เน็ต

ประเภทการเชื่อมต่อต่างกันตามตัวกลาง DSL ส่งข้อมูลดิจิทัลผ่านสายโทรศัพท์ทองแดง; เคเบิลอินเทอร์เน็ตใช้สายโคแอกเชียลเดียวกับเคเบิลทีวี โดยประสิทธิภาพแบ่งกับเพื่อนบ้าน; และไฟเบอร์ส่งข้อมูลเป็นพัลส์แสงผ่านเส้นใยแก้ว ให้ความเร็วสูงสุดและทนการรบกวน [8]

MotherboardCPURAMStoragePSUGPU
ส่วนประกอบภายในหลักบนเมนบอร์ด

03 / 06

แอปพลิเคชันและซอฟต์แวร์

ซอฟต์แวร์คือชั้นของคำสั่งที่เปลี่ยนฮาร์ดแวร์ให้เป็นเครื่องมือใช้งานได้ หัวข้อนี้ครอบคลุมหน้าที่ของระบบปฏิบัติการ การจัดประเภทซอฟต์แวร์แอปพลิเคชัน วิธีการส่งมอบและอนุญาตใช้งานซอฟต์แวร์ และพื้นฐานการอัปเดต

Userspeople and tasksApplication softwarebrowsers · office · business appsOperating systemmanages hardware & resourcesHardwareCPU · memory · storage
ชั้นซอฟต์แวร์ ตั้งแต่ผู้ใช้ถึงฮาร์ดแวร์

หน้าที่ของระบบปฏิบัติการ

ระบบปฏิบัติการบริหารทรัพยากรของคอมพิวเตอร์และทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้กับฮาร์ดแวร์ มันจัดการหน่วยความจำ ไฟล์ ฮาร์ดแวร์ และซอฟต์แวร์ จัดการอินพุตและเอาต์พุต และประสานงานหลายอย่างพร้อมกัน เพื่อให้แอปพลิเคชันใช้ฮาร์ดแวร์ได้โดยไม่ต้องยุ่งกับรายละเอียดระดับล่าง [1]

ประเภทซอฟต์แวร์แอปพลิเคชัน

ซอฟต์แวร์แอปพลิเคชันทำงานตามเป้าหมายเฉพาะของผู้ใช้ ซอฟต์แวร์เพิ่มผลิตภาพช่วยสร้างเอกสาร สเปรดชีต งานนำเสนอ และอื่น ๆ โดยทั่วไปคือโปรแกรมประมวลผลคำ สเปรดชีต อีเมล และปฏิทิน รวมเป็นชุดอย่าง Microsoft Office หรือ Google Workspace [2] เว็บเบราว์เซอร์เป็นอีกประเภทที่พบบ่อย และใช้รันเว็บแอปมากขึ้นเรื่อย ๆ

ติดตั้งในเครื่อง กับ เว็บ (SaaS)

ซอฟต์แวร์รันในเครื่องหรือส่งมอบผ่านอินเทอร์เน็ตก็ได้ Software as a Service (SaaS) เป็นโมเดลบนคลาวด์ที่ส่งมอบแอปพลิเคชันผ่านเบราว์เซอร์ โดยผู้ให้บริการโฮสต์และดูแลโครงสร้างพื้นฐานและตัวแอป ผู้ใช้ไม่ต้องบำรุงรักษาซอฟต์แวร์ และคิดราคาแบบสมาชิกหรือจ่ายตามการใช้ [3]

การอนุญาตใช้งานซอฟต์แวร์

ใบอนุญาตกำหนดวิธีใช้ซอฟต์แวร์อย่างถูกกฎหมาย ซอฟต์แวร์โอเพนซอร์สเผยแพร่ภายใต้ใบอนุญาตที่เป็นไปตาม Open Source Definition ซึ่งกำหนดให้แจกจ่ายได้อย่างเสรี เข้าถึงซอร์สโค้ด และมีสิทธิ์แก้ไขและแบ่งปัน [4] มิเช่นนั้น เนื่องจากผลงานมีลิขสิทธิ์โดยปริยาย ซอฟต์แวร์จึงถือเป็นกรรมสิทธิ์ (proprietary) [5] ซอฟต์แวร์กรรมสิทธิ์ขายเป็นใบอนุญาตผู้ใช้เดี่ยว ไซต์/ปริมาณ หรือแบบสมาชิก [6]

การอัปเดตและแพตช์

การทำให้ซอฟต์แวร์ทันสมัยเป็นงานต่อเนื่อง การจัดการแพตช์คือการระบุ จัดหา ทดสอบ และติดตั้งแพตช์ — การเปลี่ยนแปลงโค้ดที่แก้บั๊ก ปิดช่องโหว่ หรือเพิ่มฟีเจอร์ แพตช์ความปลอดภัยสำคัญเร่งด่วนที่สุด เพราะผู้โจมตีรู้ช่องโหว่ที่แพตช์แก้อยู่แล้ว จึงควรติดตั้งโดยเร็วที่สุด [7]

Local installAppyour deviceSaaS (cloud)App in cloudBrowser
ซอฟต์แวร์ติดตั้งในเครื่อง เทียบกับ SaaS บนคลาวด์

04 / 06

การพัฒนาซอฟต์แวร์

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

SequenceBranchifthenelseLoopbodyrepeat while true
สามโครงสร้างตรรกะ: ลำดับ เงื่อนไข วนซ้ำ

ตรรกะโปรแกรม: ลำดับ เงื่อนไข วนซ้ำ

โปรแกรมรันคำสั่งตามลำดับโดยปริยาย แต่มีสองโครงสร้างที่เปลี่ยนการไหลนี้ การแยกเงื่อนไข (branching) ใช้คำสั่ง if (มี elif/else เสริม) เพื่อรันโค้ดต่างกันตามเงื่อนไข การวนซ้ำ (looping) ทำโค้ดซ้ำ: คำสั่ง for วนผ่านลำดับ ส่วน while ทำซ้ำตราบที่เงื่อนไขยังเป็นจริง [1]

ประเภทของภาษา

ภาษาต่างกันที่วิธีรันและสิ่งที่ทำ ภาษาคอมไพล์ถูกแปลงเป็นรหัสเครื่องก่อนรัน ส่วนภาษาอินเทอร์พรีตรันซอร์สโดยตรงกว่า [2] นอกจากนี้มีภาษาเฉพาะทาง: SQL เป็นภาษาคิวรีสำหรับทำงานกับข้อมูลแบบตาราง [3] และ HTML เป็นภาษามาร์กอัปที่ใช้แท็กกำหนดโครงสร้างหน้าเว็บ [4]

ตัวแปรและค่าคงที่

ตัวระบุ (identifier) ตั้งชื่อให้ค่าที่เก็บไว้ ตัวแปรสร้างขึ้นโดยกำหนดค่า เช่น width = 20 จากนั้นนำชื่อกลับมาใช้ได้ [5] ค่าคงที่ (constant) แทนค่าที่ไม่ควรเปลี่ยน ตามธรรมเนียมใน Python เขียนเป็นตัวพิมพ์ใหญ่ทั้งหมดคั่นด้วยขีดล่าง เช่น MAX_SPEED = 120 [6]

ชนิดข้อมูล

ทุกค่ามีชนิดที่กำหนดพฤติกรรมของมัน จำนวนเต็มคือ int เลขที่มีเศษส่วนคือ float และข้อความคือ str (สตริงในเครื่องหมายคำพูด) [5] บูลีนแทนค่าความจริง มีเพียงสองค่าคือ True และ False [7]

ฟังก์ชันและโครงสร้างข้อมูล

โปรแกรมขนาดใหญ่จัดเป็นชิ้นที่นำกลับมาใช้ซ้ำได้ คำสั่ง def นิยามฟังก์ชัน — บล็อกโค้ดที่มีชื่อและใช้ซ้ำได้ [1] ข้อมูลถูกจัดกลุ่มด้วยคอนเทนเนอร์เช่น list ซึ่งเป็นลำดับที่แก้ไขได้ ใช้เก็บชุดของรายการและรองรับการเพิ่ม/ลบสมาชิก [7]

CompiledSourceCompilerMachine codeRunInterpretedSourceInterpreterRun
การรันแบบคอมไพล์ เทียบกับ อินเทอร์พรีต

05 / 06

พื้นฐานฐานข้อมูล

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

Table: usersidnameemail1Alicealice@x.io2Bobbob@x.io3Carolcarol@x.ioprimary key
ตารางเชิงสัมพันธ์ มีแถว คอลัมน์ และคีย์หลัก

ทำไมใช้ฐานข้อมูลแทนไฟล์แบน

ฐานข้อมูลให้ที่จัดเก็บแบบมีโครงสร้างและรวมศูนย์แทนไฟล์กระจัดกระจาย ข้อได้เปรียบสำคัญคือการเข้าถึงพร้อมกัน (concurrency): ฐานข้อมูลหลายผู้ใช้รับประกันว่าผู้ใช้เข้าถึงข้อมูลพร้อมกันได้ ขณะที่แต่ละคนยังเห็นข้อมูลในมุมมองที่สอดคล้องกัน ไฟล์แบนไม่สามารถประสานการเขียนพร้อมกันหรือรับประกันเวอร์ชันเดียวที่สอดคล้องได้ [1]

เชิงสัมพันธ์ กับ ไม่เชิงสัมพันธ์ (NoSQL)

ฐานข้อมูลเชิงสัมพันธ์ (SQL) ให้ตารางข้อมูลที่สัมพันธ์กันด้วยสคีมาตายตัวและการรับประกัน ACID ส่วนฐานข้อมูลไม่เชิงสัมพันธ์ (NoSQL) เก็บข้อมูลไร้โครงสร้างหรือกึ่งโครงสร้าง มักเป็นคู่คีย์-ค่า หรือเอกสาร JSON เน้นการขยายตัวและความยืดหยุ่น โมเดล NoSQL ที่พบบ่อยได้แก่ document, key-value, wide-column และ graph [2]

โมเดลเชิงสัมพันธ์: ตาราง แถว คอลัมน์ คีย์

ในฐานข้อมูลเชิงสัมพันธ์ ตารางแต่ละตารางคือชุดของแถวที่มีชื่อ และแต่ละแถวมีคอลัมน์ชื่อเดียวกัน แต่ละคอลัมน์เป็นชนิดข้อมูลเฉพาะ [3] คีย์หลัก (primary key) คือคอลัมน์ (หรือกลุ่มคอลัมน์) ที่ใช้ระบุแถวอย่างไม่ซ้ำ ค่าต้องไม่ซ้ำและไม่เป็นค่าว่าง [4]

การเข้าถึงข้อมูล: SQL และ CRUD

ข้อมูลถูกเข้าถึงด้วย SQL (Structured Query Language) การดำเนินการพื้นฐานสี่อย่าง — Create, Read, Update, Delete (CRUD) — ตรงกับคำสั่ง INSERT, SELECT, UPDATE และ DELETE ที่เพิ่ม เรียกดู แก้ไข และลบแถว [5]

ความเกี่ยวข้องด้านความปลอดภัย

ฐานข้อมูลเก็บข้อมูลอ่อนไหว การควบคุมการเข้าถึงและการจัดการอินพุตจึงสำคัญ ความเสี่ยงการฉีดที่เด่นที่สุดคือ SQL injection ที่คิวรี SQL ถูกฉีดผ่านอินพุตจากไคลเอนต์ การโจมตีสำเร็จอาจอ่านข้อมูลอ่อนไหว แก้ไข หรือรันคำสั่งระดับผู้ดูแล จึงต้องตรวจสอบอินพุตและให้สิทธิ์ขั้นต่ำ [6]

CreateINSERTReadSELECTUpdateUPDATEDeleteDELETE
การดำเนินการ CRUD จับคู่กับคำสั่ง SQL

06 / 06

ความปลอดภัย

ความปลอดภัยในพื้นฐานไอทีเน้นการปกป้องสารสนเทศและระบบที่จัดเก็บ ประมวลผล และส่งผ่านมัน ตั้งอยู่บนหลักการที่คงทนไม่กี่ข้อ — CIA triad การควบคุมอัตลักษณ์ การเสริมความแข็งแกร่งของอุปกรณ์ และการตระหนักของผู้ใช้ — ที่ลดความเสี่ยงของการเข้าถึงโดยไม่ได้รับอนุญาต การปลอมแปลง และการหยุดทำงาน

InformationsecurityCConfidentialityIIntegrityAAvailability
หลัก CIA — สามวัตถุประสงค์ความปลอดภัยหลัก

หลัก CIA triad

CIA triad คือสามวัตถุประสงค์ความปลอดภัยหลัก ความลับ (Confidentiality) คือการรักษาข้อจำกัดที่ได้รับอนุญาตต่อการเข้าถึงและเปิดเผย [1] ความถูกต้อง (Integrity) คือการป้องกันการแก้ไขหรือทำลายโดยมิชอบ รวมถึงความแท้จริงและการห้ามปฏิเสธความรับผิด [2] ความพร้อมใช้ (Availability) คือการรับประกันการเข้าถึงสารสนเทศได้ทันเวลาและเชื่อถือได้ [3]

การยืนยันตัวตน อนุญาต และบันทึก (AAA)

AAA คือกรอบควบคุมการเข้าถึง: การยืนยันตัวตน (authentication) ตรวจว่าผู้ใช้เป็นใคร การอนุญาต (authorization) กำหนดว่าทำอะไรได้ และการบันทึก (accounting) บันทึกสิ่งที่ทำ [4] การยืนยันตัวตนหลายปัจจัย (MFA) เสริมขั้นแรกโดยต้องใช้มากกว่าหนึ่งปัจจัย — สิ่งที่รู้ สิ่งที่มี หรือสิ่งที่เป็น [5]

ความปลอดภัยอุปกรณ์: รหัสผ่านและการเข้ารหัส

ข้อมูลรับรองที่แข็งแรงเป็นมาตรการพื้นฐาน NIST SP 800-63B กำหนดว่ารหัสผ่านที่ผู้ใช้เลือกต้องยาวอย่างน้อย 8 อักขระ และระบบควรอนุญาตอย่างน้อย 64 อักขระเพื่อรองรับวลีรหัสยาว [6] การเข้ารหัสปกป้องข้อมูลโดยแปลงข้อความธรรมดาเป็นข้อความเข้ารหัสที่ซ่อนความหมายเดิม [7]

ความปลอดภัยเชิงพฤติกรรม: วิศวกรรมสังคมและฟิชชิง

การโจมตีจำนวนมากพุ่งเป้าที่คนมากกว่าเทคโนโลยี วิศวกรรมสังคม (social engineering) คือความพยายามหลอกให้ใครสักคนเปิดเผยข้อมูล เช่น รหัสผ่าน ที่ใช้โจมตีระบบได้ [8] ฟิชชิง (phishing) เป็นรูปแบบที่พบบ่อย ที่ผู้ใช้ถูกล่อ (มักผ่านอีเมล) และหลอกให้เปิดเผยข้อมูลที่ใช้ปลอมเป็นตัวเขา [9]

การท่องเว็บอย่างปลอดภัย (HTTPS)

การท่องเว็บอย่างปลอดภัยเริ่มที่การเชื่อมต่อที่เข้ารหัส HTTPS คือ HTTP เวอร์ชันเข้ารหัสที่ใช้ TLS เข้ารหัสการสื่อสารทั้งหมดระหว่างไคลเอนต์กับเซิร์ฟเวอร์ ทำให้แลกเปลี่ยนข้อมูลอ่อนไหวได้อย่างปลอดภัย ผู้ใช้ควรยืนยันว่าเว็บใช้ HTTPS และเลี่ยงลิงก์น่าสงสัยก่อนกรอกข้อมูลส่วนตัว [10]

Authenticationwho you areAuthorizationwhat you can doAccountingwhat you did
AAA: ยืนยันตัวตน อนุญาต และบันทึก