[iOS] 判斷兩影像是否一樣
前一個版本實作判斷相片是否被修改,是拿相片最後修改時間來比較,不過卻發生異常狀況,使得就算用戶沒有修改過相片,還是會跑到有修改過相片的流程,這讓我們家負責客服的同事哀嚎了一下⋯⋯大概讓我們損失好幾萬美元的營收。😳
透過PHAsset拿到相片資料中的modificationDate,也就是相片的最後修改時間,照理說應是沒有問題才是⋯⋯
前一個版本實作判斷相片是否被修改,是拿相片最後修改時間來比較,不過卻發生異常狀況,使得就算用戶沒有修改過相片,還是會跑到有修改過相片的流程,這讓我們家負責客服的同事哀嚎了一下⋯⋯大概讓我們損失好幾萬美元的營收。😳
透過PHAsset拿到相片資料中的modificationDate,也就是相片的最後修改時間,照理說應是沒有問題才是⋯⋯
多虧Firebase Crashlytics的幫助,讓我曉得用戶發生哪些崩潰,在後台記錄得非常詳細,可以清楚讓我知道哪一個Class中的哪一行Code是崩潰關鍵!
可看到最近一週,有10次崩潰,影響10個用戶。
有個需求是兩張圖分開儲存,在某個畫面必須兩張圖片疊加 (Overlay Two Images)起來顯示,下意識會用兩個ImageView,不過儲存的圖格式是Image,召喚ImageView應是有點多餘?!
最近陸續有新人來公司報到,我跟一位很年輕成功轉型工程師的同事(原本是教小學生課輔,網路看影片自學寫程式)聊週末去哪玩,他提到自己想要還技術債 (Technical Debt),我以為他要改前人留下來的專案,他說因為很多技術還沒有熟悉,所以想要更用功在鑽研技術上。
突然我想到小英總統2018年底變成辣台妹,因為人家說她「撿到槍」。原本的意思是貶義,拿到不屬於自己的東西(也就是贓物),就說那是撿來的。對於小英勇敢回應強勢的對岸,就變成褒義,表示拿到神級武器,可以從挨打的份逆轉成反擊!不過扯遠啦XD~
後來他表明不曉得技術債真實意義,我便簡單解釋,因為急著要完工,難免會以不周全的寫法完成程式功能,之後若要增修專案,就會面臨之前的「遺毒」。下圖可以明白技術債的陰影面積XD~
製圖的作者很神奇,使用我非常喜歡的動畫獵人,拿酷戮的念能力可以來做解釋,胖娃隨著時間債會越滾越大,最後破產就會讓敵人無法使用念能力。若拿來比喻軟體工程,技術債若隨著時間累積,到一定的程度使人難以再做增修,此時專案就要宣告「打掉重練」!
要快又要好,實在不是很容易!除非專案只是一次性,若要長期維護的話,還是要有品質地實作呀~
註:拿酷戮的念能力「天上不知唯我獨損」(推測是放出系的念獸)另外十分擅長於逃跑。「天上不知唯我獨損」是將念借給對方並以複利計算的高利貸,由胖娃娃「波克里林」計算,在借貸內攻防皆不會受到傷害,借貸額數超過對方念的最大值就會破產,「討債魔」出現強制對方進入絕的狀態30天。
參考:Scrum Estimation-Scrum Estimation Model、獵人WiKi – 拿酷戮•拜因、有效面對技術債、專案中的隱形殺手:技術債。
最近持續在跟韌體「戰鬥」,其中一個功能就是要透過App來讓藍芽硬體中的韌體更新,那麼要怎麼做呢?
目前有兩種做法:
第一種做法對使用者來說很煩瑣,所以在此不討論!
第二種就對使用者非常友善,因為使用者只要從網路下載更新程式,再透過藍芽傳輸到硬體,就能完成更新韌體的目標!
我偉大前同事德叔分享一則訊息,關於Airbnb不再使用React Native來開發多平台App,原因是除了要熟悉React Native,還要熟悉原生的iOS和Android。
想起我之前學過兩種跨平台工具:Xamarin和Ionic,前者以C#撰寫,後者以HTML+Javascript+CSS實現。先說結果,不想再碰這兩玩意兒XD~
對於使用者體驗非常重視的我,跨平台工具多了一層包裝,程式執行後反應靈敏度不是挺好。再者,總是有人(包含我)以為一招打遍天下無敵手,其實你要學可多啦~就如同ruanyf大陸高人所述,我不僅要從頭熟悉Xamarin和Ionic,更要對Native的iOS和Android有一定程度的瞭解。
一個人的時間有限(上天給每個人一天只有24小時),同時要學三種語言架構,除非你只做一個App!?如果真有這樣的人,可以稱之為神!每年iOS和Android都有發佈更新,你豈不是要一直追追追?!新的專案是能完全擁抱新技術,可是若要長就發展肯定要維護與更新!
若薪資收入可以提高至少三倍(之所以說至少,是因為三個平台溝通與整合也是成本啊~),我可以考慮看看啦⋯⋯
總之,我碰過之後,認為在有限的時間內,就來精通我最感興趣的技術囉~其餘時間讓我去度假黑皮:D~
四年前(2014年)實作過應用內購買 (In App Purchase),經歷讓人三溫暖的刺激感,終於跟偉大的後台工程師JK,攜手合作打造出給幼兒使用的iOS App,那可是要在美國運行的呢!
如今要再次研究Apple金流部分,IAP 驗證發票 (IAP Verify Receipt)是個必經程序,那我可以怎麼驗證購買真實性?
光學字元識別 (Optical Character Recognition, OCR),是指對文字資料的圖像檔案進行分析識別處理,取得文字及版面資訊的過程。像是Google Translation App,已經可以透過OCR來即時辨識多國文字!
辨識出來應為1234HappyBoy0。
HappyMan・迴響