新手村導讀 - 3: 淺談軟體開發流程

閱讀時間約 3 分鐘

這篇就來介紹一下在工作與以前念書時期在開發流程上的不同吧~

CI/CD

CI/CD 是一種自動化的軟體開發實踐,用於快速、可靠地交付和更新應用程式。全名是持續整合(Continuous Integration)和持續交付/部署(Continuous Delivery/Deployment)。

持續整合:這是一種開發實踐,開發人員會頻繁地(通常每天)將代碼更改合併到共享的主分支中。每次合併都會觸發一個自動化的構建和測試序列,以早期發現並快速修復任何錯誤或問題。
持續交付:這是一種延伸的實踐,自動化地將已經通過測試的代碼更改部署到生產環境。這確保了你可以隨時快速、安全地交付新版本的應用程式。
持續部署:這也是一種延伸的實踐,與持續交付類似,但是在持續部署中,每次更改都會自動部署到生產環境。這需要一個高度成熟的測試和發佈管道,以確保不會將錯誤部署到生產環境。

在實作上,我們一般會用工具來完成 CI/CD。例如 Travis CI、 AWS CodePipeline 等。

我個人覺得最大的優點是,CI 可以執行自動測試,以避免有人動到一些功能,結果在沒注意到的地方壞掉了;CD則是能持續交付與自動部屬,持續交付可以避免上線後壞掉還要等一段時間去回復上一個版本,而自動部屬則是很方便、避免人為疏失。

Travis CI

Travis CI 是一種持續整合的服務,用於自動化構建在 GitHub 上托管的內容,進行測試並部署到各種環境。以下是 Travis CI 的一些主要特性:

  1. 易於集成:可以輕鬆地與 GitHub 集成。只需在 GitHub 倉庫中添加一個 .travis.yml 配置文件,並在 Travis CI 網站上啟用該倉庫,就可以開始使用 Travis CI 了。
  2. 支持多種語言:支持多種編程語言,包括 PHP、Python、Ruby、Java、Node.js 等。
  3. 自動化部署:可以自動將應用部署到各種平台,如 Heroku、AWS、Google Cloud 等。
  4. 並行構建:支持並行構建,這意味著你可以同時運行多個構建和測試。

由於我第一次碰的 CI 服務就是 Travis CI,所以應該算是比較熟悉(吧)。雖然 Travis CI 的優點很多,但我認為有兩個比較大的缺點:

  1. 速度較慢:Travis CI 的構建速度相對較慢,尤其是在高峰時段,跟其他 CI 服務相比尤其明顯。
  2. GitHub 限制:基本上只有原本就在 GitHub 上的專案在使用 Travis CI 才會覺得方便,對於其他平台來說則很不方便。

此外,Travis CI 只有 CI 的部分,不包含 CD。

加解密

在工作上不免會碰到一些相對機密的資料,例如密碼、姓名等。此時如果量夠大,就需要考量到資料外洩的風險而做資料的加密。

目前有兩種主要類型的加密:對稱加密和非對稱加密。這兩者的差別主要是能不能用同一個密鑰去進行加解密。

對稱加密由於是用同一把鑰匙,因此安全性較低但是速度較快,例如 AES 和 DES;非對稱加密則是用兩把鑰匙,相對安全但速度就會比較慢,例如 RSA 和 ECC。

ECC(Elliptic Curve Cryptography)是一種基於橢圓曲線數學的非對稱加密算法,也是相對較新的加密方式。它在相同的安全性的前提下只需要較小的密鑰,這使得 ECC 在需要節省儲存空間和頻寬的情況下(例如在移動設備上)成為一種更好的選擇。

