Just My Life & My Work

Archive for the ‘軟體’ Category

[軟體] 硬碟管理 GrandPerspective

先前為了解決Mac硬碟空間不足問題,找到輕便的軟體OmniDiskSweeper,多年來都靠它條列資料夾與路徑,來清理多餘的文件檔案。最近發現有視覺化呈現檔案大小的軟體GrandPerspective,可以非常直覺地看出哪個文件檔案是龐然大物,若不需要的話就可以找到該檔所在位置,然後直接點擊刪除來釋出空間~

此圖秀出我電腦中最大的檔案是Xcode.app,此為目前最新的12版,圖片最下方有顯示其路徑與大小。

我認為以我開發所需要的資源,Xcode應該要控制在1G即可,真想刪除其他我用不到的元件啊~

(繼續閱讀…)

安裝Xcode空間不足

一如往常,在Apple釋出iOS 14後不久,身為開發者的我就會更新Xcode 12(每年更新一個版本號),不過這次遇到奇妙的問題,明明筆電的可用空間大於軟體容量,安裝時居然還會跳出「空間不足」,而且也沒說不足多少,使得我必須不斷清理出空間,像是移除鮮少使用的軟體,甚至刪除前同事帳號裡的非必要的檔案,來下載Xcode 12。🧐

廣告

在App Store上看Xcode 12容量有11.2G,我騰出15G可用空間應該就足夠了才是,不過就是提示空間不足。

App Store上Xcode評分只有2.3(滿分5),就可知道許多開發者在抱怨⋯⋯🤭
廣告

直到我硬擠出30G可用空間,還是給我裝傻空間不足⋯⋯😭

(繼續閱讀…)

工程師也需土法煉鋼

工程師的任務偶爾會遇到很乏味且重複性高的部分,這讓很想發揮創造力的我感到欲振乏力XD~明明就是可以寫個程式,把重複性的流程透過程式重複執行來解決!然而事情似乎沒那麼容易QQ也許需要其他平台的工程師來協助,畢竟我是根據Web來實作App,既然Web可以分門別類顯示,就有方法可以更有效率來做這份「文書工作」,暫且讓身為工程師的我土法煉鋼吧~

(繼續閱讀…)

[婚禮] 徵求新娘秘書與婚攝婚錄

一切來得都如此不確定,然後又有新的因緣際會⋯⋯起初我們在伊頓拍攝戶外婚紗,因為婚攝和新秘讓我和蘇菲雅都非常滿意,拍攝當天就想直接找他們團隊繼續協助我們婚宴的紀錄,可惜呀~婚攝和新秘都已經排有檔期,新秘Boa是中午宴客場,在思考能否及時來為我們梳妝?然而評估後覺得時間太趕,這樣對彼此都不太恰當,於是就很可遺憾錯過囉~

(繼續閱讀…)

[Git] Branch and Merge (分支與合併)

最近要一口氣地將所有產品做完支援Layout API的功能,我特別善用Git的Branch (分支)功能,也就是把每一個開發目標都開個Branch,單純只記錄一個開發目標的變更,如圖:

Source Tree真是個好工具,可以將Branch以不同的顏色表達!

當每個開發目標都完成增修後,就可以開始一步一步來Merge (合併),如圖:

儘管我是一個人在開發產品,然而我不馬乎地開Branch,就有機會碰到Conflict (衝突),此時可來練習如何排除此問題,之後再遇多人協同合作的開發模式,就不必手忙腳亂囉~

使用指令也相當簡單:

  • 分支:git branch
  • 合併:git merge

參考:建立分支合併分支

[iOS] 改善Xcode編譯速度

專案已經開發超過一年半,累積的檔案數量已將近2500個(可見文章:專案檔案數遞增),想必日後編譯速度將會越來越慢,會深刻地影響我們開發的效率,尤其是在要了解前人所寫的程式碼,我們總是會稍微修改一下變數/參數來嘗試是否為增修的關鍵目標,所編譯頻率相當大,三不五時就要按Command+R

我嘗試過許多改善開發效率的方法,其中有三個可以嘗試:

  1. 提高XCode編譯時使用的執行緒數
  2. 將Debug Information Format改為DWARF
  3. 將Build Active Architecture Only改為Yes

1和3在我們的專案早已設定完畢,只剩下2可以嘗試,沒想到效果超好,提升幾乎10倍快的編譯速度!

(繼續閱讀…)

[Xcode][iOS] 清除警告訊息 (Clear Warning Message)

功能需求都已經開發完畢,在等待偉大的QA測試完前,有空的時候就可以來清除警告訊息 (Clear Warning Message)

天吶~從2018年2月開始開發到現在,剛滿一年就累積了230個警告訊息,不過也還好,先前我所開發過有破千的紀錄!不過那是因為接案的性質,我維護過至少有五個工程師陸續經手的案子,裡頭的警告訊息我壓根不想動XD~

現在因為是做自家產品,肯定要做得非常盡善盡美!儘管感覺好像在做繁瑣的雜事,好在還能學到些新技術與工具,讓我有些成就感囉~

警告訊息目前遇到的類型有包含:

  • User-Defined Issue
  • Validate Project Settings
  • Documentation Iusse
  • Deprecations
  • Semantic Issue
  • Value Conversion Issue

猜猜看哪個最難處理?

(繼續閱讀…)

[Xcode] Time Profiler (時間分析器)

我家產品HappyStyle開發到尾聲,需求上的功能已全數完成,接下來的時間可以來優化各個功能。若想要讓使用者體驗 (User Experience)變得更優,那麼勢必要提升App運作的流暢度。

像是在滑內容清單,若能無「卡頓」現象會是優良的體驗,那麼如何來減少卡頓狀況?我們可以利用Xcode內建的工具Time Profiler (時間分析器),顧名思義就是利用它來分析各個方法 (Method)函式 (Function),所執行的時間狀況會在界面上清楚呈現,除了可以觀察自訂的也能探索內建的。

(繼續閱讀…)

安裝彩色的終端機

本篇文章目的如標題:安裝彩色的終端機。主要下載三個套件:iTerm2 + zsh + oh-my-zsh

從2012年寫iOS App以來,有時候會使用到內建的終端機 (Terminal),不過它的介面卻非常陽春,我居然也習以為常超過六年XD~

在進入港商後,同事Adam介紹我安裝oh-my-zsh,它可以讓介面變得「多采多姿」,於是乎剛使用新的iMac,就來把所有開發環境建立起來,以便日後方便有效率地工作!

(繼續閱讀…)

[圖解] Git Flow

過去五年做接案模式的工作,我只會使用非常簡單的Git來版本控制,偶爾才會有同事或夥伴協同合作開發。如今我踏入開發自有產品的環境,必須跟另外兩位前輩工程師合作,此時Git操作就變得更加重要!如何在同一個專案上增修,同一時間不會影響到彼此的任務,做得好就是一門藝術!

Git版本控制有非常多好用的功能,端視專案需求來使用,所以沒有一定的規則!若是同時有多人開發,2010年有個可以當作公版的Git Flow可遵循。現在我參與自有產品開發,大致上就是以上圖的模式來操作。

(繼續閱讀…)

標籤雲