Swift Playground 有一關是要用「右手規則」去解題,由於從來沒聽過什麼「右手規則」,就查了一下。
一開始找不到什麼相關的文章,改試了一下 right hand rule 跳出來的是物理的右手原則,和解題沒什麼關聯。
試了好幾組關鍵字,最後是用 maze right hand rule 找到維基百科的 maze solving algorithm 。
記錄一下在解題過程中和「右手規則」相處的心得。
首先是用「右手規則」解出來的不一定是「最短路徑」。
做對每一件小事,做對每一個細節,能夠做到一百分的事,就不要只做六十分敷衍過去。
即將消失的自助新村.眷村裡迷路.舊草嶺環狀自行車道 20 公里行.西部小旅行:阿里山森林鐵路車庫園區&北門車站.台糖烏樹林休閒園區.永保安康&橋頭糖廠.打狗鐵道故事館&駁二.旗山.里港&屏東.彰化扇形車庫.大肚成功.出島計畫:馬公.北環.湖西+南環.馬公.支線之旅:平溪.舊山線.林口線.鼻頭角步道.野柳地質公園.猴硐.七堵鐵道公園.一滴水紀念館.淡水.淡水天元宮賞櫻.烏來.土城桐花祭.三芝天使光.桃園忠烈祠.南部旅行:板橋→台南.台南→永康→保安→橋頭→左營→鼓山→旗津→鳳山.鳳山→竹田→枋寮→加祿→古莊→鳳山.鳳山→台南→台中→新竹→板橋.一個人環島:楔子.台北→花蓮.花蓮→台東.台東→枋寮→南州→鳳山→高雄→鳳山.鳳山→高雄→二水→集集→車埕→台中.台中→新竹→竹東→內灣→竹東→新竹→板橋
未完待續…
Swift Playground 有一關是要用「右手規則」去解題,由於從來沒聽過什麼「右手規則」,就查了一下。
一開始找不到什麼相關的文章,改試了一下 right hand rule 跳出來的是物理的右手原則,和解題沒什麼關聯。
試了好幾組關鍵字,最後是用 maze right hand rule 找到維基百科的 maze solving algorithm 。
記錄一下在解題過程中和「右手規則」相處的心得。
首先是用「右手規則」解出來的不一定是「最短路徑」。
TL;DR: 如果想傳遞自定參數,請把它放在「深層連結」(Deep Link) 的欄位裡,不要放在短網址後面。
忘了是誰提到,能不能在 Firebase dynamic link (FDL) 產生的短網址後面加上自定參數,類似 facebook 的 fbclid ,來傳遞我們想要的值呢?
一開始研究的是兩位 iOS 工程師們。找到的文章除了 Firebase 官方文件以外,也找到 medium 上有篇針對 Android 和官方文件的 use case 測試的「Firebase Dynamic Link案例研究 」。
試了一下發現 iOS 還真的可以抓到。
於是就很歡樂的實作了這個功能…
前幾天剛好遇到一個情況是, API 先出了文件,還沒有實作 API 本體,但又想先寫測試。
查了一下 Postman 支援這樣的功能: Mocking with examples 。
首先照著上面的文件說明,建一台 Mock API server 叫 M1 ,會產生一組亂數的 API 伺服器網址像 https://xxxxx.mock.pstmn.io 這樣。
好了之後把它拿來取代掉原本的 API host 。懶一點的話就把 host 設成環境變數。
這時還沒做好的 API 就會被 mock 掉,然後回傳以下的內容:

