921 คำ
5 นาที
IT Foundation EP.02 — พื้นฐาน Computer Science
สารบัญ

Series: IT Foundation — พื้นฐาน IT สำหรับยุค AI (ภาษาคน)

  1. EP.01 — รากฐานคอมพิวเตอร์
  2. EP.02 — พื้นฐาน Computer Science ← คุณอยู่ตรงนี้
  3. EP.03 — ซอฟต์แวร์ทำงานยังไง
  4. EP.04 — Architectures
  5. EP.05 — Web Technologies
  6. EP.06 — Security พื้นฐาน
  7. EP.07 — Performance & Testing
  8. EP.08 — Dev/Deploy/Ops
  9. EP.09 — Security ขั้นสูง
  10. EP.10 — Project Management

ใน EP.01 เราคุยกันเรื่องฮาร์ดแวร์ ตั้งแต่ CPU ที่เป็นนักกล้ามบ้าพลัง ไปจนถึง RAM ที่เป็นโต๊ะทำงาน และระบบปฏิบัติการที่เป็นผู้จัดการให้ทุกอย่างวิ่งไปด้วยกันได้ สรุปคือ “ร่างกาย” ของคอมพิวเตอร์พร้อมแล้ว

แต่ร่างกายที่แข็งแรงอย่างเดียวยังใช้งานจริงไม่ได้ ถ้าเราโยนข้อมูลกองพะเนินให้มัน มันก็ได้แต่นั่งงง คอมพิวเตอร์ต้องการ “สติปัญญาพื้นฐาน” คือวิธีจัดระเบียบข้อมูลและวิธีคิดเป็นขั้นตอน EP นี้ผมจะพาไปดูว่า Computer Science พื้นฐานที่ทำให้คอมคิดเป็นระบบประกอบด้วยอะไรบ้าง และทำไมมันถึงเกี่ยวกับคุณแม้คุณจะไม่ใช่โปรแกรมเมอร์

Data Structures — การจัดระเบียบข้อมูล#

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

ทางออกคือสร้าง “ชั้นวางของ” รูปแบบต่างๆ ให้เหมาะกับสินค้าแต่ละประเภท เพื่อให้หาง่ายและประหยัดที่ นี่แหละคือสิ่งที่เรียกว่า Data Structures — วิธีที่คอมพิวเตอร์จัดเก็บและจัดการข้อมูลในหน่วยความจำ เป้าหมายคือให้โปรแกรมทำงานเร็ว ประหยัดพื้นที่ และรองรับผู้ใช้งานเยอะๆ ได้

ในมุมผู้บริหาร การเลือก Data Structure ผิด ก็เหมือนเอาเอกสารสำคัญไปยัดใส่ตู้เย็น มันเก็บได้เหมือนกัน แต่ตอนหยิบมาใช้จะลำบากและช้า นี่คือจุดเริ่มต้นของปัญหา Performance ที่เจอกันบ่อยในระบบธุรกิจ

Primitive Data Types — วัตถุดิบพื้นฐาน#

ก่อนจะไปเรื่องชั้นวาง ต้องรู้จัก “อิฐก้อนแรก” ก่อน คือข้อมูลชิ้นเดียวโดดๆ ที่เล็กที่สุด ได้แก่ Integer (เลขจำนวนเต็ม), Float (ทศนิยม), String (ข้อความ), และ Boolean (True/False) ถ้าไม่มีของพวกนี้ก็สร้างอะไรไม่ได้เลย มันคือส่วนประกอบตั้งต้นของทุกข้อมูลในโลกดิจิทัล

Arrays & Lists — การจัดแถว#

โครงสร้างแบบแรกคือการเรียงของเป็นแถว เหมือน “แผงไข่” หรือการเข้าแถวต่อคิวตามลำดับ เราจองพื้นที่ยาวๆ แล้ววางของเรียงต่อกัน แต่ละช่องมีเลข Index ตั้งแต่ 0, 1, 2, 3 ไปเรื่อยๆ

