Maison  >  Article  >  Le chemin de croissance des programmeurs PHP

Le chemin de croissance des programmeurs PHP

小云云
小云云original
2017-11-18 14:00:442068parcourir

En tant que programmeur PHP, je pense avoir beaucoup appris depuis vos débuts. Cependant, certains programmeurs PHP en sont encore à la première étape. Alors, comment devrions-nous compenser cela en tant que programmeurs PHP juniors ? évoluer vers le stade intermédiaire ou avancé ? L'éditeur ci-dessous a trouvé une bonne voie de croissance pour les programmeurs PHP.

La première étape : étape de base (programmeur PHP de base)

Focus : maîtriser LNMP (le noyau est constitué des opérations de base d'installation et de configuration)

Objectif : être capable d'effectuer une installation de base complète du système LNMP ainsi qu'une configuration et une maintenance simples ; être capable de faire du développement PHP de base de systèmes simples ; être capable de prendre en charge le développement d'un certain module de fonction PHP dans un système PHP de taille moyenne ;

Durée : Le temps nécessaire pour terminer cette étape varie d'une personne à l'autre. Certains grandissent plus vite qu'une demi-année et certains grandissent lentement en deux ou trois ans.

1.Linux :

Commandes de base, opérations, démarrage, configuration de base du service (y compris les fichiers d'installation RPM, diverses configurations de service, etc.) ; peut écrire des scripts shell simples et des scripts awk/sed ; Commandes etc

2. Nginx :

Être capable d'installer et de configurer nginx+php, connaître les options de configuration de base de nginx, connaître server/fastcgi_pass/access_log et d'autres configurations de base. capable d'installer nginx+php_fpm Fonctionne en douceur.

3.MySQL :

Peut construire MySQL par moi-même, connaître les options de configuration de base de MySQL ; connaître la différence entre innodb et myisam, connaître les différentes options de configuration pour les deux moteurs d'InnoDB et MyISAM. ; connaître les bases Les différences entre les deux moteurs et les différences dans la sélection ci-dessus ; être capable de compiler et de construire une base de données MySQL uniquement à la main et de configurer l'encodage pour qu'il fonctionne normalement et de manière stable ; base de données MySQL exécutable.

4.PHP :

Tableau de syntaxe de base, chaîne, base de données, XML, Socket, traitement d'image GD/ImageMgk, etc.; familier avec diverses API liées aux opérations MySQL (mysql /mysqli / PDO), savoir résoudre divers problèmes de codage ; connaître les frameworks PHP couramment utilisés (ThinkPHP, Zendframework, Yii, Yaf, etc.) ; comprendre le mécanisme de fonctionnement de base de MVC et pourquoi cela est fait, et connaître un peu les différences entre différents frameworks PHP La différence ; être capable d'apprendre rapidement un framework MVC. Être capable de comprendre l'organisation des répertoires de fichiers dans le projet de développement, avoir une bonne structure et un bon style de code de base, et être capable de terminer le développement de petits systèmes et le développement d'un certain module dans un système de taille moyenne.

5. Front-end :

Si le temps et les conditions le permettent, vous pouvez apprendre HTML/CSS/JS et d'autres connaissances connexes, connaître les normes Web et connaître le mode page Web/wap. de div+css. La différence entre HTML5 et HTML4 ; comprendre certains frameworks front-end et JS de base (jQuery et similaires) ; comprendre certaines connaissances de base en programmation JavaScript (Cet élément n'est pas requis. Si vous avez le temps, ce n'est pas grave ; pour en apprendre un peu plus, mais ce n'est pas nécessaire. Recommandé comme objectif, à moins que l'individu ait un fort intérêt)

6. Conception du système :

Être capable de terminer la conception de base. de petits systèmes, y compris la conception de bases de données simples, et être capable de compléter les bases : navigateur -> ; Nginx+PHP -> tous les jours ;

Deuxième étape : étape d'amélioration (programmeur PHP intermédiaire)

Focus : Améliorer les compétences LNMP et être capable d'appliquer LNMP de manière plus complète et plus compétente.

Objectifs : Être capable de mettre en place un environnement LNMP à tout moment et en tout lieu et d'effectuer rapidement les configurations de routine ; être capable de traquer et de résoudre la plupart des problèmes de développement et d'environnement en ligne rencontrés ; être capable d'entreprendre de manière indépendante l'architecture et ; travaux de développement de systèmes de taille moyenne ; être capable d'entreprendre le travail de développement d'un module de taille moyenne dans un grand système

1. Linux :

Sur la base de la première étape, vous pouvez utiliser facilement les scripts Shell pour effectuer de nombreux travaux automatisés ; awk /sed/perl fonctionne également bien et peut effectuer de nombreux traitements de texte et statistiques de données ; il peut essentiellement installer la plupart des programmes Linux non spéciaux (y compris diverses bibliothèques et packages) ; , dépendances tierces, etc., telles que MongoDB/Redis/Sphinx /Luncene/SVN et autres) ; comprendre les services Linux de base, savoir comment afficher les données des indicateurs de performances Linux et connaître le suivi de base des problèmes sous Linux, etc.

2.Nginx :

Sur la base de la première étape, comprenez la configuration plus complexe de Nginx ; y compris la configuration multicœur, les événements, la configuration proxy_pass, sendfile/tcp_*, connaissez le délai d'attente et les autres configurations et impacts sur les performances associés ; rôle du serveur Web en plus du serveur Web. Configuration du serveur proxy, du serveur statique inversé, etc. ; connaître le réglage de base de la configuration de nginx ; savoir comment configurer les autorisations, compiler une extension nginx vers nginx ; connaître le principe de fonctionnement de base de nginx ; mécanisme de travail, epoll), et savoir pourquoi les performances de nginx sont supérieures aux connaissances, comme de bonnes performances d'Apache

3. MySQL/MongoDB :

Sur la base de la première étape, maîtrisez de nombreux conseils dans MySQL ; développement, y compris l'optimisation SQL régulière (optimisation group by/order by/rand, etc.) en plus de pouvoir construire MySQL, vous pouvez également sauvegarder les données MySQL à chaud et à froid, et vous connaissez également les options de configuration qui affectent innodb/ myisam (telles que key_buffer /query_cache/sort_buffer/innodb_buffer_pool_size /innodb_flush_log_at_trx_commit, etc.), et connaissez également la configuration de ces options. Quelle valeur est appropriée ? De plus, vous connaissez également certaines options de configuration spéciales, comme savoir comment créer un Environnement de synchronisation maître-esclave MySQL, connaissant les différences entre les différents format binlog ; connaissant le suivi des performances MySQL, y compris slow_log/explain, etc., et connaissant également le traitement de base de la création d'index et d'autres connaissances ; comprendre l'architecture de base de MySQL (serveur + moteur de stockage) ; en termes de principes, connaître la structure de base de stockage des index InnoDB/MyISAM et leurs différences (index clusterisé, B-tree) ; connaître la plupart des mécanismes de traitement des transactions InnoDB de base ; ). Si les conditions le permettent, il est recommandé de se renseigner sur la base de données MongoDB, un représentant de NoSQL, et de comparer les différences avec MySQL. Les collègues peuvent utiliser MongoDB en toute sécurité et prudemment dans des scénarios d'application appropriés, et connaître le développement combiné de base de PHP et MongoDB.

