---
# System prepended metadata

title: Design Cloud 後端開發教育訓練

---

# Design Cloud 後端開發教育訓練

## 1/6
### 開發建議注意項目
右下角訊息
![](https://i.imgur.com/Vmf2A9A.png)

安裝extention(可以只 enable 在 workspace)
![](https://i.imgur.com/TXrY3dG.png)

可以透過open workspace開啟內部專案視窗
![](https://i.imgur.com/XFOWAuE.png)

若有建議的extention，可以透過下圖加入建議清單
![](https://i.imgur.com/nsdwtIZ.png)

* vs code workspace monorepo 專案維度
* monorepo透過npm workspace做模組專案管理

* app主要放置？(服務等級專案)
* lib主要放置？(開發套件類型專案)
* docs主要放置的開發說明文件(規格說明)
* 內部開發文件都寫在repo內的markdown或是docs內的文件
* 不用再用fork的方式，直接clone repo下來做開發

### 開發注意事項

* 目錄名稱一定要是全小寫，dash分割單字(kebab-case)
* 建立workspace開頭定義 @91app/專案名稱
* 根目錄下 package.json 內 workspaces 有順序性被依賴需要放上面
ex. `libs/tirnity-validator` 相依 `libs/schema`，所以`libs/schema`必須放在上面
![](https://i.imgur.com/4V5Fape.png)



## 1/13
JSON Schema 
### 功能介紹 / 10m
    v2020-12 
    https://json-schema.org/draft/2020-12/release-notes.html
    
### 版本規則 / 5m

### 有定義的 spec (matrix-schema) / 30m
* The keywords used to combine schemas are:
```md
allOf: Must be valid against all of the subschemas (校验对象要满足所有子schema)
anyOf: Must be valid against any of the subschemas (校验对象要满足至少一个子schema)
oneOf: Must be valid against exactly one of the subschemas (校验对象要满足其中一个子schema)
```
[範例連結](https://json-schema.org/understanding-json-schema/reference/combining.html)

### validate (ajv) / 5m
[ajv官網連結點我！](https://ajv.js.org/)
*compile schema*
```javascript=
dataValidate(schema, data) <- return boolean
```

## 1/19

### Design Cloud 系統架構圖
![](https://i.imgur.com/JPoxCp0.png)


### 公式表(暫定)
![](https://i.imgur.com/smjipO9.png)
+ hash 用於版本控制，用於 delete update 之間 race 時資料版本比對

### state machine
![](https://i.imgur.com/3dh0GmJ.png)


## 2/03
1.  design cloud 目標:

    頁面彈性 
    資料驗證與可控性
    錯誤訊息  
    RD開發速度 
    RD開發認知互相流通 
    UI與Data解耦
    不局限於電商的SaaS服務
    
2.  configurable:
    a. No code & Codeless

3.  design cloud 自主性：
    a. API
    b. page config 
    c. service (耦合性) ex. CMS與MWeb => Shop profile cache
    d. 服務的開關
    e. pubsub