ข้อดีคืออ่านข้อมูลเร็วมากถ้ารู้ตำแหน่ง เช่น ขอดูกล้องวงจรปิดนาทีที่ 5 ระบบเดินไปที่ช่องที่ 5 ได้ทันที ไม่ต้องไล่ดูตั้งแต่นาทีแรก เหมาะกับข้อมูลที่รู้จำนวนแน่นอน หรือข้อมูลที่ต้องทำตามลำดับ คำที่ได้ยินบ่อยคือ Array (ขนาดคงที่) กับ Linked List (ขยายได้)

Objects & Maps — ระบบฝากของ#

อีกแบบคือการเก็บข้อมูลเป็นคู่ “ชื่อ-ของ” หรือ Key-Value Pairs เปรียบเหมือน “จุดรับฝากกระเป๋า” หรือตู้ล็อกเกอร์ที่ห้าง คุณยื่นบัตรคิว (Key) ให้พนักงาน พนักงานก็หยิบกระเป๋า (Value) ให้ทันที โดยไม่ต้องเดินหาทีละตู้

นี่คือโครงสร้างที่ “เร็วที่สุดในโลก” สำหรับการค้นหา เพราะไม่ต้องวนลูปหาไปทีละรายการ เจาะจงหยิบได้เลยในเวลาคงที่ ระบบ Login ที่ตรวจชื่อผู้ใช้ หรือระบบค้นหาสินค้าใน e-Commerce ก็ใช้โครงสร้างแบบนี้เป็นพื้นฐาน คำที่มักเจอคือ Hash Map, Dictionary, JSON Object

Trees & Graphs — ความสัมพันธ์ซับซ้อน#

โลกความจริงซับซ้อนกว่าแค่การเรียงแถวตรงๆ มันมีความสัมพันธ์แบบพ่อลูก หรือแบบเพื่อนของเพื่อน Tree คือโครงสร้างแบบผังองค์กร (CEO → VP → Manager) หรือโฟลเดอร์ในเครื่องคอมที่ซ้อนกันเป็นชั้นๆ ส่วน Graph คือโครงสร้างแบบแผนที่รถไฟฟ้า หรือเครือข่ายเพื่อนใน Facebook ที่ทุกจุดสามารถเชื่อมหากันได้หมด

โครงสร้างแบบนี้มีไว้จำลองความสัมพันธ์ที่ซับซ้อนในโลกจริงให้คอมพิวเตอร์เข้าใจ คำสำคัญที่ควรรู้คือ Node (จุด), Edge (เส้นเชื่อม), Root, Leaf

Algorithms — สูตรแก้ปัญหา#

ถ้า Data Structure คือโกดัง Algorithm ก็คือคู่มือการทำงาน หรือ SOP (Standard Operating Procedure) ของคอมพิวเตอร์ เพราะคอมพิวเตอร์คิดเองไม่เป็นครับ เราต้องเขียนขั้นตอนที่ชัดเจนทีละสเต็ปให้มัน ว่ารับ Input อะไร ผ่าน Process แบบไหน แล้วออก Output อะไร

ในมุมธุรกิจ Algorithm คือ “สูตรลับ” หรือ Secret Sauce ของแต่ละบริษัท สูตรใครดีกว่า คนนั้นชนะ Google Search ชนะ Yahoo เพราะสูตรค้นหาดีกว่า ไม่ใช่เพราะเซิร์ฟเวอร์แพงกว่า

Classic Algorithms — Searching & Sorting#

ปัญหาคลาสสิกคือ “ข้อมูลมีเป็นล้านแถว จะหาเจอได้ยังไงในเสี้ยววินาที?” ทางเลือกที่เห็นภาพง่ายสุดคือ Linear Search — ไล่ดูทีละคนตั้งแต่ต้นจนเจอ วิธีนี้ง่ายแต่ช้ามากเมื่อข้อมูลเยอะ

อีกวิธีคือ Binary Search — แบ่งครึ่งแล้วตัดทิ้งไปครึ่งหนึ่ง เหมือนเวลาเราเปิดพจนานุกรมหาคำว่า “mango” เราไม่เปิดหน้าแรกไล่ไปทีละหน้า เราเปิดกลางเล่มก่อน ถ้าเจอตัว S เราก็รู้ว่าต้องไปทางซ้าย แล้วแบ่งครึ่งไปเรื่อยๆ สองสามรอบก็เจอ วิธีนี้เร็วกว่ามหาศาล

การเรียงลำดับข้อมูล (Sorting) ก็สำคัญไม่แพ้กัน เพราะเป็นรากฐานของแอปพลิเคชัน 90% ทั้ง e-Commerce, ระบบจอง, และ Search Engine ล้วนต้องเรียงข้อมูลก่อนแล้วค้นหาอย่างมีประสิทธิภาพ

Modern Algorithms — AI & Machine Learning#

เทรนด์ที่เปลี่ยนโลกตอนนี้คือการเปลี่ยนจาก “คนเขียนสูตรให้คอม” เป็น “คอมเรียนรู้สูตรเองจากข้อมูล” นี่คือหัวใจของ Machine Learning และ Deep Learning

มันเป็น Game Changer ที่ทำให้คอมพิวเตอร์ทำงานที่ซับซ้อนเกินกว่ามนุษย์จะเขียนโค้ดไหว เช่น การจำหน้าคน การแต่งรูป หรือการเข้าใจภาษา เพราะถ้าให้มนุษย์พยายามเขียนกฎว่า “ตาแบบนี้ + จมูกแบบนี้ = คนชื่อนี้” เราเขียนไม่ไหว แต่พอป้อนรูปให้ระบบดูเป็นล้านรูป มันเรียนรู้เองได้ คำที่ได้ยินบ่อยในยุคนี้คือ Neural Networks, Deep Learning, และ LLM (Large Language Model) ซึ่งเป็นพื้นฐานของ ChatGPT, Claude, Gemini

Helping Algorithms — Compression & Hashing#

นอกจากสูตรหลัก ยังมีสูตรผู้ช่วยที่ทำให้งานหลักดีขึ้น เช่น Compression คือการบีบอัดข้อมูลให้เล็กลง (ที่คุ้นคือไฟล์ Zip) เพื่อส่งเน็ตให้ไว ประหยัดค่าเซิร์ฟเวอร์ อีกตัวคือ Hashing คือการแปลงข้อมูลให้เป็นรหัสลับสั้นๆ เหมือนลายนิ้วมือดิจิทัล ใช้ตรวจสอบความถูกต้องของข้อมูลหรือเก็บรหัสผ่านแบบปลอดภัย คำที่เจอคือ Gzip, SHA-256, Encryption

Big O Notation — ดัชนีชี้วัดความคุ้มค่า#

สมมติโปรแกรมเมอร์บอกว่า “โค้ดเสร็จแล้วครับ” แต่เราไม่รู้ว่ารับคนไหวไหม ถ้าลูกค้าเพิ่ม 100 เท่า เซิร์ฟเวอร์จะล่มไหม? เครื่องมือที่ใช้ตอบคำถามนี้เรียกว่า Big O Notation

มันคือ KPI ของโค้ด ใช้วัดประสิทธิภาพทั้งด้านความเร็วและการกินพื้นที่ (Time & Space Complexity) ตัวเลขที่ควรจำคร่าวๆ คือ O(1) เร็วสุดแบบคงที่ไม่ขึ้นกับขนาดข้อมูล, O(N) เร็วปานกลางขึ้นตามจำนวนข้อมูลแบบเป็นเส้นตรง, O(N²) ช้ามากเพราะเวลาเพิ่มแบบยกกำลังสองเมื่อข้อมูลโต ผู้บริหารควรรู้แค่ว่ามันคือตัวชี้วัด Scalability ก่อนจะลงทุนสร้างระบบจริง