2會員
8內容數
test
留言0
查看全部
發表第一個留言支持創作者!
林柏宇的沙龍 的其他內容
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
這篇文章介紹了面試時以及開始工作後可能會遇到的問題,包括物件導向OOP、SOLID 設計原則、測試方式,以及 Cookie、Session 與 Cache 的相似處與不同處。提供了豐富的相關資訊。
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
這篇文章介紹了面試時以及開始工作後可能會遇到的問題,包括物件導向OOP、SOLID 設計原則、測試方式,以及 Cookie、Session 與 Cache 的相似處與不同處。提供了豐富的相關資訊。
你可能也想看
Thumbnail
「設計不僅僅是外觀和感覺。設計是其運作的方式。」 — Steve Jobs 身為一個獨立文案,許多人會以為我們的生活只需要面對電腦,從無到有,用精巧的文字填滿空白的螢幕,呈現心目中獨具風格的作品。 ——有的時候可以如此,但其實這是我們夢寐以求的偶發日常。 更多的時候,白天的工作時間總被各種繁雜
Thumbnail
台股、美股近期明顯回檔,市場敘事發生改變,壞消息一樁接一樁出現,下一步該怎麼走呢?本文將探討近期的宏觀經濟事件,並分享個人的操作思考。
Thumbnail
剛進入股票市場的投資新手, 必定要經歷排山倒水而來的各種股票相關知識, ex:價值投資(基本面分析/總體經濟....), 技術分析(MACD,KD,RSI....), 學習到相關知識後 經過幾張K棒圖的回測,迫不及待把現金投入市場...... 不知大家有沒有玩過RPG(角色冒險)遊戲, 等級LV.
小孩出生後面臨黃疸、發炎指數過高等問題,除了常感到焦慮,還需要做許多決定。可能養育孩子就是一個漫長的旅程,從依附到放手到獨立。
Thumbnail
空投事先準備 在過去這段時間,我有做過一些空投的任務,而大部分的空投都必須會有一些共通的條件需要完成,例如追蹤且加入社群、鏈上交互數據、轉發特定文章等等, 因此如果將以下幾項基本社群帳號準備好,對接下來開始空投交互任務將會事半功倍: 錢包: 錢包是空投項目用以判斷在生態項目活躍程度的一項重要工具
Thumbnail
空投是甚麼? 空投(Airdrop)是一種加密貨幣生態用以分發數位資產或代幣的方法。這種方法是將數位資產免費分發給特定的目標群體,例如持有特定代幣的人、社群成員、或是在生態或使用產品以達到特定條件下的用戶。空投通常是項目方為了促進社群參與、擴大知名度、增加代幣分發的方式。這可能有助於建立項目的社群
Thumbnail
如果要開始投資加密貨幣,最常見的方法是先將手上的法幣轉換成加密貨幣後,再以穩定幣到交易所或是鏈上defi協議去交易想投資的幣種,如BTC、ETH等等。 但沒接觸過加密貨幣的人會想問,穩定幣又是甚麼呢? 穩定幣(Stablecoin)是一種加密貨幣,其價值相對穩定或固定在某個特定的價值,通常是
Thumbnail
其實本來想說閱讀器挑選有一堆人做了,應該不需要我特別來寫,但是發現大家依然有這個問題,然後新的閱讀器也多了很多加上彩機也加入混戰,似乎還是有很多人沒有搞清楚該怎麼挑選,因而認為閱讀器很雞肋或是買錯。所以我來寫一篇我認為挑選閱讀器應該要先做的幾樣功課和先搞清楚的地方!
Thumbnail
在興致勃勃的想養狗情緒下,約好了一起休假三天準備帶小狗回家 剛好遇到周末假期,星期六的收容所人潮滿滿 不是第一次進去的我,仍然訝異裡面的狗狗數量永遠領養不完 甚至很多品種狗也常常因為生病或是年老被棄養送至收容所 一開始就害怕幼犬愛咬東西的我們決定領養一隻成犬 避免回家打開門家具被咬得亂七八糟以為走錯
Thumbnail
好不容易稍微弄懂了外匯運作的原理,手上也有一點資金,是時候該入場驗證一下自己學到的東西了,欸等等,天啊上網一查,外匯平台成千上百,平常吃飯就已經選擇困難了,這麼多的平台,到底該選哪一家啊! 黑平台的四大特點 畢竟投入的都是自己辛苦上班的血汗錢,千萬要注意有以下四個特點的黑平台。 無法正常出金
Thumbnail
本期導讀的方格子創作者,是在方格子書寫多年,絕對可以直接獲頒VVIP格友勳章的「村長」。 在方格子數以萬計的創作者中,村長屬於筆耕不輟、無懼失敗的熱血份子。從默默發表,到如今有一批小小的粉絲群,他一再以行動證明,創作應當是屬於每個人的事。即使零基礎,只要有心練習,人人都能愛上創作。
Thumbnail
「設計不僅僅是外觀和感覺。設計是其運作的方式。」 — Steve Jobs 身為一個獨立文案,許多人會以為我們的生活只需要面對電腦,從無到有,用精巧的文字填滿空白的螢幕,呈現心目中獨具風格的作品。 ——有的時候可以如此,但其實這是我們夢寐以求的偶發日常。 更多的時候,白天的工作時間總被各種繁雜
Thumbnail
台股、美股近期明顯回檔,市場敘事發生改變,壞消息一樁接一樁出現,下一步該怎麼走呢?本文將探討近期的宏觀經濟事件,並分享個人的操作思考。
Thumbnail
剛進入股票市場的投資新手, 必定要經歷排山倒水而來的各種股票相關知識, ex:價值投資(基本面分析/總體經濟....), 技術分析(MACD,KD,RSI....), 學習到相關知識後 經過幾張K棒圖的回測,迫不及待把現金投入市場...... 不知大家有沒有玩過RPG(角色冒險)遊戲, 等級LV.
小孩出生後面臨黃疸、發炎指數過高等問題,除了常感到焦慮,還需要做許多決定。可能養育孩子就是一個漫長的旅程,從依附到放手到獨立。
Thumbnail
空投事先準備 在過去這段時間,我有做過一些空投的任務,而大部分的空投都必須會有一些共通的條件需要完成,例如追蹤且加入社群、鏈上交互數據、轉發特定文章等等, 因此如果將以下幾項基本社群帳號準備好,對接下來開始空投交互任務將會事半功倍: 錢包: 錢包是空投項目用以判斷在生態項目活躍程度的一項重要工具
Thumbnail
空投是甚麼? 空投(Airdrop)是一種加密貨幣生態用以分發數位資產或代幣的方法。這種方法是將數位資產免費分發給特定的目標群體,例如持有特定代幣的人、社群成員、或是在生態或使用產品以達到特定條件下的用戶。空投通常是項目方為了促進社群參與、擴大知名度、增加代幣分發的方式。這可能有助於建立項目的社群
Thumbnail
如果要開始投資加密貨幣,最常見的方法是先將手上的法幣轉換成加密貨幣後,再以穩定幣到交易所或是鏈上defi協議去交易想投資的幣種,如BTC、ETH等等。 但沒接觸過加密貨幣的人會想問,穩定幣又是甚麼呢? 穩定幣(Stablecoin)是一種加密貨幣,其價值相對穩定或固定在某個特定的價值,通常是
Thumbnail
其實本來想說閱讀器挑選有一堆人做了,應該不需要我特別來寫,但是發現大家依然有這個問題,然後新的閱讀器也多了很多加上彩機也加入混戰,似乎還是有很多人沒有搞清楚該怎麼挑選,因而認為閱讀器很雞肋或是買錯。所以我來寫一篇我認為挑選閱讀器應該要先做的幾樣功課和先搞清楚的地方!
Thumbnail
在興致勃勃的想養狗情緒下,約好了一起休假三天準備帶小狗回家 剛好遇到周末假期,星期六的收容所人潮滿滿 不是第一次進去的我,仍然訝異裡面的狗狗數量永遠領養不完 甚至很多品種狗也常常因為生病或是年老被棄養送至收容所 一開始就害怕幼犬愛咬東西的我們決定領養一隻成犬 避免回家打開門家具被咬得亂七八糟以為走錯
Thumbnail
好不容易稍微弄懂了外匯運作的原理,手上也有一點資金,是時候該入場驗證一下自己學到的東西了,欸等等,天啊上網一查,外匯平台成千上百,平常吃飯就已經選擇困難了,這麼多的平台,到底該選哪一家啊! 黑平台的四大特點 畢竟投入的都是自己辛苦上班的血汗錢,千萬要注意有以下四個特點的黑平台。 無法正常出金
Thumbnail
本期導讀的方格子創作者,是在方格子書寫多年,絕對可以直接獲頒VVIP格友勳章的「村長」。 在方格子數以萬計的創作者中,村長屬於筆耕不輟、無懼失敗的熱血份子。從默默發表,到如今有一批小小的粉絲群,他一再以行動證明,創作應當是屬於每個人的事。即使零基礎,只要有心練習,人人都能愛上創作。