部署也是工程的一部分,也要編程(自動化)

部署和開發一樣,同樣面臨變化。同樣有復雜的細節。

同樣應該代碼化,自動化。把復雜性、思路,操作,都固化下來,顯式表達。

不要“雪花”式配置。

?

把最近看的文章摘抄一下 集句:

1頻繁做讓你感到痛苦的事情:小步快走,分散痛苦與風險 《持續交付的實踐與思考》

?

?

2將復雜的構建流程納入一個簡單的腳本文件,然后用一條命令調用。《流水線即代碼》

(凡是可以被編碼的東西都已經被代碼化了。《流水線即代碼》

? 為軟件發布創建一個可重復且可靠的過程、將幾乎所有的事情自動化,?把所有的東西納入版本控制《持續交付的實踐與思考》

3?『Done』意味著『已發布』:沒有完成百分之多少這種說法《持續交付的實踐與思考》

?

4工程師文化是自由+效率,在自由的環境下對提高效率的癡迷,就一定會發生創新。《什么是工程師文化?》

?

5 把懂簡化喜歡自動化的人招進來,然后在績效考核和升職的地方設置上一條硬性指標——你今年簡化了什么?自動化了什么?《什么是工程師文化?》

自己的切身體會:

對于1,其實這是反人類的方式(趨樂避苦)。頻繁做痛苦的事而不是爽的事。

不但不避苦,反而還要頻繁,反復多吃N多苦,然后才能把痛苦分散和化解。(和《反脆弱》里說的釋放金融風險,要多次小崩潰才能避免1次大崩潰,軍事上也是一樣,其實是同樣的道理。)

這幾天用docker部署taiga的過程,回頭看,其實是把痛苦的安裝操作系統,配環境自動化,然后多次重復,1天重裝系統幾十次、上百次的過程。

只不過每次都是用1行命令而已,
體會到了痛苦,才知道什么最有價值。回過頭看之前的自己,確實感覺到了“功力向前進,功效向后看”。

?

2 部署本身也是個軟件工程,也有需求(交互步驟),也是要寫代碼的。

?

3 還有欠缺

?

4 5 我還是做到了,去年到今年在簡化的道路上功力大進了。

  1用《軟件方法》和EA簡化了需求到分析到出文檔的大量工作。

? ? ? ?2用版本控制和docker 簡化了開發工作 配環境,拉代碼

? ?

——未來需要研究一下CI/CD,把測試、發布搞起來

—— 繼續簡化產品使用。

?

轉載于:https://www.cnblogs.com/xuanmanstein/p/8017128.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281650.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281650.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

KDD走進阿里 數百專家聚集探討產學研一體化

6月29日,由阿里巴巴集團、中國中文信息學會、KDD China聯合主辦的數據挖掘前沿發展與未來論壇在杭州舉行,會議吸引了來自國際頂級高校和知名企業的近300名專家學者到場參會、近30000人在線觀看。論壇除了分享最新的數據挖掘領域最新科研成果及研發思路外…

zookeeper學習03 使用場景

zookeeper實際應用場景 zookeeper能夠實現哪些場景 1)訂閱發布/配置中心 watcher機制 統一配置管理(disconf) 實現配置信息的集中式原理和數據的動態更新 實現配置中心有倆種模式:push,pull 長輪詢 zookeeper采用的是推拉相結合的…

php模板引擎循環start,PHP模板引擎Smarty內建函數section,sectionelse用法詳解

本文實例講述了PHP模板引擎Smarty內建函數section,sectionelse用法。分享給大家供大家參考,具體如下:section 是 Smarty 模板中除了 foreach 以外的另一種處理循環的方案,section 比 foreach 要靈活,就像是一個改進的 foreach 語句…

OpenHarmony操作系統與龍芯2K1000LA芯片完成適配,龍架構平臺獲得開源鴻蒙認證

近日,龍芯中科與軟通動力控股公司鴻湖萬聯共同完成OpenHarmony操作系統與龍芯2K1000LA處理器的適配,“乘風1000”開發板(搭載龍芯2K1000LA)榮獲OpenHarmony生態產品兼容性證書。至此,萬物互聯的OpenHarmony生態體系再次…

struts2開發action 的三種方法以及通配符、路徑匹配原則、常量

