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僅作為學術研究使用,禁止利用本程式行非法用途。

2020年2月29日 星期六

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

這次更新主要是因為Yahoo Finance基本統計資料那頁改版面了, 造成server抓不到股息資料, 基本上調整一下xpath就搞定了~。

話說這周美股跌得超可怕, 道瓊一個禮拜跌了13%, 到周四的時候停損單已經自動觸發一半掉了, 剩下的我也手動全出掉了, 跑得有點慢QQ, 整體帳戶跌了大概10%多... 雖然去年賺不少所以還很有餘裕, 不過感覺今年要賺錢有點難度了...。

美股這波不只是疫情大擴散, 也包含去年大漲的修正吧, 之前持有出掉的標的現在看起來也好便宜, 不過這種大盤整個一起大跌的時候要進場也太可怕, 目前還是打算先觀望一下, 等大盤穩一些在來準備撿便宜!!!

願這波疫情能早日平息。

更新內容:
* 修復 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年2月21日 星期五

MahoMangaDownloaderVer10.0更新

這次更新主要是有使用者反應dm5有一些老漫畫不能下載, 其實這問題以前也解過, 只是因為這類case不是common case, 都只能看到了才有辦法解, 主要原因在於因為下載器在下載dm5的資源時是用CefSharp這瀏覽器套件, 因為dm5他的圖片跟網址不會總是匹配, 網頁剛load起來就算是在某特定頁面, 他也有機會先載入首頁的圖片在換成對應的圖片, 這造成下載器很容易誤載錯圖片, 所以針對dm5的部分是有做圖片跟頁數的匹配檢查。

然後問題就來了, dm5的一些老漫畫的圖片url命名規則並不統一, 所以這會造成下載器的檢查誤判, 之前針對幾個rule做了對應的邏輯處理, 可是這次看到的rule找不到好的對應方法, 就他X的囧了, 最後決定沒辦法, 直接開個setting讓使用者可以繞過圖片檢查吧, 這設定預設是關閉的, 如果有人發現dm5某些特定漫畫無法下載, 就麻煩自己打開設定吧, 載完那些特定漫畫在自己把設定關掉, 目前只能先這樣了QQ


Ver10.0 更新內容:
  • 新增dm5停用頁數檢查設定 (如果dm5有特定漫畫無法下載, 可以在選單->設置->dm5->勾選停用頁數檢查, 這樣下載器就會停用該功能, 就可以下載dm5的一些老漫畫, 下載完記得把設定用回去, 畢竟沒做頁數檢查的情況有時會有載到重複頁的問題。)


下載器Demo圖:





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


環境需求



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



檔案位址:
https://drive.google.com/open?id=1K-SqcG4g852MK1xDpK8Yag-rom_YqAXv

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

解壓密碼:zmcx16



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

2020年2月17日 星期一

MahoMangaDownloaderVer9.9更新

這次更新主要是有使用者寄信回報說hitomi又不能下載了, hitomi真的超頻繁改版, 回想下載器針對這網站的改版更新如下:

1. 第一次追加hitomi時嘗試用C#跑部分java script, 直接跑hitomi的js取得隱藏的圖片位址

2. hitomi的js函式時不時就改版, 每次改版我又得自己重分析一次js怎麼跑的, 由於改版頻繁&看js改了什麼超花時間, 就決定直接放棄用C#跑js, 直接用瀏覽器套件從online read頁面抓圖了。

3. 之後不時改版也就前端的一點小layout, 不過這次放大決了, 直接把online read頁面的圖改成webp...。

由於這次hitomi的線上閱覽的圖源改成webp, 而且又不像漫畫櫃那樣其實可以從url看出原檔在哪, 所以我只好真的載webp在自行轉檔了, 如果真的一定要下載原檔, 又得走回分析他js的老路, 未來maintain勢必更加廢時費工, 所以決定暫時還是走下載線上的圖再轉檔, 未來要不要重新支援下載原檔就看情況了。

最後又是慣例的題外話時間~今天終於把FGO異聞帶第二章: 無間冰炎世紀 打完了!!!  這次劇情一樣精采, 尤其是術斯卡哈, 根本是香到爆炸!!  不管是靈基再臨前後都超讚阿。

玩台版的好處就是未來的卡池都能先知道, 為了術斯卡哈我已經存了200抽以上了, 希望過陣子術斯卡哈池開放後這次能歐洲一下抽中阿!!!

最後補上未來要抽術斯卡哈的媒介(聖遺物), 多增加點抽中的緣分XD




【FGO】スカサハ=スカディ(ボイス3種) 宝具+EXアタック【Fate/Grand Order】 Sukasaha=Skadhi NP+EXattack【FateGO】



【FGO】スカサハ=スカディ マイルーム&霊基再臨等ボイス集+α【Fate/Grand Order】




Ver9.9 更新內容:
  • 更新hitomi.la改版後不能下載問題


下載器Demo圖:





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


環境需求



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



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

32位元版本:
https://drive.google.com/open?id=1QXk9-SZYSsvABY6Iij4G9rSY75N-cA8o

解壓密碼:zmcx16



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

2020年2月4日 星期二

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

norn-minehunter算是我做的side project裏少數自己一直有持續使用的(除了漫畫下載器以外, 其他side project大多做好爽完一陣子後就放生了XDD),  不過這網站最近用得有點煩, 主要原因是我想選股或手邊持股健檢時, 每次都要重新輸入想掃描的標的, 久了我也開始嫌煩了..., 然後原本規劃最近要認真學React, 可是過完年沒多久還沒收完心..., 就想說趁今天下班把Import跟Export功能做一做, 這樣我以後就不用每次一直點按鈕加標的了~。


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

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

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

Illustrator:
超愛喝榛奶

Demo:







P.S. 最後許個願一下, 希望今年春酒 or 樂透其中一邊可以中大獎XDD