Programmeur PHP senior
Points clés : En plus des programmes LNMP de base, vous pouvez également apprendre dans un certain direction ou domaine Il y a un apprentissage profond. (Développement dimensionnel approfondi) (Apprentissage recommandé : Tutoriel vidéo PHP)
Objectif : En plus de terminer le développement commercial PHP de base, vous pouvez également résoudre les problèmes les plus approfondis et problèmes techniques complexes. Et il peut concevoir et réaliser de manière indépendante des travaux de conception et de développement de systèmes de taille moyenne et grande ; il peut indépendamment suivre et approfondir une certaine direction technique, et il est relativement professionnel dans ce domaine. (Par exemple, des recherches approfondies dans n'importe quelle direction comme MySQL, Nginx, PHP, Redis, etc.)
Linux :
En plus de les capacités de deuxième étape, sous Linux En plus des opérations régulières et de la surveillance et du suivi des performances, vous pouvez également utiliser de nombreuses commandes avancées et complexes pour terminer le travail (watch/tcpdump/starce/ldd/ar, etc.) ; scripts, vous pouvez déjà écrire des scripts shell plus complexes (plus de 500 lignes) ) pour aider à la réalisation de nombreuses tâches, notamment la sauvegarde, le traitement automatisé, la surveillance, etc. ; il maîtrise déjà des applications telles que awk/sed/perl, et peut librement exploiter, 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 avoir une compréhension de base du chargement des modules du noyau, de la gestion des erreurs de démarrage, etc. .; comprendre également d'autres choses connexes, telles que NFS, la gestion des disques, etc.;
Nginx :
Nginx est très compétent en fonctionnement et peut effectuer davantage -travaux approfondis d'exploitation et de maintenance sur Nginx, tels que la surveillance, l'optimisation des performances, le traitement de problèmes complexes, etc. en fonction des intérêts personnels, plus d'aspects Vous pouvez envisager de vous concentrer sur une étude approfondie du principe de fonctionnement de Nginx, principalement à partir de la lecture ; le code source, tel que 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.
Vous pouvez également apprendre Nginx en même temps Pour un développement étendu, vous pouvez personnaliser certains de vos posséder des extensions privées ; en même temps, vous pouvez avoir 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.
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 réaliser certaines opérations complexes . Par exemple, des opérations à haut risque telles que l'importation et l'exportation de gros lots de données, la modification des structures de tables ou l'ajout ou la suppression de champs d'index pour de gros lots de données en ligne
En plus de l'installation et de la configuration, cela a été fait. capable de gérer des problèmes MySQL plus complexes, tels que divers traçage de problèmes, résolution de problèmes de retard de synchronisation maître-esclave, solutions de synchronisation de données entre salles informatiques, architecture MySQL haute disponibilité, etc. sont tous impliqués
Pour le ; Au niveau de l'application MySQL, je connais les technologies clés de base de MySQL, telles que les mécanismes de transactions (niveaux d'isolation, verrous, etc.), et j'ai une certaine compréhension et application des déclencheurs, des partitions et d'autres technologies
; Pour les performances MySQL, y compris l'optimisation du disque (migration SAS vers SSD), l'optimisation du serveur (mémoire, configuration propre du serveur), en plus d'autres options d'optimisation des performances de base (innodb_log_buffer_size/back_log/table_open_cache /thread_cache_size/innodb_lock_wait_timeout, etc.), logiciel de pool de connexions application de sélection, avoir une compréhension approfondie des instructions d'opération telles que show * (show status/show profile) et être capable d'effectuer un grand nombre de traçage partiel des problèmes de performances
Connaissance approfondie de MySQL ; technologie de sauvegarde, y compris la reprise après sinistre et la récupération, une compréhension approfondie de Binlog, la sauvegarde à chaud et à froid, la sauvegarde multi-IDC, etc.
En termes de principes MySQL, si vous avez plus de compréhension, comme le démarrage pour lire une partie du code source sur le 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 et la compréhension du 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 êtes intéressé, vous pouvez ; envisager également d’évoluer dans le sens du 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!