Seria genial poder LIKE a clases para que Platzi sepa cuales son las favoritas.
Esta me gusto mucho.
Conocer los conceptos básicos de NodeJS
Instalación de Node.js
Node: orígenes y filosofía
EventLoop: asíncrona por diseño
Monohilo: implicaciones en diseño y seguridad
Configurar las variables de entorno en Node.js
Herramientas para ser más felices: Nodemon y PM2
Cómo manejar la asincronía
Callbacks
Callback Hell: refactorizar o sufrir
Promesas
Async/await
Entender los módulos del core
Globals
File system
Console
Errores (try / catch)
Procesos hijo
Módulos nativos en C++
HTTP
OS
Process
Utilizar los módulos y paquetes externos
Gestión de paquetes: NPM y package.json
Construyendo módulos: Require e Import
Módulos útiles
Datos almacenados vs en memoria
Buffers
Streams
Conocer trucos que no quieren que sepas
Benchmarking (console time y timeEnd)
Debugger
Error First Callbacks
Manejar herramientas con Node
Scraping
Automatización de procesos
Aplicaciones de escritorio
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 75
Preguntas 6
Seria genial poder LIKE a clases para que Platzi sepa cuales son las favoritas.
Esta me gusto mucho.
😂😂😂😂😂😂😂😂😂
Existe un modulo que valida si es par, y otro para validar si no es par pues utiliza el modulo de par y lo niega JAJAJA
Ahora entiendo porque node_modules siempre están pesado, por las dependencias de cada paquete y las dependencias de las dependencias, etc (Hay cientos de memes de esta carpeta JAJA).
Debemos tener cuidado a la hora de elegir un paquete, pues vamos a depender de éste, así que es mejor que esta dependencia tenga buen soporte, buenas actualizaciones y ya haya sido ampliamente testeado por muchos usuarios.
Npm install el pan de cada dia
npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.
Podemos buscar modulos para casi todo en:
// Para instalar un modulo de npm en nuestro proyecto
$ npm install is-odd
// Para requerir el modulo
const isOdd = require('is-odd');
console.log(isOdd(3)); // true
// Para revisar que los paquetes no estan actualizados a nivel global dentro de nuestro proyecto
npm outdated -g --depth=0
/*
Va a imprimir algo así:
Package Current Wanted Latest Location
firebase-tools 8.0.1 8.0.2 8.0.2 global
npm 6.13.7 6.14.4 6.14.4 global
*/
// Para actualizar todos los paquetes a nivel global dentro del proyecto
npm update -g
Les recomiendo el curso de NPM, es corto y explica de forma mas profunda su uso. inclusive de como crear paquetes.
Se los dejo aquí
Me cae bienn este maestro jajaja
Comando más usados de npm
#Iniciar un proyecto
npm init
#Iniciar un proyecto con configuración automática
npm init -y
#Instalar dependencias para producción
npm install nombreDelPaquete --save
#Alternativa 2 de Instalar dependencias para producción o desarrollo
npm i nombreDelPaquete -S
#Instalar dependencias para desarrollo
npm install nombreDelPaquete --save-dev # npm i nombreDelPaquete -D
#Instalar dependencias de manera global
npm install -g nombreDelPaquete # npm i -g nombreDelPaquete
#Instalar una versión especifica de una dependencia
npm install -g [email protected]
#Desinstalar dependencias
npm uninstall nombreDelPaquete
#Ver dependencias desactualizadas
npm outdate
#Actualizar las dependencias desactualizadas
npm update
En caso de que estén utilizando Git para controlar los archivos en el proyecto. Ejecuten la siguiente línea para crear el gitignore:
npx gitignore node
Esto creará un archivo gitignore para evitar subir cosas de node que no deberían ir en el repo.
al momento que escribo este aporte hay (1.182.587) de paquetes en NPM
📋 NPM es un gestor de paquetes.
Tampoco vamos a instalar muchísimos paquetes, pero tener los necesarios y mantenerlos al día nos ayudará.
Para iniciar NPM utilizamos los comandos:
npm init
Y para instalar un paquete:
npm install *paquete*
No tenemos que tener todo en la cabeza y el min 7:52 es la prueba. Hasta a este tremendo profe se le olvida la sintaxis 😜
https://platzi.com/clases/npm/
tambien existe un curso para aprender a manejar NPM.
Y recuerden amigos. Nunca manden el node_modules a github. Incluyanlo siempre en su .gitignore
Debemos tener cuidado con los paquetes que instalamos, que no tengan vulnerabilidades o por lo menos no de nivel high, ya que eso puede comprometer la seguridad de nuestro software
No me explico como este profesor no es tan conocido en la comunidad de platzi si es muy bueno, e visto antes clases de npm donde modificas el package.json y no lo hacen ver tan sencillo como Carlos Hernandez. Un 10 para este profe.
Si les interesa profundizar en el manejo de paquetes con NPM el Curso de Gestión de Dependencias y Paquetes con NPM de Oscar está muy bueno.
Jajaja el que creó el paquete de isEven se llevó el paquete de isOdd 🤣️
Haber utilizado distribuciones Linux desde hace muchos años me ha facilitado un poco esto.
NPM es un gestor de paquetes que son creados por terceros, utilizados por cualquier persona. Estos paquetes pueden llegar a ser tan simples como la suma de dos números o tan complejos como react.js framework de frontend.
Al utilizar un paquete de npm debemos tener presente que algunos paquetes dependen de otro paquetes y esto puede llegar a ser riesgoso si el paquete que estamos utilizando no están actualizados.
Es un archivo que se crea con el fin de tener información valiosa de nuestro proyecto, en el podemos visualizar como el nombre del proyecto, el autor, que versión esta, que palabras clave contiene o lo referencia, si tiene un repositorio en github, y lo mas importante que dependencia esta usando.
¯\_(ツ)_/¯
Siempre me pregunte como hacer para saber si tal o cual paquete ya existe. Es decir me planteo X situacion y quizas en vez de romperse la cabeza para solucionarlo existe tal paquete.
Digamos la busqueda en si, sera compleja?
Existen muchos paquetes funcionales que provienen de npm, estos paquetes pueden tener muchos otros paquetes como dependencias y es importante para la seguridad de mi código revisar los paquetes que voy a utilizar en aspectos como:
0.algo
.Estas validaciones se hacen para estar seguros de que vamos a utilizar un paquete que este bien cuidado y no vaya a generar dolores de cabeza luego.
Cuando necesitamos utilizar un paquete la forma adecuada de hacer la instalación de un paquete de npm
es la siguiente:
npm install <package-name>
Como recomendación adicional, es preferible tener el proyecto que se va a trabajar inicializado con npm de la siguiente forma:
npm init
Esto pedirá información del proyecto que se puede llenar y luego se va a crear un archivo package.json
, que tiene toda la información del proyecto. Cuando se instala un paquete externo, va a aparecer en el archivo mencionado como una dependencia del mismo.
// Package.json
{
"name": "npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "MIT",
"dependencies": {
"is-odd": "^3.0.1"
}
}
// Package.json
Si se quiere utilizar el módulo instalado, se debe crear un archivo .js
y dentro de este hacer lo siguiente:
const isOdd = require('is-odd') //Importación del paquete
console.log(isOdd(4)) // Utilización del paquete 'is-odd'
Esta es una de las clases que mas me ha gustado recibir porque explica bien lo que haremos como programadores y el profesor es increíble!
// Gestion de paquete NPM/package.json
// Basico en el mundo de node js los paquetes/modulos que agregamos.
// npm init
// npm install
// Como requerir un package externo.
const isOdd = require('is-odd');
console.log(isOdd(2))
const isOdd = require('is-odd')
console.log(`¿ El número es impar? \n ${isOdd(3)}`)
Me encanto el como explica las dependencias, y donde obtnerlas para ver su documentacion y entender que hacen, esto es algo que se deberia hacer mas seguido entre los cursos
npm (Node Package Manager) es un administrador de paquetes que permiten ejecutar funciones ya realizadas y validadas y de esta manera acelerar y asegurar la calidad de neustro proceso de desarrollo.
Ojala Carlos hubiera sido mi maestro de JS cuando empece hace 3 año como developer. De haber sido asi, hubiera amado JS desde el principio y no hubiera tenido ciertos traumas por las malas enseñanzas.
Criterios a verificar al momento de descargar un paquete para el proyecto:
**- no tenga la versión 0. y algo
-✔️ que no tenga muchos issues o pull requests abiertos
-✔️ verificar las descargas mensuales o semanales**
const isOdd = require('is-odd');
console.log(isOdd(2));
const isOdd = require ('is-odd');
console.log(!isOdd(4));
//true (es par)
Sí señores, EFECTIVAMENTE, una de las mejores clases en Platzi. Qué genial contenido!!!
Me gusto bastante la explicación al mostrarnos cómo funcionan los paquetes de npm, como se crean las dependencias y su uso en un archivo JS. Muchas gracias por la clase instructor Carlos.
Me parecen excelentes este tipo de clases en donde se desmenusa todo el contenido y se explica como es que funciona cada pequeña parte de lo que hacemos, en mi opinión es la mejor manera de aprender… Comprendiendo como funciona cada cosa. Un aplauso por más clases así!!! 😃
a quien se le hay ocurrido el modulo is-even, es un genio!!!
no domina el mundo porque no quiere…xD
Las aplicaciones con tanto paquete queda muy pesada?
Se actualizan de forma automática después de instalados o se debe hacer un proceso de actualización?
Npm i nodemon
npm es lo que para java es maven?? lo entiendo de esta manera… claro que maven separa los binarios del código fuente.
les recomiendo el curso de gestion de dependencia
aqui el link:
https://platzi.com/clases/npm/
Me quedó una duda, cada que vaya a instalar un paquete, debo eliminar el archivo que genera “package.lock.json” y continuar el proceso con el init?
Y En caso de que quiera usar mas de un paquete como debo organizarlos en las carpetas?
Para que puedan hacer el mismo ejemplo del profesor, les digo que el paquete is-odd ya no existe, pero existe otro el cuál se llama isoddmaster el cual ya hasta compara si es impar o par.
Lo instalas con el siguiente comando:
npm install isoddmaster
Y lo utilizas de la siguiente manera:
const isOdd = require("isoddmaster");
console.log(isOdd(7));
console.log(isOdd("8"));
Nota: Probablemente, en un tiempo hasta deje de existir este paquete, así que te animo a buscar uno por tu cuenta persona del futuro. :3
Jajajaja el modulo is-even usa is-odd, no mames, para eso lo creamos nosotros mismos.
function isEven(number) {
return !isOdd(number)
}
O hasta podemos resumirlo:
console.log(!isOdd(number))
Que buena explicacion de los paquetes de npm
Jajjajajaj muero con esto, me hizo la tarde
Jajaja qué chistoso la negación de lo último 😄
**package.json: conitene toda la información de tu paquete **
gracias a un aporte anterior busqué si aún is-odd sigue vigente pero no ahora el paquete que hace esta operación es is-odd-num
Returns true if the given number is odd, and is an integer that does not exceed the JavaScript MAXIMUM_SAFE_INTEGER.
Se instala de la siguiente forma:
$ npm install --save is-odd-num
Se puede usar con strings o numeros
const isOdd = require('is-odd-num');
console.log(isOdd('1')); //=> true
console.log(isOdd('3')); //=> true
console.log(isOdd(0)); //=> false
console.log(isOdd(2)); //=> false
<code>
Tenemos módulos para todo
Explicado perfecto.
Es increíble la variedad de módulos que hay, solo aguas ⚠!! algunos tienen bugs y pueden provocar vulnerabilidades. Es algo que debemos tener en cuenta.
Muy bien explicado, aprovechando el #PlatziDay 💪💪 #Nuncaparesdeaprender
is-odd valida si es impar! jejejej
de los mejores cursos que he visto hasta ahora en platzi
La pagina de npm es el santo grial 😄 para los devs
NPM es un gestor de paquetes que permite buscar o tener paquetes para diferentes tareas que se requieran ejecutar.
NPM (Node Package Manager):
NPM es el sistema de gestión de paquetes para Node.js que facilita la instalación, gestión y compartición de bibliotecas y herramientas. Aquí está la información sobre los paquetes mencionados:
is-odd:
Descripción: Un paquete NPM que proporciona una función para verificar si un número es impar.
Uso:
npm install is-odd
const isOdd = require('is-odd');
console.log(isOdd(3)); // true
console.log(isOdd(4)); // false
is-even:
Descripción: Un paquete NPM que proporciona una función para verificar si un número es par.
Uso:
npm install is-even
const isEven = require('is-even');
console.log(isEven(4)); // true
console.log(isEven(3)); // false
Estos paquetes son ejemplos simples que ofrecen funciones para verificar si un número es par o impar. Puedes instalarlos utilizando el comando npm install
seguido del nombre del paquete, y luego utilizar las funciones proporcionadas en tu código. Estos son solo ejemplos y hay una amplia variedad de paquetes disponibles en el registro de NPM para diferentes propósitos y funcionalidades.
Este profesor es el mejor con el que me he topado en Platzi, lo digo por la pedagogía para enseñar un tema tan complejo
Últimamente utilizo PNPM como gestor de paquetes, porque reutiliza dependencias entre paquetes para no instalarlas nuevamente y ocupar más espacio en disco.
Depender de librerías al 100% en tu proyecto? deberías de pensarlo dos veces y/o asegurarte de que esas librerías no van a desaparecer de la noche a la mañana.
El escándalo mas sonado fue la de la librería Faker.js
la cual era utilizada por muchas empresas y donde miles de proyectos dejaron de funcionar por depender de esta lbrerìa.
Este curso es el mejor que he tomado. Me he divertido mucho. Sobre todo la seccion de modulos, lo mejor del curso
Entendí mejor npm con esta clase que con el curso!
Jajajaja el módulo que usa y niega el otro módulo de impares es lo mejor XD
Gran clase y gran profesor.
QUE BUENA CLASE!
Por cierto hay un curso completo de este tema, que es excelente
https://platzi.com/clases/npm/
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?