在 Firebase Live 2020 的影片 The Firebase Developer's Guide to Google Analytics 中,有針對 Google Analytics Web + App 有一個區隔重疊 (segment overlap) 的功能做介紹。
拿了自己的部落格來做測試,順便記錄一下。
首先要是新版的 Google Analytics Web + App ,通常如果有建 Firebase 專案的話,這個會自動建好;如果手邊有舊版的 Google Analytics (for web) 的話,也可以透過 Google Tag Manager 轉送的方式來測試這項分析功能。這裡單純記錄怎麼測試這個功能。
首先點左邊選單「分析」底下的「區隔重疊」,預設會載入一個有變數和標籤設定的報表。
分析名稱下方有日期區間,我選「過去 30 天」。
被指派進現在在的 scrum team 不知不覺也快半年了,剛好前陣子團隊做了 10 個 sprint 的回顧,自己也來做點記錄。
步調大致上是每兩週的第一個星期一會是 user story 排序、任務拆解,中間做事,到第二個星期四做下次衝刺的項目預挑選,第二個星期五是成果展示和回顧會議。
在第一週的星期二到第二週的星期五,每天早上有站立會議,報告進度:昨天做什麼,今天打算做什麼,遇到什麼問題,有需要找誰溝通事情的。
成員一開始的時候有顧問、scrum master, PO, UI x 3, UX, API x 2, iOS, Android, 測試。
中間經過幾次成員變動,到六月底的時候成員組成變成 scrum master, PO, PM 1+1, UI x 2, UX, API, 測試。

手邊有個需求是驗證某個特定的 Google Analytics 事件有沒有在 app 成功送出去。
參考的是官方文件上的利用 DebugView 驗證 Analytics (分析) 設定這篇說明。
首先用 Xcode 把專案開起來,點 Product > Clean Build Folder 清掉舊資料,再點 Product > Build 看看有沒有問題。
Build 沒問題以後,點 Product > Scheme > Edit Scheme ,在跳出的視窗裡選 Run > Arguments ,在 Arguments Passed On Launch 的地方新增文件上說明的 -FIRDebugEnabled ,並記得勾選。
新增完以後點 Close 關閉視窗。

Firebase 在今年七月底的時候宣佈了升級至新版的 Google Analytics App + Web 功能,剛好手邊正在執行的不同專案都遇到了,做點記錄。
首先注意到的是權限的問題。
其中一個專案先前就有使用 Firebase 了,所以選項是升級。在 Firebase 升級時如果選了建立新的 Google Anatics 帳戶做整合,那麼所產生的帳戶預設就只有操作升級的那個人而已,並沒有把 Firebase 有權限讀取報表的人複製一份過去。在建完的當下就有發現這個問題,立刻修正成專案團隊成員都可以讀取。
另一個專案之前沒有用 Firebase 。在建完空的 Firebase 專案連結 Google Analytics 時,改成選擇連結現有的帳戶,然後挑了上面提到的專案的帳戶。連結完以後自動產生 App + Web 的資源,預設可以讀取資源的人是跟著 Analytics 帳戶的設定走。
產生完資源之後,會列在登入 Google 帳戶的 Google Analytics 列表中。和原本的網頁版不一樣的是, App+Web 型態的資源沒有「資料檢視」這層,資源編號也不是熟悉的 UA- 開頭。

在使用 Fake GPS Location 在 Android app 模擬地理資訊提過手邊有個需求是需要模擬 GPS 的經緯度。
由於不曉得怎麼處理 iOS 的部份,就去 Test Corner 發問,才知道可以用 Xcode 模擬,只是如果不在列表的地點,需要手動匯入 gpx 檔案。
問題就變成怎麼用 Xcode build code ,和怎麼準備測試資料了。
首先找了一些網站研究 Xcode 需要的 gpx 格式,發現只需要一個 <gpx> root ,裡面包一個有經緯度的 <wpt> (waypoint) element 就算合格了。
挑了 22 個點,記下經緯度,整理成一份 CSV 檔。

手邊有一個需求是,要在 app 的某功能取得 GPS 傳回的經緯度座標,然後根據座標顯示不同的設定值。
目前試成功的是 Android ,記錄一下做法。
首先到 Google Play 下載 Firefox 和 Fake GPS Location 。它似乎有很多不同的名字,下載完以後在桌面顯示的名稱是 Fake GPS Pro ,facebook 粉絲專頁叫 Fake GPS Go,反正都是同一個程式。
首先到 Android 手機的設定>開發人員選項,點「開啟」後往下找。
根據不同版本的 Android 會有不同的選項,如果選項有「允許模擬位置」,就打開它。如果有「選取模擬位置應用程式」,就選擇 Fake GPS Pro 。