Galleria mappe mentale Ottimizzazione delle prestazioni del full-link front-end e ottimizzazione del processo di sviluppo di ricerca e sviluppo
Ottimizzazione delle prestazioni del collegamento completo front-end: ottimizzazione del processo di ricerca e sviluppo, incluso sviluppo ibrido, CDN/DNS, HTTP, cookie, server, HTTPS, HTTP-2, ecc. per ottimizzare il processo di ricerca e sviluppo e sviluppo.
Modificato alle 2021-01-01 19:46:28個人求職簡歷模板的暗黑配色方案,包括個人簡介、職業規劃、行業經驗、自我評價等多個部分,讓你的簡歷更出彩。使用模板可以極大地提高效率,用戶不需要從頭開始設計結構和內容,只需在模板的基礎上填寫或添加自己的信息即可,這樣可以節省大量的時間和精力,歡迎參考使用!持續分享給大家……
Se non sai come scrivere un articolo, sarai nei guai come manager dei sistemi informativi. Una guida passo passo su come scrivere un documento sulla gestione del rischio. Se ne hai bisogno, ritiralo velocemente!
Il programma dietetico formula un programma dietetico scientifico e ragionevole per soddisfare i nutrienti e l'energia richiesti dal corpo, mantenendo così una buona salute e una buona postura.
個人求職簡歷模板的暗黑配色方案,包括個人簡介、職業規劃、行業經驗、自我評價等多個部分,讓你的簡歷更出彩。使用模板可以極大地提高效率,用戶不需要從頭開始設計結構和內容,只需在模板的基礎上填寫或添加自己的信息即可,這樣可以節省大量的時間和精力,歡迎參考使用!持續分享給大家……
Se non sai come scrivere un articolo, sarai nei guai come manager dei sistemi informativi. Una guida passo passo su come scrivere un documento sulla gestione del rischio. Se ne hai bisogno, ritiralo velocemente!
Il programma dietetico formula un programma dietetico scientifico e ragionevole per soddisfare i nutrienti e l'energia richiesti dal corpo, mantenendo così una buona salute e una buona postura.
Ottimizzazione delle prestazioni del full-link front-end e ottimizzazione del processo di sviluppo di ricerca e sviluppo
4. HTTP: come ridurre il numero di richieste HTTP?
Sprite CSS
Le immagini utilizzano DataURL, Web Font
Unione di file JS/CSS
Combinazione di richieste JS/CSS
Unione delle interfacce
Archiviazione dell'interfaccia LocalStorage
Archiviazione di risorse statiche LocalStorage
5. Cookie: strategie e vantaggi derivanti dalla riduzione delle dimensioni dei cookie
Strategia
Imposta la whitelist sulla home page del sito Web principale
Elimina periodicamente i cookie non inseriti nella whitelist
beneficio
Ridurre le dimensioni di trasferimento tra le pagine
Gestire in modo efficace i cookie
6. Server
Soluzioni di configurazione e ottimizzazione della cache
Scade
definizione
L'intestazione della risposta contiene la data/ora dopo la quale la risposta scade
Una data non valida, come 0, rappresenta una data passata, ovvero la risorsa è scaduta
Se la direttiva "max-age" o "s-max-age" è impostata nell'intestazione della risposta Cache-Control, l'intestazione Expires verrà ignorata.
grammatica:
Scadenza: mar 17 dic 2019 07:01:44 GMT
Esempio:
Scadenza: mar 17 dic 2019 07:01:44 GMT
Controllo della cache
definizione
Un campo di intestazione generale del messaggio che implementa il meccanismo di memorizzazione nella cache specificando le istruzioni. Le direttive di memorizzazione nella cache sono unidirezionali, il che significa che le direttive impostate nella richiesta non sono necessariamente incluse nella risposta.
grammatica
Cache-Control: max-age=[Imposta il periodo massimo per l'archiviazione della cache Dopo questo tempo, la cache viene considerata scaduta (in secondi). Contrariamente a Expires, l'orario è relativo all'orario della richiesta]
Esempio
Controllo cache: età massima = 600
ETag
definizione
Un'intestazione di risposta HTTP è un identificatore per una versione specifica di una risorsa. Ciò rende la memorizzazione nella cache più efficiente e consente di risparmiare larghezza di banda perché il server Web non ha bisogno di inviare una risposta completa se il contenuto non è cambiato. E se il contenuto cambia, l'utilizzo di ETag aiuta a evitare che gli aggiornamenti simultanei delle risorse si sovrascrivano a vicenda.
Se si verifica una modifica volontaria in un determinato URL, è necessario generare un nuovo valore ETag. Pertanto gli ETag sono simili alle impronte digitali e possono essere utilizzati anche per il tracciamento da parte di alcuni server. Il confronto degli ETag può determinare rapidamente se questa risorsa è cambiata, ma può anche essere mantenuta in modo permanente monitorando i server
grammatica:
ETag: "<valore_etag>"
Esempio
ETag: "<5c6ccc12-1d45>"
Ultima modifica
Lat-Modified è un'intestazione di risposta che contiene la data e l'ora in cui la risorsa identificata dal server di origine è stata modificata. Viene spesso utilizzato come validatore per determinare se le risorse ricevute o archiviate sono coerenti tra loro. Questo è un meccanismo di fallback poiché è meno accurato di ETag. Le richieste condizionali contenenti intestazioni If-Modified-Since o If-Unmodified-Since utilizzeranno questo campo
grammatica
Ultima modifica: <nome-giorno>, <giorno>, <mese>, <anno>, <ora>: <minuto>: <secondo> GMT
Esempio
Ultima modifica: Web, 20 febbraio 2019 03:40:02 GMT
Data
definizione:
La data è un'intestazione comune che contiene la data e l'ora in cui è stato creato il messaggio
grammatica
Data: <nome-giorno>, <giorno>, <mese>, <anno>, <ora>: <minuto>: <secondo> GMT
Esempio
Data: martedì 17 febbraio 2019 03:40:02 GMT
Stato
definizione
I codici di stato della risposta HTTP indicano se una specifica richiesta HTTP è stata completata correttamente. Le risposte sono divise in cinque categorie: risposte informative (100 - 199), risposte riuscite (200 - 299), reindirizzamenti (300 - 399), errori client (400 - 499) ed errori server (500 - 599)
Esempio
Stato: 200
Come abilitare e configurare la compressione gzip
beneficio
Comprimi testo (HTML/CSS/JS)
Nessuna compressione per elementi non testuali (jpg/gif/png)
Rapporto di compressione circa 50% - 70%
Metodo di configurazione
Configurazione Nginx: il file nginx.conf aggiunge gzip
Configurazione di Apache: AddOutputFilterByType e AddOutputFilter
Rilevamento della validità
Intestazione della risposta Controlla se è presente Content-Encoding: gzip, il che significa che gzip è attivato sul server.
7. HTTPS: come abilitare HTTPS per l'intero sito
concetto di base
HTTPS, HyperText Transfer Protocol Secure, è un protocollo di trasferimento per la comunicazione sicura su reti di computer
HTTPS comunica su HTTP ma utilizza SSL/TLS per la crittografia dei dati
Lo scopo principale di HTTPS è fornire l'autenticazione dell'identità del server e proteggere la privacy e l'integrità dei dati.
principio di funzionamento
Il browser avvia una richiesta HTTPS
Certificato di trasferimento
Il browser analizza il certificato
Invia informazioni crittografate
Il server decodifica le informazioni
Trasferisci informazioni crittografate
Il browser decodifica le informazioni
vantaggio
SEO
Sicurezza
strumento
Certificato di acquisto del rivenditore
GoGetSSL
SSLs.com
SSLmate.com
Certificato di prova locale
Installazione HomeBrew locale: brew installa mkcert
Installa il certificato root localmente: $ mkcert --install
Genera firma localmente: $mkcert 123.com //Genera certificato per 123.com
Configurazione nginx locale
8. HTTP-2: quali sono i vantaggi dell'aggiornamento di HTTP-2? Come aggiornare?
Concetti HTTP/2
HTTP/2 (Hypertext Transfer Protocol versione 2, originariamente denominato HTTP 2.0), denominato h2 (connessione crittografata basata su TLS/1.2 o superiore) o h2c (connessione non crittografata), è la seconda versione principale del protocollo HTTP.
Vantaggi HTTP/2
Trasferisci i dati in formato binario
Multiplexing, che consente di effettuare più richieste su una singola connessione HTTP/2
Compressione dell'intestazione, volume di trasmissione ridotto
Server Push, il server può inviare risorse al client più velocemente
Vantaggi dei siti HTTP/2
Può ridurre la pressione del server
Migliora la velocità di accesso al sito web
Mantieni il tuo sito web sicuro
Abilita HTTP/2 su Nginx
Aggiorna OpenSSL: versione $ openssl
Ricompilare
$ cd nginx-xxx
$ ./configure --with-http_ssl_module --with-http_v2_module
$ crea && crea installazione
Verifica HTTP/2
Controlla nel browser per vedere se c'è un piccolo lucchetto verde
Schermata della richiesta del browser
3. DNS: quali sono i principali metodi di ottimizzazione DNS?
definizione
Domain Name System è un database distribuito che associa tra loro i nomi di dominio e gli indirizzi IP dei siti Web, semplificando l'accesso a Internet.
Elaborazione del cliente
Modulo DNS Android (okhttp)
Supporta HTTP/2. HTTP/2 supporta la concorrenza su una singola connessione TCP utilizzando la tecnologia multiplex per inviare o ricevere dati inviando più richieste contemporaneamente su una singola connessione.
Se HTTP/2 non è disponibile, la tecnologia di riutilizzo del pool di connessioni può anche ridurre notevolmente la latenza
Supporta GZIP per comprimere le dimensioni del download
La memorizzazione nella cache corrispondente può evitare completamente richieste di rete ripetute
Se il server è configurato con più indirizzi IP, quando la prima connessione IP fallisce, OkHttp proverà automaticamente l'IP successivo
Modulo DNS iOS (autosviluppato)
All'avvio, l'app memorizza nella cache tutti i nomi di dominio e gli IP che possono essere utilizzati e li elabora in modo asincrono. Il client non ha bisogno di ottenere i risultati memorizzati nella cache.
Se è presente una cache per questo nome di dominio nella cache, l'IP memorizzato nella cache verrà restituito direttamente.
Se questo nome di dominio non è nella cache, applicalo nuovamente al SERVER HTTPDNS e il risultato verrà restituito in questo callback.
Elaborazione front-end
Limite di concorrenza del browser, distribuzione impostata su più nomi di dominio
Accesso utente: Java, PHP e altre interfacce API
Pagine e stili: HTML/CSS/JS
Immagini: jpg, png, gif, ecc.
2. CDN: come configurare correttamente la cache CDN?
definizione
Content Delivery Network (CDN) utilizza il server più vicino a ciascun utente per inviare file alla rete di distribuzione degli utenti in modo più rapido e affidabile.
vantaggio
Accelerazione: agli utenti verranno assegnati nodi server più vicini e più fluidi per trasmettere i dati agli utenti.
Basso costo: i server sono collocati in luoghi diversi, riducendo il traffico di interconnessione e riducendo i costi della larghezza di banda.
Elevata disponibilità: quando un server si guasta, vengono chiamati automaticamente i server nelle aree vicine
CDN torna all'origine
Back-to-origin significa che quando il browser accede a file statici sul cluster CDN, la cache dei file scade e penetra direttamente nel cluster CDN per accedere alla macchina di origine.
cache della CDN
Cache di livello 3: cache locale del browser, cache del nodo edge CDN, cache del sito di origine CDN
Impostazioni della cache: se il tempo della cache è impostato su un valore troppo breve, la cache del nodo perimetrale della CDN spesso fallisce, con conseguenti frequenti ritorni all'origine, aumento del carico sul sito di origine e l'accesso è lento se il tempo della cache è impostato troppo lungo, aggiornamenti dei file sono lenti e la cache locale dell'utente non può essere aggiornata in tempo, quindi dipende dalla situazione aziendale.
Tempo di memorizzazione nella cache di diversi tipi di risorse statiche
HTML: 3 minuti
JS, CSS: 10 minuti, 1 giorno, 30 giorni
Versione in scala di grigi CDN
Principio: in alcune regioni e in alcuni operatori in alcune regioni, le risorse statiche verranno rilasciate prima dopo la verifica, verranno rilasciate per intero.
Implementazione: in termini di nomi di dominio, impostare VIP speciali per risolvere le città e gli operatori che devono essere in scala di grigio; in termini di macchine del sito di origine, configurare macchine del sito di origine separate per città e operatori in scala di grigio, città in scala di grigio e operatori a cui risolvere; queste macchine uniche
CDN si prepara per una grande promozione
Aumentare la larghezza di banda della sala computer
Aumentare il traffico degli operatori
Ripristino di emergenza: il tempo di cache dell'applicazione CDN è impostato da 10 minuti a 1 ora e verrà ripristinato dopo la promozione principale.
1. Sviluppo ibrido
Introduzione al nocciolo della questione e ai vantaggi dei mini programmi
Visione
A portata di mano: gli utenti possono aprire l'app eseguendo la scansione o la ricerca
Usalo e vai: non preoccuparti di installare troppe app
Vantaggi tecnici
H5 ha una soglia di sviluppo inferiore rispetto allo sviluppo di app
Meglio di H5, vicino all'esperienza nativa
Ricche funzionalità native come fotocamera, posizione, rete, archiviazione, ecc.
Il menu a discesa superiore, la ricerca, il codice QR e altri ingressi sono facili da usare e scompaiono dopo l'uso, il che è semplice e conveniente.
Non è necessario scaricare come un'app, basta aprire ed uscire direttamente, supporta l'aggiornamento a caldo
nocciolo sottostante
sfondo aziendale
Lato piattaforma app
Monetizzazione del traffico
Mini programma ecologia
Mercato della distribuzione delle applicazioni di classe
Lato applicazione aziendale
Il traffico mobile si sta prosciugando, il nuovo traffico è un vantaggio
Risolvere alcuni problemi di difficoltà nell'acquisizione di clienti e ridurre i costi per attirare nuovi clienti
Ridurre drasticamente i costi di sviluppo
Maggiori opportunità per tentativi ed errori negli affari
Suggerimenti per la selezione
Primo rilascio: gennaio 2017 (mini programma WeChat)
Inizio di Github: sorgente chiusa
Comunità attiva: OK
Componenti: molto ricco
Curva di apprendimento: molto bassa
Prestazioni native: OK
Suggerimenti completi: i prodotti della piattaforma ora hanno un output di traffico verso i commercianti; più app consentono l'interoperabilità aziendale rispetto a RN e Flutter, i piccoli programmi sono più consigliati;
Introduzione al nucleo e ai vantaggi di Flutter
Visione
Un pratico kit di strumenti per una fantastica esperienza di costruzione che ti consente di disegnare pixel ovunque sullo schermo
Vantaggi tecnici
Scrivi una volta e distribuisci su ciascun terminale: Web, Android/iOS, Mac/Linux/Windows, sistema operativo Fuchsia
Il livello inferiore utilizza il motore grafico Skia e le prestazioni grafiche sono paragonabili alle applicazioni native.
Interfaccia come un'app a schermo intero o un gioco 2D
Veloce, utilizza binari ARM nativi, compila in anticipo, non è richiesta JVM
principi sottostanti
Suggerimenti per la selezione
Maggio 2017
Inizio Github: 8.16w (fine 2019)
La comunità è generalmente attiva
I componenti sono widget specializzati e non sono abbastanza ricchi
La curva di apprendimento è relativamente alta, acquisendo nuovamente familiarità con il linguaggio Dart
Il nativo offre le migliori prestazioni
Suggerimenti esaurienti: considerando le prestazioni, l'azienda è orientata a più terminali e il team dell'app ha abbastanza persone, si consiglia di scegliere