En los programas con un gran consumo de memoria es posible que el recolector de basura entre a funcionar en el peor momento, produciendo que el programa se pueda parar temporalmente. Por eso, llamar al recolector de basura cuando no hay tareas puede aumentar el rendimiento. En JavaScript, a diferencia de otros lenguajes como R en los que existe la función gc(), no existe un … [Leer más...] acerca de Truco: Forzar el recolector de basura en Node
JavaScript
JavaScript es el lenguaje de la web, ya que es el único con el que es posible actualmente crear acciones para modificar el comportamiento de las páginas web. Lenguaje al que siempre son traducidas las instrucciones de otros lenguajes, como TypeScript, y soluciones. Aunque también es posible emplearlo para soluciones en servidores gracias a entornos como Node y Deno. Debido a que cada día es más popular la publicación de informes, de los que se espera cierto dinamismo, y creación de aplicaciones en páginas web, un conocimiento básico de este lenguaje es hoy en día clave.
Las publicaciones de la sección JavaScript versan sobre el propio lenguaje, el uso de librerías genéricas y para la ciencia de datos, uso de entornos como Node y TypeScript.
Truco: Obtener un objeto de una función flecha en JavaScript
Las funciones flecha de JavaScript son una herramienta fantástica para hacer más sencillo y compacto el código. Además de ser clave para que el código sea más legible cuando se trabaja con programación funcional. Aún así, obtener como respuesta un objeto de una función flecha puede ser algo complicado, especialmente si se desea dejar la función solamente en una línea. Veamos a … [Leer más...] acerca de Truco: Obtener un objeto de una función flecha en JavaScript
Reducir el número de dígitos en JSON.stringify()
Posiblemente uno de los métodos más sencillos y eficaces para el intercambio de información compleja entre diferentes sistemas sean las cadenas de texto JSON. Siendo uno de los motivos por el que son tan populares en la actualidad. Existiendo herramientas para trabajar con ellas en Python, Julia y Matlab. Tanto en JavaScript como en TypeScript la función para la creación de … [Leer más...] acerca de Reducir el número de dígitos en JSON.stringify()
Trabajar con varias versiones de Node a la vez
Si trabajas con Node desde hace tiempo es posible que, tras actualizar a la última versión del entorno, te encontrarás con problemas de incompatibilidad de algunos paquetes. Lo que obliga a volver a la versión anterior hasta que este se actualice y solucionen el problema. Algo que puede ser un incordio, especialmente si queremos trabajar con la última versión de Node. Para … [Leer más...] acerca de Trabajar con varias versiones de Node a la vez
Actualizar las dependencias de Node a la última versión de forma automática
Al trabajar en un proyecto con Node generalmente se instala la última versión de los paquetes necesarios. A medida que pasa el tiempo van saliendo nuevas versiones de estos con nuevas funcionalidades, soluciones de errores y parches de seguridad. Pero, si no hacemos nada, las versiones del archivo package.json no se actualizan. Algo que, en el peor de los casos, puede exponer … [Leer más...] acerca de Actualizar las dependencias de Node a la última versión de forma automática
Empaquetar aplicaciones de Node como un binario independiente
Habitualmente la distribución de las aplicaciones creadas con Node se realiza enviando el código fuente y los archivos de configuración. Obligando al receptor a instalar las dependencias para ejecutar el programa. Un método que tiene varias ventajas, como la de poder instalar el programa en diferentes sistemas. Aunque también tiene desventajas, como la de no poder proteger el … [Leer más...] acerca de Empaquetar aplicaciones de Node como un binario independiente
Intersección y diferencia de vectores en JavaScript
Para obtener la implementación de muchos algoritmos es necesario poder calcular la intersección o diferenciación de conjuntos de datos. Una operación que se encuentra en librerías como Pandas. En el caso de JavaScript la operación se puede implementar fácilmente mediante el uso del método filter() y concat(). Veamos a continuación implementaciones para obtener la intersección o … [Leer más...] acerca de Intersección y diferencia de vectores en JavaScript
Obtener los índices para ordenar un vector en JavaScript
La función sort() de Matlab además de devolver los datos ordenados también devuelve la posición de estos en el conjunto original en la nueva lista, algo que es muy útil cuando necesitamos ordenar los elementos de un vector en base a los valores de otro. Por ejemplo, si en un vector tenemos unos nombres y en otro unos valores asociados a los primeros es posible ordenar los … [Leer más...] acerca de Obtener los índices para ordenar un vector en JavaScript
Creación de un único archivo de tipos de una librería TypeScript
El año pasado publiqué una serie de entradas en las que explicaba un proceso para estructurar y crear una librería TypeScript. Explicando al final de esta un proceso para crear con Webpack un único archivo JavaScritp con toda la librería. Lo que nos permite usar el código creado en navegador y otros proyectos JavaScritp. El único problema de este archivo es que perdemos las … [Leer más...] acerca de Creación de un único archivo de tipos de una librería TypeScript
Truco: Aumentar la memoria máxima en Node
Al ejecutar un proceso de Node que sea intensivo en memoria nos podemos encontrar que este finalice de una forma abrupta con un mensaje similar a FATAL ERROR: invalid table size Allocation failed - JavaScript heap out of memory. Lo que nos indica que este se ha quedado sin memoria. Generalmente esto no es debido a que el ordenador se quede sin memoria, sino a que se ha … [Leer más...] acerca de Truco: Aumentar la memoria máxima en Node
Uso de GPU en JavaScript para mejorar el rendimiento
Actualmente la mayoría de los ordenadores cuentan tanto con CPUs como GPUs. Hasta hace poco las GPUs, a pesar de ser unos procesadores cada vez más potentes, solamente se utilizaban en juegos y otras aplicaciones que requerían realizar pesados cálculos gráficos. Actualmente la aparición de librerías como CUDA permite el uso de estos procesadores en aplicaciones de propósito … [Leer más...] acerca de Uso de GPU en JavaScript para mejorar el rendimiento
Localizar la palabra más larga en una cadena de texto en JavaScript
En esta ocasión vamos a ver cómo se puede resolver un problema que a primera vista parece sencillo: localizar la palabra más larga en una cadena de texto. Para conseguir este objetivo va a ser necesario separar las palabras, ignorando los signos de puntuación, y medir la longitud de estas. Para lo que vamos a utilizar expresiones regulares en JavaScript.Paso 1: eliminar los … [Leer más...] acerca de Localizar la palabra más larga en una cadena de texto en JavaScript