struts2開發action 的三種方法 1、繼承ActionSupport public class UserAction extends ActionSupport {// Action中業務處理方法public String login() {System.out.println("UserAction.login()"); // return "success";return SUCCESS;} } 2、實現…

閉包--閉包作用之保護(一)

閉包作用:保護 形成私有作用域,保護里面的私有變量不受外界干擾例如多人協作開發&#xff1a;A的代碼有fn(),B的代碼有fn(),但是他們不相互影響 // A的代碼<script>(function() {function fn1() {console.log("aa")}window.fn1 fn1;})()// window.fn1() //11&…

left join 和 inner join

2019獨角獸企業重金招聘Python工程師標準>>> left join 和 inner join 首先 MySQL 中 inner join 的效率確實要高于 left join。所以沒必要使用 left join 轉彎成 inner join 的效果。這樣不但效率降低&#xff0c;可讀性也會降低。 Number1 select from t1 left j…

oracle 數據庫中拆分,oracle數據庫字符串拆分

第一種 直接返回切分的字符串create or replace function Get_StrArrayLength(av_str varchar2,--要分割的字符串av_split varchar2 --分隔符號)return numberislv_str varchar2(1000);lv_length number;beginlv_str:ltrim(rtrim(av_str));lv_length:0;while instr(lv_str,av_s…

Vue3+.NET6,輕松開發管理后臺!(可復用)

在GitHub是沒找到簡單好用的Vue3.NET6管理后臺項目&#xff0c;有收藏的請評論區分享。這里分享一套Vue3 Axios TS Vite Element Plus .NET 6 WebAPI JWT SqlSugar的通用管理后臺&#xff0c;前后端分離架構&#xff0c;各種最新框架組件&#xff0c;實現了管理后臺幾乎…

iOS網絡請求安全認證(JWT,RSA)

在網絡世界中&#xff0c;安全是一個很重要的問題&#xff0c;以往的HTTP請求已經不能承擔這個安全任務&#xff0c;抓包工具一抓&#xff0c;你的所有網絡請求全都曝光。當然&#xff0c;你可能會采用加密算法來加密數據&#xff0c;但是這仍然不夠。 在移動端和服務器的通信過…

微信小程序黑客馬拉松即將開始,來做最酷的 Mini Program Creators!

微信小程序黑客馬拉松正式啟動 近日&#xff0c;小程序斬獲一項世界級殊榮——作為一項全新的技術和應用創新&#xff0c;小程序首次獲選世界互聯網領先科技成果。目前小程序應用數量已超過 100 萬&#xff0c;覆蓋了 200 多個細分行業&#xff0c;日活用戶達到 2 億。 微信小程…

oracle 文件寫 n r,[oracle]log_archive_dest_n與DB_RECOVERY_FILE_DEST

DB_RECOVERY_FILE_DEST參數是默認的flashrecovery area的路徑&#xff0c;里面存放有歸檔日志、閃回日志以及rman的備份文件等文件。LOG_ARCHIVE_DEST_n參數是存放歸檔日志的路徑&#xff0c;n表示1~10的一個整數&#xff0c;由于歸檔日志在recovery的時候擔當了重要的角色&…

記一次 .NET 某娛樂聊天流平臺 CPU 爆高分析

一&#xff1a;背景 1.講故事前段時間有位朋友加微信&#xff0c;說他的程序直接 CPU100%&#xff0c;每次只能手工介入重啟&#xff0c;讓我幫忙看下到底怎么回事&#xff0c;哈哈&#xff0c;這種CPU打滿的事故&#xff0c;程序員壓力會非常大, 我讓朋友在 CPU 高的時候抓 2 …

linux下mariadb大小寫敏感

2019獨角獸企業重金招聘Python工程師標準>>> Linux下安裝好mariadb后&#xff0c;在使用時會發現mariadb對大小寫敏感&#xff0c;這對開發帶來一定的不利&#xff0c;這時只要在配置文件中配置一下&#xff0c;取消大小寫敏感即可&#xff1a; sudo vi /etc/MySQL/…

評論列表顯示及排序,個人中心顯示

1.顯示所有評論{% for foo in ques.comments %} 2.所有評論排序uquestion db.relationship(Question, backrefdb.backref(comments, order_bycreat_time.desc)) 3.顯示評論條數{{ ques.comments|length }} 1題代碼如下&#xff1a; <h3>評論區:({{ ques.comments|length…

軟件工程現行國標匯集

GB/T 8566-2007 《信息技術 軟件生存周期過程》GB/T 8567-2006 《計算機軟件文檔編制規范》 GB/T 9385-2008《計算機軟件需求規格說明規范》GB/T 9386-2008 《計算機軟件測試文檔編制規范》 GB/T 11457-2006《信息技術 軟件工程術語》GB/T 14394-2008《計算機軟件可靠性和可維護…

oracle listagg方法,Oracle實現字符串拼接和分離功能的方法(LISTAGG函數),oraclelistagg...

Oracle實現字符串拼接和分離功能的方法(LISTAGG函數)&#xff0c;oraclelistagg字符串拼接(String Aggregation Techniques)是數據處理時經常需要用到一個技術&#xff0c;比如需要按時間順序拼裝一個快遞的運輸記錄&#xff0c;或者將流程中各個環節的處理人拼裝為一個字符串。…

他倆都曾是技術大牛,創業這些年來有怎樣的苦與樂?

這是頭哥侃碼的第263篇原創國慶假期回來&#xff0c;「頭哥嘮 B 嘮」的直播仍在繼續。這次我邀請了我工作上的老板和朋友&#xff0c;一起聊了聊關于 “技術創業路上的苦與樂”。熟悉他們兩位的都知道&#xff0c;可以說是技術出身&#xff0c;然后創業當老板的代表。大家都知道…

maven,gradle本地緩存位置

gradle: 配置系統環境變量GRADLE_USER_HOME即可&#xff0c;值為緩存位置。 maven: 修改settings文件&#xff1a;maven的home路徑下的conf文件夾下的settings.xml 對于有些IDEA&#xff0c;還需要配置。但是不要再打開項目后的FILE-->settings配置&#xff0c;而是需要在選…

git和php的區別,Git與Github的有什么區別

Git是一款免費&#xff0c;開源的分布是版本&#xff0c;用于敏捷高效的處理任何或小或大的項目。分布式相對于集中式的最大區別在于開發者可以提到本地&#xff0c;每個開發者通過克隆&#xff0c;在本地磁盤內拷貝一個完整的GIt倉庫。Git的功能特性&#xff1a;1.從服務器上克…