Just My Life & My Work

[Android] 關於 SDK 編譯版本

將 App 送審已成為我工作不會缺少的一部分,但那也只是對 iOS App 有成百上千的次數。這次面臨要將 Android App 送審,心想應該大同小異才是!🤠

在專案設定中有三個地方跟 SDK 有關:

  • minSdkVersion
  • compileSdkVersion
  • targetSdkVersion

以上三個值,可以在 build.gradle 找到,其中又以 targetSdkVersion 最為重要,主要因為會影響程式碼運作。我就是在這裡踩到坑⋯⋯

繼續閱讀文章 »

Flutter 最近幾年開始火熱起來,由於它優越的特性(UI/UX 與原生一致、開發效率快等),讓我對它有所期待,比起我曾嘗試的 XamrinIonic 還要有潛力和遠景。

那麼要怎麼開始學習 Flutter 呢?因為每個人的背景基礎都不太一樣,肯定不能照同一套路進行。像我從 2012 年開始開發 iOS App,已經非常熟習 Native 語言來開發,無論什麼 App 只要有心都能獨自一人完成!那麼對我來說,大致上會需要去學習新的程式語言 Dart、設計架構、調試方法等等,同時也需要去接觸另一平台 Android 的相關技術。

繼續閱讀文章 »

由於 Flutter 是剛發展沒多久的程式語言,所以會遇到平台程式語言(Objective-C/Swift/Jave/Kotlin)有實作的功能,但 Flutter 還沒有的狀況,若我們不想要花時間開發,我們可以透過 Platform Channel,來直接使用平台的功能。🤪

還有另一種狀況,就是原生語言(C/C++)有實作的功能,但 Flutter 還沒有的狀況,此時我們可以使用什麼?Dart FFI

今天要來學習 Dart FFI。Dart 是 Google 開發的程式語言,那麼什麼是 FFI 呢?

A foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written in another.

繼續閱讀文章 »

關於親友過世

2022 年剛開始,就在臉書上看到大學學長的訊息,原來是爸爸突然過世了⋯⋯🥺

其實每天都在上演生離死別,只是有人說出來,有人則沈默,悄悄地度過悲傷歲月。

每個人遲早都會經歷,但我們能如何早點準備,這一天的到來?

在此節錄一則 2019 年我搜集到的緬懷文,已把個人資料抹除,單純分享悲傷事件。

人們遲早會離世,不用太忌諱談生與死。😳

繼續閱讀文章 »

[iOS] 判斷 NaN

進公司兩年,還是有一些 Bug/Crash 未解,不是我不想解,只是不知道如何「重現」。偶然間我終於可以持續重現狀況,趕緊放下手邊工作,接上手機編譯 App,在 Xcode 設中斷點,便能知道前後變數當前的值,推敲源頭是什麼~😗

當我重複進出某頁,就會 Crash🤪
繼續閱讀文章 »

呼叫 API 的 URL 過長問題

最近在整合 API,需要附加大量的參數,使用 Get 方式呼叫,發生:

Request failed: requested URL too long (414)

搜尋一下問題,原因如下:

Two options to resolve the problem for 414 response code:

  1. By POST request: Convert query string to json object and sent to API request with POST
  2. By GET request: Max length of request is depend on sever side as well as client side. Most webserver have limit 8k which is configurable. On the client side the different browser has different limit. The browser IE and Safari limit to 2k, Opera 4k and Firefox 8k. means the max length for the GET request is 8k and min request length is 2k.
    If exceed the request max length then the request truncated outside the limit by web server or browser without any warning. Some server truncated request data but the some server reject it because of data lose and they will return with response code 414.

最後我改成 Post 方式呼叫,就再也沒有此問題!😃

iOS 回傳

Error Domain=com.alamofire.error.serialization.response Code=-1011 “Request failed: requested URL too long (414)" UserInfo={NSLocalizedDescription=Request failed: requested URL too long (414), 

Chrome 回傳

Request-URI Too Large
The requested URL’s length exceeds the capacity limit for this server.
Apache/2.2.15 (CentOS) Server at upload.tintint.com Port 443

參考:414 (Request-URI Too Long)

補班日點點員工秋遊

進公司後,一直期待有團康活動,尤其是戶外的員工旅遊。沒想到這一等,就是兩年,誰知疫情會突然爆發,什麼團體活動都因此受阻撓。😗

感謝老闆讓團康隊長計畫此西北海岸秋遊活動,是租七人座車由同事駕駛,每車乘載七人,這次一起出遊的同事有 25 人,很可惜沒有全部同事都來參與,但我建議大家盡可能把握,這是個讓同事彼此認識熟悉的好機會。不來的話,還得請假呢~因為 9/11 是個補班日。

原本還想去板橋開協調會,可是更不想要錯過難得的員工旅遊。前者是個負面事件,後者是我非常期待的活動呀~

繼續閱讀文章 »

收到任務,要把周邊商品 A 上架,請我協助修改 API。🤔

修改這種既定邏輯是沒啥問題,問題是要怎麼找到關鍵的地方,這些地方散落各處,過去沒有或鮮少經手,一時之間要找挺是花時間呢~

好在總會有一些懶人做法,我搜尋 Git 用法,有個符合我期望的功能,就是能找到過去增修 code 的 commit,我要做的是把舊的周邊商品 B 的關鍵字輸入到指令。令人驚艷地,那些相關增修的地方全都跑出來啦~

指令的用法如下:
git log -p --all -S 'search string'

我僅要替換「search string」,比如我想找 Happy Boy:
git log -p --all -S 'Happy Boy'

其它進階用法,可再查參數之功用。

身為一個資深 iOS 工程師,偶爾還是要協助修改 API,畢竟公司每個同事都相當忙碌,而且趁這時候學新的技術,讓任務更容易完成!😗

參考:

How to grep (search) committed code in the Git history

祝我 35 歲生日快樂

今年疫情持續高潮迭起,五、六、七月第一次體驗在家工作長達三個月,回到公司奮鬥沒多久,我的生日就到了⋯⋯

一直以為自己很年輕,看了今年是 2021 年,居然⋯⋯我已經滿 35 歲了!當然我還是要保持年輕人的心,當個有趣的人~😛

依然要感謝,主動在各大社群媒體,留言祝福我生日快樂的親友,還有默默地無聲祝我生日快樂,和在看本篇文章的你~時間在過,我們都經歷了不一樣的生活與工作,還能有所交集,那可真是緣份。

繼續閱讀文章 »

現在人手至少一支手機,每天可能有超過 8 小時在滑手機,甚至連工作也離不開手機。那麼我就很好奇,iPhone 使用一天,電量與電費會是多少?過去我以為,手機充電會很耗電,實際去了解與計算功耗後,才發現⋯⋯會浪費電是多擔心的~😗

最近接觸手機挖礦,好奇是不是穩賺不賠?於是先來了解,掛機一整天,手機消耗電量與產生電費多少。

因為我現在手拿 iPhone 11,於是就以它的圖來展示,一顆電池從沒電到充飽電,是需要 11.91Wh (3.83V x 3110mAh),換算是 0.011 度電。簡單算,若一度電是 2 元,那麼充一次電約 0.022 元,聽起來超便宜!?🤔持續 365 天都充一次,那麼總共電費約 8 元而已!

電池大小佔手機約一半~
廣告
繼續閱讀文章 »

標籤雲