學(xué)習(xí)完P(guān)HP和MySQL之后應(yīng)該學(xué)習(xí)什么?
一,js方面
∴原生js能不能看懂?原型鏈,this指向是否明白?es6
∴能不能寫簡單的特效比如輪播圖
∴Nodejs了不了解?至少搞明白異步編程思想
二,html方面
∴vuejs angular等前端框架至少會(huì)一個(gè)吧
∴html5常用標(biāo)簽css3常用屬性都要了解掌握
∴移動(dòng)端自適應(yīng)等其他常見前端問題解決辦法
∴其他:若能結(jié)合js vue nodejs html寫一個(gè)前后端分離的簡單的網(wǎng)站那是極好的!
三,服務(wù)器linux方面>重點(diǎn)難點(diǎn)
∴熟悉apache nginx服務(wù)器以及他們和php結(jié)合工作的原理,熟悉他們的優(yōu)化配置,熟悉linux下其他常用軟件安裝和配置優(yōu)化mysql redis mongodb memcache等 。
∴熟練使用linux常用shell指令,能編寫簡單的shell腳本,比如定期數(shù)據(jù)庫備份
∴熟悉負(fù)載均衡配置,根據(jù)實(shí)際情況合理設(shè)計(jì),熟悉數(shù)據(jù)庫分庫分表 主從復(fù)制。業(yè)內(nèi)常見的解決方案,比如阿里mycat 。其中的原理,比如分庫后事務(wù)一致性怎么解決?
∴http協(xié)議,TCP/IP協(xié)議,socket網(wǎng)絡(luò)編程這部分可以參考php框架swoole和nodejs網(wǎng)絡(luò)編程
∴多進(jìn)程多線程編程,雖然php一般用不到,但作為程序員還是必須了解的
∴高并發(fā)下加鎖的問題,防止死鎖產(chǎn)生。比如商品秒殺
∴常用的隊(duì)列軟件熟悉一個(gè)即可,如rabbitmq
∴數(shù)據(jù)庫索引優(yōu)化和sql語句優(yōu)化等這就不說了必備的
∴其他,如cdn,oss等
四,php方面
∴熟練使用至少兩個(gè)框架,建議至少熟悉laravel現(xiàn)代化的php框架,里面有很多設(shè)計(jì)思想。
∴高并發(fā)下快速定位代碼,找到解決方案。比如之前有公司業(yè)務(wù)有同事將一個(gè)兩萬多條sql記錄放到了redis每次拿出來循環(huán)執(zhí)行任務(wù),導(dǎo)致服務(wù)器訪問緩慢。大量502雖然找到了,但沒找到之前還真不知道畢竟別人寫的不熟悉。再比如數(shù)據(jù)庫某個(gè)字段沒加索引每次查詢需要兩三秒。
五,其他
∴有時(shí)間建議學(xué)習(xí)一門其他語言。如果你足夠牛就學(xué)c++方面的,其次java,然后golang,最后python。不過大部分學(xué)習(xí)php得程序員都是考慮到它簡單好用,而且按照目前的形式加上難易程度。建議golang或python
最后,這些僅僅是個(gè)人在工作中遇到的需要解決的用到的知識(shí)或有些是自己也還在學(xué)習(xí)探索中,僅屬于一人之見,僅供參考。依照個(gè)人工作需要,遇到問題解決問題才是最快的學(xué)習(xí)方案。而且學(xué)的多當(dāng)然工資高,壓力也大,所以還是看個(gè)人了。我就喜歡清閑點(diǎn)?