摘要:熟悉編程,對于網(wǎng)絡(luò)模型有一定的認知,熟悉多路復(fù)用技術(shù)。對主從延遲能有效解決。能夠支持對于千萬級流量網(wǎng)站的正常開發(fā)維護工作。結(jié)束語技術(shù)無止境,未來有更多可能。
本文旨在給要學(xué)習(xí) PHP 的新手一個大概的認知輪廓,在心里有個學(xué)習(xí)的結(jié)構(gòu),有的放矢,避免走太多彎路。大神請忽略。
入門階段 預(yù)備知識1、掌握基本HTML、JS、CSS語法;熟悉 Bootstrap。
參考:
https://www.runoob.com/html/h...
https://www.liaoxuefeng.com/w...
https://www.runoob.com/css/cs...
驗收最低標準:模仿寫出jd.com或者vip.com首頁第一屏內(nèi)容。
2、熟悉Linux命令行
熟悉常用發(fā)行版系統(tǒng)(CentOS、Ubuntu)安裝
熟悉常用命令行操作,包括文件管理、用戶管理、權(quán)限管理、防火墻管理等
熟悉VIM使用
驗收最低標準:掌握lnmp環(huán)境搭建。PHP基礎(chǔ)
掌握PHP基礎(chǔ)語法、文件上傳、cookie、Session、JSON。
掌握MySQL數(shù)據(jù)庫連接:pdo使用。
掌握redis連接及簡單應(yīng)用。
掌握命名空間。
掌握面向?qū)ο缶幊趟枷搿?
參考:
https://www.runoob.com/php/php-tutorial.html
學(xué)會使用ThinkPHP框架。主要是該框架在國內(nèi)使用普及率太高了。不建議使用Laravel入門,因為該框架使用了較多的語法糖、第三方庫,對新手可能有難度。
驗收最低標準:可以使用ThinkPHP最新版作為入手框架,寫出一個簡單的博客。頁面簡單寫就行。數(shù)據(jù)之間使用TP的 display 渲染到頁面。學(xué)習(xí)寫接口
學(xué)會 Charles 抓包,看豆瓣的接口返回的數(shù)據(jù)。
學(xué)會寫接口(GET、POST)的就行。
學(xué)會使用 POSTMAN。
驗收標最低準:把上面的博客項目改成前后端分離的,先寫完接口(最好有文檔),再在頁面里使用ajax調(diào)用接口數(shù)據(jù)。
至此,你已經(jīng)入門了。如果需要繼續(xù)往下,還要學(xué)習(xí)。
第二階段 PHP使用 composer 安裝PHP第三方庫
對于PHP斷點調(diào)試非常熟悉
學(xué)習(xí)常用PHP擴展
使用 SPL
掌握 PSR 規(guī)范
掌握反射的使用
掌握設(shè)計模式
熟練使用常用框架。
了解php和php-fpm的大部分配置選項和含義。
熟悉HTTP協(xié)議。
熟悉正則表達式。
熟悉MYSQL優(yōu)化的一些技巧,例如MySQL的性能追查,包括slow_log/explain等;對于order by、limit、like等一些坑能避開;能夠熟練使用常用的索引;對于表結(jié)構(gòu)創(chuàng)建選用哪種數(shù)據(jù)類型做到胸有成竹等等。
熟悉常用的配置,知道如何調(diào)優(yōu)。
熟練配置主從。
掌握Redis使用:對于常用數(shù)據(jù)結(jié)構(gòu)的經(jīng)典使用場景非常熟悉;了解Redis的事務(wù)、RDB、AOF等機制。
掌握memcache的使用,知道與redis的區(qū)別。
了解一下MongoDB。
熟悉常用文本命令:例如wc、awk、split、diff、grep、sed等。
熟悉sort、uniq的使用。
熟練掌握ps、netstat、top等命令使用。
熟練使用Supervisor。
熟悉如何編寫shell腳本。
能夠理解Nginx的配置的含義。
該階段PHP已經(jīng)非常熟悉了,擁有快速開發(fā)項目、快速解決BUG的能力。代碼遵循psr規(guī)范、穩(wěn)定性很高。
熟悉消息隊列使用,在很多場景合適的選擇消息隊列進行異步解耦。
熟悉如何使用 Elasticsearch 代替MYSQL的全文搜索功能。
熟悉多進程編程。
熟悉socket編程,對于網(wǎng)絡(luò)IO模型有一定的認知,熟悉多路復(fù)用(select/poll/epoll)技術(shù)。
熟悉swoole框架,能應(yīng)用于項目上。
不限制于框架本身,任何框架一天內(nèi)快速入手。
對php的工作機制熟悉,熟悉php-fpm生命周期。
能夠知道PHP相對于c等強類型語言性能為什么會慢。
對于PHP內(nèi)部的實現(xiàn)原理有一定的認知,例如變量的實現(xiàn)、zend引擎的了解。
對于PHP的擴展有一定的認知,可以編寫簡單的擴展。
熟悉大批量的數(shù)據(jù)導(dǎo)入導(dǎo)出。對于線上大表操作可能帶來的風(fēng)險有預(yù)知。
熟悉分庫分表。
對主從延遲能有效解決。
對于MySQL內(nèi)置的一些函數(shù)能夠熟練使用,熟悉觸發(fā)器、存儲過程的使用。
熟悉服務(wù)器核心性能優(yōu)化選項 innodb_log_buffer_size、back_log、table_open_cache、thread_cache_size、innodb_lock_wait_timeout等。
對于MySQL內(nèi)部索引的實現(xiàn)、事務(wù)隔離機制有一定的認知。
redis常用5中數(shù)據(jù)類型之外的數(shù)據(jù)結(jié)構(gòu)也要能掌握一些。如bitmap、GEO、HyperLogLog、pub/sub等。
redis里的事務(wù)、管道、分布式鎖能熟練使用。
對于redis的服務(wù)端結(jié)構(gòu)能有一定認知。
熟悉redis里如何使用Lua。
嘗試閱讀redis源碼。
對于nginx非常熟悉,能夠熟練配置https、負載均衡、反向代理;能夠使用 lua-nginx-module。
對awk/sed 等應(yīng)用已經(jīng)如火純青,能夠隨意操作控制處理文本統(tǒng)計分析各種復(fù)雜格式的數(shù)據(jù)。
對于tcpdump、gdb、ltrace、strace、lsof等熟練使用。
熟悉Linux應(yīng)用編程:熟悉makefile使用;熟悉進程、信號、I/O知識;對于C語言有一定的了解。
熟練elk。
對于其它語言(例如java、c、golang)、其它領(lǐng)域(大數(shù)據(jù))有一定的認知。
熟悉RPC、微服務(wù)架構(gòu)。
能夠支持對于千萬級流量網(wǎng)站的正常開發(fā)維護工作。
技術(shù)無止境,未來有更多可能。
如果想快速提升Redis、MySQL等技能到第三階段,請看下文《學(xué)完這些課,快速助你提升Level》。
本文首發(fā)于公眾號"飛鴻影的博客(fhyblog)",歡迎關(guān)注。博客地址:https://52fhy.cnblogs.com。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40447.html
摘要:熟悉編程,對于網(wǎng)絡(luò)模型有一定的認知,熟悉多路復(fù)用技術(shù)。對主從延遲能有效解決。能夠支持對于千萬級流量網(wǎng)站的正常開發(fā)維護工作。結(jié)束語技術(shù)無止境,未來有更多可能。 本文旨在給要學(xué)習(xí) PHP 的新手一個大概的認知輪廓,在心里有個學(xué)習(xí)的結(jié)構(gòu),有的放矢,避免走太多彎路。大神請忽略。 入門階段 預(yù)備知識 1、掌握基本HTML、JS、CSS語法;熟悉 Bootstrap。 參考: https:/...
摘要:創(chuàng)業(yè)公司或新項目如何做技術(shù)選型一個創(chuàng)業(yè)公司或者新項目如何做技術(shù)選型個人認為一定要記住這個根本新項目最先要解決的就是原型核心業(yè)務(wù)落地驗證商業(yè)模式。開源的最新的穩(wěn)定的根據(jù)業(yè)務(wù)選定技術(shù)棧之后,盡量擁抱開源的東西。 創(chuàng)業(yè)公司或新項目如何做技術(shù)選型 一個創(chuàng)業(yè)公司或者新項目如何做技術(shù)選型?個人認為一定要記住這個根本:新項目最先要解決的就是原型核心業(yè)務(wù)落地驗證商業(yè)模式。具體實踐中,應(yīng)當遵循以下原則和...
閱讀 3528·2021-11-18 10:02
閱讀 963·2021-09-04 16:48
閱讀 2047·2019-08-30 15:55
閱讀 3552·2019-08-30 15:52
閱讀 1825·2019-08-30 14:08
閱讀 3567·2019-08-30 13:19
閱讀 1155·2019-08-27 10:53
閱讀 3134·2019-08-26 12:11