Git Commit大小寫問題

在工作上可能會遇到檔案名稱大寫小編輯錯誤就先Commit 並且Push,又或者未依照Code Style規範,導致後續要進行修改。

在修改會遇到找不到差異的問題。(以下是步驟)

  • 新增test資料夾或檔案
  • Commit>Push test
  • 修改名稱大小換小寫、小寫換大寫
  • Commit>Push Test

繼續閱讀 “Git Commit大小寫問題”

Linux 檔案系統的資料結構

我們在開發應用系統或寫程式時, 大多會使用到檔案來存取資料, 雖然目前許多應用系統會直接連接資料庫, 但是資料庫也會使用檔案對資料做存取的動作, 因此檔案系統在大部份作業系統中都是一個重要的部分.

在 Linux 或其他 Unix-Based 的系統中, C 語言是最主要的語言. 在 C 語言中關於檔案的功能大部份都透過 Standard I/O Library 來完成 (也就是最常見的 printf 和 scanf 等 function). 在此我們要介紹的是更低階的檔案功能, 一般稱之為 File I/O, 這些功能都是直接作系統呼叫. 在 File I/O, 開啟檔案是使用 open 這個 function (在Standard I/O 是使用 fopen). 開檔成功後系統會傳回一個叫做 File Descriptor (FD) 的整數, 後續關於這個檔案的動作及功能都要使用這個 FD, 如檔案讀寫等, 都要傳入這個FD當做參數.  FD 基本上是一個Index, 而 FD 也是檔案系統的資料結構中, 唯一使用者程式能夠看到的部份. 開啟檔案相關的資料結構如下圖所示.  需要注意的是圖中稱為 Table 的資料結構其實都不一定真正使用 Table 的形式. 繼續閱讀 “Linux 檔案系統的資料結構”

透過 Jenkins 從 Gitlab 拉 Source 自動建置 Xamarin iOS Mobile App

公司中許多的專案都有 Auto Build 的機制,那 Mobile App 也有 Auto Build 的機制嗎?
ios 的 App 需要 Mac 的環境。本文將介紹如何透過 Jenkins 從 Gitlab 拉 Source 自動建置  Xamarin iOS Mobile App。

架構

繼續閱讀 “透過 Jenkins 從 Gitlab 拉 Source 自動建置 Xamarin iOS Mobile App”

一個專案的 UI 設計之回顧及省思

專案背景

這個專案是一個地方政府的單一陳情系統. 首先特別要說明的是這個專案算是公司的策略性專案, 在銷售階段以及風險評估階段就已知道這個專案風險很高, 虧本機率也高, 加上資源不足, 還有技術上的問題要克服. 但是當初因為有客戶關係以及其他因素的考量, 所以最後還是選擇接案. 我認為以後應該不太會再有這樣的思維了.

這個單一陳情系統, 主要是提供民眾可以即時做陳情, 投訴及檢舉等問題回報, 整合照片及地理資訊讓案件處理人員快速辨識問題, 使用自動分案技術來加速案件處理, 整合及保留案件及處理資訊以供未來分析決策使用.  系統包括受理子系統, 公務子系統, 以及報表. 系統提供 Web 以及 App介面, 並介接機關員工資料庫, 公文系統, E-Mail, 簡訊及派工系統等.

這個系統是該地方首長的重要競選政見之一, 在經費部分動用了預備金, 而非使用一般計畫性專案的預算, 因此這個系統備受關注.  這個系統因為提供民眾使用, 因此系統好不好用以及畫面美觀與否都非常直接, 因此在專案初期即將 UI/UX 以及視覺設計考慮進來, 前端 UI Designer一開始就加入專案.

繼續閱讀 “一個專案的 UI 設計之回顧及省思”