Stark Wong 的個人開發網站
 


 此頁面:更新於 2019 年 5 月 2 日 12 時 04 分 09 秒,頁面處理需時 0.0008 秒
 網站內容版權所有(C)Stark Wong。頁面(不包括檔案)可自由連結。網站系統版本 1.90-AngularJSBase (2015/9/27)
 
網站地圖

MagicTV 串流播放器及桌面控制端停止支援

MagicTV 串流播放器及桌面控制端即日起停止支援,現有使用者可仍可繼續使用,但 Play Store 不再提供下載及不再處理桌面控制端的申請。原因?

站長的 Magic TV 7000D 突然燒了,由於並非壞電容那種簡單的問題,所以決定報廢。由於目前市面的 MagicTV 裝置均無法滿足站長的要求,所以不會再添置其他 Magic TV 裝置,故亦無法再對 Magiv TV 系的程式進行任何支援。


撰寫於:2019/5/12 13:29:09 / 回應已關閉
正在讀取回響內容...
網站遷移完成及一些經驗談

由於舊網站托管商3天前無預警掛掉,所以我把原來打算5月15日才開始的遷移工作提早進行。用了 3 天各約半小時就已經完成整個遷移工作,全賴在遷移前有先做好準備。

這次網站遷移跟一般的網站遷移不同,是由找網站托管商改為用 Amazon Lightsail 服務構建小型網站伺服器。在我決定使用 Amazon Lightsail 前,由於我已決定使用基於 Ubuntu Server 18.04 LTS 的 VPS,所以可以先去 Ubuntu Cloud Images 網站下載適用於各虛擬機器程式用的 ova 影像檔,然後我將它匯入到 VMWare 並設定成與 Lightsail 最低規格相同的配備 (512MB 記憶體及單處理器),以可以充份評估效能及系統資源是否足夠。這裡有一點要注意是將 ova 匯入時可以指定預設密碼,但該密碼會在第二次開機時才生效,所以第一次開機時無法登入時無需驚慌,只需重新開機就好。

根據我在舊托商時所用的功能,我要安裝的只需要網站伺服器﹑MySQL﹑FTP 伺服器 (因有自動遠端上傳工作) 及 php,全部都是經 apt 直接下載就可以。

- 網站伺服器:Apache 2.4 –> Nginx 1.14.0-0
- 資料庫伺服器:MySQL 5.1 –> MariaDB 10.1.38-0
- FTP 伺服器:PureFTPd –> PureFTPd
- php: php5 –> php7.2.17-0

除架設伺服器需要進行設定外,由於 php 版本新了不少,現存的腳本有部份需要修改(尤其是使用 mysql 函數的部份要改用 mysqli)。

整個網站複製到 VMWare Ubuntu Cloud 到完成修改約需 2 天假期時間,網站完全運作時才使用了約 50% 的記憶體,所以最低規格的 Lightsail 也應足夠有餘。

到 3 天前網站突然掛掉,立即申請使用 Lightsail,然後根據 Ubuntu Cloud 安裝過的套件立即安裝一次然後把設定複製過去,很快就把 Nginx + php7.2 架好,並把流動巴士版圖的離站報時 API 恢復運作,第 1 天目標完成。

到了昨天遷移資料庫,在用 mysql 客戶端建立好帳號後,通過建立 SSH Local Tunnel 將 Lightsail 上的 MariaDB 呈現在本地網路,然後透過安裝在本地的 phpMyAdmin 進行匯入操作。資料庫匯入完成後書籍掃瞄程式 API 恢復運行,第 2 天目標完成。

最後今天就是將 Ubuntu Cloud 裡的網站檔案打包 scp 到 Lightsail 解開,檢查好權限設定後將臨時頁面 index.html 刪除,整個網站遷移完成。

至於網站前台則不變,仍然有透過 CloudFlare 進行加速、緩存及保護,至此正式擺脫 WCHost 的控制。


撰寫於:2019/5/9 21:50:54 / 回應已關閉
正在讀取回響內容...
修正流動巴士版圖NG新巴/城巴離站時間不正確

前陣子由於托管商問題導致 API 需要暫時遷往臨時伺服器,當時並未發現原來臨時伺服器的 php 並不支援 hash() 函數,以致進行新巴/城巴查詢時會因為報錯而令程式使用另一方的不準確預估時間,現已使用半繞道的方法解決,離站時間恢復正常。另外由於發現 iOS 版本流動巴士版圖對於請求重新指向有完整支援,所以已於伺服器對 iOS 版本程式也開於重新指向,恢復離站時間功能而不需要更新程式。


撰寫於:2019/3/21 23:31:41 / 回應已關閉
正在讀取回響內容...
書籍掃瞄程式線上功能恢復

待流動巴士版圖的離站時間查詢功能恢復正常後,現在亦把書籍掃瞄程式的線上查詢功能暫時修好。由於該程式所使用的網路程式庫不同,該程式庫可支援網址轉向,也就是說不需要進行程式更新已經可以自動回復正常。

WCHost 在用了那麼多年後終於給我充足的不續期理由,該開始留意還有哪家好用的網站託管商了...


撰寫於:2019/3/7 22:02:21 / 回應已關閉
正在讀取回響內容...
流動巴士版圖緊急更新