Networking — การสื่อสารเครือข่าย#

คอมพิวเตอร์เครื่องเดียวเก่งอย่างเดียวไม่พอ ต้องคุยกับเครื่องอื่นได้ด้วย นี่คือเรื่อง Networking หรือ “ระบบขนส่งข้อมูล” ของโลกดิจิทัล

HTTP & HTTPS — ภาษากลาง#

คอมพิวเตอร์แต่ละเครื่องพูดคนละภาษา ถ้าไม่มีภาษากลางก็คุยกันไม่รู้เรื่อง โลกเลยกำหนดมาตรฐานขึ้นมาชื่อว่า HTTP (HyperText Transfer Protocol) เป็นโปรโตคอลการรับ-ส่งข้อมูลที่ทุก Browser ใช้

HTTPS คือเวอร์ชันที่ใส่ซองจดหมายหุ้มเกราะ คือเข้ารหัสข้อมูลระหว่างทาง ถ้าเว็บไม่มี S (Secure) ข้อมูลบัตรเครดิตลูกค้าจะถูกดักจับได้ง่าย นี่เป็นเหตุผลว่าทำไม Chrome ถึงขึ้นเตือนสีแดงเวลาเข้าเว็บที่ยังเป็น HTTP เฉยๆ คำที่คุ้นในหมวดนี้คือ Request, Response, Status Code เช่น 200 OK (สำเร็จ) หรือ 404 Not Found (หาหน้าไม่เจอ)

APIs — REST & GraphQL#

API คือช่องทางที่เปิดให้ซอฟต์แวร์ตัวอื่นมาเรียกใช้ข้อมูลของเรา เปรียบเหมือน “เมนูอาหาร” และ “พนักงานรับออเดอร์” ในร้านอาหาร

REST เป็นแบบเมนูเซต สั่งข้าวผัดได้ข้าว + แตงกวา + ซุปมาพร้อมกัน มันง่ายและเป็นมาตรฐานที่ใช้กันแพร่หลาย ส่วน GraphQL เป็นแบบบุฟเฟต์ สั่งเอาแค่ข้าวกับซุป ไม่เอาแตงกวา ยืดหยุ่นกว่าและประหยัดเน็ต เหมาะกับแอปมือถือที่อยากโหลดเฉพาะสิ่งที่ต้องใช้

ในมุมธุรกิจ API คือประตูที่ทำให้ธุรกิจเชื่อมต่อกันได้ เช่น Grab ดึงแผนที่ Google มาใช้ Shopee ดึงช่องทางจ่ายเงินของธนาคารมาใช้ ประโยชน์ใหญ่คือทำให้หน้าบ้าน (Mobile App) แยกจากหลังบ้าน (Server) ทำงานอิสระต่อกันได้ คำที่เจอคือ Endpoint, Payload, JSON

Real-time Communication — คุยกันสดๆ#

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

Polling คือแอปโทรถามเซิร์ฟเวอร์ทุก 5 วินาทีว่า “มีของใหม่ไหม?” วิธีนี้ง่ายแต่เปลืองแรงเครื่อง ต่อมาคือ Webhooks หลักการคือ “ไม่ต้องโทรมา เดี๋ยวมีของใหม่แล้วผมโทรบอกเอง” ประหยัดกว่ามาก และแบบดีสุดคือ WebSockets ต่อสายตรงคุยกันตลอดเวลาแบบ Real-time จริงๆ แอปแชต เกมออนไลน์ แอปเทรดหุ้น ใช้ WebSockets เป็นหลัก คำที่เจอคือ Latency, Push Notification, Event-Driven

DNS & Infrastructure — สมุดโทรศัพท์ของอินเทอร์เน็ต#

Domain & DNS#

ทุกเครื่องในอินเทอร์เน็ตมีหมายเลขเรียกว่า IP Address เช่น 142.250.1.1 แต่ถ้าต้องจำเลขพวกนี้เพื่อเข้าเว็บก็คงปวดหัว ทางออกคือใช้ชื่อโดเมนอย่าง google.com แล้วให้ระบบ DNS (Domain Name System) แปลงชื่อเป็นเลข IP ให้อัตโนมัติ DNS จึงเปรียบได้กับสมุดโทรศัพท์ของอินเทอร์เน็ต

ในมุมผู้บริหาร ถ้า DNS ล่มคือหายนะ ธุรกิจหายไปจากโลกอินเทอร์เน็ตทันที ไม่ใช่เพราะเว็บพัง แต่เพราะลูกค้าหาไม่เจอ แม้เซิร์ฟเวอร์ยังดีอยู่ก็ตาม คำที่เจอคือ Name Server, A Record, CNAME, TTL

Email Infrastructure — MX & TXT#

อีกเรื่องที่ DNS จัดการคืออีเมล คุณเคยสงสัยไหมว่าทำไมบางครั้งอีเมลที่ส่งหาลูกค้าไปตกใน Junk Mail? คำตอบคือ DNS ของคุณยังไม่ได้ตั้งค่าให้ยืนยันว่า “ผมคือตัวจริง ไม่ใช่สแปม”

Record ที่สำคัญมีสองประเภทหลัก MX Record คือทางเข้าเมลที่บอกว่าอีเมลของโดเมนนี้ไปถึงเซิร์ฟเวอร์ไหน และ SPF/DKIM คือตราประทับยืนยันตัวตนที่ช่วยให้ปลายทางเชื่อว่าอีเมลนี้มาจากคุณจริงๆ ไม่ใช่คนปลอม การตั้งค่าพวกนี้สำคัญมากสำหรับรักษาความน่าเชื่อถือของแบรนด์ หรือที่เรียกว่า Email Deliverability

Database Basics — ห้องนิรภัยข้อมูล#

ถ้า RAM คือกระดานไวท์บอร์ดที่ไฟดับแล้วข้อมูลหาย Database ก็คือตู้เซฟที่ไฟดับแล้วข้อมูลยังอยู่ครบ นี่คือระบบจัดเก็บข้อมูลแบบถาวรและเป็นระเบียบ

ทำไมต้องมี Database? เพราะข้อมูลคือทรัพย์สินที่สำคัญที่สุดของบริษัทครับ อย่างที่เขาพูดกันว่า “Data is the new oil” สิ่งพื้นฐานที่ทุก Database ต้องทำได้คือ CRUD ซึ่งย่อมาจาก Create (สร้าง), Read (อ่าน), Update (แก้ไข), Delete (ลบ) และต้องมีคุณสมบัติ Persistence คือข้อมูลอยู่รอดเมื่อปิดเครื่อง

SQL vs NoSQL — ระเบียบ vs ยืดหยุ่น#

Database มีสองสายใหญ่ๆ ที่ต้องเลือก

SQL (Relational) คือฐานข้อมูลที่เก็บข้อมูลในรูปแบบตาราง เหมือน Excel ที่ตารางเป๊ะ ห้ามกรอกผิดช่อง มีกฎระเบียบชัดเจน เหมาะกับงานบัญชี การเงิน ระบบ ERP ที่ความถูกต้องสำคัญกว่าความยืดหยุ่น

NoSQL (Non-Relational) คือฐานข้อมูลที่เก็บข้อมูลแบบอิสระเหมือนแฟ้มเอกสาร โยนอะไรลงไปก็ได้ ไม่ต้องตรงโครงสร้างเป๊ะ เหมาะกับ Social Media, Log, หรือข้อมูลที่โครงสร้างเปลี่ยนบ่อย

ในมุมผู้บริหาร เลือกผิดชีวิตเปลี่ยนครับ เลือก SQL มาเก็บ Log ปริมาณมหาศาลอาจจะแพงและช้า เลือก NoSQL มาทำบัญชีเงินอาจจะหายได้เลย คำที่เจอคือ Table vs Document, Schema Strictness

Transactions (ACID)#

ลองนึกภาพการโอนเงินจากบัญชี A ไป B ถ้าไฟดับตอนระบบตัดเงินจาก A เสร็จแล้ว แต่ยังไม่ทันเข้าบัญชี B จะเกิดอะไรขึ้น? เงินหายครับ 555+

ทางแก้คือกฎ “All or Nothing” ถ้าไม่เสร็จสมบูรณ์ทุกขั้นตอนให้ยกเลิกทั้งหมดเหมือนไม่มีอะไรเกิดขึ้น เรียกว่าคุณสมบัติ ACID ซึ่งรับประกันความถูกต้องของข้อมูล ทำให้เราเชื่อมั่นในระบบการเงินและระบบธุรกิจได้ คำที่ควรรู้คือ Atomicity (ทำครบหรือไม่ทำเลย), Rollback (ย้อนกลับ), Data Integrity (ข้อมูลถูกต้อง)

Database Technology — เครื่องมือยุคใหม่#

เทคโนโลยีรอบๆ Database พัฒนาไปไกลมากในช่วงสิบปีที่ผ่านมา

Cloud Databases#

แทนที่จะซื้อเซิร์ฟเวอร์เองมาตั้งไว้ในออฟฟิศ หลายบริษัทเปลี่ยนไปเช่า “ตู้เซฟของ Amazon หรือ Google” แล้วให้เจ้าของบริการจ้างยามเฝ้าให้ เรียกว่า Cloud Database

ข้อดีคือเปลี่ยน CAPEX (ซื้อเซิร์ฟเวอร์เป็นทรัพย์สิน) เป็น OPEX (เช่ารายเดือน) ขยายง่ายกว่ามาก ไม่ต้องห่วงเรื่อง Update ระบบหรือ Backup เพราะผู้ให้บริการดูแลให้หมด คำที่เจอคือ AWS RDS, Google Cloud SQL, Scalability

BaaS — Backend-as-a-Service#

ถ้า Cloud Database คือตู้เซฟเช่า BaaS ก็คือ “บะหมี่กึ่งสำเร็จรูป” ของวงการพัฒนาซอฟต์แวร์ คือมี Database + ระบบ Login + File Storage มาให้ครบในแพ็กเดียว

ข้อดีคือช่วยให้ Startup สร้างแอปเสร็จใน 1 สัปดาห์ แทนที่จะใช้ 3 เดือน เพราะไม่ต้องเขียนระบบพื้นฐานใหม่ตั้งแต่ต้น เครื่องมือยอดนิยมคือ Firebase ของ Google และ Supabase ซึ่งเป็นทางเลือกแบบ Open Source ที่มาแรงมากในช่วงหลัง

Caching (Redis)#

เทคนิคหนึ่งที่ทำให้แอปเร็วขึ้นมหาศาลคือ Caching หลักการคือเอาข้อมูลที่คนดูบ่อยๆ เช่น รายการสินค้าขายดี หรือข้อมูลโปรไฟล์ผู้ใช้ มาแปะไว้หน้าตู้เซฟใน RAM เพื่อให้หยิบได้เร็ว ไม่ต้องเดินเข้าไปเปิดตู้เซฟหลักทุกครั้ง

ผลคือแอปเร็วขึ้น 10-100 เท่า และลดภาระ Database หลักไปได้เยอะ เครื่องมือที่ใช้กันเยอะคือ Redis และ Memcached คำที่เจอคือ In-Memory, Low Latency

Big Data & Warehouses#

อีกหมวดคือฐานข้อมูลขนาดยักษ์สำหรับวิเคราะห์ข้อมูลย้อนหลัง หรือที่เรียกว่า Data Warehouse เป้าหมายคือเปลี่ยนข้อมูลดิบให้กลายเป็น “ปัญญา” ที่ใช้ตัดสินใจธุรกิจได้

ข้อสำคัญคือ Data Warehouse ไม่ได้มีไว้รันแอปรายวัน แต่มีไว้ทำ Dashboard ผู้บริหาร วิเคราะห์พฤติกรรมลูกค้า และทำนายเทรนด์ธุรกิจ เครื่องมือที่เห็นบ่อยคือ Snowflake, BigQuery ของ Google, และแนวคิดใหม่อย่าง Data Lake ที่เก็บข้อมูลดิบไว้โดยไม่บังคับโครงสร้างตั้งแต่แรก

สรุป — จากความมั่วสู่ความเป็นระบบ#

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

เราจัด “โกดัง” ด้วย Data Structures ตั้งแต่ Array, Object, Tree เพื่อให้หยิบของได้เร็วที่สุด เราวาง “คู่มือ SOP” ด้วย Algorithms ทั้งการค้นหา การเรียงลำดับ ไปจนถึง AI เพื่อแก้ปัญหาอย่างมีประสิทธิภาพและวัดผลได้ด้วย Big O เราสร้าง “ระบบขนส่ง” ด้วย Networking ผ่าน HTTP, API, และ Real-time รวมถึง “สมุดโทรศัพท์” อย่าง DNS เพื่อให้คอมพิวเตอร์ทั่วโลกคุยกันรู้เรื่อง และสุดท้ายเราเก็บของมีค่าไว้ใน “ห้องนิรภัย” ด้วย Database ทั้ง SQL, NoSQL และเครื่องมือยุคใหม่อย่าง Cloud, BaaS, Caching, Data Warehouse

ถ้ามอง EP.01 กับ EP.02 คู่กัน EP.01 คือร่างกายของคอมพิวเตอร์ ส่วน EP.02 คือสติปัญญาพื้นฐาน ถ้าไม่มี Data Structures RAM ก็เป็นแค่กองขยะอิเล็กทรอนิกส์ ถ้าไม่มี Algorithms CPU ก็วิ่งวนไปมาโดยไม่เกิดผลลัพธ์

สิ่งที่ผู้นำต้องจำจาก EP นี้มีสองข้อ

ข้อแรก Scalability is Design — ระบบจะรองรับลูกค้าล้านคนได้หรือไม่ ไม่ได้อยู่ที่ซื้อเซิร์ฟเวอร์แพงแค่ไหน แต่อยู่ที่เลือก Data Structure และ Algorithm ถูกต้องตั้งแต่แรก ซื้อเครื่องแรงแต่เลือกสูตรผิด ก็พังอยู่ดี

ข้อสอง Data is Liability & Asset — ข้อมูลถ้าเก็บไม่ดีคือภาระที่ต้องแบกต้นทุนโดยไม่ได้ประโยชน์ แต่ถ้าเก็บดี วางโครงสร้างถูก และเอาไปวิเคราะห์ต่อได้ ข้อมูลชุดเดียวกันนั้นคือทรัพย์สินที่ประเมินค่าไม่ได้

ตอนนี้เรามีฮาร์ดแวร์ (ร่างกาย) และพื้นฐาน Computer Science (ระเบียบและตรรกะ) ครบแล้ว แต่ผู้ใช้งานยังใช้งานจริงไม่ได้ เพราะยังขาด “หน้าต่าง” ให้คนกด และ “ระบบจัดการเบื้องหลัง” ที่คอยรับคำสั่ง EP ต่อไปผมจะพาไปดูว่าซอฟต์แวร์จริงๆ มันทำงานยังไง Frontend กับ Backend คุยกันแบบไหน และทำไมการแยกสองฝั่งนี้ถึงเปลี่ยนวิธีสร้างแอปไปตลอดกาล

EP.03 — ซอฟต์แวร์ทำงานยังไง