Git 跨平台開發 未修改的檔案出現異動(換行警告、檔案權限)
嘗試把一個大專案從 SVN 移到 Git 時,發現從 Windows 環境作 git clone
的時候,檔案會莫名奇妙的有異動,而這個異動卻從文件比對看不出有差異。
過程中試了很多方法才終於解決,以下是完整的過程,文章最後紀錄跨平台開發的情境下應該做哪些 Git 設定。
嘗試把一個大專案從 SVN 移到 Git 時,發現從 Windows 環境作 git clone
的時候,檔案會莫名奇妙的有異動,而這個異動卻從文件比對看不出有差異。
過程中試了很多方法才終於解決,以下是完整的過程,文章最後紀錄跨平台開發的情境下應該做哪些 Git 設定。
傳統的開發流程都是一層一層(又稱瀑布式開發),每層顧好自己負責的事情就好。
瀑布式開發最常發生的問題是:好不容易花了很多時間層層作完,結果發現問題一大堆。
舉例來說,工程師拿到規劃文件後負責執行,有要 argue 的事情也都會是在技術的層面,這個需求要達到什麼目標不重要,工程師的目標是把東西實作出來。
就跟我們的對話一樣,透過「單詞」拼湊出來「一句話」,這樣我們就可以知道對方想要表達的事情是什麼。
而 JavaScript 則是分析你寫的程式碼是「表達式」還是「陳述式」,來知道你想要做的事情是什麼。
array.sort()
是以字串的 Unicode 編碼位置來排序陣列中的元素。
1 | let fruit = ['Orange', 'Banana', 'Apple', 'Cherry'] |
若用sort()
來排序「數字」,我們也會得到「照字母排序」的結果。
最近剛結束一個case,是一個滿有挑戰的任務,這裡做成一個小專案來記錄自己的解題思路。
情境 1 是已經存在的規則或邏輯,我主要處理的部分為情境 2。
在不改變原始的資料的情況下,怎麼讓兩筆資料合併為一筆,並且保留兩筆資料的狀態?
做陣列資料裡的時候,有時候不希望異動到原始的資料,所以會將資料複製一份來用。
但問題是,在 JavaScript ,如果直接把陣列賦值給新的變數來用,一樣會改到原本的資料。
Scope 是變數的有效範圍。
function 裡面
是 local,指的是在 local 這個範圍裡面有效。
function 外面
是 global,指的是在 global 這個範圍裡面有效。
認識 bind, call, apply 這三個方法之前,先說說 function
與 this
。
在 JavaScript 裡,幾乎所有的東西都是 object,function 也不例外。
因為 Todolist 包含完整的 CRUD 行為,又功能需求不複雜,很適合當作小專案來練習。
最近六角學院的公開活動 Vue3 夏令營,還有自己練習 JavaScript 的關係,用不同的寫法實作 Todolist 後,總結出上述的心得。
在這裡記錄一下寫法上的差異。