4. Redis/Memcached :

Le traitement du cache sera certainement impliqué dans la plupart des systèmes de taille moyenne, vous devez donc comprendre le cache de base et connaître les similitudes, les différences et les scénarios d'application de Memcached et ; Redis, et être capable d'installer Redis/Memcached de manière indépendante, comprendre certaines fonctionnalités et limitations de base de Memcahed, telles que la valeur maximale, et savoir comment combiner PHP avec leur utilisation, comprendre les principes de fonctionnement de base et l'utilisation de Redis, comprendre les données régulières ; types et sachez quels types sont utilisés dans quels scénarios. Comprendre les transactions Redis et plus encore. Dans la partie principale, vous pouvez avoir une compréhension approximative de la structure de la mémoire de Memcached (mécanisme de dalle Redis comprend la structure de stockage d'implémentation sous-jacente des types de données courants (SDS/liste chaînée/SkipList/HashTable), etc. vous pouvez en savoir plus sur les transactions de Redis, RDB, AOF et d'autres mécanismes. Bon

5. PHP :

En plus des fonctionnalités de la première étape, vous pouvez installer librement la configuration de compilation et d'installation de. PHP et diverses extensions tierces ; comprendre la plupart des options et significations de la configuration de php-fpm (telles que max_requests/max_children/request_terminate_timeout et d'autres configurations qui affectent les performances), connaître la différence entre mod_php/fastcgi et maîtriser diverses bases ; technologies en PHP, dont divers PHP approfondis, dont orienté PHP Compréhension approfondie des objets/SPL/fonctionnalités particulières au niveau de la syntaxe comme la réflexion en termes de frameworks, j'ai lu le code d'au moins un PHP conventionnel ; Framework MVC, et connaître le mécanisme de mise en œuvre interne et les idées de conception du framework PHP de base ; dans le développement PHP. Déjà capable d'utiliser habilement les modèles de conception conventionnels pour le développement d'applications (usine abstraite/cas unique/observateur/chaîne de commandes/stratégie/adaptateur et autres modèles). ); il est recommandé de développer votre propre framework PHP MVC pour libéraliser pleinement le développement et vous permettre de comprendre en profondeur le mode MVC, ce qui vous permet également de vous mettre à niveau rapidement dans le développement de projets d'entreprise et de vous familiariser avec diverses méthodes d'optimisation de code ; avec la résolution de la plupart des problèmes de sécurité PHP ; être familier avec les principes de base du mécanisme d'exécution de PHP (moteur Zend/mécanisme de travail de base étendu) ;

