SourceTree實作GitFlow教學

A successful Git branching model這篇文章中提到的GitFlow是許多人使用的Git流程之一,但如何實作呢?

git-model2x
在SourceTree的部落格有一篇「Smart branching with SourceTree and Git-flow」教學,以下稍微分享一下。

初始化Git Flow

一、下載SourceTree程式(有Windows/Mac二個版本)。
二、安裝後,按 Clone/New 新增 Create New Repository新增
1

三、新增Repository,我們要在目錄裡面新增檔案先建立一個 master的BRANCHES

2

三、在目錄裡新增README.md,在新增的檔案按右鍵Add後,接下來在commit message中打入 init commit後按Commit.

3

4

5

四、初始commit後,會在BRANCHES裡看到有master,接著按Git Flow,會出現依據Gitflow對應的branch,原則上不用特別設定按ok就好。

6

五、完成後會看到出現 develop,這表示已完成git flow初始。

7

開發新功能分支

一、如果要開發新的功能,點選 Git Flow後按 Start New Feature

8

二、然後輸入新功能的名稱 NewFunction1 後按OK

9

三、建立後,會在branches看到feature/NewFunction1的分支

10

四、新增一個功能Main.pas

11

五、切至working copy裡點main.pas按右鍵add

 

12

六、然後依照原來的做法commit回去,這裡假設我們已經都完成了。

13

七、接著我們要把newfunction1 merge回 develope,先確定目前在NewFunction1上

14

八、點選 Git Flow後按Finish Feature

15

九、接下來會確認我們要完成Feature Name是 Newfunction1,合併後會刪除這個分支(Delete Branch),然後會看到git的圖顯示 “Merge feature/NewFunction1 into develop,按ok

16

十、合併完成後,會看到branches裡原來的NewFunction1的分支刪掉,然後版次圖上看到合併了完成功能1在develop裡。

17

釋出版本

一、在完成一連串功能後,我們開始要release專案出去了,按Git Flow

18

二、點選 start new release

19

三、然後輸入release name為版本號 v1.0.0按ok

20

四、接著會在master下面多了一個release v1.0.0的分支

21

五、確定發佈後,一樣在v1.0.0裡按git flow後,選 Finish Release

22

六、然後選擇tag with this message輸入要tag的名稱,然後選delete branch後按ok
23

七、合併後會看到tags出現v1.0.0,也就是說release/v1.0.0 會 merge 到 master 跟 develop,然後master標上v1.0.0的tag24

 

Embarcadero多平台遊戲原始碼開放

Embarcadero官方釋出了幾項以Delphi/C++ Builder開發的跨平台遊戲,可以在Android/iOS/MacOS/Windows下面執行。
主要也透過遊戲原始碼分享幾個技術:
.Game loop
.Using TRectangle
.Frames UI
.Motion Sensor
.High Scores via SQLite & LiveBindings
.Object Pooling
.Sprite Sheet Animation
.App Tethering
.Cross Platform Sound

教學的影片

Delphi QA Metrics程式碼度量工具

Delphi 從2005年的Borland Developer Studio(BDS)2006版本,就開始加入QA Audits和QA Metrics可以快速把握專案的設計和程式碼品質。

qametrics

metrics

CIW – Class Interface Width
LOC – Lines of Code
NAM – Number of Accessor Methods
NOA – Number of Attributes
NOC – Number of Classes
NOIS – Number of Import Statements
NOM – Number of Members
NOP – Number of Parameters
NOPA – Number of Public Attributes
PIS – Package Interface Size
PS – Package Size

支援Google最新安全策略的遠振虛擬主機

如果對遠振有興趣的話,可以直接到 遠振主機選購。
Google從2014年宣佈有https的網頁會優先排序後,今年更發佈訊息說2017年1月開始的Chrome 56版本中,會針對傳輸密碼以及信用卡資訊的網頁,如果沒有使用https加密,就會一律告知是不安全的網站。


而以往申請SSL加密認證網頁的手續相當繁瑣,幸好遠振在今年2月就推出Linux主機的 Let’s Encrypt免費SSL加密服務,而八月底的cPanel 版本 58 開始,也提供了官方的 AutoSSL 服務,由 cPanel & Comodo 一起提供免費 SSL 憑證。
當然你會問,那免費SSL跟付費的SSL有什麼差異?遠振也給你答案如下
Q:Let’s Encrypt 提供之 SSL 與付費 SSL 有什麼分別?

A:免費 SSL 與付費 SSL 間的差異有:

1. 品牌差異:
付費 SSL 有國際知名廠商如賽門鐵克(Verisign)、GeoTrust、Comodo、TWCA 等,根據調查,有 7 成以上的網友認得這些品牌,在電子商務網站上使用知名 SSL 廠商相對容易獲得客戶信任。
2. 憑證期限:
免費 SSL 只提供 3 個月使用期限,系統雖然會自動續約但是有續約失敗的風險,相對於付費 SSL 提供 1~3 年的購買期限可選擇,付費 SSL 還是商務網站的穩定選擇。
3. 多網域憑證:
免費 SSL 不提供萬用子網域的 SSL (wildcard ssl)。
4. 憑證標章:
免費 SSL 沒有提供憑證的驗證標章 (ssl seal),在正式電商網站上會建議用付費 SSL 取得動態驗證標章,贏得客戶信任。
5. 技術差異:
基本上免費與付費 SSL 加密技術差異不大。
6. 驗證方式:
免費 SSL 只提供網域驗證,不提供組織驗證 SSL,若要向銀行申請金流串接,可能須提供組織驗證 SSL。
除此之外,遠振也提供HTTP/2.0的加速技術。HTTP/2.0 是自 HTTP/1.1 於 1997 年由 IETF 發表後,最重大的更新。HTTP/2 使用二進制取代文字傳輸,並導入 HPACK 來壓縮 header,ALPN 用來加速加密傳輸,且具備在一個 TCP 連線中,平行處理多個要求的能力。就好像幫賽車加上氮氣加速一樣,讓網站瀏覽神速!

你的網站是否支援HTTP/2呢? 可以到 https://tools.keycdn.com/http2-test 測試!

如果對遠振有興趣的話,可以直接到 遠振主機選購。

Delphi 從網路抓取圖片顯示於TBrowser在Android/OSX/iOS/Win的最佳方式

解法很簡單,就是在WebBrowser中設定一個寬與高都100%的圖片
[pascal]
const
cHtmlString = ‘<img src=%s width=100% height=100%>’;
var
UrlOfImage: string;
begin
UrlOfImage := ‘http://www.xxxx.xxx/xxx.jpg’;
WebBrowser1.LoadFromStrings(Format(cHtmlString, [UrlOfImage]), ”);
end;
[/pascal]