iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0

後端

定義

先來簡單介紹一下何謂後端,就是指網頁背後的伺服器端部分,主要負責邏輯運算、資料存取,說是整個系統的大腦也不為過,支撐著整個網頁的運行。

接收訊息處理並回傳

當使用者透過前端發送任務時,後端接收後會進行處理,然後返回結果,將資料回傳前端並顯示出來。

資料庫操作

後端和資料庫進行溝通,進行資料的新增、查詢、修改、刪除。資料庫有很多種,像是 MySQL、PostgreSQL、MongoDB 都是常見的資料庫形式。

安全性與認證

裡面包含使用者登入、註冊、付款流程、推薦演算法等涉及到個人資料的安全性問題。而此時負責加密、權限驗證、防止攻擊的預防措施就是非常重要的,常見的防禦系統有 SQL injection、XSS、CSRF。

API

後端通常會設計 API 橋梁,像 RESTful 、 GraphQL,讓前端或第三方應用程式存取資料。接下來我們介紹其中一種 API 橋梁的資料存取:

-- posts.sql
CREATE TABLE users(
  id SERIAL PRIMARY KEY,
  email TEXT UNIQUE NOT NULL,
  name TEXT,
  created_at TIMESTAMPTZ DEFAULT now()//自動記錄建立時的時間
);

//電子郵件只能識別一個且不可為空
//自動記錄建立時的時間

CREATE TABLE posts(
  id SERIAL PRIMARY KEY,
  author_id INT NOT NULL REFERENCES users(id),
  title TEXT NOT NULL,
  content TEXT,
  published BOOLEAN DEFAULT false,
  created_at TIMESTAMPTZ DEFAULT now()
);

//作者的外部id必須對應到貼文的user id
//貼文需要有標題但內容可以為空
//偵測是否發布,否則預設為不發布
//自動記錄建立時的時間

CREATE INDEX idx_posts_author ON posts(author_id);
CREATE INDEX idx_posts_created_at ON posts(created_at DESC);

//在作者id上建立索引標籤
//建立以時間作為升降冪排序的查詢模式


後端的操作範圍非常的廣,可以增添不同的快取方式,或是各式各樣便利的功能,也可以思考如何善用不同模組化的物件來增加一體性和系統的整體效率。又或是致力於安全性的提升,像是金鑰或節點式守門員,有非常深入廣泛的面相可以去探討,期望未來能夠學到更多不同的玩法來和大家分享。


上一篇
七大要點之一-前端
下一篇
七大要點之一-資料庫
系列文
從基礎開始—web學習之路12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言