6. /C++, être capable d'écrire du code C/C++ de base et être familier avec la syntaxe de base C/C++ (pointeurs, opérations sur les tableaux, chaînes, API standard générale) et les structures de données (listes chaînées, arbres, hachages, files d'attente) ; une compréhension de base des concepts de développement du langage C sous Linux, être capable d'écrire des fichiers makefile simples et être capable d'utiliser la compilation de programmes simples GCC/GDB et des travaux de débogage simples ; avoir une compréhension générale de la programmation réseau de base ; (Cet élément est de jeter les bases d'un niveau supérieur)

7 Front-end :

Sur la base de la première étape, se familiariser avec le protocole HTTP de base (code de protocole 200. /300/400/ 500, en-tête d'interaction HTTP de base) ; si les conditions le permettent, vous pouvez écrire du HTML+CSS+JavaScript légèrement plus élégant en profondeur, ou vous pouvez utiliser certains frameworks frontaux (jQuery/YUI/ExtJS/RequireJS/BootStrap). et autres) ; si les conditions le permettent, vous pouvez étudier en profondeur la programmation JavaScript, comme le mécanisme de fermeture et le traitement DOM ; si vous allez plus en profondeur, vous pouvez lire le code source de jQuery pour une étude approfondie ; (Cet élément n'est pas une étude clé sauf si vous êtes intéressé par le front-end)

8.

Capable de concevoir l'architecture du site Web, la base de données et la sélection du framework PHP de base pour la plupart des systèmes de taille moyenne ; effectuer des tests de performances et du dépannage, etc. ; être capable d'effectuer des tâches telles que : Navigateur -> > Nginx+PHP -> Cache -> Conception, développement et maintenance de bases de données de sites Web capables de prendre en charge le développement et la maintenance de sites Web de base avec des millions à des dizaines de millions de trafic chaque jour ; La troisième étape : étape avancée (programmeur PHP senior)

Points clés : En plus du programme de base LNMP, vous pouvez également avoir un apprentissage approfondi dans une certaine direction ou un certain domaine. (Développement de la dimension de profondeur)

Objectif : En plus d'être capable de réaliser le développement commercial de base de PHP, vous pouvez également résoudre les problèmes techniques les plus approfondis et les plus complexes, et vous pouvez concevoir et réaliser de manière indépendante des projets à moyenne et grande échelle. travail de conception et de développement de systèmes ; vous pouvez indépendamment Hold approfondir une certaine direction technique et est relativement professionnel dans ce domaine. (Par exemple, des recherches approfondies dans n'importe quelle direction comme MySQL, Nginx, PHP, Redis, etc.)

1. Linux :

En plus des capacités de la deuxième étape, en plus aux opérations et performances régulières sous Linux Pour la surveillance et le suivi, vous pouvez également utiliser de nombreuses commandes avancées et complexes pour terminer le travail (watch/tcpdump/starce/ldd/ar, etc. en termes de scripts shell, vous pouvez déjà écrire) ; des scripts shell plus complexes (plus de 500 lignes) pour aider à accomplir de nombreuses tâches, y compris les sauvegardes, le traitement automatisé, la surveillance et d'autres tâches ; sont devenus compétents dans des applications telles que awk/sed/perl, et peuvent librement fonctionner, contrôler, traiter. , rédiger des statistiques et analyser des données dans divers formats complexes ; avoir une certaine compréhension des mécanismes internes de Linux et des modules du noyau. Avoir le traitement de base du chargement, la gestion des erreurs de démarrage, etc., comprendre également d'autres éléments connexes, tels que NFS, la gestion des disques, etc.;

2. Nginx :

Dans la seconde étape, j'ai pu utiliser Nginx de manière très compétente et effectuer des travaux d'exploitation et de maintenance plus approfondis. Nginx, comme la surveillance, l'optimisation des performances, le traitement de problèmes complexes, etc., en fonction de vos intérêts personnels, vous pouvez envisager de vous concentrer sur Nginx dans plusieurs aspects. L'étude approfondie du principe de fonctionnement se reflète principalement dans la lecture du code source, comme par exemple. le mécanisme de travail spécifique maître/travailleur, le traitement des événements internes de Nginx, la gestion de la mémoire, etc. ; en même temps, vous pouvez apprendre le développement d'extensions Nginx et personnaliser certaines de vos propres extensions privées ; un certain degré de compréhension de Nginx+Lua pour voir si un meilleur modèle peut être combiné et appliqué ; l'exigence à ce stade est une compréhension approfondie des principes de Nginx, et vous pouvez envisager de devenir un professionnel approfondi dans la direction de Nginx.

3. MySQL/MongoDB :

Basé sur la deuxième étape, en termes d'applications MySQL, en plus de l'optimisation SQL de base précédente, il peut également effectuer certaines opérations complexes, telles que de grandes opérations. lots de données Importation et exportation, opérations à haut risque telles que la modification des structures de tables ou l'ajout ou la suppression de champs d'index pour de grandes quantités de données en ligne, en plus de l'installation et de la configuration, il a été capable de gérer des problèmes MySQL plus complexes, tels que le traçage ; divers problèmes et problèmes de retard de synchronisation maître-esclave. Les solutions, les solutions de synchronisation des données entre salles de machines, l'architecture haute disponibilité MySQL, etc. sont toutes impliquées pour le niveau d'application MySQL, je connais les technologies clés de base de MySQL, telles que ; comme les mécanismes de transaction (niveaux d'isolement, verrous, etc.), les déclencheurs, les partitions et autres technologies. Avoir une certaine compréhension et application des performances de MySQL, y compris l'optimisation du disque (migration SAS vers SSD), l'optimisation du serveur (mémoire, configuration du serveur), autres ; options d'optimisation des performances de base en plus de la deuxième étape (innodb_log_buffer_size/back_log/table_open_cache /thread_cache_size/ innodb_lock_wait_timeout, etc.), application de sélection de logiciel de pool de connexions, avoir une compréhension approfondie des instructions d'opération telles que show * (show status/show profile) , et peut effectuer la plupart des recherches de problèmes de performances ; connaissance approfondie de la technologie de sauvegarde MySQL, y compris la récupération et la restauration après sinistre, compréhension approfondie de Binlog, de la sauvegarde à chaud et à froid, de la sauvegarde multi-IDC, etc. ; principes, comme commencer à lire une partie du code source du mécanisme de fonctionnement de MySQL, comme l'apprentissage du code source de la technologie de synchronisation (réplication) maître-esclave, ou l'apprentissage du code source de MySQL Apprendre et comprendre le code source. d'un certain moteur de stockage (MyISAM/Innodb/TokuDB), etc. Si les conditions le permettent, vous pouvez vous référer au moteur CSV pour développer votre propre moteur de stockage simple afin de sauvegarder certaines données et d'améliorer votre compréhension de MySQL au cours de ce processus, si vous le souhaitez ; Si vous êtes intéressé, vous pouvez également envisager d'évoluer dans le sens de DBA. Au niveau de MongoDB, vous pouvez envisager, par exemple, de commencer à appliquer MongoDB en ligne en écrivant moins et en lisant plus, ou en effectuant des opérations d'analyse et de traitement de données en ligne. Les scénarios spécifiques peuvent être basés sur le travail, mais l'essentiel est d'avoir. une compréhension meilleure et approfondie de RMDBS Pour les applications dans différents scénarios de NoSQL, si les conditions ou les intérêts le permettent, vous pouvez commencer à en apprendre davantage sur le mécanisme de fonctionnement de MongoDB.

4. Redis/Memcached :

Sur la base de la deuxième étape, vous pouvez appliquer et apprendre plus en profondeur. Parce que Memcached n'est pas particulièrement complexe, il est recommandé de lire le code source, en particulier la partie gestion de la mémoire, pour faciliter une compréhension approfondie ; dans la partie Redis, vous pouvez réaliser des applications de structure de données plus complexes (zset est utilisé pour les opérations de classement ; /traitement des transactions pour garantir qu'Atomicity est utilisé dans les applications de scénarios de vente flash) ; cela implique principalement l'apprentissage d'applications de mécanismes de synchronisation tels que aof, et la conception d'une architecture et d'un cluster d'application Redis hautement disponibles, il est recommandé d'étudier le code source de Redis dans ; En profondeur et mettez-le dans la deuxième étape. Les connaissances accumulées peuvent être appliquées. En particulier, vous pouvez lire sur la gestion des événements de base, la gestion de la mémoire, la structure interne des données de base, etc. pour bien les comprendre. Si votre intérêt le permet, vous pouvez devenir un utilisateur très professionnel de Redis.

5. PHP :

En tant que compétence de base de base, nous devons avoir une étude et une application plus approfondies basées sur la deuxième étape. En termes d'application de code de base, vous pouvez résoudre 95 % des problèmes rencontrés dans le développement PHP et comprendre la plupart des techniques PHP ; vous pouvez rapidement commencer à utiliser la plupart des frameworks PHP en une journée et comprendre les avantages de chaque framework PHP traditionnel. Il peut effectuer rapidement et facilement une sélection technologique dans le développement de projets ; en termes de configuration, en plus de la connaissance de la deuxième étape habituelle, vous comprendrez également certaines options de configuration plus obscures (php auto_prepend_file/auto_append_file), y compris certaines configurations avancées complexes dans extensions et principes (tels que memcache.hash_strategy dans la configuration de l'extension memcached, apc.mmap_file_mask/apc.slam_defense/apc.file_update_protection dans la configuration de l'extension apc, etc.) ; avoir une bonne compréhension du mécanisme de fonctionnement de php, y compris le fonctionnement de php-fpm ; mécanisme (tel que php-fpm permet le calcul et le principe du numéro de processus sous différentes machines de configuration), a une connaissance de base du moteur zend (traitement vm/gc/stream), a lu le code source de base du noyau PHP (ou lu des articles connexes), et a une compréhension du mécanisme interne de PHP Avoir une compréhension de l'implémentation de la plupart des structures de données de base (types de base/Array/Object) et avoir une compréhension approfondie de l'infrastructure de base (zval/hashtable/gc be) ; capable de réaliser le développement de base d'extensions PHP, et de comprendre certaines connaissances intermédiaires et avancées en matière de développement d'extensions (minit/rinit, etc.), être familier avec les détails des différentes méthodes de communication et d'interaction entre php et apache/nginx (mod_php/fastcgi ); en plus de développer des extensions PHP, vous pouvez envisager d'apprendre à développer des extensions Zend pour comprendre PHP à un niveau inférieur.

6. C/C++ :

Sur la base de la deuxième étape, vous pouvez avoir une compréhension plus approfondie du langage C/C++ et être capable de terminer le développement de C de petite et moyenne taille. /Systèmes C++ ; En plus de la syntaxe de base C/C++ et des structures de données dans la deuxième étape, vous pouvez également apprendre certaines structures de données spéciales (b-tree/rb-tree/skiplist/lsm-tree/trie-tree, etc. .) pour faciliter vos besoins dans des travaux spéciaux ; En termes de programmation système, être familier avec la programmation multi-processus et multi-thread ; comprendre la plupart des méthodes de communication entre multi-processus dans des situations multi-processus, et être capable de choisir avec flexibilité ; méthodes de communication (mémoire partagée/sémaphore/pipeline, etc.); être bon en programmation multi-thread Résoudre les problèmes de conflits de verrouillage et être capable de développer et déboguer des programmes multi-thread en même temps, être familier avec la programmation réseau, comprendre les différences et sélection de modèles multi-processus/modèles multi-thread/modèles d'E/S de réseau asynchrone, et être familier avec les principes des différents modèles et différences d'E/S de réseau asynchrone (select/poll/epoll/iocp, etc.), et être familier avec les frameworks asynchrones courants (ACE/ICE /libev/libevent/libuv/Boost.ASIO, etc.) et leur utilisation si vous avez du temps libre, vous pouvez également consulter certaines bibliothèques développées au niveau national (telles que muduo) ; en même temps, être capable de concevoir une bonne architecture de programme à haute concurrence (leader-follow/master-worker, etc.) ; comprendre la plupart des problèmes liés au développement de serveurs back-end C/C++ (gestion de la mémoire, impression des journaux, haute concurrence, protocole de communication front-end et back-end, surveillance des services), connaître les problèmes de communication RPC des divers services back-end (struct/http/thirft/protobuf, etc.) être capable d'utiliser GCC et GDB de manière plus familière pour développer des programmes de compilation et de débogage, et être capable de retracer rapidement la perte du cœur du programme en ligne. Suivre et résoudre les problèmes en termes de développement général de modules, vous pouvez accumuler ou développer des outils ou des bibliothèques générales (tels que des cadres de réseau asynchrones, des bibliothèques de journaux) , pools de mémoire, pools de threads, etc.), mais vous devez faire attention à ne pas les appliquer après le développement pour vous éviter de les rechercher

