---
# System prepended metadata

title: 小朋友學後端

---

# 小朋友學後端

## 架構解釋
所謂的架構是依照該系統未來框架所需而去改造及定義

# [導論](https://github.com/kamranahmedse/developer-roadmap)

first 先選一個語言
熱門代表：Go, C#, PHP, Python, Java

## 認識MVC結構
目前最常見的框架
![MVC](https://i.imgur.com/jPTwrLd.png)
以Django舉例來看
![Django](https://i.imgur.com/jnAzhia.png)
以Rails舉例來看
![Rail](https://i.imgur.com/AdtAzdm.png)

實際應用Backend
V: Restful API
M: Model function
C: Routing and other function contorl
[**想知道市面上的自己查**](https://medium.com/pierceshih/%E7%AD%86%E8%A8%98-%E4%BD%95%E8%AC%82-mvc-%E8%BB%9F%E9%AB%94%E8%A8%AD%E8%A8%88%E6%A8%A1%E5%BC%8F-af1ff10901e6)

## Middleware
[詳細說明](https://ithelp.ithome.com.tw/articles/10185192)
簡易說明：在打入API之前會先進入的處理程序

## 了解Middleware 之後談談後端登入
**先思考一下，後端沒有cookie and session 如何知道使用者身份？**
.
.
.
.
.
A: 我怎麼知道


A: Token方式
如果需要自家建立的話常見分為
1. Oauth2
![Oauth2](https://i.imgur.com/7Tcs9hn.png)

3. jwt
![jwt](https://i.imgur.com/7271LA7.png)

以上都有不同的特性 包括:
1. token time out
2. security
3. scope
4. ...

再來第三方就是
1. Google
2. twitter
3. facebook
4. ... 等

## 實戰要先了解 除了通用框架外
1. Language code style guid
2. Read the Framework structure
3. Framework advantage and support
4. Understanding framework of controller(routing)
5. The Framework folder structure
**For [Angular](https://medium.com/@motcowley/angular-folder-structure-d1809be95542) Example**
6. Su Da To


## 在這之外 不重要的東西
1. Virtual Environment
嘗試利用虛擬環境包起來

3. System Environment Variable
理解全域變數並且思考如何便於開發維護設定地方

4. Shared module
嘗試創造重複使用的模組


# Django 教學
[教學文件](https://hackmd.io/@YNvT8AeTQsyPRaq1I8ZuQQ/S1Lij1EkD)

1. docker tutorial
2. django tutorial