2019/03/27

What is Encryption in Delphi? (1)

記得之前和網友討論到 Delphi 官方沒有加密單元時,總覺得很不可思議,因為 DataSnap 有這個加密 Filter:

TTransportFilterItem.FilterId: PC1 / RSA
既然有加密設定,想必加密法肯定暗藏在 Source 裡的某個角落。

2019/03/20

Howto: create-react-app

在重新安裝 create-react-app 發生拒絕存取的訊息:



使用:
sudo chown -R $USER:$USER '/home/[USER_NAME]/.npm/'

即可解決這個問題。

create-react-app 屬於模板套件,必須先使用 npm 進行安裝。

完成後才使用它來建立新的專案。

例如:
create-react-app my-app

See also:

2019/03/19

Howto: Install NodeJS in Linux mint

Step 1 – Configure Node.js PPA
  • sudo apt-get install curl python-software-properties
  • curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -

Step 2 – Install Node.js on Linux Mint
  • sudo apt-get install nodejs

Step 3 – Install Yarn using NPM
  • sudo npm install yarn -g

Step 4 – Check Node.js Version
  • node -v (11.12.0)
  • npm -v (6.7.0)
  • yarn -v (1.13.0)


See also:

2019/03/16

Solution: Socket Error 10054 in DataSnap

Bug 保護色做得太真,導致找不到它
(示意圖/翻攝自Pixabay)

使用 SQLConnection 連接 DataSnap 的開發者都知道這是一種長連接的作法。

但這個作法有個缺點,就是如果 Client 發生瞬斷情形,在獲取資料會觸發以下例外:

  • EIdSocketError 10054 : Connection reset by peer.
  • EOleException: Connection Closed Gracefully.

在網路上看到解決方式是:
設置心跳包,每分鐘進行連線一次。

這個方式可以確保連線不會被默默切斷,只是這方式卻不能避免網路異常所導致的斷線情形。

再加上異常補獲的方式就更好了。

以下便是我的範例解法: