2020年3月26日 星期四

在台灣買房子是不是搞錯了什麼 [Chrome Extension] (最糟糕的開發體驗)

大約一個多月前做了一個房屋網站的chrome extension, 會做這個的動機主要是雖然網路上有許多功能很強大的找房網站, 既有實價登錄又有各房屋網站的物件比較等等, 可是這些網站很多都沒有提供會員帳號的服務, 所以相對的每次使用時都得從頭來過, 而找房又是一個漫長的過程, 每個禮拜都要花時間看重複的東西超浪費時間, 舉例來說:

1. 看過的物件當然就希望不要每個禮拜都還要重看一遍
2. 喜歡的物件希望能加追蹤清單
3. 進階過濾功能 (過濾某些路段, 地址)

決定好要的功能後再來就是實作了, chrome extension的教學這一篇超完整:
https://ithelp.ithome.com.tw/articles/10186017

看教學 + 整個實作完大概花兩個禮拜, 成果如下:




請我哥畫的形象圖:



Github:
https://github.com/zmcx16/find-house-assistant-chrome-extension




[再來開始是抱怨文, 不寫出來不痛快, 不想看的請關掉網頁自行離開]

寫完Chrome Extension之後, 當然就會想上架到Google商店了, 查了一下只要付5美元成為Google開發人員就可以申請Chrome Extension上架, 就立馬卡片刷下去資料填一填然後把App傳上去了。 傳上去後必須等Review審核過之後才會出現在Google商店, 第一次發布產品還蠻快速的, 大概花了半天就審核完畢然後在Google商店也看得到了。

問題是在這之後, 上架後隔天試用了一下, 發現有個小地方可以enhance, 就改了一下更新上去, 然後就顯示Pending Review, 又要等審核過才能更新程式。

好啦, 現在問題來了, 後來我發現程式有個小bug, 所以想在更新程式重新上傳, Google竟然說Review過程中沒辦法更新程式, 也不能取消Review, 一定要等Review完畢後才能重新上傳新的程式

看了整個傻眼, 這代表明知有個程式已經注定deprecated了, Google竟然不給重上傳, 等於Google之後要花時間Review一個注定不可用的程式, 而開發者則也一定要等這過程結束才能重新上傳真正work的版本, 然後又要在等一次Review的過程, Review完畢才會真的上架到Google商店。 而Review的時間據官方的說法有可能數小時, 數天甚至是數周, 要是這個修正是跟特定網站有關, 網站改版導致整個extension不能用, 這段時間程式廢掉的情況使用者都不知道跑多少走了...。

整個傻眼的我也只能等了, 等了五天後覺得受不了, 就跑去Google Extension討論區問看有沒有什麼辦法可以取消Review, 這樣至少不用浪費那些時間, 下面是我發的文, 還靠么了一下這種Review沒辦法取消的機制真的會澆熄開發者的熱情...:

https://groups.google.com/a/chromium.org/forum/?utm_medium=email&utm_source=footer#!msg/chromium-extensions/SVbSNz2d3rI/3rJY_KEiAQAJ

之後Google的人是有回應了, 不過基本上就是說Review最多會花三個星期, 然後技術問題所以Review沒辦法取消, 他也覺得這機制很爛, 他有機會會提feature request給CWS team...
既然這樣沒辦法也只能等了, 看討論區每天都有人靠杯Review超級久, Google也沒有重視這問題, 不過你也沒辦法, 畢竟Chrome是他們的, 市佔第一不care開發者感受你也沒輒只能吞下去, 大不了我最慘就是等3個禮拜Review完在重新上傳work的版本, 最多花6個禮拜程式才能重新上架了...。

好..., 沒想到事情還沒完, 我等了三個禮拜還是繼續Pending Review, 就只能照官方的說明, 直接連絡Google Support了, 然後Support回覆我說收到問題了, 會轉case給適當的team處理。

然後又過了快一禮拜, No any update, Pending Review已經超過一個月了, 受不了在寄一封信給Support, 問現在Review進度...。

最後終於是會吵的小孩有糖吃吧(?)  寄完信隔天Review就結束了, YA!! 

Review 結果是 Rejected!!!
為什麼Rejected?  說我違反使用資料權限, 簡單的說就是要求的使用者權限太多, 應該盡可能只使用最小的權限達到你要的功能。 問題是他X的我修改只改程式邏輯的小地方, 我根本沒多要求新的使用者權限, 那你一開始讓我上架是上架爽的嗎!!!???

Google的回信如下:
"User Data Privacy"
Your product violates the "Use of Permissions" section of the policy, which requires that you:
  • Request access to the narrowest permissions necessary to implement your product’s features or services.
  • If more than one permission could be used to implement a feature, you must request those with the least access to data or functionality.
  • Don't attempt to "future proof" your product by requesting a permission that might benefit services or features that have not yet been implemented.

