Just My Life & My Work

Archive for the ‘教學’ Category

[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)

[Git] 搜尋 Commit 中特定程式碼

收到任務,要把周邊商品 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

[Flutter] Flutter 簡介

要進入 Flutter 之前,就先來了解它為何會誕生,接著明白其特色與優缺點。讓我們能對它抱持著希望與期待,於日後開發 App 增添信心。🤗

Flutter 是 Google 推出並開源的行動應用開發框架,主打跨平台、高保真、高性能。開發者可以透過 Dart 語言開發 App,一套程式碼能夠同時執行在 iOS 和 Android 平台。Flutter 提供了豐富的套件、介面(接口),開發者可以很快地為 Flutter 新增 Native 擴展。同時 Flutter 還使用 Native 引擎渲染視圖,這相信能為用戶提供良好的體驗。

廣告
(繼續閱讀…)

[Flutter] 原生與跨平台 (Native and Hybrid)

最近踏入跨平台開發,過去有開發過 Xamarin 和 Ionic 的我,原先對跨平台不屑一顧,不過在遇到 Flutter 之後,開始有不一樣的期待!為什麼呢?

第一,開發效率比其他跨平台程式語言還要好;第二,成果效能不輸給原生開發。

在此節錄高手的電子書內容,跟著前人的腳步學習,代表好的開始~😀

其實在幫忙維護公司產品時,覺得花太多時間在編譯上,每次編譯動輒一分鐘以上,若不小心動到核心檔案,編譯時間可能將近 5 分鐘,等待的過程我會滑手機,或是想著下一步要怎麼改動程式碼,行雲流水的思緒被中斷,實在不是很爽快呢~

因緣際會接觸了 Flutter 跨平台開發,第一次聽到 Flutter 是在港商公司,我的 Leader 耳聞 Google 最新跨平台技術誕生,就跟老闆提議可考慮用此技術來改善 UI/UX 不平衡的狀況。不久,老闆就裁掉 50 多人的 IT 部門,很快再招募新一批人馬,使用 Flutter 快速迭代開發,我看到上架到 App Store,下巴差點沒掉下來⋯⋯

如今已過兩年,Flutter 發展得比 React Native 還要蓬勃,想必是其有過人之處!😌

(繼續閱讀…)

[iOS] 蘋果私人電子信箱中繼服務 (Apple Private Email Relay Service)

我公司整合 Apple Login 已滿一年,開始有大量的 @privaterelay.apple.com 註冊我們家服務,每到一個促銷活動或節慶,我們都會寄送 EDM 給用戶,看後台數據發現 @privaterelay.apple.com 開信率是 0%!😭

此時就要了解蘋果私人電子信箱中繼服務 (Apple Private Email Relay Service),來增加我們觸及用戶的機會!

(繼續閱讀…)

[Flutter] GridView.count

最近對 Flutter 開始感興趣,研究起來格外順暢,也許是因為我本身開發 iOS App,所以背景知識技術足夠跨越門檻。

這篇來展示我學習 GridView.count 的紀錄,實際上功能很類似 iOS 的 Collection View,GridView.count 在用法比較容易實作,真的很快!

開發階段,我還可以透過 Chrome 來 debug,比起要花時間編譯到實機或模擬器,Chrome 跑起來奇快無比呢~看來有 Google 老大哥扶持,很多事情都被簡化囉~😁

先來看一下我實現的畫面~

廣告
(繼續閱讀…)

[iOS] Apple 推播通知服務憑證更新

現在推播憑證期限為13個月(多一個月讓你心理準備XD),不過這次才過了半年就發生問題,實際上是可以發出推播,但是手機收不到推播,那到底是什麼問題呢?

追查後發現,原來是我們家的Server太舊,還沒支援HTTP/2,原以為Apple沒有公告,後來找到了,印象中有看過這一通知,但是我沒太留意,畢竟我不曉得我們家Server沒支援HTTP/2呀⋯⋯😝

升級HTTP/2有何好處?可以讓你的網站瀏覽起來更快、更安全、SEO加分!比較 HTTP/1.1 和 HTTP/2 的速度差異,這在圖多的情況最為明顯~

HTTP/2 TECHNOLOGY DEMO

技術總是要與時俱進呀~套一句話,技術如逆水行舟,不進則退~也就是你若保持在原地,其實就是退步,因為他人一直在往前!😙

廣告
(繼續閱讀…)

透過 Performance 看優化成果

人總是會不斷地成長,若沒有成長就會感到不開心,是真的吧?🤪

看到自己經營的App有大幅度進步,實在令人振奮!

上次寫了 Firebase Performance 如何使用,也經過了一個多月,可以來見證我優化某功能的成果囉~🥳

廣告
(繼續閱讀…)

[iOS] 使用Vision人臉偵測2 (Face Detection Using Vision)

此刻要記錄實作內容,才想起先前已寫過一篇,不過那篇是沒有原始碼,然而依舊可參考:[iOS] 使用Vision人臉偵測 (Face Detection Using Vision)。😎

這是2020年11月去陽明山二子坪的大合照
廣告
(繼續閱讀…)

標籤雲

%d 位部落客按了讚: