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 77
Preguntas 5
Seria genial poder LIKE a clases para que Platzi sepa cuales son las favoritas.
Esta me gusto mucho.
Cuando te enseñan la gestión de paquetes fuera de Platzi
😂😂😂😂😂😂😂😂😂
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.
📋 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*
al momento que escribo este aporte hay (1.182.587) de paquetes en NPM
https://platzi.com/clases/npm/
tambien existe un curso para aprender a manejar NPM.
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 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 😜
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.
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.
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.
Y recuerden amigos. Nunca manden el node_modules a github. Incluyanlo siempre en su .gitignore
// 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))
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.
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**
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'
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?
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
const isOdd = require('is-odd')
console.log(`¿ El número es impar? \n ${isOdd(3)}`)
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!
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
Que buena explicacion de los paquetes de npm
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í!!! 😃
npm es lo que para java es maven?? lo entiendo de esta manera… claro que maven separa los binarios del código fuente.
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?
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.
const isOdd = require ('is-odd');
console.log(!isOdd(4));
//true (es par)
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.
Otro interesante aporte de otro grande, como es Midu, en este caso para ganar espacio de tantas node_modules.
Borra todos los directorios node_modules de tu disco y libera espacio
Un saludo y gracias.
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?
les recomiendo el curso de gestion de dependencia
aqui el link:
https://platzi.com/clases/npm/
Npm i nodemon
¯\_(ツ)_/¯
Sí señores, EFECTIVAMENTE, una de las mejores clases en Platzi. Qué genial contenido!!!
Para todos los que en veces no sepan con que han comentado o como se ha eliminado un linea les dejo el enlace de los shortcuts en windows
Ú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
Profe le queda poca batería, saludos. 😅
Entendí mejor npm con esta clase que con el curso!
NPM es un gestor de paquetes que permite buscar o tener paquetes para diferentes tareas que se requieran ejecutar.
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
Jajajaja el módulo que usa y niega el otro módulo de impares es lo mejor XD
La pagina de npm es el santo grial 😄 para los devs
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))
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>
de los mejores cursos que he visto hasta ahora en platzi
Gran clase y gran profesor.
Además del curso de NPM de la plataforma que han comentado, dejo otro grandísimo complemento cortesía del gran Manz.
Un saludo.
**package.json: conitene toda la información de tu paquete **
a quien se le hay ocurrido el modulo is-even, es un genio!!!
no domina el mundo porque no quiere…xD
is-odd valida si es impar! jejejej
Muy bien explicado, aprovechando el #PlatziDay 💪💪 #Nuncaparesdeaprender
QUE BUENA CLASE!
Tenemos módulos para todo
Explicado perfecto.
Jajaja qué chistoso la negación de lo último 😄
Jajjajajaj muero con esto, me hizo la tarde
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.
Por cierto hay un curso completo de este tema, que es excelente
https://platzi.com/clases/npm/
const isOdd = require('is-odd');
console.log(isOdd(2));
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.