Front-end :

. Compréhension approfondie du protocole HTTP (y compris chaque protocole détaillé, le code de protocole spécial et les raisons qui le sous-tendent, telles que 302 fichiers statiques sont mis en cache, 502 signifie que php derrière nginx est en panne, etc. ); -capacités d'intégration d'applications frontales de divers frameworks, si vous souhaitez apprendre l'aspect front-end, vous pouvez aller plus loin en développant vous-même certains frameworks front-end comme jQuery, ou en développant un éditeur de texte riche, etc. test relativement trivial de compétences JavaScript ;

8. Apprentissage des langues dans d'autres domaines :

Avoir une accumulation de base dans les langages PHP/C/C++ de base. Il est recommandé d'essayer d'apprendre différents langages de programmation au stade actuel, en fonction de vos intérêts personnels et de vos passe-temps. Python/Ruby et autres programmations fonctionnelles. Pour les langages, vous pouvez essayer Lisp/Haskell/Scala/Erlang. Pour les langages statiques, vous pouvez essayer Java/Golang. Pour l'analyse statistique des données, vous pouvez vous renseigner sur le langage R. faites des affaires back-end sous un angle différent, vous pouvez essayer Node.js le Nginx_Lua susmentionné combiné avec Nginx, etc. Apprendre différentes langues consiste principalement à améliorer votre propre vision et les différences dans les méthodes de résolution de problèmes. Par exemple, vous comprendrez qu'en plus des processus/threads, il existe également des coroutines légères, par exemple dans les scénarios de communication inter-machines ; , la solution d'Erlang est étonnamment simple ; par exemple, si vous ne souhaitez pas choisir C/C++, il existe également des Erlang/Golang efficaces similaires, etc. ;

9. Apprendre dans d'autres directions professionnelles :

À ce stade, en plus des compétences de base du LNMP, vous envisagerez également d'acquérir des connaissances dans d'autres domaines. Tout cela est possible, selon l'individu. . intérêts et objectifs à long terme. Aujourd'hui, les domaines sont nombreux, comme le cloud computing (stockage distribué, informatique distribuée, machines virtuelles, etc.), le machine learning (data mining, reconnaissance de formes, etc., appliqué aux statistiques, recommandations personnalisées), le naturel. traitement du langage (segmentation des mots chinois, etc.), technologie des moteurs de recherche, graphiques et images, reconnaissance vocale, etc. En plus de ces domaines avancés, il existe également de nombreux domaines dans lesquels vous pouvez en apprendre davantage sur l'ingénierie, comme les systèmes hautes performances, le développement mobile (Android/IOS), la sécurité informatique, les systèmes embarqués, le matériel, etc.

10. Conception de systèmes :

Sur la base de la deuxième étape, la conception de systèmes peut appliquer l'expérience et les compétences maîtrisées pour concevoir des systèmes relativement complexes à moyenne et grande échelle, qui peuvent résoudre la plupart des problèmes en ligne. Divers problèmes système complexes, tels que le navigateur -> Équilibrage de charge -> Couche d'accès -> Cache d'entreprise -> backend, backend anti-triche, services externes) -> Plus de backends pour l'activité complexe de Jiangzi, capables de prendre en charge le développement et la maintenance normaux de sites Web avec des dizaines à des centaines de millions de trafic chaque jour ;

En plus de vous permettre de grandir, cet itinéraire peut également vous permettre de comprendre à quelle étape vous en êtes en tant que programmeur PHP. Si vous constatez que vous êtes encore loin de votre objectif, alors vous pouvez suivre ce qui précède. parcours. Améliorez-vous.

Recommandations associées :

Une brève discussion sur l'avenir des programmeurs PHP

Quelques pièges que les programmeurs devraient éviter

Soyez un programmeur différent

Essentiels pour devenir un programmeur à succès

Une discussion ouverte sur les questions de sexe : comment les programmeurs améliorent-ils leurs compétences en programmation ?

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn