相信很多朋友都想開(kāi)發(fā)一款屬于自己的應(yīng)用,不管是學(xué)習(xí)還是工作中用,但是對(duì)于如何學(xué)習(xí)并開(kāi)發(fā)完成這過(guò)程還存在迷茫點(diǎn),活到老學(xué)到老!
我也通過(guò)學(xué)習(xí)別人總結(jié)的,再總結(jié)一條適合自己的學(xué)習(xí)路線,供大家參考,共同進(jìn)步!
前端開(kāi)發(fā)路線:
1、互聯(lián)網(wǎng)基礎(chǔ)知識(shí),知道域名解析、服務(wù)器,瀏覽器,如何工作展示頁(yè)面內(nèi)容
2、html、css、JAVAScript 靜態(tài)、框架以及動(dòng)態(tài)交互,基礎(chǔ)知識(shí)要扎實(shí)
3、版本控制系統(tǒng)(git基本使用)、倉(cāng)庫(kù)托管服務(wù)(github、gitee、gitlab...)
4、web安全知識(shí):https安全傳輸協(xié)議、內(nèi)容安全策略csp、跨域資源cors、owasp安全漏洞排行榜
5、包管理工具:npm、yarn,差別不大,都可以一試
6、CSS框架:框架千百種,但是目的都是為了簡(jiǎn)化前端開(kāi)發(fā),提升工作效率,了解下BEM也可以(Bootstrap優(yōu)先框架,默認(rèn)不包含JavaScript組件)
7、構(gòu)建工具: 任務(wù)執(zhí)行器(npm scripts...)模塊打包工具(webpack...)Lint工具與格式化工具(eslint)
8、選擇一個(gè)框架:React.js、Angular、Vue.js
9、測(cè)試:?jiǎn)卧獪y(cè)試、集成測(cè)試、功能測(cè)試(Jest、Cypres...)
10、GraphQL:apollo 、Relay Modem 接口返回信息自定義
11、移動(dòng)應(yīng)用程序:Flutter、Reacct Native 桌面應(yīng)用程序:Electron
12、持續(xù)學(xué)習(xí).....
后端開(kāi)發(fā)路線:
1、互聯(lián)網(wǎng)基礎(chǔ)知識(shí)(同上)
2、前端基礎(chǔ)知識(shí)(HTML、CSS、JavScrript)
3、操作系統(tǒng)基礎(chǔ)原理知識(shí):終端基礎(chǔ)使用(cd、ls、grep、awk、lsof、curl、wget、tail、head、less、find、ssh、ps、kill等等)、任務(wù)管理、線程與并發(fā)、內(nèi)存管理、進(jìn)程間通信、I/O管理、輸入輸出基礎(chǔ)、基本網(wǎng)絡(luò)知識(shí)
4、學(xué)習(xí)一門(mén)語(yǔ)言,了解其特點(diǎn):C、C++、C#、Java、Python/ target=_blank class=infotextkey>Python、Go等等
5、版本控制系統(tǒng)、倉(cāng)庫(kù)托管服務(wù)(同上)
6、數(shù)據(jù)庫(kù)基礎(chǔ)增刪改查:關(guān)系型數(shù)據(jù)庫(kù):pgsql、MySQL、mariad、oracle 非關(guān)系:mongodb、rethinkdb
7、數(shù)據(jù)庫(kù)知識(shí):復(fù)制、分片、事務(wù)、索引
8、API知識(shí):REST、JSON APIs、SOAP 、授權(quán)認(rèn)證
9、緩存:CDN、客戶(hù)端、服務(wù)端(redis、Memcached)
10、web安全:同前端
11、測(cè)試:同前端
12、設(shè)計(jì)與開(kāi)發(fā)原則:SOLID、KISS、YAGNI、DRY
13、架構(gòu)模式:?jiǎn)误w應(yīng)用、微服務(wù)、SOA、Serverless
14、搜索引擎:Elasticsearch、Solr
15、消息隊(duì)列:rabbitmq、kafka
16、容器虛擬化: Docker
17、GraphQL:Apollo
18、圖數(shù)據(jù)庫(kù):Neo4j
19、WebSockets:通信
20、web服務(wù)器:Nginx、Apache。。。
21、CI/CD;可持續(xù)集成部署
22、持續(xù)學(xué)習(xí)。。。。
DevOps 學(xué)習(xí)路線
1、掌握一門(mén)編程語(yǔ)言(同上),自動(dòng)化使用時(shí)方便快捷
2、操作系統(tǒng)的理解要比上面更進(jìn)一步:?jiǎn)?dòng)管理、IO管理、虛擬化、內(nèi)存存儲(chǔ)、文件系統(tǒng)、任務(wù)管理器、線程與并發(fā)、套接字、POSIX基礎(chǔ)、網(wǎng)絡(luò)概念、服務(wù)管理
3、操作系統(tǒng):linux(redhat、centos、ubuntu、fedora)、unix(freeBSD、openBSD?.NETBSD)、windows
4、在終端中生活:bash腳本、vim、powershell 、源碼編譯、系統(tǒng)性能檢測(cè)(nmon、IOStat、vmstat、sar)、文本操作(awk、sed、grep、sort、ubiq、cat、cut、egrep、fgrep、wc)、進(jìn)程監(jiān)控(ps、top、htop、atop、lsof)、網(wǎng)絡(luò)(nmap、tcpdump、ping、trceroute、iptables、netstat)
5、網(wǎng)絡(luò)安全協(xié)議:HTTP、HTTPS、FTP、SSL、SSH、端口轉(zhuǎn)發(fā)、SMTP
6、安裝配置:正反向代理、緩存服務(wù)器、負(fù)載均衡器、防火墻、web服務(wù)器
7、基礎(chǔ)設(shè)置管理:容器:docker、containerd、配置管理:Ansible、SaltStack、puppet、容器編排:k8s、messos
8、持續(xù)集成部署工具:gitlab CI、jenkins、xxxCI
9、監(jiān)控:基礎(chǔ)監(jiān)控:prometheus、zabbix、grafana 應(yīng)用監(jiān)控:jaeger
10、日志:elk、elfk、loki、graylog
11、云服務(wù)商:bath、huawei、google、aws
12、設(shè)計(jì)模式:高可用、數(shù)據(jù)管理、監(jiān)控告警
13、持續(xù)學(xué)習(xí)。。。
我想成為一個(gè)合格的web工程師,一定是不斷學(xué)習(xí),持續(xù)學(xué)習(xí),持續(xù)時(shí)間的過(guò)程,絕不是一蹴而就的!相信在不斷努力之下,我們都能成為一個(gè)合格的web開(kāi)發(fā)工程師!