


Pour les développeurs qui découvrent le framework Node.js, ils peuvent penser que le module Buffer est plus facile à apprendre et moins important. En fait, le module Buffer est largement utilisé dans les E/S de fichiers et les E/S réseau. Ses performances de traitement binaire sont bien supérieures à celles des chaînes ordinaires et son importance est très importante. Ci-dessous, nous démontrons aux lecteurs à travers une routine le processus d'épissage à l'aide de la méthode buf.concat().
Le code principal de ch04.buffer-concat.js dans cet exemple est le suivant :
/** * ch04.buffer-concat.js */ console.info("------ Buffer concat vs String concat ------"); console.info(); /** * define variable * @type {Buffer} */ var buf = new Buffer("this is Buffer concat test!"); var str = "this is String concat test!"; /** * start record time */ console.time("buffer concat test!"); var list = []; var len = 100000 * buf.length; for(var i=0; i<100000; i++){ list.push(buf); len += buf.length; } /** * Buffer 对象拼接 */ var s1 = Buffer.concat(list, len).toString(); console.timeEnd("buffer concat test!"); console.info(); console.time("string concat test!"); var list = []; for(var i=100000; i>=0; i--) { list.push(str); } /** * String 对象拼接 * @type {string} */ var s2 = list.join(""); console.timeEnd("string concat test!"); /** * end record time */ console.info(); console.info("------ Buffer concat vs String concat ------");
【Analyse du code】
La 10ème ligne de code définit un objet Buffer, le nom de la variable est buf et initialise une chaîne data ("thisis Buffer concat test!"); la 11ème ligne de code définit une variable chaîne str et l'initialise Une chaîne data ("thisis String concat test!"); du début de la 15ème ligne de code à la fin de la 26ème ligne de code, une période d'enregistrement par intervalle de temps est terminée via console.time() et console.timeEnd( ) méthodes ; 16e à 21e La ligne de code définit une variable de tableau list[] et utilise la variable buf pour initialiser la variable de tableau ; la ligne de code 25 re-épisse les codes du tableau list[] dans un objet Buffer ; Méthode Buffer.concat(list,len) , la description syntaxique de la méthode Buffer.concat(list,len) est la suivante :
Syntaxe : Buffer.concat(list,[totalLength])
Description du paramètre :
list{Array} : type de tableau, Tableau tampon, utilisé pour être connecté
totalLength : type {Number}, la taille totale du premier paramètre Objet du tableau Buffer
Cette méthode renvoie un objet tampon qui enregistre l'épissage de tous les objets tampon dans le tableau tampon entrant ; si le tableau entrant n'a pas de contenu, ou si le paramètre totalLength est 0, un tampon de longueur nulle sera renvoyé s'il y en a ; n'est qu'un élément dans le tableau, alors le premier élément sera renvoyé ; s'il y a plus d'un élément dans le tableau, alors une nouvelle instance d'objet Buffer sera créée si le paramètre totalLength n'est pas fourni, bien que la lecture le soit ; calculé à partir de la récupération du tableau tampon, mais une boucle supplémentaire sera ajoutée pour calculer la longueur, donc fournir un paramètre totalLength explicite accélérera l'exécution de la méthode Buffer.concat()
;Comme le montrent les résultats présentés sur la figure, le temps nécessaire à l'épissage à l'aide de la méthode Buffer.concat(list,len) est de 48 ms.
Fonction d'épissage d'objet tampon
Remarque : Le deuxième paramètre totalLength de la méthode Buffer.concat(list, [totalLength]) est spécial. Le totalLength ici n'est pas la longueur du tableau mais la taille totale des instances Buffer dans. le tableau.
Ce qui précède est le deuxième extrait de code pratique de Node.js, j'espère qu'il sera utile à l'apprentissage de chacun.

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

Des fonctions JavaScript simples sont utilisées pour vérifier si une date est valide. fonction isValidDate (s) { var bits = s.split ('/'); var d = new Date (bits [2] '/' bits [1] '/' bits [0]); return !! (d && (d.getMonth () 1) == bits [1] && d.getDate () == Number (bits [0])); } //test var

Cet article explique comment utiliser jQuery pour obtenir et définir les valeurs de marge et de marge intérieures des éléments DOM, en particulier les emplacements spécifiques de la marge extérieure et des marges intérieures de l'élément. Bien qu'il soit possible de définir les marges intérieures et extérieures d'un élément à l'aide de CSS, l'obtention de valeurs précises peut être délicate. // installation $ ("div.header"). CSS ("marge", "10px"); $ ("div.header"). css ("padding", "10px"); Vous pourriez penser que ce code est

Cet article explore dix onglets jQuery exceptionnels et accordéons. La principale différence entre les onglets et les accordéons réside dans la façon dont leurs panneaux de contenu sont affichés et cachés. Plongeons ces dix exemples. Articles connexes: 10 plugins de l'onglet jQuery

Découvrez dix plugins jQuery exceptionnels pour élever le dynamisme et l'attrait visuel de votre site Web! Cette collection organisée offre diverses fonctionnalités, de l'animation d'image aux galeries interactives. Explorons ces outils puissants: Related Posts: 1

HTTP-Console est un module de nœud qui vous donne une interface de ligne de commande pour exécuter les commandes HTTP. C'est idéal pour le débogage et voir exactement ce qui se passe avec vos demandes HTTP, qu'elles soient faites contre un serveur Web, Web Serv

Ce tutoriel vous montre comment intégrer une API de recherche Google personnalisée dans votre blog ou site Web, offrant une expérience de recherche plus raffinée que les fonctions de recherche de thème WordPress standard. C'est étonnamment facile! Vous pourrez restreindre les recherches à Y

L'extrait de code jQuery suivant peut être utilisé pour ajouter des barres de défilement lorsque le contenu DIV dépasse la zone de l'élément de conteneur. (Pas de démonstration, veuillez le copier directement sur Firebug) // d = document // w = fenêtre // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ('# c


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver CS6
Outils de développement Web visuel

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel
