在網頁web基礎之中,有著形形色色的差異,但在這之中唯有基礎是不變的。各式各樣的網頁因為客製化而有所不同,不同使用者根據不同習慣創造出了屬於自己的網頁,那今天就讓我們一同觀察背後的奧秘。
01 前端
前端是使用者在瀏覽器直接看到的東西和操作的介面,也因此在於美觀和便利性有著不小的要求,所以也常常和UI/UX設計師合作,畢竟他們和前端工程師負責的領域還是大不相同的。而前端的技術包刮了HTML、CSS、JavaScript 加前端框架(React / Vue / Angular)。
02 後端
後端是負責進行資料的處理和運算,還有像是我們常常需要進行使用者登入的權限管理,說白一點就是資料庫存取及安全性的驗證等。常用到的有Node.js、Python (Django/Flask/FastAPI)、Java (Spring Boot)、PHP (Laravel) ,至於這部分的學習後面會再提到。
03 資料庫
對資造庫貼切一點的形容,就是"字典",因為他負責儲存、查詢和管理資料。而資料庫又分成關聯式和非關聯式,關聯式像是(MySQL、PostgreSQL、SQL Server)而非關聯式(MongoDB、Redis、Cassandra),而他們差別是一個是用有明確結構及目的的需求,例如:
SELECT * FROM users WHERE age > 18;
適用sql的語法來查詢所有符合年齡大於18的用戶。
而另一個是用更靈活的結構來拓展像是聊天訊息或社群貼文之類,例如:
{
"name": "ENZO",
"age": 19,
"hobbies": ["sport", "music"]
}
適用json的語法來衍伸出較為彈性的數據。
04 部署
部署的意思就是把你的程式公開到網路上,讓所有使用者都能用,而部署的涉及層面其實也不少,像伺服器(Linux)、雲端(AWS、GCP、Azure)、容器(Docker、Kubernetes)、CD/CI 自動化部署都是會牽涉到的範疇。其中以你部署的技術又會影響到系統監控、運作的效能,是很重要的一步。
05 APIs
API就是前後端的"橋梁",可以想像成前後端對接的窗口,當前端給出指示和目的後,從後端拿出相應的回答和解決方法(但不是代表幫你解決問題),來達成資料交換的作用。
06 資訊安全性
資訊安全性就如同字面上的意思,確保網站和使用者的安全,我大概舉一些網路攻擊的例子:HTTPS(TLS/SSL)確保瀏覽器和伺服器之間的傳輸不受竊取、SQL Injection 防護、XSS(如果有人在網頁中插入惡意的javascript且網站又沒過濾過,就可能遭受攻擊)/CSRF 防禦。
07 測試與維護
主要是希望能確保系統穩定、不容易壞,而測試的方法又分為單元測試(Unit Test)、整合測試(Integration Test)、自動化測試,之後會再依序慢慢介紹。