Gordon Li

Gordon L6149 has not set their biography yet

Posted by on in Blogs
BeaconFence客户端连结RAD Server - 2 在上次的文章中我们已经说明了如何开发RAD Server的套件, 并且链接数据库中的数据. 由于范例RAD Server的套件是一个RESTful服务器而且数据是使用JSON格式传递, 因此在客户端可以使用各种能呼叫RESTful和处理JSON的方式来使用范例RAD Server套件的服务.在本文中先让我们开发一个Windows客户端来使用范例服务.

Posted by on in Blogs
BeaconFence客戶端連結RAD Server - 2 在上次的文章中我們已經說明了如何開發RAD Server的套件, 並且連結資料庫中的資料. 由於範例RAD Server的套件是一個RESTful伺服器而且資料是使用JSON格式傳遞, 因此在客戶端可以使用各種能呼叫RESTful和處理JSON的方式來使用範例RAD Server套件的服務.在本文中先讓我們開發一個Windows客戶端來使用範例服務.

Posted by on in Blogs
BeaconFence客户端连结RAD Server - 1 在上次的文章中笔者说明了如何使用C++Builder 柏林版开发BeaconFence客户端App并且能在室内精确定位. 随后有人写信询问笔者是否可再说明如何链接后端查询功能或是链接到云端?   由于Delphi和C++Builder本来就对多层和云端开发有着良好的支持, 因此要让BeaconFence客户端App连结后端供查询或是推播功能, 那么可有许多选择, 例如可使用DataSnap, RAD Server, Amazon/MS的云端服务,以及许多其他第3方解决方案等. 本文将使用RAD Server做为说明范例的后端解决方案, 因为在Delphi/BCB中即内附开发版的RAD Server.   首先我们可在IDE中建立EMS Package:   接着建立Package的资源, 此资源可稍后输出让客户端呼叫使用:   选择建立数据模块型态的资源并为此资源取名为对您有义意的名称, 在本文中将使用” IoTBeaconFence范例POC”   接着选择您的资源要提供的服务种类, 例如下面笔者勾选了所...

Posted by on in Blogs
BeaconFence客戶端連結RAD Server - 1 在上次的文章中筆者說明了如何使用C++Builder 柏林版開發BeaconFence客戶端App並且能在室內精確定位. 隨後有人寫信詢問筆者是否可再說明如何連結後端查詢功能或是連結到雲端?   由於Delphi和C++Builder本來就對多層和雲端開發有著良好的支援, 因此要讓BeaconFence客戶端App連結後端供查詢或是推播功能, 那麼可有許多選擇, 例如可使用DataSnap, RAD Server, Amazon/MS的雲端服務,以及許多其他第3方解決方案等. 本文將使用RAD Server做為說明範例的後端解決方案, 因為在Delphi/BCB中即內附開發版的RAD Server.   首先我們可在IDE中建立EMS Package:   接著建立Package的資源, 此資源可稍後輸出讓客戶端呼叫使用:   選擇建立資料模組型態的資源並為此資源取名為對您有義意的名稱, 在本文中將使用” IoTBeaconFence範例POC” 接著選擇您的資源要提供的服務種類, 例如下面筆者勾選了所有的功能以便提供...

Posted by on in Blogs
柏林版的DataSnap 在发表RAD Studio柏林版介绍到DataSnap功能时,英巴的文件只说柏林版的DataSnap除了改bug之外,就是开始移除Indy并改用THTTPClient等新的HTTP相关类别, 另外又隐约提到一个类别TDBXJSONStream,它可使用在DataSnap服务方法中. 第1次看到TDBXJSONStream时感觉有点陌生,但从它的名称可大约猜出它应该是一个使用在dbExpress(DBX?)应用中的相关类别并提供JSON串行流的功能(JSONStream?). 嗯, 我很好奇的在IDE中搜寻TDBXJSONStream,并在Data.DBXCommon程序单元中找到了它, TDBXJSONStream是一个新类别,我并没有在以前的版本中看到它.查看它的程序代码发现它提供了JSON Reader和Writer, 那么这代表它提了写入JSON对象和读取JSON对象的功能.     property Reader: TJSONReader read GetJSONReader;     property Wr...

Posted by on in Blogs
柏林版的DataSnap 在發表RAD Studio柏林版介紹到DataSnap功能時,英巴的文件只說柏林版的DataSnap除了改bug之外,就是開始移除Indy並改用THTTPClient等新的HTTP相關類別, 另外又隱約提到一個類別TDBXJSONStream,它可使用在DataSnap服務方法中. 第1次看到TDBXJSONStream時感覺有點陌生,但從它的名稱可大約猜出它應該是一個使用在dbExpress(DBX?)應用中的相關類別並提供JSON串列流的功能(JSONStream?). 嗯, 我很好奇的在IDE中搜尋TDBXJSONStream,並在Data.DBXCommon程式單元中找到了它, TDBXJSONStream是一個新類別,我並沒有在以前的版本中看到它.查看它的程式碼發現它提供了JSON Reader和Writer, 那麼這代表它提了寫入JSON物件和讀取JSON物件的功能.     property Reader: TJSONReader read GetJSONReader;     property Wri...

Posted by on in Blogs
柏林版如何进化程序代码 Metric和Audits这2个功能早已经存在Delphi很多年了, Metric和Audits可以让我们检查和保证程序代码的撰写质量, 但就我个人所知经常使用Metric和Audits的开发人员却很少, 我也不知道为什么.    在我于各地进行Delphi相关的活动中,也认识了一些朋友, 他们可能是项目/产品经理, 因为他们通常都会询问一些类似的问题, 例如:   Delphi有没有工具确保外包程序代码的质量? Delphi有没有工具确定外包厂商有遵守我们的制定的程序代码规范? 如何寻找程序代码中的漏洞和弱点?   等问题. 事实上Metric和Audits就可以帮助开发人员确保程序代码的质量, 在柏林版中又加入了Toxicity功能可以帮助开发人员制定和搜寻程序代码规范. 例如我看过许多公司都规定一个函式长度不能超过多少行, 一个if叙述不能超过多少层, 以及函式的参数不能超过多少个等.     这些程序代码规范有的和日后维护的难易有关, 有的和执行效率有关, 都是非常实用的规范, 但在数万或是数十万行...

Posted by on in Blogs
柏林版如何進化程式碼 Metric和Audits這2個功能早已經存在Delphi很多年了, Metric和Audits可以讓我們檢查和保證程式碼的撰寫品質, 但就我個人所知經常使用Metric和Audits的開發人員卻很少, 我也不知道為什麼.    在我於各地進行Delphi相關的活動中,也認識了一些朋友, 他們可能是專案/產品經理, 因為他們通常都會詢問一些類似的問題, 例如:   Delphi有沒有工具確保外包程式碼的品質? Delphi有沒有工具確定外包廠商有遵守我們的制定的程式碼規範? 如何尋找程式碼中的漏洞和弱點?   等問題. 事實上Metric和Audits就可以幫助開發人員確保程式碼的品質, 在柏林版中又加入了Toxicity功能可以幫助開發人員制定和搜尋程式碼規範. 例如我看過許多公司都規定一個函式長度不能超過多少行, 一個if敘述不能超過多少層, 以及函式的參數不能超過多少個等.     這些程式碼規範有的和日後維護的難易有關, 有的和執行效率有關, 都是非常實用的規範, 但在數萬或是數十萬行的程式碼中要...
使用C++Builder Berlin Update 2开发BeaconFence 应用架构 BeaconFence在数个C++Builder/Delphi版本中就推出了, 我记得也在数年前的产品发表会中介绍过,当时Beaconfence身价不菲, 我也没机会用. 但从Seattle版本后Embarcadero大幅降低 Beaconfence的价格, 而且提供开发人员版,所以才有机会试用它.     日前一位使用C++Builder的朋友向我抱怨Beaconfence只有Delphi的范例, 没有C++Builder的范例, 他问我到底能不能用C++Builder开发Beaconfence? 能不能帮忙用C++Builder做一个Beaconfence的POC? 因此笔者特别商借了3个Beacon, 一个是插电式, 2个使用电池的Beacon:   藉由TBeaconMapFencing组件加载POC地点的布建架构图, ,再分别把3个Beacon设置在书房, 客厅和玄关处:   Berlin Update 2版Beaconfence我最喜欢的一点就是为TBeaconMapFencing组件加入了Extende...
使用C++Builder Berlin Update 2開發BeaconFence 應用程式  BeaconFence在數個C++Builder/Delphi版本中就推出了, 我記得也在數年前的產品發表會中介紹過,當時Beaconfence身價不菲, 我也沒機會用. 但從Seattle版本後Embarcadero大幅降低 Beaconfence的價格, 而且提供開發人員版,所以才有機會試用它.   日前一位使用C++Builder的朋友向我抱怨Beaconfence只有Delphi的範例, 沒有C++Builder的範例, 他問我到底能不能用C++Builder開發Beaconfence? 能不能幫忙用C++Builder做一個Beaconfence的POC? 因此筆者特別商借了3個Beacon, 一個是插電式, 2個使用電池的Beacon:   藉由TBeaconMapFencing元件載入POC地點的佈建架構圖, ,再分別把3個Beacon設置在書房, 客廳和玄關處:   Berlin Update 2版Beaconfence我最喜歡的一點就是為TBeaconMapFencing元件加入了Extended ...

Check out more tips and tricks in this development video: