Galerie de cartes mentales Optimisation des performances front-end full-link et optimisation des processus de développement RD
Optimisation des performances front-end full-link : optimisation des processus de R
Modifié à 2021-01-01 19:46:28Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Optimisation des performances front-end full-link et optimisation des processus de développement R&D
4. HTTP : Comment réduire le nombre de requêtes HTTP ?
Sprites CSS
Les images utilisent DataURL, Web Font
Fusion de fichiers JS/CSS
Combinaison de requêtes JS/CSS
Fusion d'interfaces
Stockage d'interface LocalStorage
Stockage de ressources statiques LocalStorage
5. Cookies : Stratégies et avantages de réduire la taille des cookies
Stratégie
Définir une liste blanche sur la page d'accueil du site Web principal
Supprimez périodiquement les cookies qui ne sont pas sur la liste blanche
avantage
Réduire la taille du transfert entre les pages
Gérer efficacement les cookies
6. Serveur
Solutions de configuration et d'optimisation du cache
Expire
définition
L'en-tête de réponse contient la date/heure après laquelle la réponse expire
Une date invalide, telle que 0, représente une date dans le passé, c'est-à-dire que la ressource a expiré
Si la directive "max-age" ou "s-max-age" est définie dans l'en-tête de réponse Cache-Control, l'en-tête Expires sera ignoré.
grammaire:
Expire : mar. 17 décembre 2019 07:01:44 GMT
Exemple:
Expire : mar. 17 décembre 2019 07:01:44 GMT
Contrôle du cache
définition
Un champ d'en-tête de message général qui implémente le mécanisme de mise en cache en spécifiant des instructions. Les directives de mise en cache sont unidirectionnelles, ce qui signifie que les directives définies dans la requête ne sont pas nécessairement incluses dans la réponse.
grammaire
Cache-Control : max-age=[Définissez la période maximale de stockage du cache. Passé ce délai, le cache est considéré comme expiré (en secondes). Contrairement à Expire, l'heure est relative à l'heure de la demande]
Exemple
Contrôle du cache : âge maximum = 600
ETag
définition
Un en-tête de réponse HTTP est un identifiant pour une version spécifique d'une ressource. Cela rend la mise en cache plus efficace et économise la bande passante, car le serveur Web n'a pas besoin d'envoyer une réponse complète si le contenu n'a pas changé. Et si le contenu change, l’utilisation d’ETag permet d’éviter que les mises à jour simultanées des ressources ne s’écrasent les unes les autres.
S'il y a un changement volontaire dans une URL donnée, une nouvelle valeur ETag doit être générée. Les ETags sont donc similaires aux empreintes digitales et peuvent également être utilisés pour le suivi par certains serveurs. La comparaison des ETags peut déterminer rapidement si cette ressource a changé, mais peut également être conservée de manière permanente par les serveurs de suivi.
grammaire:
ETag : "<etag_value>"
Exemple
ETag : "<5c6ccc12-1d45>"
Dernière modification
Le Lat-Modified est un en-tête de réponse qui contient la date et l'heure auxquelles la ressource identifiée par le serveur source a été modifiée. Il est souvent utilisé comme validateur pour déterminer si les ressources reçues ou stockées sont cohérentes les unes avec les autres. Il s’agit d’un mécanisme de secours car moins précis que ETag. Les requêtes conditionnelles contenant les en-têtes If-Modified-Since ou If-Unmodified-Since utiliseront ce champ
grammaire
Dernière modification : <nom-jour>, <jour>, <mois>, <année>, <heure> : <minute> : <seconde> GMT
Exemple
Dernière modification:Web, 20 février 2019 03:40:02 GMT
Date
définition:
La date est un en-tête commun qui contient la date et l'heure de création du message.
grammaire
Date : <nom-jour>, <jour>, <mois>, <année>, <heure> : <minute> : <seconde> GMT
Exemple
Date:mardi 17 février 2019 03:40:02 GMT
Statut
définition
Les codes d'état de réponse HTTP indiquent si une requête HTTP spécifique s'est terminée avec succès. Les réponses sont divisées en cinq catégories : réponses informatives (100 à 199), réponses réussies (200 à 299), redirections (300 à 399), erreurs client (400 à 499) et erreurs de serveur (500 à 599).
Exemple
Statut:200
Comment activer et configurer la compression gzip
avantage
Compresser le texte (HTML/CSS/JS)
Aucune compression pour le non-texte (jpg/gif/png)
Taux de compression d'environ 50 % à 70 %
Méthode de configuration
Configuration Nginx : le fichier nginx.conf ajoute gzip
Configuration Apache : AddOutputFilterByType et AddOutputFilter
Détection de validité
En-tête de réponse Vérifiez s'il existe Content-Encoding: gzip, ce qui signifie que gzip est activé sur le serveur.
7. HTTPS : Comment activer HTTPS pour l'ensemble du site
concept de base
HTTPS, HyperText Transfer Protocol Secure, est un protocole de transfert permettant de sécuriser les communications sur les réseaux informatiques.
HTTPS communique via HTTP mais utilise SSL/TLS pour le cryptage des données
L'objectif principal du HTTPS est de fournir une authentification de l'identité du serveur et de protéger la confidentialité et l'intégrité des données.
principe de fonctionnement
Le navigateur lance une requête HTTPS
Certificat de transfert
Le navigateur analyse le certificat
Envoyer des informations cryptées
Le serveur décrypte les informations
Transférer des informations cryptées
Le navigateur décrypte les informations
avantage
Référencement
Sécurité
mettre en œuvre
Certificat d'achat du concessionnaire
AllerObtenirSSL
SSLs.com
SSLmate.com
Certificat de test local
Installation locale de HomeBrew : Brew install mkcert
Installez le certificat racine localement : $ mkcert --install
Générer une signature localement : $mkcert 123.com //Générer un certificat pour 123.com
Configuration nginx locale
8. HTTP-2 : Quels sont les avantages de la mise à niveau de HTTP-2 ? Comment mettre à niveau ?
Notions HTTP/2
HTTP/2 (Hypertext Transfer Protocol version 2, initialement nommé HTTP 2.0), appelé h2 (connexion cryptée basée sur TLS/1.2 ou supérieur) ou h2c (connexion non cryptée), est la deuxième version majeure du protocole HTTP.
Avantages HTTP/2
Transférer des données au format binaire
Multiplexage, permettant d'effectuer plusieurs requêtes sur une seule connexion HTTP/2
Compression d'en-tête, petit volume de transmission
Server Push, le serveur peut transmettre les ressources au client plus rapidement
Avantages des sites HTTP/2
Peut réduire la pression du serveur
Améliorer la vitesse d’accès au site Web
Protégez votre site Web
Activer HTTP/2 sur Nginx
Mettre à niveau OpenSSL : version $ openssl
Recompiler
$ cd nginx-xxx
$ ./configure --with-http_ssl_module --with-http_v2_module
$ faire && faire installer
Vérifier HTTP/2
Vérifiez dans le navigateur s'il y a un petit cadenas vert
Capture d'écran de la demande du navigateur
3. DNS : Quelles sont les méthodes d’optimisation DNS courantes ?
définition
Domain Name System est une base de données distribuée qui mappe les noms de domaine de sites Web et les adresses IP les uns aux autres, facilitant ainsi l'accès à Internet.
Traitement des clients
Module DNS Android (okhttp)
Prend en charge HTTP/2. HTTP/2 prend en charge la concurrence sur une seule connexion TCP en utilisant la technologie de multiplexage pour envoyer ou recevoir des données en envoyant plusieurs requêtes à la fois sur une seule connexion.
Si HTTP/2 n'est pas disponible, la technologie de réutilisation du pool de connexions peut également réduire considérablement la latence.
Prend en charge GZIP pour compresser la taille du téléchargement
La mise en cache correspondante peut éviter complètement les requêtes réseau répétées
Si le serveur est configuré avec plusieurs adresses IP, lorsque la première connexion IP échoue, OkHttp essaiera automatiquement l'adresse IP suivante.
Module DNS iOS (auto-développé)
Lorsque l'application démarre, elle met en cache tous les noms de domaine et adresses IP pouvant être utilisés et les traite de manière asynchrone. Le client n'a pas besoin d'obtenir les résultats mis en cache.
S'il existe un cache pour ce nom de domaine dans le Cache, l'IP mise en cache sera renvoyée directement.
Si ce nom de domaine n'est pas dans le cache, appliquez-le à nouveau au SERVEUR HTTPDNS et le résultat sera renvoyé dans ce rappel.
Traitement frontal
Limite de concurrence du navigateur, distribution définie sur plusieurs noms de domaine
Accès utilisateur : Java, PHP et autres interfaces API
Pages et styles : HTML/CSS/JS
Images : jpg, png, gif, etc.
2. CDN : Comment bien configurer le cache CDN ?
définition
Le Content Delivery Network (CDN) utilise le serveur le plus proche de chaque utilisateur pour envoyer des fichiers au réseau de distribution des utilisateurs de manière plus rapide et plus fiable.
avantage
Accélération : les utilisateurs se verront attribuer des nœuds de serveur plus proches et plus fluides pour transmettre les données aux utilisateurs.
Faible coût : les serveurs sont placés à différents endroits, ce qui réduit le trafic d'interconnexion et les coûts de bande passante.
Haute disponibilité : lorsqu'un serveur tombe en panne, les serveurs des zones proches sont automatiquement appelés
CDN retour à l'origine
Le retour à l'origine signifie que lorsque le navigateur accède aux fichiers statiques sur le cluster CDN, le cache de fichiers expire et pénètre directement dans le cluster CDN pour accéder à la machine d'origine.
Cache CDN
Cache de niveau 3 : cache local du navigateur, cache des nœuds périphériques CDN, cache du site d'origine CDN
Paramètres du cache : si la durée du cache est trop courte, le cache du nœud périphérique CDN échoue souvent, ce qui entraîne des retours d'origine fréquents, augmentant la charge sur le site d'origine, et l'accès est lent si la durée du cache est trop longue, les mises à jour des fichiers ; ; sont lents et le cache local de l'utilisateur ne peut pas être mis à jour à temps. Cela dépend donc de la situation de l'entreprise.
Temps de cache de différents types de ressources statiques
HTML : 3 minutes
JS, CSS : 10 minutes, 1 jour, 30 jours
Version en niveaux de gris CDN
Principe : Dans certaines régions et chez certains opérateurs de certaines régions, les ressources statiques seront d'abord libérées après vérification, elles seront entièrement libérées.
Mise en œuvre : en termes de noms de domaine, configurez des VIP spéciaux pour résoudre les villes et les opérateurs qui doivent être mis en niveaux de gris ; en termes de machines de site d'origine, configurez des machines de site d'origine distinctes pour les villes et les opérateurs en niveaux de gris à résoudre ; ces machines uniques
CDN se prépare pour une grande promotion
Augmenter la bande passante de la salle informatique
Augmenter le trafic des opérateurs
Reprise après sinistre : la durée du cache de l'application CDN est définie entre 10 minutes et 1 heure et sera restaurée après la promotion majeure.
1. Développement hybride
Introduction au cœur et aux avantages des mini-programmes
Vision
À portée de main : les utilisateurs peuvent ouvrir l'application en numérisant ou en recherchant
Utilisez-le et c'est parti : ne vous inquiétez pas d'installer trop d'applications
Avantages techniques
H5 a un seuil de développement inférieur à celui du développement d'applications
Mieux que H5, proche de l'expérience native
De riches fonctionnalités natives telles que la caméra, l'emplacement, le réseau, le stockage, etc.
La liste déroulante supérieure, la recherche, le code QR et d'autres entrées sont faciles à utiliser et disparaissent après utilisation, ce qui est simple et pratique.
Pas besoin de télécharger comme une application, il suffit d'ouvrir et de quitter directement, prend en charge la mise à jour à chaud
noyau sous-jacent
fond d'affaires
Côté plateforme d’application
Monétisation du trafic
Mini programme écologie
Marché de distribution d'applications de classe
Côté application d'entreprise
Le trafic mobile se tarit, le nouveau trafic est un bonus
Résoudre certains des problèmes de difficulté d'acquisition de clients et réduire le coût d'attraction de nouveaux clients
Réduire considérablement les coûts de développement
Plus de possibilités d'essais et d'erreurs dans les affaires
Propositions de sélection
Première sortie : janvier 2017 (mini-programme WeChat)
Github démarre : source fermée
Communauté active : OK
Composants : très riches
Courbe d’apprentissage : très faible
Performances natives : OK
Suggestions complètes : les produits de plate-forme génèrent désormais du trafic vers les commerçants ; plusieurs applications permettent l'interopérabilité commerciale par rapport à RN et Flutter, les petits programmes sont davantage recommandés ;
Introduction au noyau Flutter et à ses avantages
Vision
Une boîte à outils pratique pour une belle expérience de construction qui vous permet de dessiner des pixels n'importe où sur l'écran
Avantages techniques
Écrivez une fois et déployez sur chaque terminal : Web, Android/iOS, Mac/Linux/Windows, Fuchsia OS
La couche inférieure utilise le moteur graphique Skia et les performances graphiques sont comparables à celles des applications natives.
Interface comme une application plein écran ou un jeu 2D
Rapide, utilise des binaires ARM natifs, compile à l'avance, aucune JVM requise
principes sous-jacents
Propositions de sélection
mai 2017
Démarrage de Github : 8.16w (fin 2019)
La communauté est généralement active
Les composants sont des widgets spécialisés et ne sont pas assez riches
La courbe d'apprentissage est relativement élevée, se familiariser à nouveau avec le langage Dart
Le natif est le plus performant
Suggestions complètes : compte tenu des performances, l'entreprise est orientée vers plusieurs terminaux et l'équipe App dispose de suffisamment de personnes, il est recommandé de choisir