目前的流動巴士版圖由昨天開始發現無法進行離站時間查詢,經調查後發現所用的伺服器被封鎖了外出連線導致無法向第三方來源查詢時間。雖然問題已於晚上進行緊急分流修正,但由於程式本身不支援重新指向回應導致修改無效,故趕緊將自動離站查詢功能完成後上載更新版本。

Android 流動巴士版圖新版本有以下修改:

  1. 新增自動離站時間查詢功能,可讓使用者設定每天特定時間於特定位置查詢巴士離站時間,不需要每天重覆做路線搜尋動作
  2. 修正離站時間查詢功能,原因為上面所示,但注意現在的分流方法不能保證穩定性,長遠需要尋找其他方法

至於 iOS 版本由於目前的程式碼並不符合 App Store 審核要求,故暫時不作修改,看看伺服器會不會恢復正常再作決定。

除了流動巴士版圖外,書籍掃瞄程式目前也無法錄入新書資料,但由於後台比較複雜並有緩存層,目前未有決定該如何解決。


撰寫於:2019/3/2 16:05:02 / 回應已關閉
正在讀取回響內容...
流動巴士版圖資料更新恢復

站長的電腦目前已經修復完成,流動巴士版圖的資料庫亦已經恢復更新。

不過似乎發現新巴/城巴的轉乘資料無法顯示,這個會再作修正。


撰寫於:2019/1/21 23:42:23 / 回應已關閉
正在讀取回響內容...
流動巴士版圖資料庫暫緩更新
由於站長電腦故障,流動巴士版圖(所有版本)資料庫暫時無法更新,預計星期二晚恢復。
撰寫於:2019/1/20 19:13:52 / 回應已關閉
正在讀取回響內容...
流動巴士版圖 NG iOS 版本重新上架 / 最近動態

由於收到一些網友查詢有關流動巴士版圖 NG iOS 版本無法在 App Store 中找到,而且新巴/城巴 App 最近也跟隨九巴 App 一樣加上煩擾式的廣告,故決定將流動巴士版圖 iOS 版重新上架,不過暫時不會進行任何程式更新 (資料庫仍可更新)。

最近一直在開發及測試 Android 版本流動巴士版圖透過鬧鐘及 Geofence 進行定時自動離站時間通知功能,不過似乎由於 Android 系統目前增添了不少省電功能,要在不使用 Wake Lock 之下穩定操作似乎有不少難度...

目前所遇到的問題包括 (可能是 Android 問題,也有可能是 Samsung 的問題):

  1. 鬧鐘觸發時間不準確,即使用 setExact() / setRepeating() 也有可能延遲達數分鐘
  2. Geofence.Builder 裡的 setTransitionTypes() 包含 GEOFENCE_TRANSITION_DWELL 旗標時,DWELL 通知觸發一次後就不再觸發,無論 LoiteringDelay 和 NotificationResponsiveness 的值為何
  3. FusedLocationProvider 有時候座標會嚴重偏移到即使設定距離 100 米也無法觸發 GEOFENCE_TRANSITION_ENTER
  4. 即使 GEOFENCE_TRANSITION_ENTER 正常,有時候 GEOFENCE_TRANSITION_EXIT 觸發距離超過 500 米
  5. 綜合 Stackoverflow 裡建議手動強制更新定位資訊讓 Geofence 較準確的方法似乎對 Android 8 無效
  6. BroadcastReceiver 裡使用 JobService (非 JobIntentService) 好像沒有加 Wake Lock,令手機關屏時所排定的 JobService 要到屏幕打開時才開始

由於那麼多問題,這個功能是否能推出也是一個問題...OTL


撰寫於:2018/12/3 00:31:22 / 回應已關閉
正在讀取回響內容...
流動巴士版圖 - 離站時間更新

流動巴士版圖的離站時間功能對於聯營線一直只支援九巴時間的離站時間預報,今天改進了這項支援,現在無論是純九巴/純新巴城巴或混合班次都可以正常顯示。如同之前的更新一樣,這次更新並不需要更新軟件版本,只需要更新到最新的資料庫即可 (無論是否 NG 版本均適用)。若發現有路線因這項修改導致資料不正常請電郵告知並附上有問題的路線號,謝謝。


撰寫於:2018/9/23 23:37:11 / 回應已關閉
正在讀取回響內容...
有關流動巴士版圖新巴/城巴部份路線離站時間不準確問題

最近發現流動巴士版圖中新巴和城巴部份路線的離站時間間歇不準確,經查證後發現有問題的路線方向(即上下行)與其他路線不同,現已在伺服器端進行修正,用戶只需要將程式的資料庫更新到最新版本即可解決此問題。

另外發現新巴 api6 的請求加了 syscode2 參數,不過老實說,門鎖是不能阻擋有心人的,再多的驗證參數也只是貓捉老鼠的遊戲,與其要防偷用 API 的人何不大方公開 API,或用改 API 的資源來改善服務吧...

(以下內容只是 PoC,已省略某些部份以免有人直接抄來用)
syscode2=AES_128_CBC(內容,密匙=siwmytnwinfo****, IV=a20330efd3f6060e)
內容=時間碼+SHA256(時間碼+siwmytnw+亂數)+亂數
時間碼=時間戳的索引#2,9,4,6,3,0,*,*,*,*


撰寫於:2018/8/28 23:40:10 / 回應已關閉
正在讀取回響內容...
其他較舊內容請移步至舊部落格版面