Translate

2017/08/20

DataSnap REST API Authorization with PHP


About Authentication with DataSet REST JavaScript client.
In connection.js:

function setCredentials(user, password)
{
   connectionInfo.authentication = convertStringToBase64(user + ":" + password);
   var testCreds = new DSAdmin(connectionInfo).GetPlatformName();

connectionInfo.authentication will send user and password to DataSnap DSAuthenticationManager.OnUserAuthenticate.

Well, how to send it?

2017/08/17

Why I Choose Delphi! (CHT)


扣除使用 C++ Builder 的時間,我實際使用 Delphi 的時間點是 2012 年,它帶我看到了不一樣的世界,見識到世界各地的高手使用 Delphi 創造出他們引以為豪的產品,並且無私的分享他們的學習知識,使我的技術能力得以跟隨他們的能力提升。

最最讓我喜歡的是 Delphi framework,創造應用程式之快,程式碼之洗練真的沒有任何的 framework 能出其右。

你能想像要做一個資料庫應用程式,只需要在畫布上帶出「TDataSet」,「TDataSource」, 「TDBGrid」三個元件,就完成了嗎?而且還不需要任何的程式碼!

光是這三個元件,就足以創造出無數的應用,幾乎任何需要使用資料庫的場合,都是從這個基底出發的。

2017/08/14

Memory Table had face-off, FdMemTable vs VirtualTable vs ClientDataSet, Part 1: Add Data (CHT)


最近在技術群組裡看到有人在爭論寫入資料庫的方式孰優孰劣,看著到資料庫在自動化寫入資料庫的方式,也會影響寫入結果,這引發了我的好奇心,就自己來測試看看在飛快的記憶體表格操作,如果程式寫得不好,會有多大的影響。

 Delphi 的 TDataSet 在新增上有兩個著名的操作方法:

  • INSERT
  • APPEND

What is "INSERT"?

Inserts a new, empty record in the dataset. 


What is "APPEND"?

Adds a new, empty record to the end of the dataset.

2017/08/11

Delphi Zlib 與 SynLZ 的壓縮比較


原本使用 Zlib 作為主要的壓縮處理,但是效率實在不能算是滿意。

於是找了使用「組合語言」寫出來的 SynLZ (mORMot),效能據說非常好,就來比較看看。

首先找了一個 45 MB 大小的文字檔進行壓縮。

運作程式圖


底下是比較結果:

2017/08/09

ebook【Delphi跨平台資料庫程式設計火速上手】電子書出版 (CHT)

Delphi 跨平台資料庫程式設計火速上手,是本關於整合 Delphi 的跨平台技術打造 2-Tier 架構的跨平台 APP 的入門技術書。

全書沒有需要理解的技術知識,只講套路。

力求短時間把製作 APP 的工法熟悉,未來要開發其它的應用程式也能舉一反三。

底下是本書章節:
  1. OpenSSL創造自己的金鑰
  2. 建構支援HTTPS的DataSnap Server
  3. 資料庫的建立和DataSnap前置作業
  4. 建構DataSnap Client

如果您對本書有興趣,或是想嚐試在行動裝置開發屬於自己的 APP 應用,可以在【Pubo 電子書城】找到它。

本書的 Example:Download

論 Firebird Embedded 最小部署與 SQLite 的比較 (CHT)


最近看嵌入式資料庫,找到 SQLite 和 Firebird embedded (emb) 的比較,SQLite 相當輕巧,搭配優良的開發工具,在部署時甚至不需要打包 sqlite3.dll 引擎。

真不甘心,Firebird embedded 也有最小配置啊!

就來整理一下,Firebird embedded 到底可以有多小吧!

最小配置:
  • fbembed.dll (視連接 Driver 可能需要改名為 fbclient.dll 或 gds32.dll)
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll

使用【最小配置】就可以連線 Firebird emb 資料庫。

但是會有副作用──在【每次】連線時會產生Log,並紀錄於「firebird.log」檔案,內容大致如下:

2017/07/30

FMX的設計硬傷,如何做出正確的跨平台UI設計?


最近再一次體驗Delphi在行動平台上的開發,接觸了許多官方和部落客的教學文章,做出來的APP卻總覺得只算是差強人意,視覺上有驚艷,但是體驗卻跟不上視覺所帶來的強烈感受。

大部分功能單一的元件沒有問題,複合功能多的用起來會有【可以用,但有說不上來的怪怪感】,整理起來不脫以下情形:

DataSnap REST API Authorization with PHP

About Authentication with DataSet REST JavaScript client. In connection.js: function setCredentials(user, password) { connectionInf...