看了討論區也不少人遇到這種智障事, 就是自動審核會過, 人工審核就開始搞你, 好啦...,再來我該怎麼做?  修改我的程式把activeTab拿掉, 還是回信給Google繼續argue review問題?

最後決定老子不幹了, 一想到以後還要繼續受這種鳥氣, 我還不如自己寫自己用就好, 以後也不打算寫Chrome Extension了, 幹嘛花一堆功夫受一肚子氣寫出來的程式還不一定能給別人用, 真的有需要用瀏覽器外掛的需求的話我直接去寫Fire fox就好!!!

2020年3月14日 星期六

norn-minehunter網站更新 [美股掃雷&健檢網站]

今天想定檢一下自己手邊的持股, 發現norn-minehunter網站有些策略又拿不到report了, 查了下發現Azure DevOps連續build test failed好幾天了 (之前build failed寄信通知的role沒設定好QQ, 今天才發現), 看了一下結果是Yahoo財經又改版了, 明明上次網站改版還不到一個月, 而且還連續兩次都只改html小layout, 該不會只是單純在防爬蟲吧..., 以下是最近改版對應的xpath, 真的是有智障到...。

1. //*[@id=\"Col1-1-KeyStatistics-Proxy\"]/section/div[2]/div[2]/div/div[3]/div/table/tbody
2. //*[@id=\"Col1-1-KeyStatistics-Proxy\"]/section/div[3]/div[2]/div/div[3]/div/table/tbody
3. //*[@id=\"Col1-1-KeyStatistics-Proxy\"]/section/div[3]/div[2]/div/div[3]/div/div/table/tbody

總之..., 我也只能配合他改, 不過如果Yahoo在繼續這樣頻繁小改版, 我就打算放棄xpath直接用regular expression了, 其實認真說真的很不想用regular expression, 如果是複雜的網站就算了, 爬這種table類的只要用xpath, 我就可以很簡單地把所有欄位轉成key value pair, 可是如果是regular expression就變成每個欄位都要對應處理..., 到時maintain又會超累..., 這也沒辦法就是了QQ。


更新內容:
* 修復 Yahoo Finance 統計資料頁面修改造成伺服器無法取得股息資料問題

掃雷網站位址:
https://norn-minehunter.zmcx16.moe/

Github:
https://github.com/zmcx16/stock-minehunter

開發心得:
https://blog.zmcx16.moe/2019/10/norn-minehunter.html

Illustrator:
超愛喝榛奶

Demo:











2020年3月10日 星期二

MahoMangaDownloaderVer10.1更新

這次更新主要是有使用者反應EH站不能下載, 不過我自己使用是正常的, 所以最開始就朝使用者環境問題開始調查, 來來回回後終於發現不能下載的原因是EH站有針對下載原圖檔的部份做了改版, php跑完吐回來的response多了一怪異的url, 才導致下載器拿不到正確的原圖檔網址。

在這邊非常感謝 [下級改造人] 這幾天幫忙在自己的環境找問題, 甚至連網路封包監控軟體都裝了, 因為我基本上很少在下載原圖檔(一張圖好幾mb太佔空間了QQ), 如果沒有提出問題的話我自己還真的發現不到...。 雖然我是有寫Unit Test, 可是因為在Azure Devops的server上面跑的時候有些漫畫網站他DNS根本找不到hostname(八成有擋美國IP...), 另外就是現在支援的網站越來越多, 要每個都maintain太花時間了, 所以目前的方針就是我自己使用遇到問題或是有使用者提問題我才修, 都沒人提我就不管有沒有哪些網站改版不能下載了...。


Ver10.1 更新內容:
  • 修復EH站改版導致下載原圖檔失敗問題


下載器Demo圖:





介紹:
https://project.zmcx16.moe/?page=mahomangadownloader


環境需求



簡單除錯:
  1. 如果下載失敗, 麻煩先用瀏覽器測試看資源是否存活。
  2. 如果能正常用瀏覽器瀏覽, 麻煩先查看LogFiles資料夾內的log檔案看錯誤訊息為何。
  3. 回報問題時, 麻煩提供有問題的網址以及log內容, 這樣我才有辦法測試找問題原因。



檔案位址:
https://drive.google.com/open?id=1BTRYYoWDpXc9sw4wtAOxkda14k71pBxt

32位元版本:
https://drive.google.com/open?id=1VDyJexwUfHc2G8whEjd5iCm3I59Y9k5Z

解壓密碼:zmcx16



免責聲明:
******************
MahoMangaDownloader僅作為學術研究使用,禁止利用本程式行非法用途。