最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

程序員避免內(nèi)卷化?

2020-12-19 11:33 作者:編程大戰(zhàn)  | 我要投稿

內(nèi)卷化involution,在經(jīng)濟(jì)學(xué)中指的是邊際效用持續(xù)遞減,它是出自于「1963年美國人類學(xué)家克利福德·格爾茨在印度尼西亞做田野調(diào)查時發(fā)現(xiàn),在殖民地時代和后殖民地時代的爪哇島,人口沒有向資本和技術(shù)密集型產(chǎn)業(yè)集中,而是不斷地投入到有限的水稻生產(chǎn),導(dǎo)致農(nóng)業(yè)生產(chǎn)內(nèi)部精細(xì)化」。換成人話來說,以前你只要會Hadoop、MapReduce,你就可以很容易找到月薪1W的工作,而現(xiàn)在你可能都找不到工作了;以前一周你工作5*8小時就可以了,現(xiàn)在就要工作6*12小時??偟脕淼模褪莻€人的價值被拉低了,變得不值錢了。今天我們就來講講程序員如何避免內(nèi)卷化?

作為程序員,只聚焦業(yè)務(wù)邏輯開發(fā)、CRUD是遠(yuǎn)遠(yuǎn)不夠的,架構(gòu)、性能優(yōu)化、新技術(shù)這些都是必須要掌握的,只有不斷努力的打磨技術(shù),緊跟技術(shù)發(fā)展趨勢,以當(dāng)下最優(yōu)的方式解決業(yè)務(wù)訴求,保障高可用、高性能、高并發(fā),才能避免內(nèi)卷化,立于不敗之地。

在架構(gòu)知識學(xué)習(xí)中,我們需要了解兩點(diǎn)。

  1. 架構(gòu)的變遷:從單體服務(wù)→SOA架構(gòu)→微服務(wù)架構(gòu)→無服務(wù)架構(gòu)

  2. 架構(gòu)模式的設(shè)計:分層架構(gòu)、客戶端服務(wù)器架構(gòu)、事件驅(qū)動架構(gòu)

單體架構(gòu)就是把web服務(wù)器&業(yè)務(wù)程序&數(shù)據(jù)庫&后臺服務(wù)器全都放在一起(典型的Linux+Apache+Mysql+PHP),對剛?cè)腴T的開發(fā)來說可以快速搭建完整的應(yīng)用網(wǎng)站;

SOA架構(gòu)就是將單體式服務(wù)進(jìn)行拆分,由不同的團(tuán)隊開發(fā)不同的服務(wù),再通過ESB企業(yè)服務(wù)總線連接起來,業(yè)務(wù)規(guī)模不復(fù)雜的企業(yè)一般采用此架構(gòu);

微服務(wù)架構(gòu)就是把業(yè)務(wù)的每個服務(wù)模塊原子化,由不同的團(tuán)隊開發(fā)維護(hù)上線不同的服務(wù),服務(wù)與服務(wù)之間通過MQ消息中間件或RPC遠(yuǎn)程調(diào)用連接起來,業(yè)務(wù)規(guī)模中上的企業(yè)一般采用此架構(gòu);

中臺架構(gòu)就是把多個業(yè)務(wù)模塊共用的能力抽象出來,由專門的團(tuán)隊進(jìn)行開發(fā)維護(hù),并對上層提供接口,快速生成應(yīng)用和迭代產(chǎn)品。

分層架構(gòu)設(shè)計模式主要是把整個架構(gòu)分為展現(xiàn)層、業(yè)務(wù)層、持久層,“高內(nèi)聚、低耦合”的設(shè)計思想讓每一層專注干自己的事情,展現(xiàn)層負(fù)責(zé)用戶界面數(shù)據(jù)展示、業(yè)務(wù)層負(fù)責(zé)處理業(yè)務(wù)邏輯、持久層負(fù)責(zé)數(shù)據(jù)持久化。在Java的設(shè)計開發(fā)中經(jīng)常都采用這種模式(Service→Controller→DAO)。

事件驅(qū)動架構(gòu)主要思想是所有的業(yè)務(wù)動作觸發(fā)都由事件進(jìn)行驅(qū)動、處理,這種模式能實現(xiàn)簡單小型系統(tǒng)到復(fù)雜大型系統(tǒng)的擴(kuò)展。在分布式系統(tǒng)中常見的架構(gòu)模式便是事件驅(qū)動,所有業(yè)務(wù)層發(fā)生的事項都通過消息中間件MQ傳遞,后臺監(jiān)聽MQ消息隊列數(shù)據(jù),進(jìn)行業(yè)務(wù)處理。

在性能優(yōu)化中,我們需要了解接口設(shè)計、系統(tǒng)監(jiān)控。在接口設(shè)計層面通過算法調(diào)優(yōu)、技術(shù)架構(gòu)升級、技術(shù)組件升級可以實現(xiàn),此處我們不展開討論,主要看看系統(tǒng)監(jiān)控模塊。監(jiān)控就像我們的眼睛,幫我們監(jiān)控著每筆業(yè)務(wù)操作、每次業(yè)務(wù)調(diào)用,通過選擇合適的監(jiān)控工具、設(shè)定對應(yīng)的監(jiān)控指標(biāo),能提前發(fā)現(xiàn)問題、遇到問題及時解決。一個應(yīng)用體系的全棧監(jiān)控包含APP監(jiān)控、瀏覽器監(jiān)控、服務(wù)器監(jiān)控、網(wǎng)絡(luò)監(jiān)控、日志監(jiān)控、基礎(chǔ)設(shè)施監(jiān)控、物理環(huán)境監(jiān)控。作為業(yè)務(wù)研發(fā),我們主要關(guān)注App監(jiān)控、瀏覽器監(jiān)控、服務(wù)端監(jiān)控就好,其余的交給運(yùn)維同學(xué)關(guān)注。

APP監(jiān)控是通過打包時將探針安裝在對應(yīng)的應(yīng)用寶里,形成正式包對外發(fā)布。當(dāng)用戶手機(jī)下載了APP后,在使用APP的各個功能時,整個的行為軌跡也被探針記錄下來了,采集的數(shù)據(jù)包含開發(fā)的APP用戶日活、訪問區(qū)域、訪問版本等運(yùn)營數(shù)據(jù);用戶打開APP是否白屏、是否卡頓、是否緩慢、是否網(wǎng)絡(luò)被運(yùn)營商劫持等運(yùn)維數(shù)據(jù),獲取到這些數(shù)據(jù)后可以幫助產(chǎn)品研發(fā)同學(xué)快速解決問題,提高用戶留存率、性能優(yōu)化系統(tǒng)。

Browser瀏覽器監(jiān)控是把瀏覽器探針(一段js代碼)嵌入前端頁面,通過瀏覽器的onload事件、navigation事件等獲取頁面訪問的數(shù)據(jù),比如瀏覽器基本信息、采集頁面性能數(shù)據(jù)、采集ajax性能數(shù)據(jù)和請求響應(yīng)數(shù)據(jù)、JS錯誤數(shù)據(jù)、頁面追蹤數(shù)據(jù)等,再發(fā)送給到后臺處理加工,形成用戶運(yùn)營數(shù)據(jù)(比如頁面PV、運(yùn)營商信息、瀏覽器信息、訪問城市省會信息)、運(yùn)維數(shù)據(jù)(比如ajax錯誤信息、js緩慢頁面信息)獲取到這些數(shù)據(jù)后可以幫助產(chǎn)品研發(fā)同學(xué)快速解決問題,提高用戶留存率、性能優(yōu)化系統(tǒng)。Server服務(wù)器監(jiān)控主要是在部署代碼的容器(比如tomcat、jvm、docker)中安裝探針,獲取服務(wù)調(diào)用鏈路、接口調(diào)用次數(shù)、函數(shù)執(zhí)行堆棧、SQL執(zhí)行情況、服務(wù)器CPU內(nèi)存磁盤網(wǎng)絡(luò)等,幫助后端研發(fā)進(jìn)行知道業(yè)務(wù)運(yùn)行情況、進(jìn)行系統(tǒng)性能優(yōu)化。

在新技術(shù)中,我們需要了解持續(xù)集成交付CICD、云原生、DevOps等。云原生應(yīng)用就是運(yùn)行在云平臺的應(yīng)用,具備要有云的特點(diǎn),比如彈性伸縮、分布式、快速部署、快速迭代、高效、持續(xù),云原生的四大核心要素是微服務(wù)、DevOps、持續(xù)交付、容器化,可以說云原生已經(jīng)容納了CICD、DevOps的設(shè)計思想,因此我們就以云原生展開進(jìn)行講解。要實現(xiàn)云原生,這可不止是簡單的把原先在物理服務(wù)器上的應(yīng)用遷移到虛擬機(jī)里,除了基礎(chǔ)設(shè)施和運(yùn)行平臺在云上,應(yīng)用架構(gòu)、應(yīng)用開發(fā)方式、應(yīng)用部署方式、應(yīng)用維護(hù)方式全都要做出改變。微服務(wù)技術(shù)使得應(yīng)用原子化,所有的應(yīng)用都可以獨(dú)立的部署、迭代;DevOps使得應(yīng)用可以快速編譯、自動化測試、部署、發(fā)布、回滾,讓開發(fā)和運(yùn)維一體化;持續(xù)交付讓應(yīng)用可以頻繁發(fā)布、快速交付、快速反饋、降低發(fā)布風(fēng)險;容器使得應(yīng)用整體開發(fā)以容器為基礎(chǔ),形成代碼組件復(fù)用、資源隔離。

避免內(nèi)卷化的三大法寶(架構(gòu)、性能優(yōu)化、新技術(shù))我們便介紹完了。當(dāng)然隨著技術(shù)的不斷發(fā)展,還會有源源不斷的新技術(shù)新理念提出,我們不斷的關(guān)注、學(xué)習(xí)、打磨自己基本功就好。在互聯(lián)網(wǎng)圈內(nèi)還有一個潛規(guī)則便是程序員年齡不超過35歲,除了這批人上有老下有小、戰(zhàn)斗力不如年輕人之外,其次是正常的業(yè)務(wù)技能不夠過關(guān)。事實上,只要你穩(wěn)扎穩(wěn)打的夯實技術(shù),不斷地提升自己能力,年齡根本不是任何問題,在疫情期間找工作,也完全沒有問題。避免內(nèi)卷化的最核心因素,永遠(yuǎn)都不是外在環(huán)境,而是你自己。所以,努力吧,后浪們,越努力越幸運(yùn)!

需要學(xué)習(xí)資料的小伙伴可以在評論區(qū)回復(fù)“666”~~




程序員避免內(nèi)卷化?的評論 (共 條)

分享到微博請遵守國家法律
炎陵县| 武宣县| 邢台市| 正蓝旗| 洪洞县| 依兰县| 宜都市| 奉化市| 贵港市| 大荔县| 郧西县| 楚雄市| 茂名市| 石渠县| 鄄城县| 衡阳市| 临邑县| 平阴县| 沅陵县| 岱山县| 华池县| 浠水县| 高密市| 临泉县| 玉龙| 阆中市| 曲阜市| 寿宁县| 广平县| 谢通门县| 霍山县| 上犹县| 曲沃县| 长沙县| 台湾省| 易门县| 鹤庆县| 城固县| 慈利县| 昌邑市| 衢州市|