---
# System prepended metadata

title: 筆記

---

# 筆記
## 系統架構
hotfix?

* 客戶進站流程 : 
用戶先經過防火牆及loadbalance阻擋惡意攻擊與分配流量，進入到前端畫面(Portal Web)，選擇到對應的娛樂城。或是如果有第三方遊戲就到GameJump導引到相對的娛樂城。
當要遊玩(登入)打到 " 各品牌 " 的Portal API檢查Cache是否有資訊，如果沒有會組Token進入到登入(第三方)並回傳一個帶有用戶資訊的Token至One系列的API Center驗證判斷該資訊是屬於哪個品牌的用戶並回傳給Portal API在進入到DB。
* 用戶金流 : 
在前端(Portal)發生儲值等金流，經過第三方進入到品牌方(Master)由人工作確認再到DB
* 下注單 : 
從娛樂城某個遊戲窗口 ( AG/EVO等等 ) 發送注單，由ONE系列的Robot Center定時抓取全平台的注單(與娛樂城是雙向)回來並存成文字檔到NAS，再由Robot定時將注單抓回來判斷是哪個品牌並寫入，再存入各品牌的DB。
當發生例外/錯誤情況時，API Center會向娛樂城請求補注單再寫入品牌DB。
API Center也會將所有品牌的下注單儲存到" BalanceDB "裡面。


### 開發環境
通常開發會有三個環境，Dev(內部開發)、Stage(外部環境，有廠商與PM)、Prod(正式環境)。每個品牌會有自己的DB、PortalAPI。但在開發時會造成成本的增加，因此除了在正式環境(一對一，有自己的DB，Site系列)，會選擇採用「子站」方式，各品牌的前端會指向相同的Site系列，再由Site系列指向One系列。

## SourceTree介紹與板控
SourceTree是一款GUI管理版控的軟體。
### 基本操作
#### 建立本地端repo
1. 點選Create,選擇路徑
![](https://i.imgur.com/lvFYkcl.png)
* 連接遠端repo
第一種方法 : 將Create Repository On Account打勾,連接到要連接的Git/Bitbuckiet etc
![](https://i.imgur.com/aL0IdQA.png)
第二種方法 : 在遠端先建好專案資料夾,把URL加上去即可

#### Clone專案
點選Clone,貼上專案URL,再設定存放路徑即可

![](https://i.imgur.com/J5LZZ7C.png)

#### Rebase
Rebase是另外一種合併分支的方式,適合在有許多瑣碎的commit or 想以特定一個分支重新當作參考基準時使用。但Rebase會修改歷史紀錄,一般的合併要取消如果想取消用'$git reset --hard'。而Rebase則因為修改了歷史紀錄所以找不到rebase後的commit等等，這時候用兩種方式來找出紀錄
1. Reflog
Reflog可以找出紀錄
2. ORIG_HEAD
他會記錄「危險操作」，合併分支或RESET都算危險操作，因此可以找出紀錄。

* Question:
rebase前要先刪除remotes的feature/Ypay,(feature/Ypay)分支是做什麼用?


## ADO.NET初探
詳細連結 : 
https://harmless-honesty-a22.notion.site/C-ADO-NET-31bbe1fe6ca74193a6c879e6f636ed18

![](https://i.imgur.com/fUnKBKi.png)




 