Node, SQL y PostgreSQL : desarrollo web backend [1/2] | David Katz | Skillshare

Velocidad de reproducción


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Node, SQL y PostgreSQL : desarrollo web backend [1/2]

teacher avatar David Katz, Software Engineer - Coding Instructor

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

20 lecciones (2h 10min)
    • 1. Qué esperar del curso

      1:40
    • 2. Opcional: instalación de nodo

      2:40
    • 3. Opcional: instalación de código

      2:59
    • 4. ¿Qué es Node.js?

      6:06
    • 5. NPM, módulos y un programa de nodos

      4:41
    • 6. Primer servidor de HTTP

      10:22
    • 7. Opcional: HTTP y peticiones de la web

      3:38
    • 8. ES6 en nodo

      5:23
    • 9. JSON, Nodemon y una funcionalidad avanzada

      11:03
    • 10. Opcional: el bucle de eventos

      4:03
    • 11. Express

      1:42
    • 12. Configuración de la API de la lista de las grandes

      2:56
    • 13. JSON para fortunas

      4:58
    • 14. Primer Endpoint de Express

      10:15
    • 15. Opcional: Startup con un ejecutable

      6:35
    • 16. Obtén una lista de Random o uno de ID

      9:46
    • 17. Método de la publicación de la lista

      17:23
    • 18. Limpiar el método de las grandes y usar carde

      7:43
    • 19. Actualizar la Fortunes de

      11:38
    • 20. Eliminar el método de la fortuna

      4:37
  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

812

Estudiantes

--

Proyectos

Acerca de esta clase

Become en un ingenio de software de demanda con este curso sobre Node, SQL, de PostgreSQL, y el desarrollo de la web de de la backend. Como una de las pilas de desarrollo web más populares hoy, aprender Node, SQL y PostgreSQL es un must. Conocer estos lenguajes y marcos te abrirá puertas y trabajos para ti.

En este curso basado de proyectos, aprenderás a construir aplicaciones de Node, SQL y PostgreSQL en la construcción de tres proyectos completos. Hoy. descubrirás algunas técnicas de la industria de Y descubrirás cómo usar bibliotecas notables como Express y Pg.

Puedes hacer la parte de la parte de la de talla porque puedes construir aplicaciones de la red de backend. El backend es el corazón de los servicios y productos. Así que saber cómo escribir el backend es otra habilidad altamente que busca de grandes empresas de software como Google, Facebook, de Microsoft, etc, más.

En este curso, te course, te you’ll de nodos construyendo una aplicación desde el principio. Primero, aprenderás a usar los módulos de Node nodo para crear un servidor.

Second, construirás una aplicación más profunda con Node y Express para aprender a construir un api con un conjunto completo de métodos de solicitud de http.

Luego, sumergirás en SQL y de PostgreSQL para crear una base sólida en estas herramientas. Luego, construirás un api que combina todos los conceptos previos con Node y PostgreSQL para que entiendas cómo crear aplicaciones de Node que funcionen con bases de datos avanzados.

Si ya has ido de la JavaScript y de tutoriales de JavaScript y desarrollo rápido en línea

¿Estás listo para mejorar tu juego de codificación? ¿Estás Excited de impulsar tus habilidades? ¿Luegode lo que estás esperando? ¡Empecemos a programar la codificación

Conoce a tu profesor(a)

Teacher Profile Image

David Katz

Software Engineer - Coding Instructor

Profesor(a)

David is a software engineer at Zendesk, with a Bachelor of Computer Science from the University of San Francisco.

David has gained valuable experience from the tech industry. By incorporating these best practices, he hopes to create the highest quality learning experiences possible.

Feel free to connect with David! He is always curious about the cool project you're working on. And he loves to discuss ideas on how to build impactful technology.

Ver perfil completo

Calificaciones de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%
Archivo de reseñas

En octubre de 2018, actualizamos nuestro sistema de reseñas para mejorar la forma en que recopilamos comentarios. A continuación, se muestran las reseñas escritas antes de esa actualización.

¿Por qué unirse a Skillshare?

Toma las galardonadas clases originales de Skillshare

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Toma clases sobre la marcha con la aplicación Skillshare. Transmite o descarga para verlas en el avión, el metro o donde aprendas mejor.

Transcripciones

1. Qué esperar del curso: Me gustaría darte la bienvenida oficialmente a este nodo del curso Postales SQL Mastering Back End Desarrollo Web. Gran pensamiento en tomar la inmersión en el desarrollo Web. Es una de las habilidades más buscadas ya que las empresas confían en el back end para el núcleo de sus servicios y productos. ¿ Qué puedes esperar de este curso? Bueno, este curso tiene un objetivo en mente para que agregues con confianza node.js, SQL y postales SQL como habilidades a tu currículum y nuevos elementos dentro de tu conjunto de habilidades de codificación. Si ya has aprendido un poco de cualquiera de los nodos o post rescate l o ambos, entonces considera este curso un buen refresco para los conceptos. Este curso es un tutorial orientado a proyectos, lo que los temas se introducirán en un alto nivel explicando qué significan los términos clave y qué temas principales cubren a medida que construimos proyectos y avanzamos una vez que consigamos una comprensión de conceptos, solidificará que nuevamente construyendo juntos nuestros proyectos, construiremos tres proyectos completos. En primer lugar, se hará un servidor back end con nodo para entender lo esencial y construir una base. Segundo dará un paso más a nuestro juego mezclando y Express para construir un A P I. completo Siguiente exploraremos SQL y Post Rescue Well, para construir otra base sobre estas herramientas de base de datos de back end. Y tercero y finalmente para nuestros proyectos construirán un respaldo completo y servidor en un p I con nota y post prensa uniendo todos los conceptos. De esa forma, aprenderemos a administrar y servir datos de manera efectiva para aplicaciones Web. Muy bien con eso, preparémonos para aprender nodo SQL y publicar bien Braschi y empezar a revestir. 2. Opcional: instalación de nodo: Vamos a insultar No, Jess, ve a una nueva pestaña en tu navegador y busca No Gs, uno de los primeros enlaces que debería salir. Es un punto no ducado s o glink. Adelante y haz click en él y luego encontraremos la página principal del nodo dot Js en casa Donald, la versión más actual del nodo 8.8 punto uno el más nuevo. Ahora, si no usas un sistema mac, dirígete a la pestaña de descargas por aquí y encuentra un enlace relevante para tu sistema operativo y plataforma. Ya sea que necesites las ventanas y el solar, la nota del instalador de límites lo tiene para ti. Entonces una vez que tengas el paquete, adelante y ábrelo. Una vez que lo hagas. Por lo que encuentras una serie de pasos igual y esto nos permitirá instalar nota globalmente en nuestro sistema. Vamos a seguir adelante y seguir por estos acuerdos. Se puede leer la documentación. Haga clic en Aceptar. Es como si tu sistema lo instalara en tu unidad y luego lo instalara. Tendrás que introducir tu contraseña también para instalar el software, y en breve se instalará y tendrá todos sus archivos escritos y Ahí vamos. Está concluido. Instalando ahora para comprobar si está instalado. Adelante y abre tu aplicación terminal. Puedes usar la función de foco en Mac haciendo espacio de comandos y luego escribiendo en terminal en otros sistemas. Vas a querer encontrar la línea de comando. Creo que es símbolo del sistema en Windows. Ahora, para aquellos de ustedes nuevos en la terminal, básicamente se puede pensar en ello como una versión tipo de finder o la carpeta. Explora en tu sistema. Excepto que también podemos lanzar programas. A partir de esto, podemos navegar por carpetas o directorios escribiendo en CD, lo que significa cambiar directorio. También podemos escribir L s para ver qué carpetas hay para nosotros y ahora en la terminal. También podríamos comprobar si el nodo estaba instalado correctamente. Deberían poder escribir nodo y en el espacio y en la opción dash V, que nos dará nuestra versión de nodo. Y la versión debe coincidir con la que acabamos de instalar a través de la página de descarga. Versión 8.8 punto uno. También escribe envidia de NP y ella consigue algo más alto que la versión cinco. No, npm es un gestor de paquetes, el gestor de paquetes Node, que se envía automáticamente con nodo cuya función principal es instalar módulos o paquetes para la nota. Piense en un módulo como el contenedor de código relevante para una función de nodo específico o concepto de programación. Utilizamos mucho NPM en este curso, por lo que sigue aprendiendo todo al respecto. Genial. Sin GS y NPM instalados, tenemos el siguiente par de herramientas listas para que podamos codificar. 3. Opcional: instalación de código: Ahora es insulto. Un editor de código con el editor de código sería capaz de modificar los siguientes para nuestros proyectos y desarrollar nuestras aplicaciones. Ahora encuentro que uno de los editores de abrigo más fáciles de trabajar con es código de estudio visual. Si no usas el código visual studio como tu editor y ya te gusta trabajar con otro, por todos los medios usa ese. Hay muchas opciones sólidas por ahí, y todas son realmente buenas. Por ejemplo, te he sublime fuertemente en el pasado también use Adam bastante a Pero recientemente he estado usando código de estudio visual en encontrar muchas sus opciones personalizadas para ser bastante agradable. De acuerdo, para configurar el código de estudio visual, puedes empezar por ir a un navegador y simplemente buscar código de estudio visual o conjunto de ideas. Encontrarás un enlace por aquí, configura el código S e ir y dar click en él y encontrarás una página igual a esta. Ahora encuentras que el código de estudio visual va en múltiples plataformas como Mac, Linux y Windows, así que adelante y haz clic en el enlace de tu relevante. Si estás en el Mac, entonces siéntete libre de quedarte por el resto de la lección para ver una instalación. Entonces vamos a la Mac, entonces aquí encontramos un código de estudio visual de descarga por el enlace. Y ahí deberíamos ver. Sí. V s código Darwin estable dot zip se está descargando. Entonces una vez que termine de descargar, podemos seguir adelante y abrirnos. Código de estudio visual son nueva aplicación. Por lo que ahí se está expandiendo. Una vez hacemos doble clic en ese archivo zip, y aquí encontramos un nuevo editor de código de estudio visual. Ahora, lo que quieres hacer a continuación es en realidad arrastrar tu código de estudio visual a tu carpeta de aplicaciones ahora ya tienes uno. Entonces voy a seguir adelante y detener esto, pero para ti, solo va a entrar automáticamente si no tienes ya código de estudio visual Ahora, para el siguiente paso, querrás abrir tu nuevo editor de código de estudio visual ese de las características más bonitas sobre el código de estudio visual es su característica de ruta de línea de comandos. No para encontrar de qué hablo. Pistola, presiona comando de turno P todo al mismo tiempo. Y buscar Comando Shell. Ahora desea instalar el comando code en su camino. Entonces, una vez que esté instalado, adelante y abra su terminal. Y el efecto de esto es que ahora tienes acceso a este comando de código en tu terminal. Ahora, lo grandioso de este comando es que me permite abrir cualquier carpeta que quiera dentro la terminal para que pueda entrar a mi carpeta NPM. Y entonces fácilmente podría abrir todo dentro de aquí simplemente haciendo código dot y allí se abrirá toda nuestra carpeta dentro de Visual city code listo para que exploremos estos diferentes archivos. Excelente. Entonces eso es lo que hace ese Comando Shell. Nos permite usar el comando de código justo dentro de nuestra línea de comandos. Y es truco muy sencillo y nos ayudará para el desarrollo, ya que estaría creando muchos proyectos dentro de nuestra terminal. Por lo que sin duda usar este comando de código para abrir nuestros proyectos creativos será muy útil. ¿ Esa portada se está volviendo a conseguir un editor de abrigos? No tienes que usar código de estudio visual. Simplemente es realmente sencillo de configurar, razón por la que te estoy guiando a través de esta instalación. Está bien, vamos a seguir 4. ¿Qué es Node.js?: lo que no es DGS definido por su documentación, Loader GS es un asincrónico de Ben Driven JavaScript runtime diseñado para construir aplicaciones de red escalables . Esa declaración viene con más de unos pocos términos cargados, así que vamos a impactar eso poco a poco. Empecemos con el hecho de que está diseñado para construir aplicaciones de red escalables. Bueno, ¿qué es una red de aplicaciones? En primer lugar, vamos a explorar a qué nos referimos cuando decimos aplicación. Una aplicación es un programa informático con una interfaz, como una pantalla interactiva para que el usuario logre tareas como el procesamiento de textos o elaboración de hojas de cálculo. Las aplicaciones que vienen a la mente son Microsoft Word o un editor de código. Al igual que sublime. Estas aplicaciones son independientes, lo que significa que editamos datos localmente y los almacenamos en el mismo equipo. Ahora distingamos esto del concepto de una aplicación de red. Las aplicaciones de red utilizan una arquitectura de servidor cliente, lo que, a la vista de un pájaro, significa que podría haber dos o más computadoras involucradas en el manejo de datos. El cliente, por lo general una laptop de escritorio, eran ahora dispositivos móviles como un iPhone acceden a los servicios del servidor Web. El servidor, una computadora misma, está alojado en otro lugar, a menudo dentro de un centro de datos grande la computadora servidor mucho más poderosa maneja trabajos pesados , como administrar una gran cantidad de archivos u otros procesos. Entonces el cliente ejecuta aplicaciones que estaban tendidas en estos potentes servidores para Resource Is y el poder de procesamiento. Un ejemplo apropiado para este modelo de arquitectura de servidor cliente es un explorador Web. Google Chrome ejecuta un programa de cliente Web para permitirle acceder a Internet. Y cuando haces una solicitud al servidor con acciones como Google, busca, busca, sus servidores Web ejecutan programas en un centro de datos para recuperar la información para mostrarte Así en resumen Nota está diseñada para construir aplicaciones de red. Y una aplicación de red es aquella que utiliza una arquitectura de servidor cliente, donde un equipo cliente ejecuta una aplicación que envía y recibe datos para ser procesados por un servidor. Ahora vamos a sumergirnos en la idea de que ningún DGS es un tiempo de ejecución de JavaScript impulsado por eventos asíncronos . Empecemos con definir un tiempo de ejecución. No togs es un tiempo de ejecución, lo que significa que este tipo de programa ejecuta instrucciones mientras el programa se está ejecutando. Incluso aquellos que no escribimos explícitamente ni conocimos de antemano. Pensemos en esto en términos de nodo creando nuestra aplicación de red hacer un programa actuando como el nodo del servidor iniciará el programa del servidor y a lo largo de ese tiempo de ejecución de servidores , puede recibir instrucciones de un cliente para procesar archivos o recuperar información de ubicaciones almacenadas. Estas instrucciones no se conocen exactamente cuando se inicia el programa, pero pueden suceder en cualquier momento. Por último, lo que decimos Java script runtime. Nos referimos a que ningún Ducy s es un tiempo de ejecución implementado en código JavaScript. Esto nos lleva a la idea de que el nodo sea impulsado por eventos. En el modelo impulsado por eventos, Un programa sigue un flujo de eventos determinado por un usuario de nuevo no. A través de su ejecución, el tiempo realiza diferentes acciones en el programa. Dependiendo de los eventos presentados por el usuario, como solicitar el backend, recurso está procesando algunos datos de archivo enviados por el usuario y más. Estos eventos pueden ocurrir en cualquier orden, por lo que el flujo de nodo es impulsado por estos eventos. Por último, llegamos a la última parte el primer aviso adjetivo asíncrono En cuanto a ciencia informática pura , un programa asíncrono permitirá que las operaciones continúen simultáneamente significando mientras en operación está ejecutándose. Puede iniciar otras nuevas sin bloquear la antigua operación. Quizás ayude a distinguir un programa asíncrono de uno sincrónico en una aplicación sincrónica. Por otro lado, el manejo de las operaciones es secuencial, todo se racionaliza y las cosas ocurren una tras otra en orden directo. Esto hace que un programa sea más sencillo en cuanto a un proceso paso a paso. Pero si la aplicación quiere hacer más de una cosa tiene que bloquear la siguiente operación hasta que termine la actual, Volvamos a nuestro ejemplo de servidor en un sistema síncrono. Digamos que el servidor está procesando actualmente una enorme cantidad de datos que están tomando dos minutos enteros en completarse. Entra una nueva solicitud para agarrar información y recuperar un pequeño archivo con solo un par de líneas de información en él. Este proceso toma dos segundos, pero la recuperación de datos de dos segundos necesita esperar hasta que se complete todo el procesamiento de datos de dos minutos para que ocurra en una aplicación asincrónica. Estos datos, qué mal puede suceder mientras se procesan esos otros datos? Esto le da al servidor cliente mucha más potencia ya que puede poner operaciones pesadas en segundo plano y aún así proporcionar al cliente un servicio rápido y confiable. Muy bien con la idea de una aplicación asíncrona abajo ahora tenemos impacto total están empezando definición de no holandés. Sí, en resumen, NotTs es una aplicación asincrónica capaz de manejar más de una operación de manera no secuencial. Node.js está impulsado por eventos, definido por un Siris desconocido de los eventos enviados por el usuario. No DGS es un motor de ejecución de script de trabajo implementado en GS que puede manejar diferentes eventos lo largo de la vida de su programa. Y por último, NotTs está diseñado para construir aplicaciones de red en la arquitectura de servidor cliente excelente . 5. NPM, módulos y un programa de nodos: con nuestra sólida comprensión del nodo, saltemos a la derecha y creemos nuestro primer programa de nodo para empezar de cabeza a tu línea de comandos, aplicación y cuello. Comprime el espacio de comandos para la función de foco. Al igual que así, escriba en terminal y su prensa entrar. Lanzarás la aplicación terminal tal y como aparece así en Windows. La aplicación para la línea de comando suele llamarse símbolo del sistema con la terminal abierta. Ahora, vamos a asegurarnos de que tenemos tipo de nota en nodo y luego espacio Dash V. Para el número de versión, debes obtener una versión alrededor de ocho o superior, que es la más actual en este momento. Si también tienes la Versión seis, está bien. Esa versión es el estándar de la industria más estable y debería admitir todas las características que utilizamos en este curso. Si no tienes la nota instalada, asegúrate de dirigirte al inicio del recon del curso. Encuentra un tutorial sobre instalarlo con nodo. También deberíamos obtener automáticamente NPM, por lo que si escribes NPM ser, encontrarás tu versión de NPM, y deberías encontrar algo más alto que la versión cinco o la versión tres. Si también estás usando nota. V seis podría estar preguntándose qué hace y logra el NPM y qué significa, y PM o la nota. Package Manager es una herramienta de envío automático con nodo que nos permite inicializar proyectos de nota e instalar módulos relevantes para nuestros proyectos mientras desarrollamos aplicaciones. El tema de los módulos seguirá apareciendo ya que estos módulos o bibliotecas JavaScript nos permitirán crear potentes funciones para nuestros servidores y aplicaciones de nota. Para nuestro primer paso, hagamos una nueva carpeta para nuestro primer sin proyecto. Probablemente querrás crear una carpeta para este curso a ¿Qué tal la publicación del nodo GresS? Para hacer una carpeta, utilice el comando M. Kader, que significa make directory. Por lo que es M. Kate Dirt de ir, y luego nota subrayado post vestido para la carpeta de este curso. Si escribes LS deberíamos encontrar ese nodo. Post Press ya está disponible en nuestras carpetas. Entonces vamos a navegar a esa carpeta o directorio usando el CD de Comando Cambiar Directorio para abreviar y luego una vez que lo escriba nodo, notemos que esto es lo único que tiene nodo como su prefijo. Entonces si presiono tab , automáticamente sube a nuevo Post Press. Entonces puedo escribir enter para completar el commit. Genial Nunca. Contamos con una carpeta para nuestros proyectos de post gracia de nodo. Hagamos de nuestro primer proyecto uno llamado First Server Again. Usaremos el Comando Make Directory para que sea M. Kidder y luego crearemos nuestro proyecto, que es primero el servidor de subrayado. Ahora cambiemos el directorio por ese. Entonces si escribo en primera noche presiona tab, se auto completará. Y ahí estamos en primer servidor. Agradable. Ahora inicializaremos nuestro proyecto usando NPM y PM viene con cualquier comando llamado en él, lo que nos permite crear la nota. Proyecto Lee Interactivo. Entonces escribiendo en PM Ejecutemos el comando en PM En él. A continuación se presenta una serie de preguntas sobre el proyecto de nota, como el nombre del proyecto, la descripción, el autor, la licencia, etcétera. Podemos hacer click enter para que todas estas preguntas vayan rápidamente y las personalicemos más adelante si es necesario. Entonces una vez que todo esté hecho, vamos a decir que sí. Todo esto se ve bien. Un tipo offi en ls debilita. Enumerar el contenido del directorio de primer servidor y encontramos un paquete dot Jason archivo fue creado. Este paquete dot Jason contiene la información que acabamos de confirmar. Entonces para ver eso en la línea de comandos, podemos usar el programa cat. Entonces es paquete de gato consiguió a Jason, y esto imprime el contenido del archivo en nuestra línea de comandos. Y aquí vemos que tenemos respuestas de Oliver a esas preguntas que rápidamente respondimos en la función innit interactiva del NPM. Entonces todo está contenido en este Jason, Va. Nos sumergimos en Jason más tarde, pero si no estás familiarizado con el tipo de archivo, puedes pensar en Jason como un archivo lleno de datos de objetos JavaScript. Todas las llaves están rodeadas de cotización. empaquetan marcas para nuestro proyecto de nota. Jason Fall representa nuestras configuraciones y deja fuera formas También podemos interactuar con el proyecto. Genial. Ahora configuramos nuestro proyecto de primera nota. Sigamos adelante y empecemos a agregar el código para convertirlo en un servidor 6. Primer servidor de HTTP: Vamos a construir este servidor. Empezaremos abriendo nuestro proyecto en su editor de código. Usa cualquier editor con el que estés más cómodo. Si instalaste código de estudio visual al comienzo de este curso, probablemente tendrás el acceso directo de la línea de comandos. Entonces escribe código en punto espacial en la línea de comandos para abrir nuestro primer proyecto de servidor. Por lo que aquí se va a seguir adelante y hacer esta pantalla completa. Ahora, si te preguntas cuál era esa función de pantalla completa, tengo instalada en mi Mac esta herramienta llamada size Up, que me permite mover fácilmente las cosas. Por ejemplo, podría poner cosas en esquinas a la izquierda, arriba abajo o derecha, y hacer las cosas a pantalla completa muy rápidamente. Ahora es una aplicación de pago, pero un poco de inversión para mejorar tu vida de desarrollador suele valer la pena. Por lo tanto, considera ir a dimensionar y usarlo. Aquí tenemos nuestro proyecto con su paquete Dajae Santa. Ahora bien, si abrió el paquete Dajae Sandra, se encuentra el campo principal apunta a un índice dudoso. Por lo que esto esencialmente significa que la raíz de nuestro proyecto será un archivo JavaScript llamado index dot gs. Bueno, no tenemos ese archivo por el momento, así que vamos a crearlo va a seguir adelante y usar código de estudio visual para crear un índice dudoso hasta el momento. Y ahí tenemos nuestro archivo index dot Js para nuestro primer paso. Escribamos algún código que nos permita tratar a un servidor Web requerirá de un módulo llamado http para hacer esto. Ahora hay dos conceptos que desempaquetar en esa declaración. En primer lugar, tenemos la idea de módulos. Los módulos en nota representan paquetes de código que nos permiten agregar ciertas características a nuestras aplicaciones de nota JavaScript. En el caso de http, http es un módulo núcleo a tener en cuenta por lo que no tenemos que instalarlo por separado. Podemos usarlo de inmediato, ya que está incluido en ningún código fuente de duquesas. Por lo que agarraremos nuestro módulo http en la tienda en un objeto constante llamado teepee o mejor dicho, H a tp. Y luego requeriremos módulo http igual que así. Entonces señalamos el módulo con una cadena, y luego usamos la función de requerimiento global que ningún ducado s nos proporciona antes de seguir adelante . Aclaremos http. Http dice para protocolo de transferencia de hipertexto, y es un estándar para transferir datos y comunicarse a través de la Web. Esencialmente nos permite transferir datos a través de hipervínculos a través de páginas Web llenas de texto . En nuestro caso, estamos haciendo actual un servidor en este formato de protocolo http. Ahora que tenemos el módulo H T T P, vamos a cubrir los siguientes dos pasos definiendo nuestro nombre de host e informe para el servidor Web. En ese trabajo, el nombre de host es una etiqueta asignada al servidor para identificarlo a otras aplicaciones en la Web. Por ejemplo, nombres de dominio como Facebook y Google son nombres de host establecidos oficialmente en el sistema de nombres de dominio de Internet. Para nuestros propósitos en desarrollo, podemos adjuntar al nombre de host local, que es un nombre de host que se conecta a la computadora local. Por lo tanto, cree un host llamado Variable con el valor del host local. En una fuerza, vamos a crear una constante llamada nombre de host todo una palabra, y luego será un encogimiento con un valor de host local. A continuación, tenemos el concepto de puerto. Un número de puerto es una forma de identificar nuestro programa de servidor particular en la red local como un proceso en ejecución. Otro número típico de puerto de desarrollo es 3000. Entonces vamos a crear una variable de puerto y luego que sea 3000 genial con nuestro nombre de host y puerto . Ahora estamos listos para crear nuestro servidor. Entonces vamos a crear una nueva constante de servidor, y luego vamos a almacenar nuestro objeto de servidor en esta constante para crear nuestro servidor. Utilizamos función ah de http llamado crea alguna vez que nos dio a través del módulo H T T P y ahora almacenado en su objeto de ocho TV. Por lo que estableceremos igual a 80 p punto crear servidor. Llamar a esa función mediante el uso de sus paréntesis. Ahora create server toma un argumento, que es una función de devolución de llamada que nos permite especificar diferentes opciones para el servidor. Esta función de devolución de llamada tiene dos argumentos en sí llamados wreck y rez, los cuales son cortos para una solicitud entrante y la respuesta de nuestro servidor. Por lo que estaba proporcionando una función de flecha y luego, por sus parámetros, tendrá nuestros objetos de naufragio y rez. Ampliemos esta función también para nuestro servidor que responde de inmediato con un mensaje usando el extremo de punto de respuesta o el extremo residente para respetar nuestro perímetro. La función de la ONU para el objeto de respuesta señala a nuestro servidor que hemos terminado toda la configuración. La propia función final toma los datos con los que queremos responder. Vamos a responder con un encogimiento los saluda a un usuario y dice, Bienvenido a notar varios llamados la función final dentro de esta respuesta. Objeto Rez. Y entonces podríamos proporcionar una cuerda que diga, Bienvenido a la nota. Se puede poner un signo de exclamación para que sea aún más emocionante. Genial. Ya casi estamos ahí. Contamos con un servidor configurado. Ahora tenemos que iniciar el servidor para permitirle comenzar a aceptar conexiones en un puerto y nombre de host especificados. Para poner en marcha el servidor, queríamos empezar a escuchar solicitud. Como tal, tenemos la función de escucha de punto del servidor. Entonces llamemos al servidor. Escuchar, función que tiene nuestro servidor, y una forma de configurar esta función de escucha es pasando en el puerto y nombre de host como dos primeros parámetros, por lo que proporcionará el puerto, que es 3000 y también proporcionarán nuestro nombre de host, que es nuestro anfitrión local. Estricto, entonces, para el parámetro final proporcionará una función que servirá como una devolución de llamada que se dispara una vez que un servidor realmente está escuchando. Proporcionemos una función que registren un mensaje al consejo de que el servidor se está ejecutando. También usaremos una plantilla E six, cadena literal hecha con ticks traseros para amar eficientemente que estamos escuchando a nuestro nombre de host bajo el número de puerto especificado. Por lo que proporcionaremos nuestra función de devolución de llamada con función de flecha, y luego no tendremos ningún parámetro para esta devolución de llamada. Pero vamos a tener algún código que dice consejo dot registró el hecho de que y estamos usando una cadena de plantilla aquí para que podamos lograr la interpolación de cadenas más rápidamente. Y luego usamos el signo de dólar, sintaxis de Curly Brace para insertar variable. Entonces vamos a decir que estamos escuchando al nombre del host o mejor dicho, que se estaban ejecutando al nombre del host. Y luego diremos después de Colin que también lo estamos haciendo en el número de puerto específico. Genial. Con ese cónsul dot log down, tenemos nuestro código listo para disparar, volver a la terminal y dentro del primer directorio del servidor. Invoquemos el programa de notas y ejecutemos nuestro programa de índice que acabamos de crear. Entonces esto dice que no para iniciar el archivo index dot Js y luego tenemos nuestro mensaje de que el servidor ahora se está ejecutando en host local pobre 3000. Entonces está escuchando probar esto. Vayamos a una nueva ventana del navegador. Aquí estamos, y luego vamos a ir al anfitrión local 3000. Y a medida que lo hacemos, tenemos un mensaje que nos saluda que dice, Bienvenidos a la nota Perfecta. Nuestro primer servidor de notas está funcionando. Felicidades. Antes de seguir adelante, sin embargo, vamos a dar un paso más para llegar más lejos en línea de lo que es típico de un proyecto de aplicación de nodo . Por lo general, para poner en marcha nuestra aplicación, utilizamos un comando. NPM inicia con el comando start y PM mirará esta sección de guión de su paquete Ducado hijo Foul y ejecuta lo que sea que se enumera a continuación para empezar. Entonces es cabeza a nuestros pactos. Touchy algún teléfono encontrar paquete dot Jason y notó nuestros guiones en este momento solo tienen la prueba. Bueno, podemos agregar un 2do 1 puede estar seguro de usar cadenas. Tendremos inicio y como el valor tendrá el comando, entramos en la línea de comandos para encontrar la aplicación que era índice de nodo. Y como usted dice esto, ahora podemos volver a nuestra terminal, y con un solo comando, esta capa extra del script de inicio del NPM podría sentirse por encima. Pero imagina una aplicación que necesita disparar dos o incluso 10 comandos diferentes para encender el servidor. Bueno, podemos capturar todos esos comandos dentro del script start para NPM repentinamente y PM Start está buscando muy conveniente, además de muchos proveedores de host para nodo específicamente, mira el campo NPM Start con el fin de saber cómo encender correctamente la aplicación. Muy bien, dentro de nuestra línea de comando. Ahora detengamos el servidor haciendo el control, ¿ Ves? Y ahora, en lugar de usar nota, Index dirá dirá inicio del NPM. Y a medida que lo hacemos vemos que estamos ejecutando nuestro comando note index y luego el servidor está escuchando. Y de nuevo, si golpeamos nuestro navegador, vemos en una actualización que otra vez tenemos Bienvenido al nodo en host local 3000. Perfecto. Nuestro servidor está escuchando en host local 2000 como de costumbre. Sigamos y sigamos mejorando este primer servidor HDTV con nota 7. Opcional: HTTP y peticiones de la web: Usemos un momento para repasar las solicitudes http y Web para empezar. Pensemos en Internet y los datos en la Web en general. En la Web, las empresas y organizaciones almacenan grandes bases de datos de información. Tienen una lista de usuarios, colecciones de carpetas y masivos troves de archivos. Podemos acceder a esa información pero visitar sus sitios web, que nos permiten acceder a páginas donde podemos ver esa información. Siempre que accedemos a una página de ese sitio web utilizando nuestro navegador Web, estamos buscando a AFA una página o imagen o grupo de archivos, páginas con imágenes y así sucesivamente para hacerlo. Accedemos a esos archivos al navegador a través del protocolo de transferencia de hipertexto. Http. Como protocolo o sistema oficial de reglas que rigen la Web, la transferencia de hipertexto nos permite utilizar el modelo de solicitud y respuesta, lo que significa en el modelo de solicitud y respuesta. Enviamos una solicitud de archivos desde algunas organizaciones servidor web. Nos devuelven una respuesta por la imagen sucia o lo que queramos. Estas solicitudes se denominan métodos de peticiones http, y hay algunas diferentes. Ahora hay dos principales http peticiones métodos get y post una solicitud get. Pidió datos del servidor Web. Lo más común es que hagas solicitudes de deuda cuando visitas una página en un sitio web pidiendo que se atienda la página . Una solicitud de post, por otro lado, envía datos al servidor Web. Una solicitud de publicación común sería enviar un nuevo elemento a una fuente de redes sociales, como una foto para Instagram o Story para Facebook. We Post fechado al servidor Web, que luego vamos a retroceder los datos a través de otros usuarios siguientes obtener solicitudes o nuestra propia solicitud posterior consiguiendo para la lista actualizada con se publican datos e información. Hay otras solicitudes http que se usan, pero comentemos. Por ejemplo, está la solicitud de eliminación, que más específicamente, elimina un recurso de un servidor Web. Utilizamos estos siempre que cometemos un error en las redes sociales, por ejemplo, y queremos sacar un artículo. Quizás no debamos oponernos a ella. También está la solicitud de la Web put, que, manera similar a la solicitud de post arriba carga datos para un recurso. Pero éste actualiza con más frecuencia un recurso ya existente. También está la solicitud de cabecera, que es similar a un get one, pero en Lee obtiene información sobre configuraciones http de un recurso y no todo el documento. Las opciones solicitan pero giran los métodos HDTV un servidor informa y la solicitud Connect nos permite obtener un acceso más especializado a unos servidores Web. Red compartida de recurso es. Por último, a menudo se encuentra una lista de estas solicitudes para una organización específica recopiladas en interfaz de programación de aplicaciones o una P I en una interfaz de programación de aplicaciones P I o interfaz de programación para la Web recopila un conjunto de estas solicitudes http y o para acceder a la publicación, actualización o eliminación de información de un servidor Web. Con eso, tenemos una comprensión bastante sólida de cómo el protocolo de transferencia de hipertexto organiza el acceso de la información en la Web. También sabemos más sobre diversos, donde las solicitudes y también lo que conlleva un Web AP I. Sigamos adelante y sigamos codificando. 8. ES6 en nodo: habrás notado que nota nos permite utilizar es six sintaxis inter aplicaciones. Ustedes seis introdujeron nuevas características a JavaScript en 2015 incluyendo funciones de flecha en la plantilla de tick posterior, sintaxis literal que se ve aquí en la línea 11 que nos permite contaminar cadenas más fácilmente. Bueno, sí. Seis ha existido desde hace un par de años. Nota ha existido desde hace más tiempo. Por lo que en tu investigación, es posible que veas ejemplos de código en línea que usan sintaxis más antigua. Por esa razón, es importante destacar Algunos de los e seis ya estaban usando, en este ejemplo de un servidor http nodo y demostrar las alternativas en la sintaxis más antigua . Para empezar, en su función callback para la función create server, tenemos un ejemplo de una función de aire que igual y mayor que firmar aquí parece un aire, razón por la que llamamos a esto la función de flecha. No obstante, también podríamos haber creado esta función usando las palabras clave de la función en impuesto a partir de JavaScript , lo que significa que sacaremos la flecha y lo percibimos con la palabra clave de función, cual tiene el mismo efecto de crear una función de devolución de llamada para nosotros. Entonces si volvemos a nuestra línea de comando. Detener nuestro servidor y reiniciado. Había tan escuchando en el host local Puerto 3000. Genial. Además, si tuviéramos que arte navegador, nos refrescamos, aún deberíamos ver. Bienvenidos a la nota como antes. Muy bien, vuelve al código. Otra cosa a la que llamar la atención es nuestro encogimiento templado, literal cuando estaban registrando que el servidor se está ejecutando en un nombre de host y puerto para lograr el encogimiento y la nación Cat antes de liberales plantilla. Una de las mejores formas fue agregar cadenas y variables juntos para que podamos sacar esto. Hice una slash de comando para agregar una slash de comentario al principio de esta línea y eso permitirá que no ignore esta línea. Y ahora vamos a reemplazar esto por una función que vuelve a hacer un registro confidante. Tenemos servidor funcionando en, pero ahora, lugar de hacer interpolación, ya que esta es una cadena normal, podemos usar la contaminación con el signo más a nuestro nombre de host. Ahora tenemos otra cuerda que será nuestro colon por aquí, y luego tenemos una final para agregar son importantes Ahora esto no se ve tan mal, Pero imagina si tuvieras que insertar cinco o seis variables. Cuántas veces tendrías que soportar string y agregar por ahí independientemente, vamos a reiniciar nuestra aplicación y ver si todavía son los registros que el servidor está ejecutando. Y efectivamente lo hace. Genial. Hemos demostrado a seis anteriores diferencias Syntex con su aplicación. Ahora bien, si creaste aplicaciones JavaScript en frameworks como un reaccionar antes, podrías estar preguntándote por qué no podemos usar las importaciones en impuestos para agarrar nuestros módulos o más bien, por qué aún no lo hemos hecho. Por ejemplo, en nuestro código aquí, podría ser tentador reemplazar el código donde requerimos módulo http por una declaración de importación que importe http desde su ubicación. Entonces otra vez, voy a salir esta línea y luego voy a decir, en lugar de constantes http igual requieren el módulo. Voy a agarrar http en un objeto llamado http y usar el de sintaxis para obtenerlo de http y encontrarás este ejemplo en reaccionar frente y aplicaciones, por ejemplo. Entonces digamos que esta cabeza a una línea de comandos e intentemos reiniciar la aplicación. Y como lo hacemos, Oh, no. Nuestra aplicación se bloquea. Las importaciones y el impuesto aquí es inesperado. Bueno, por qué esencialmente, se reduce a cómo se implementa la función require en nodo versus cómo importa funciona de Essex it nodo. El require function es una reunión de función totalmente sincrónica cuando los cuadernos en la duquesa APP lo archivan , lo analiza, y luego es cantantes y aguanieve carga el contenido de los módulos requeridos ya que evalúa el abrigo de script de trabajo. Esencialmente, la carga de este código requiere ocurre primero en un orden específico. Más bien ahora las importaciones en desgravaciones fiscales es orden porque en Essex, la carga de contenidos desde otro archivo con las importaciones en impuestos puede suceder una sincrónicamente por lo que no podemos usar la importación porque rompe un paradigma de nota de requerir módulos primero. Pero nota está trabajando en una solución larga en el futuro que soportará una sintaxis de importación similar . Por ahora, seguiremos usando la función de requerir estable. Muy bien, con esas e seis diferencias resaltando, volvamos a nuestro código original. Por lo que voy a recuperar nuestra función requiero original. Vamos a quitar esta vieja forma de contaminar la cuerda, luego usar nuestro literal de templo también revertir de nuevo a nuestra función de flecha por aquí, y mientras guardamos cabeza de nuevo a nuestro servidor y reiniciamos. Todo se ve bien. Genial. Sigamos adelante y agreguemos un poco más de funcionalidad a este servidor de primer nodo. 9. JSON, Nodemon y una funcionalidad avanzada: Añadamos algo más de funcionalidad a este servidor de notas. Nuestro objetivo será habilitar un nuevo endpoint en el servidor que permita al usuario obtener información más específica. En nuestro caso, será una página de datos en formato Jason, o notación de objetos JavaScript, cual tiene traducciones para algunos números, lo que significa que mostrará un número deletreado como toda su palabra. No, Jason no está tan lejos de un objeto regular de script de trabajo. Una diferencia clave es que en su formato, cada clave debe estar rodeada de comillas. Haremos que estos datos de traducción estén disponibles en su aplicación a través de un uber out eres. Bueno, comenzaremos con el host local original Port 3000 y luego terminaremos con el endpoint de traducciones . Muy bien, empecemos explorando el objeto de solicitud que tenemos. Empecemos explorando el objeto de solicitud que tenemos en su abrigo. Por lo tanto, vuelve al código que recibimos en nuestra función de crear servidor. Teníamos este objeto de solicitud, así que sigamos adelante y en un registro constante de esa solicitud. Y antes de comenzar nuestro servicio en nuestra aplicación de línea de comandos, vamos a insultar una herramienta para hacer que nuestra vida de desarrollo sea un poco más fácil. Se llama Cuaderno. Ningún admin nos permitirá reiniciar automáticamente nuestro servidor de notas cada vez que actualicemos aplicación con una caja fuerte, esto se volverá realmente conveniente para nosotros a medida que sigamos desarrollando características. Después de todo, tener que detener nuestro servidor y reiniciarlo manualmente después de cada cambio podría volverse muy tedioso. Entonces en su línea de comandos, vamos a instalar hombre conocido So du n p m I, que es la abreviatura de instalación de NPM. Y luego nevó mon. Y luego vamos a etiquetar la misma bandera muerta con dash, dash, dash safe y luego tiran a la muerte. El bandera Save Dead distingue el nodo mont de las dependencias necesarias en una versión de producción de la aplicación. Ahora está en un nuevo script a nuestra lista de scripts que especificarán para nosotros una versión de inicio de desarrollo de nuestro servidor. Por lo que es cabeza a nuestro paquete Dajae archivo hijo. Vamos a añadir una nueva clave llamada Muerte y el valor estará invocando el nodo inicio Monde . Y luego vamos a ver nuestro programa de índice igual que inicio para el índice de nodos, no una línea de comandos. Podemos ejecutar el script Dev ahora, inicio es uno especial donde podemos hacer inicio de NPM sin ninguna otra opción. No obstante, la muerte no es uno de los comandos de N PM, pero la ejecución de NPM es uno de en Comandos de PM. Y entonces podemos especificar son script muerto como opción para MP en Ejecutar. Y como lo hacemos recibió ese nodo Mon ha comenzado y su nodo mont está escuchando su solicitud. Y ahí inicia nuestro servidor funcionando en el host local 3000. Genial. Ahora tenemos nuestro servidor escuchando. Visitemos ese servidor en nuestro navegador y veamos el registro que reemplaza para nuestro objeto de solicitud rec . Por lo que aquí tenemos a nuestro confiable anfitrión local 2000. Vamos a refrescarlo. Y ahora miramos hacia atrás a nuestra línea de comandos, y aquí vemos este gigantesco volcado de datos en su aplicación. Esto representa toda la información almacenada en esa solicitud Objeto. No, ciertamente nos dio mucha información con la que trabajar, lo que nos da mucha potencia a la hora de interactuar con el front end en el backend de nuestra aplicación Web. Así que siéntete libre de desplazarse por todo el asunto. Hay mucho que adjuntar a ti. En general, estos datos representan la información que nos fue enviada a través del navegador para nuestros fines estaban interesados en un campo l euro fuera de este objeto de solicitud. Por lo que interco abajo es realmente poner esta terminal en el lado izquierdo y luego nuestro código en el lado derecho y sacar este árbol por aquí con el comando ser para que la barra lateral se vaya. Ya sabes, en su índice como archivo, vamos a agarrar el tu l de nuestro objeto de solicitud mediante el uso de E s seis destrucciones en impuestos. Entonces en lugar de escribir constante tu l es igual a solicitar que tu l podamos usar un atajo más bien tu out y hacer una variable local euro para la función y luego establecer su valor al punto de solicitud tu valor l que es, dentro de esta solicitud objeto. Y ahora, en lugar de registrar todo nuestro objeto de solicitud, vamos a registrar el tu l. Vamos a sacar la primera causa de esa ley porque ya no queremos enorme volcado de datos. Y a medida que guardas nota que el nodo Mont Runner escucha ese guardar. Y entonces iniciamos nuestro servidor y ahora podemos ver este año l como lo hacemos en acción. Entonces visitemos nuevamente al anfitrión local 3000, esta vez en una traducciones en punto. Y como lo hacemos parece que no estamos recibiendo una respuesta de datos. Eso se debe a que aún no lo hemos manejado adecuadamente, y también porque las solicitudes no están definidas. Ustedes probablemente vieron que vamos a necesitar hacer un su fuera de naufragio, así que volvamos. Y a medida que recargamos, aún vemos Welcome to Node. Pero vemos que nuestras traducciones por aquí han ingresado al cabildo. Impresionante. También recibimos esta petición de la fe. Llamé a ese ícono Bob. Esto representa ese icono en la barra Ural, o pestañas para páginas Web. Por lo que note que los navegadores automáticamente piden este archivo de forma predeterminada desde un servidor Web. Ahora no estamos brindando un favor. Iconos que co archivo en este momento, pero puede o no tener un icono de favor como este que aparece en el host local para ti Ya, usted Bowser podría tener datos previos de navegación almacenados en su historial por eso, utiliza iconos de favor anteriores que encontró de abs anteriores en el mismo mural. Muy bien, nunca. Teníamos el euro iniciar sesión en la consola. Usemos esto. Estás fuera a agregar más funcionalidad a nuestro servidor. Sabemos que somos capaces de recibir las traducciones tu L Ahora, en el caso de las traducciones euro, vamos a enviar de vuelta algunos datos diferentes. Vamos a crear una sentencia if el captura las traducciones, su L y luego termina la respuesta para el servidor con algunos datos de prueba para representar traducciones. Entonces digamos que si encontramos traducciones, así que si eres l es igual a slash traducciones, que debería ser, como estamos viendo en nuestra terminal por aquí, entonces vamos a responder con diferentes funcionalidades. Entonces es un extremo rez dot, y luego vamos a mandar de vuelta a un loquero que manda traducciones. Entonces dices que este nodo ban se reinicia o Nouman más bien se reinicia o aplicación, y ahora podemos refrescar. Él refinó traducciones está registrando en su lugar. Genial. Vamos a extender esta funcionalidad y que los datos devuelvan algo de JavaScript en forma de Jason en lugar de esta fuerza para comenzar. Vamos a crear un objeto que represente nuestras traducciones para que algunos datos trabajen con lo que está haciendo objeto llamado traducciones, con algunas conversiones para 12 y tres. Entonces diremos que nuestras traducciones universitarias es una clave está deletreada. Uno por dos clave. Se deletreó sus dos. Y entonces probablemente puedas adivinar tres spot out es tres. Agradable. Ahora tenemos que usar esta respuesta. Object now to send back this translations object in Jason for first off establecerá un encabezado para la respuesta. Un encabezado identifica al navegador. Qué tipo de datos estaban enviando de vuelta en nuestro caso Establecerá el encabezado con la función set header dentro de este objeto de respuesta. El primer argumento es la clave del encabezado Queremos cambiar. El valor es un tipo específico de encabezado que queremos especificar. En nuestro caso, la clave es el tipo de contenido. El valor es aplicación, Jason, ambos s valores de cadena. Entonces en lugar de levantarse y vamos a tener un encabezado rez dot set. Por lo tanto, plantea dudas que el encabezado La clave es el tipo de contenido, que tiene una carcasa fresca de caracteres en mayúsculas y luego separada por un guión. Y entonces el valor es la barra de aplicación Jason Ahora para la transmisión real de datos para enviar datos de vuelta a través de la respuesta, escribimos un flujo de datos a través de él ahora. ¿ Qué es una corriente de datos. Un flujo es una secuencia de datos que puedes agregar continuamente escribiendo en él o agarrando datos de él leyendo continuamente desde esa misma secuencia en el back-end del nodo. Muchas de las notas objetos que transmisiones para hacer datos legibles y rideables. Esto significa que enviar información a través de un objeto de respuesta escribirá en el flujo de respuesta . Entonces diremos, erez dot ¿verdad? Y queremos escribir nuestro objeto traducciones. El arroyo mismo, sin embargo, toma cadenas como su parámetro, lo que plantea un problema ya que nuestras traducciones son actualmente un objeto. Pero no te preocupes, podemos usar la cadena de puntos Jason si funciono para convertir este objeto de traducciones en una cadena completa que representa a Jason, por lo que Jason es una variable global en nota. Entonces podemos acceder a la cadena de cinco función y luego pasar nuestras traducciones. Y ahora esta debería ser la versión de cuerda de nuestras traducciones. Objeto. Después añadiremos nuestro punto y coma al final de esto para completar nuestra línea. Y ahora revisitemos nuestras traducciones y señalemos a medida que lo hacemos. Y lo que encontramos es nuestro objeto de transiciones en Jason. Formarme ahora también vemos la bienvenida a anotar respuesta final. Eso se debe a que el método de respuesta dot right no termina por completo toda la respuesta. Si no queremos que esa bienvenida sepa, para aparecer podemos terminar con rez dot end igual que así, como lo hacemos y refrescar aquí, veremos que en Lee Are Jason objeto está representado. Genial. Acabamos de explorar algunas características más complejas del módulo del servidor http que se necesita tener cuenta También hemos tocado el contenido del enrutamiento respondiendo específicamente a las traducciones que eras. L en su aplicación querrá características de enrutamiento mucho más poderosas en el futuro, pero el código para esto se volverá cada vez más complejo. Si intentamos hacer esto con objetos de nota nativos para ayudar en este proceso, no, podemos usar un framework llamado Express, que específicamente nos ayudará a crear aplicaciones de servidor de nodos más complejas con gran enrutamiento métodos. Está bien, sigamos adelante y mantengamos el recubrimiento 10. Opcional: el bucle de eventos: a menudo escucharás que ningún Ducado s tiene la capacidad de ejecutar múltiples operaciones simultáneamente, hay muchos enfoques en ciencias de la computación para lograr esto un desove múltiples procesos para ejecutar diferentes piezas de código al mismo tiempo. Pero vamos a explorar ninguna DGS es la solución. El evento loop dot organizaciones tiene ejecución concurrente. Aclaremos a qué nos referimos con ejecución concurrente en programación. La ejecución actual se refiere a cuando los programas pueden ejecutar múltiples operaciones simultáneamente al mismo tiempo, lugar de secuencialmente una tras otra. Esto puede conducir a grandes mejoras en el rendimiento ya que el tiempo esto se guarda cuando las operaciones no están bloqueadas entre sí. Por ejemplo, un pro ban secuencial podría mejorarse significativamente si tiene operaciones después son particularmente lentamente. Por ejemplo, si ejecutaba la operación lenta de forma concurrente en segundo plano, aún podría ejecutar las siguientes operaciones a la vanguardia. Entonces, ¿cómo se logra esta concurrencia? En primer lugar volverá a plantear la idea de que la nota es conocida. Bloquear significado http solicita operaciones de base de datos lectura y escritura desde el hardware de la computadora es disco para datos a través de Io's son operaciones no bloqueantes en el tiempo de ejecución de la nota . Si bien está ejecutando estas operaciones se les pide que se realicen, dada una función de devolución de llamada y luego la ejecución El tiempo pasa a hacer otra cosa, que habilita al tiempo de ejecución para continuar ejecutando coat una vez que la operación haya finalizado en algún momento en el futuro. dispara la función de devolución de llamada que originalmente se proporcionó. Este efecto acumulativo hace que la ejecución de estas operaciones sea concurrente en naturaleza. Ahora vamos a extender esta idea al bucle de eventos de nota. Bueno, el script Java Runtime está ejecutando código. Espera a que se completen las operaciones y a que se devuelvan las llamadas. Si yo, junto con cada una de estas devorias de llamada, viene con el mensaje que es lindo que lo identifica junto con una llamada de vuelta ahora, JavaScript sacó todos estos mensajes en agudos. Se puede pensar en la Q como una línea en el D. M V. Está organizado en una primera en minutos de primera salida, lo que significa a medida que más mensajes entren en línea o en la cola. El primer mensaje que entró será el 1er 1 que sale ahora. El fundamento de Notes Event Loop es que es un lindo que tira para cada siguiente mensaje, encontrándolos en una línea ejecuta plena esa devolución de llamada un mensaje a la vez. Ahora vamos a extender esta idea de operación concurrente con una metáfora que nos ayudará a ilustrar este concepto del bucle de eventos y la capacidad de ejecutar código a través de él. Concurrentemente, se llama la Metáfora de Maestros y Mayordomos. Entonces va así. Todas las mañanas se despierta el maestro. El día comienza con un mayordomo jefe, pidiéndole al maestro unas tareas que hacer. El mensaje puede darle al mayordomo una tarea o varias tareas, y luego el maestro vuelve a dormir. Encabezado Butler entonces divide esas tareas entre los otros mayordomos y luego inician su trabajo. Una vez que un mayordomo completa la tarea, hace líneas fuera de la puerta del mensaje para presentar un reporte. Entonces el maestro da la bienvenida en un sirviente a la vez para escuchar el informe. Y con base en el reporte, el maestro puede incluso darle a ese mayordomo una atención más tácita. Sí, pero en esta fase media por ahí, el maestro tenía diferentes servidores múltiples ejecutando código al mismo tiempo. Y al final, el todo que arriba en fila para enviar de vuelta el reporte al maestro. todo, en nuestro caso, el maestro es como nuestro tiempo de ejecución javascript capaz de delegar tareas Al mismo tiempo, los mayordomos no están bloqueando las operaciones Io en el bucle de eventos es que Q de mayordomos que han completado un proceso y necesidad de reportar de nuevo al maestro. En algunos, gracias al IO sin bloqueo y al bucle Event, podemos lograr la ejecución concurrente en ningún punto gs. 11. Express: lo que es expreso, tal como lo define el Documentation Express, es un marco Web rápido , opinionado, , opinionado, minimalista para ningún holandés. Sí, bien, desempacemos esos términos. En primer lugar se expresa muy rápido debido a su naturaleza mínima en la implementación. En consecuencia, podemos acceder a potentes funciones como enrutamiento y responder a diferentes formatos de datos a un costo muy bajo. Expresa unopinionada. No hay una sola fuerza forma correcta de escribir código para su marco Web con Express. Por lo tanto, express permite mucha flexibilidad. Esto contradice otros marcos como, por ejemplo, quizás ruby on rails, que se usa comúnmente para los ojos AP que quieren que escribas código de una manera específica la mayor parte del tiempo. Por último, como se expresa un marco Web, la mayor fortaleza viene en la creación de un ojo P para servidores Web. Se podría pensar en un napi I como una colección de tus L's relacionados para agarrar información de un servidor y su base de datos Express contiene toneladas de métodos para configurar HDTV, get methods, post methods, no mencionar el otras, como concurso temprano. Por lo que crear un P I con express se vuelve mucho más sencillo que Native Note Express también contiene bonitas características como el enrutamiento, que le permite encontrar puntos finales sobre aplicaciones y ojos AP con el fin de tener más control sobre lo que información que enviamos a nuestros solicitantes. De acuerdo, ahora que hemos tenido esta rápida intro para expresar, sigamos adelante y construyamos algunos servidores de Noticias geniales y expresemos los ojos AP. 12. Configuración de la API de la lista de las grandes: Sentémonos nuestro primer nodo y exprés aplicación. Esta app será un servidor en el FBI. El listado de fortunas, basado en la petición de un usuario por las fortunas, le devolverá datos interesantes como predecir el futuro y un número afortunado al usuario. Está bien, para configurarlo, vuelve a tu línea de comandos y encuentra al director que estás usando para tus proyectos de nodo. Por lo que queremos estar en el nodo Post Pulse ahora. Dentro de nota, Post Breast hará un nuevo directorio llamado Fortunes FBI. Cuando combinemos las palabras juntas, vamos a usar casing de serpiente o conectando las palabras junto con Underscores. Pero también puedes usar casing de camello o capitalizando la palabra combinada o cualquier convención con la que estés cómodo y familiarizado. Entonces haz un nuevo directorio con M K. Dirk ANand, y luego diremos que son las fortunas. Subrayar un P I. No, cambiémonos a ella para navegar y luego una vez estuvieron aquí. Vamos a inicializar nuestro proyecto con el NPM en su mando y PM en. Normalmente nos lleva a través de una serie de comandos interactivos para configurar un paquete da archivo Jason . Para nosotros, sin embargo, siempre podemos cambiar la respuesta de esas preguntas más adelante, pero editando el paquete dot archivo Jason. Entonces aceleremos el proceso usando el guión. ¿ Por qué opción para que el comando pase por el proceso de minutos del NPM? Lee no interactivo que significa Vamos a saltarnos todas esas preguntas, así que vamos a decir npm en él. Después, Dash. Por qué genial. Ahora tenemos nuestro paquete dot archivo Jason y su nombre de proyecto Fortunes A P I. Antes de abrir el proyecto en nuestro editor de código, vamos a instalar a dependencias externas para este proyecto. En primer lugar, instalaremos Node Mon como dependencia de desarrollo. Si recuerdas conocido Monde fue una bonita adición encima de nodo que nos permite tener un trato . Tengo servidor de desarrollo que se actualiza son aplicación de nota cada vez que guardamos una actualización de otoño. Entonces vamos a instalarlo con el flak Save Dead. También podemos usar NPM I, que es un atajo para la instalación de NPM. Entonces vamos a usar NPM. Yo estamos ahorrando conocido mon como dependencia de desarrollo. Ahora estamos instalando Note mont como dependencia de desarrollo porque no lo necesitamos en un entorno de producción. No obstante, una dependencia que queremos tanto en nuestros entornos de desarrollo como de producción es el marco expreso. Entonces cuando instalemos express en PM, expreso, vamos a usar el regular say flag. Genial. Con eso, hemos configurado lo que necesitamos para empezar a trabajar en esta fortuna. A p I. Empecemos a escribir el código para esta aplicación a continuación. 13. JSON para fortunas: ahora que tenemos nuestro proyecto creado, vamos a abrirlo en su editor de código y empecemos a construir esta fortuna a p I, por el proyecto en la línea de comando y luego abrirla. Voy a usar un atajo de código de estudio visual para abrir éste. Entonces eso es código y punto espacial Así que vamos a tirarlo por aquí. Va a hacer esta pantalla completa agradable en este momento. Deberías tener una carpeta de módulos conocida para que todos nuestros módulos soporten Now, también la falta de Pakistán Jason que creamos con NPM en ella y también un paquete dash lock Dodge una muestra. Se puede pensar en esto como una versión súper extendida del paquete dot Jason fall donde cada dependencia de un solo módulo se enumera explícitamente junto con sus propias dependencias. Ya ves, sólo porque Onley instalamos express en Nordmann no significa que Onley nos exultamos, expresando no mamá después de todo, ya sea conocido uno o express cumplir con otros módulos para ser instalados ellos mismos como más sub dependencias El paquete dash lock Dajae resolver todo deja fuera esas dependencias de instalación Tenemos ahora en nuestro módulo o más bien se conocen modelos completos. Muy bien, Ahora que tenemos una comprensión de todos estos expedientes dentro del proyecto. Vamos a configurar nuestro A P I. Con algunos datos para la A P, estaré enviando de vuelta diferentes objetos Jason que representan fortunas en base a la solicitud del usuario de recolectar. Todas estas diversas fortunas las almacenarán en un archivo llamado Fortunes dot Jason para la guerra para mantener nuestro proyecto limpio y organizado. También iniciaremos estos datos en una nueva carpeta llamada Data. Entonces hagamos una nueva carpeta llamada Data, y luego dentro de esa carpeta, vamos a hacer un nuevo archivo llamado Fortunes dot Jason. Aquí está data slash fortunas dot Jason. Genial. Ahora, como un archivo con formato Jason estará escribiendo un archivo cuyos contenidos representan notación de objetos JavaScript , que puede contener objetos escapados de trabajo o una raza. Hay una diferencia importante a considerar cuando escribimos esto, sin embargo, en este formato para nuestros datos, rodeamos nuestras teclas de objeto con cadenas. Muy bien, nuestra colección de fortunas estará contenida dentro de una matriz, así que empecemos con algunos corchetes entonces, para cada uno de los ítems de esta matriz de fortunas tendrá un objeto script de trabajo para representar a un individuo fortuna por una espalda y servicio. Es típico de cada artículo tener 90. Demos este primer objeto, y yo deaky rodeado de un loquero o mejor dicho, con industria. Y recuerda, rodeamos la clave con comillas al mercado como un encogimiento para el primer objeto le dará su d. uno agradable. Ahora pensemos en algunos datos que quisiéramos para cada objeto de la fortuna. Cada fortuna debe tener un mensaje. Frijoles clave Las fortunas suelen predecir el futuro, después de todo. Entonces para el 1er 1 vamos a darle al usuario algo esperanzador. ¿ Qué tal un mensaje que así lo diga? Aquí tenemos nuestra clave de mensaje y el mensaje es, el amor está a la vuelta de la esquina. Agradable. Siéntete libre de poner cualquier mensaje que te guste en lugar de esto para que este objeto fortunas sea más interesante. También le demos un número de la suerte así como un animal espíritu. Entonces para éste, es afortunado. El número será 12. Pones lo que quieras en el espíritu animal será doc Niza. Ahora tenemos un objeto de fortuna. Vamos a replicar lo mismo para otros dos objetos. Incrementar las teclas I D y cambiar el número de la suerte y los animales de espíritu. Entonces voy a seguir adelante y copiar esto. Asegúrate de tener una coma después del 1er 1 así como el 2do 1 Ahora, esta idea debería ser para esta. Deberían ser tres. ¿ Qué tal el mensaje para el primero? O mejor dicho, el 2do 1 será. Encontrarás un gran tesoro. Cambiemos esto. Número 2 15 en un animal espíritu estará tirado sobre este sujeto. Es decir, ¿qué tal esto? Una persona te dará grandes consejos. El número afortunado para este será de 30. ¿ Y qué tal oso para el último? Impresionante. Siéntase libre de agregar tantas fortunas como desee a esta matriz con fines de desarrollo. Tres deberían ser suficientes, aunque con eso, tenemos la espalda en datos para nuestras fortunas. A p I. Sigamos adelante y creemos un endpoint para servir realmente estos datos. 14. Primer Endpoint de Express: ahora que tenemos nuestro back-end, vamos a corregir el express ap I alrededor de los datos para servirlo. En primer lugar, inicialicemos nuestro proyecto con un índice dodgy s falta que representará la raíz de nuestro proyecto de nodo JavaScript. Tan bueno y crear a nivel raíz, el índice dudodgy hasta ahora no en la carpeta de datos, sino dentro de las fortunas de raíz. Ap I carpeta en nodo el archivo index dot Js es un punto de partida típico para paquetes y modelos. Por lo que se sigue que crear nuestro servidor con un archivo de punto índice Js es una buena opción. Ahora, nuestro objetivo con este archivo index dot Js será crear un servidor Web que permita a un usuario hacer una solicitud de las fortunas y obtener los datos que definimos en sus fortunas dot Jason Fall Para crear este servidor Web, ahora tenemos el poderoso marco de aplicación web en nodo llamado express. Entonces vamos a requerir express desde su módulo designado y almacenar fuera el resultado en una constante también llamada express. Vamos a hacer una constante express y luego requerir el módulo express. ¿ Qué representa ahora este concierto expreso? Esta constante express requerida ahora es una función que nos permite crear la aplicación express . Esta función, cuando se utiliza, contiene muchas opciones de configuración en el objeto resultante que crea. Pronto exploraremos estas diversas opciones, pero primero tenemos que hacer que nuestra aplicación express sea objeto mediante el uso de esta función. Entonces comencemos el resultado de llamar a esta función express en una constante llamada app, ya que después de todo lo que crea se expresan aplicación Niza. Ahora tenemos una aplicación express lista para que podamos configurar. Ahora este objeto de aplicación es en realidad muy poderoso. Ya lo podemos usar y son métodos personalizados para crear un endpoint http real con una función. A diferencia de nuestro ejemplo de código nativo anterior donde teníamos que lograr enrutamiento para un método get comprobando el Your L Express proporciona una función get muy bien nombrada que nos permite crear métodos get para el FBI. Entonces llamemos al método get en este objeto app ahora que tenemos Suplicy app dot todavía cual es la función get. Esta función get tiene dos parámetros. El primer parámetro representa el punto final para un P I que queremos acceder. Recordemos que por un endpoint, nos referimos a que la última parte de la URL, por ejemplo, en facebook dot com slash fotos. Fotos es la entrada o en facebook dot com slash eventos. Eventos es el punto final. Entonces para nuestros datos de fortunas, tal vez tenga sentido tener un endpoint de fortunas para mantenerse en línea con un comportamiento P I. También comenzamos el nombramiento de este endpoint con una inclinación para representar que eran un pendiente este hasta el final de nuestra Europa. Entonces estamos brindando una cuerda que comienza con una tajada y luego discute fortunas. Entonces, para el segundo parámetro, proporcionamos una función de devolución de llamada. Esta función de devolución de llamada se disparará cuando se golpee el extremo de fortunas en el A P. I para esta función de devolución de llamada proporcionará una función de flecha. También tendrá dos parámetros llamados naufragio y rez, que representan el naufragio el más bien en el objeto de solicitud y respuesta. Entonces aquí está nuestra función de época y luego tiene dos parámetros naufragan y descansan de nuevo. ¿ Cuáles son el naufragio y el descanso? Bueno, son cortos de solicitud o naufragio y respuesta Arresto. El objeto de solicitud representa cualquier dato enviado por el usuario a nuestro A P. I. El objeto de respuesta tiene más opciones personalizadas para permitirnos responder al usuario con datos específicos. Más adelante exploraremos el objeto de solicitud con detalle. Además, antes de enviar de vuelta cualquier dato con el objeto de respuesta, tenemos que hacer un poco de trabajo de desarrollo en un concierto, ese log para asegurarnos de que este endpoint de fortuna esté funcionando realmente una vez que inicies nuestro actual aplicación. Entonces dentro del cuerpo de la función de devolución de llamada, tengamos un diálogo cónsul que diga, solicitando fortunas. Impresionante. Ahora, antes de que realmente intentemos golpear este endpoint en una versión en ejecución de la aplicación, aún necesitamos hacer una llamada a la función de escucha en esta aplicación para que este servidor viva tan justo en la parte inferior después de nuestro primero get método. Lo que se llama un método de lección que hará que el servidor viva. La función de escucha está bien, tomando sólo un parámetro, un número que representa en qué número de puerto ejecutar sin un nombre de host. Al ser el segundo parámetro, el puerto se adjuntará al host local. Ahora es típico que nuestro número de puerto de desarrollo sea 3000. También estar usando el número de puerto más de una vez, así que empecemos en una constante llamada puerto justo después de que nuestro requerimiento de reporte expreso va a ser 3000. Después proporcionamos como primer parámetro para escuchar. Entonces démosle el puerto, entonces como su segundo parámetro. Vamos a revivir una función de devolución de llamada, que registrará un mensaje en su consola de que el servidor está escuchando en nuestro número de puerto. Usaremos una plantilla literal, encogiendo con demasiada facilidad. Inserta nuestro número de puerto para que tengamos una función de devolución de llamada con un aire por aquí. Y luego apuntará a un log constante con nuestra plantilla literal, que son los ticks traseros junto a la tecla unica escuchando en puerto. Y luego insertemos nuestro número de puerto usando el signo dólar sintaxis Curly Brace. Ahí vamos y notamos que cuando usas una función de era, la única abarca una línea. El re uso de llaves es innecesario. Genial. Ya casi estamos ahí. Sólo necesitamos esperar fácilmente. Encender el servidor desde nuestra línea de comandos. Podríamos usar el índice de nota de comando de inmediato, pero es convencional para proporcionar un script de inicio en un proyecto de nota que especifique cómo activarlo . Por lo que es cabeza a nuestro paquete dot Jason. Añadamos un nuevo script llamado inicio y esto apuntará al índice de nodo ahora. Si usamos inicio de NPM, debería encender nuestra aplicación. No obstante, conforme estamos desarrollando, esto significaría que tenemos que detener el proceso de inicio del NPM y reiniciarlo cada vez que hacemos un cambio. Más bien, vamos a proporcionar un script más conveniente que las llamadas sean conocidas paquete Mon que puede actuar como un servicio de recarga en vivo de nuestro servidor. Cuando hagamos actualizaciones, almacenaremos este en un guión llamado Muerte y que apunte a anotar Mont Index, que desencadena nuestro archivo index dot Js con una herramienta de recarga en vivo de nodo mon. Entonces ese no es un índice de Dubon señalado por la muerte. Impresionante. Con eso, vamos a encender su aplicación en la línea de comandos con NPM Run Dev en la terminal, quieres estar en nodo post pecho slash fortunas a p I que vamos a usar el comando de ejecución de NPM luego especificar son script muerto y son conocido uno ha comenzado trineos visitar anfitrión local Puerto 3000. Entonces una vez que llegamos a nuestras fortunas y apuntamos a nuestro servidor note que estamos obteniendo host local last fortunes obtenemos solicitando fortunas iniciando a nuestro cónsul lo cual se realiza por el código que tenemos aquí mismo en nuestro get endpoint para fortunas. Agradable. Ahora notarás que a pesar de que estamos iniciando sesión en el cónsul, nuestro navegador interminablemente cuelga de la información y trata de conseguir lo que sea que estemos tratando de obtener basado en esta solicitud. Bueno, desafortunadamente, actualmente no estamos enviando ningún dato, así que averigüemos cómo mostrar algunos datos en el navegador. Derivado de este método get y solicitud. Vamos a reemplazar el registro de conciertos por una función llamada Enviar. El método de envío está disponible en el objeto de respuesta o representado por rez que tenemos en nuestra función de devolución de llamada. Según lo indicado por su nombre, el método de envío envía de vuelta los datos como resultado de la búsqueda. Por lo que en lugar de llamarse Sadat, Log tendrá método de envío en esta respuesta. Objeto como decimos esto, nuestro servicio debe actualizarse y pongamos este lado a lado para que podamos ver que en realidad se está actualizando una vez que hagamos los cambios. Está bien, así que decimos eso y luego volvemos a punto final o fortunas por aquí y allá vamos. Tenemos fortunas solicitando en nuestra brasilena. Genial. Ahora también solo estamos devolviendo una mera cadena de datos. No obstante, idealmente, queremos devolver esa totalidad o tasa de fortunas. Ahora, antes de poder enviar esos datos, necesitamos tener acceso a ellos. Dentro de este archivo, eso significa que lo vamos a requerir en la parte superior como módulo en una constante llamada fortunas. Por lo que es una fortunas constantes equivale a un requisito de Veamos este directorio actual, notificado por punto, slash mirar la carpeta de datos y luego encontrar la carpeta Fortunes dentro de eso. Ahora podríamos sustituir una cadena de fortunas solicitantes por nuestras fortunas constantes que tenemos . No obstante, el objeto de respuesta expresa viene con un método más potente, creado específicamente para responder y renderizar con datos con formato de Jason. Este método, en lugar de enviar, se llama Jason. Entonces volvamos. Nuestras fortunas objeto con el método de salon dot j respuesta. Entonces estamos enviando rez dot Jason y poniendo nuestras fortunas que se requerían. Dices que esto notó que se recarga. Recarguemos esto, y ahora obtenemos todo nuestro cuerpo de fortunas array en nuestro navegador. Impresionante. Acabamos de crear nuestro 1er método de TV 80 en esta fortunas AP I Excelente trabajo. Sigamos adelante y sigamos mejorando sobre esta fortuna. AP. Construí en Express 15. Opcional: Startup con un ejecutable: A medida que investigues las aplicaciones de nota y express, es posible que veas que esto comienza a obtener puntos a un archivo en una carpeta BIN llamada www. A medida que continúas creando aplicaciones de notas con expresar el futuro, podrías encontrarte con herramientas como express generator, que también crean automáticamente este Bed slash www. Lejos este sido el archivo W W es un archivo de voluntad ejecutado, que se encarga de iniciar la aplicación de nota para nuestros propósitos. Agrega otra capa entre nuestro código de aplicación en el índice touch es y el código que realmente desencadena nuestra aplicación. No obstante, puede ser una forma conveniente de configurar nuestro nodo y organizar la aplicación express, ya que la carpeta BIN puede contener otros archivos excusables, que pueden definir otras formas de iniciar la aplicación, tal vez en un entorno de pruebas o configuración personalizada. Entonces vamos a crear esta carpeta bin en la parte superior de su aplicación justo al lado de los datos, vamos a tener una carpeta nueva llamada Ben. Ahora, el nombre BIN se hereda de la convención de nomenclatura de la mayoría de los propios sistemas operativos. Por ejemplo, en Michael S o Lennox e incluso Windows archivos excusables viven dentro de estas carpetas sido. Ahora bien, si no estás familiarizado con la diferencia entre un archivará ejecutado y caída regular. Se puede pensar que ejecutó un archivo como uno diseñado para realizar una función específica en el equipo. Es básicamente un programa rentable Ahora. El ejecutar herbal suele ser ilegible como código, que ya ha sido compilado en código de máquina para que la computadora lo ejecute. De ahí que su ejecutar herbal. Está bien. Dentro de esta carpeta bin, vamos a crear arte. Www Excusable. Entonces hagamos un nuevo archivo dentro de aquí, y literalmente solo será www sin extensión. Impresionante. Ahora reafirmemos el propósito de esta www excusable. Este archivo todo ejecutado se encargará de iniciar nuestra aplicación. Eso significa que moveremos nuestro código que en realidad inicia la aplicación express y no ha escuchado en nuestro puerto host local en lugar de aparecer. Entonces vamos a agarrar las líneas sobre índice punto código Js que tomó el control de configurar el puerto y escuchar la aplicación y ponerlo dentro de esta www excusable. Entonces tomemos el puerto y lo cortemos. En realidad, vamos a guardar este archivo para que ya no tenga el puerto. Y no te preocupes, el servidor de desarrollo se va a estrellar en segundo plano. Eso se debe a que aún no lo hemos configurado del todo. También queremos toda esta función de escucha también. Entonces en nuestra Www, tenemos nuestra función de escucha aquí, también. Genial. Ahora, si miras el código nota que ahora estamos usando una variable at que no existe. Necesitaremos una forma de agarrar eso en variable y requerirlo con el fin de requerir, aunque tendremos que asegurarnos de que nuestra aplicación en el archivo index dot Js sea terrible o, en otras palabras, exportada. Por lo que su cabeza de nuevo a la caída del índice RJ y eso completará nuestro archivo con una línea de código que declare este objeto APP como la exportación. Para ello se utilizará alguna sintaxis de nodo especial llamada módulo DOT export. El se encarga de establecer esta constante de aplicación como exportación para este módulo que ahora estamos creando. Mediante el uso de las exportaciones de puntos de módulo, podemos exponer la aplicación como un módulo en sí mismo para que otros archivos requieran y trabajen con. Por lo que usaremos módulo que exporta y lo configuraremos en nuestra aplicación general. Instancia. Genial ahora que creamos en ese módulo dentro de este índice, FOB de Thaci, el nombre index dot gs ya no parece tener tanto sentido. Entonces vamos a renombrar nuestro archivo para secuestrar Sí, para que sea representativo del hecho de que está hospedando el módulo APP. Entonces, en lugar de indexar RG, ahora lo vamos a llamar app. Dodgy s agradable. Ahora puedes adquirir en la parte superior de nuestro www execute will file dentro del bin. Entonces dentro de nuestro estado, tenemos www y en la parte superior, vamos a un coro y vamos a tener que mirar hacia atrás un directorio y conseguir nuestro módulo de aplicación Ahora . Una cosa más antes de que este ejecutado esté listo como un ble ejecutado, necesitaremos una forma de decirle a nuestra computadora que estamos creando una nota. Ejecutar herbal. Para ello se creará lo que se llama una línea shebang en la parte superior de nuestro ejecutar. De nuevo Herbal, una línea shebang en la parte superior de su ejecutable. A She bang es un personaje marcado por una combinación del signo numérica de libra y un exclamación, y se utiliza para decirle a nuestra plataforma eran encontrar la forma específica de interpretar son excusables . Entonces brindemos la línea que identifica es excusable y le dice a nuestra computadora que use un intérprete de código con nodo ejecutado a la parte superior aquí tenemos nuestra libra y nuestro signo de exclamación , que es el banco ella. Y iban a mirar la carpeta de usuarios que es global para el sistema. Mira el estado global en el sistema. Vamos a ver la carpeta del entorno y decirle que inicie nota. Por lo que es slash usuario usr slash bin slash end y luego nota. Genial. Ahora ya tenemos este ejecutar. Una vez que hayas declarado esto como una nota excusable, actualicemos nuestros parches dot Jason Start y Deb script. Ahora para ejecutar este sido w archivo w en lugar del archivo de índice que consiguieron renombrar después de GS y ya no contiene son escuchas abrigo. Entonces dentro de paquete dot Jason, vamos a empezar. Es decir, mira dot slash been www en el nodo mon got slash bin slash www Ahora vamos a seguir adelante y reiniciar todo nuestro servidor, despejarlo y luego rehacer NPM Ejecutar la muerte en nuestras fortunas ap i directorio de la línea de comandos. Entonces a medida que va ahí, inicia dot slash sido tal www Y también podríamos revisar en nuestro navegador Si nuestros datos siguen apareciendo en una actualización y agradable. Todo ahí como de costumbre ahora que tenemos inexcusable cuidando de poner en marcha nuestra solicitud . Nuestro código se ha vuelto más módulo suscitado con una caída de abducido específicamente se encargó de crear la app express y ejecutar herbal Que se encarga de iniciarlo. Genial. Sigamos adelante y aprobemos esta fortuna ap sigo explorando express. 16. Obtén una lista de Random o uno de ID: Añadamos dos puntos finales tus fortunas AP. Ahora uno va a conseguir una fortuna al azar. El siguiente nos permitirá conseguir una fortuna específica, pero solicitándola, soy yo D. Atacemos el 1er 1 y en nuevo método que nos permitirá conseguir una fortuna aleatoria. Ahora es típico para AP. Los ojos para usar subrutas o espacios de nombres estaban obteniendo para los datos basados en un endpoint anterior . Entonces en lugar de algo así como toda una nueva fortuna subrayan al azar en punto Recon nido un aleatorio y punto después de la ruta de fortunas o espacio de nombres o después de las fortunas nombra espacio para representar conseguir fortunas aleatorias. Usamos método get para nuestra aplicación express una vez más. Y esta vez usaremos el punto final aleatorio de Necid bajo fortunas. Entonces vamos a decir en una siesta, Doc. Bájate recortar fortunas. Y ahora tenemos este espacio de nombre fortunas. Vamos a golpear el punto final aleatorio por encima de eso, y luego proporcionamos nuestra función familiar de devolución de llamada de naufragio y rez con los objetos de respuesta de naufragio y rojos . Genial para asegurarse de que este mensaje de endpoint aleatorio bajo Fortunes Works tenga un registro de puntos causales de solicitar fortuna aleatoria y comprobar si realmente inicia sesión en nuestro navegador. Por lo que es un registro constante solicitando fortuna aleatoria. Ahora, si no tienes el servidor funcionando, adelante y enciéndalo. Recordemos que el script Dev de ejecución del NPM creará una versión en vivo recargable de la aplicación sin DemonT. Y con eso, vamos a comprobarlo en nuestro navegador. Por lo que esta vez la fortuna slash al azar. Ahora no vamos a recuperar nada aún porque no hemos respondido. Pero si miras en nuestra línea de comando de desarrollo, vemos solicitando renta una fortuna efectivamente, troncos a la tarifa del ayuntamiento. Ahora podemos escribir el código para realmente enviar de vuelta o objeto de fortuna aleatorio. First Up se convirtió en acceder a nuestra fortuna aleatoria mediante el uso de un índice aleatorio para un objeto de fortuna en este conjunto de fortunas. Para obtener este índice aleatorio usamos la matemática en función aleatoria devuelve un número decimal del 0 al 1, por lo que es un índice aleatorio constante igual al punto matemático aleatorio, lo que nos dará un número aleatorio del 0 al 1. Ahora bien, multiplicando este número por la longitud de nuestras fortunas, AP I deberíamos conseguir algo arriba desde cero hasta la longitud de las fortunas AP I Así que vamos multiplicarlo por la longitud que tenemos en nuestras fortunas. A p I genial. Ahora tenemos un índice aleatorio. Ahora Mathare aleatorio devuelve un número decimal, por lo que multiplicarlo por nuestra longitud seguirá siendo un número decimal. Entonces para que sea un buen número redondo, puedes pisar todo este resultado con la función de piso de punto matemático. Y, por cierto, matemáticas y matemáticas, nuestras variables globales dentro de nota y JavaScript Great. Ahora tenemos un índice aleatorio. Entonces vamos a acceder a la fortuna aleatoria usando este índice para obtener un objeto de las fortunas para Ray en ella almacenará la fortuna aleatoria en una constante llamada nuestra fortuna. Entonces hagamos una nueva constante llamada nuestra fortuna acceder a la matriz fortunas y luego pasar nuestro índice aleatorio finalmente responderá con esto. Nuestro objeto de fortuna como Jason para la solicitud Self responderá con puntos rojos Jason de paso son fortuna aleatoria. Como usted dice esto. Prueba nuestras fortunas recién revisadas al azar y apunta en el navegador, y mientras lo hacemos, observa que obtenemos una fortuna aleatoria. Vamos a intentarlo de nuevo. Este tenía la idea de uno. Esta tiene la idea de 31 Vamos a llegar a Hay demasiado grande. Como puedes ver en múltiples solicitudes de una fortuna aleatoria, obtenemos los tres de nuestros diferentes objetos de fortuna de nuestro archivo de datos. Eventualmente agradable antes de seguir adelante. Hay algunas mejoras de código que podemos hacer, aunque a esto obtener slash fortunas slash función aleatoria. Por lo general no es tan útil morir de hambre código en una variable temporal si solo se usa una vez , por lo que ambos son aleatorios Index y nuestro objeto fortuna solo se usan una vez por lo que podemos en línea todo colocando el acceso de la fortuna Rendon todo dentro del método rez dot Jason. Entonces en primer lugar, podemos sacar todo este índice aleatorio y colocarlo dentro de nuestras fortunas o a Y ahí estamos . Vamos a acceder a una fortuna aleatoria, y ahora ya no necesitamos esto. Nuestra fortuna se debilita, agarra todo esto y pasa como parámetro a RJ's on y borra esto nuestra fortuna. También podemos sacar este registro de confianza, y de repente tenemos una buena función de una línea. A medida que guardes esta cabeza hacia atrás, vamos a volver a probar el punto final. Y de hecho, sigue funcionando igual que de costumbre. Genial. Vamos a crear otro punto final de get conveniente para señalar objetos de la fortuna. Un patrón que podría ver con muchos otros ojos E P es la capacidad de acceder a un elemento de datos mediante el uso de su i. D. Una estrategia para solicitar estos datos es utilizar una ruta anidada como parámetro en su solicitud, significa si queremos el objeto con el I. D de uno dentro de fortunas hará una petición a la fortuna slash uno. De igual manera, para el objeto con la idea de tres, deberíamos hacer una solicitud de fortunas slash tres. Muy bien, agreguemos esta capacidad con el método get que también tiene una ruta necida para las fortunas. Entonces voy a agregar y obtienes función con nuestra llamada habitual de vuelta con un objeto de solicitud y respuesta representado por naufragio y aumento. Entonces aquí está nuestra función de devolución de llamada y nuestro punto final. Y ahora, para lo real en S y parámetro de ruta, podemos usar un tipo especial de sintaxis que expresa para los paseos para nosotros. Usaremos dos puntos para significar que esta ruta necid se debe pasar como parámetro en un objeto de solicitud. Entonces después del colon o más bien después de las fortunas, tenemos un corte y luego tenemos nuestro colon. Y luego especificamos que ahora vamos a revisar un I D representado por un número. Impresionante. Ahora que tenemos este punto final, consideremos los efectos de ir a la fortuna slash uno o fortune slash dos bajo servidor Ahora, cuando esto suceda, cuando esto suceda, pase el valor de uno dentro de objeto de solicitud de arte bajo el I D variable, declaramos en una fuerza de ruta. Estos parámetros dentro de la ruta se almacenarán en un objeto Paramus debajo del objeto naufragio . Entonces amemos constantemente esa petición. Detén el objeto de Haram y echa un vistazo. Se llama adulto log wreck dot Krems y ver qué tiene mientras decimos esto vamos a visitar fortuna slash uno. Ahora, medida que lo hacemos, notamos que obtenemos un objeto en nuestro entorno de desarrollo. Es decir, yo d señalando a un loquero uno Niza. Ahora que vemos este tala, sabemos que podemos usarlo. Entonces vamos a escribir el código para encontrar la fortuna apropiada por su i d y responder con ella como Jason Para encontrar esta fortuna, usamos la función ayudante en un aumento llamado hallazgo. Por lo que usaremos fortunas dot find y find takes en una función callback que nos permite mirar cada elemento individualmente dentro de la matriz almacenándolo dentro del primer parámetro de nuestra devolución de llamada. Entonces tenemos una fina llamada de vuelta, y ahora vamos a operar en cada fortuna de forma individual y representada como f Ahora, dentro de este parámetro F que representará un objeto de fortuna individual, podemos devolver el objeto de primera fortuna que nosotros ver quien d coincide con el I d. hemos almacenado dentro de nuestras operaciones de solicitud. Entonces vamos a mirar cada F i d y luego comprobar si es igual a nuestra solicitud. El punto de Dup Haram i d También puedes sacar este punto cultural largo ahora nota el uso de dobles iguales en lugar de triples iguales. Aquí, el operador de comparación tropical iguala en javascript hace una comprobación de tipo adicional que no funcionaría. En nuestro caso, nuestra tienda Jason Data, utiliza números. Lo que se pasa el parámetro I d se representa un encogimiento, por lo que la comprobación triple igual devolvería falso porque los tipos no coincidían. No obstante, el doble es igual al operador de comparación no realiza esta comprobación de tipo extra y puede ver una cadena uno como equivalente al número Tipo uno en JavaScript. Está bien. Con este código en su lugar, ahora deberíamos tener la fortuna encontrada. Ya que find devuelve sólo un objeto, el que encuentra primero. En consecuencia, vamos a responder con estos datos en general como nuestro Jason. Entonces vamos a engendrar con todo este punto fortunas hallazgo como Jason. Muy bien, bien. Volvamos a visitar la A P I en su sujetador. Xena, podemos comprobar por 14 slash uno, y ahí está slash uno. ¿ Qué tal dos? Sí. Tenemos dos y luego tres. Excelente. Estamos recibiendo los tres de nuestros objetos de la fortuna mientras los visitas a través de una ruta necida, amigo. Genial. Ahora hemos agregado a poderosos métodos get a nuestra colección de interacciones dentro de esta fortuna AP I con el endpoint aleatorio y la ruta Necid. Yo recuerdo profundamente, vamos a seguir adelante y explorar los otros 82 métodos y averiguar cómo agregar actualizar los datos en la aplicación para hacer de esto un p I aún más potente 17. Método de la publicación de la lista: Ahora que tenemos un par de métodos permite agarrar datos de nuestras fortunas ap I Interactuemos con nuestro FBI de una nueva manera. Esta vez, le daremos al usuario la capacidad de actualizar todo el dorso y los datos y darle algunas nuevas fortunas para darle a esto un P. Yo conocía datos. Haremos una solicitud de post. Una solicitud de post es un método relacionado con el método http get requests que nos permite enviar los datos de isom AP a través de un objeto de solicitud. Ahora, consideremos la forma de estos datos entrantes. El dato entrante vendrá en forma de Jason para que sea fácil interactuar con. No obstante, para que ningún s Ducado se encargue de este Jason Data entrante, necesitaremos alguna manera de entender y analizar inteligentemente los datos. Aquí es donde entra en juego el concepto de analizar middleware para los datos entrantes al servidor. En cuanto a informática, middleware es un término general que a menudo puede significar el puente entre aplicaciones y datos para establecer una forma común de comunicación en nuestro caso, el medio donde nos permitirá separarnos. Jason, Afortunadamente, podemos conseguir este middleware con bastante rapidez pero instalando un módulo que se encarga de configurar el medio Donde para nosotros en express dijo su línea de comando. Adelante y detenga el guión. Permítanme agrandar esto. Y ahora vamos a insultar a un nuevo módulo llamado Body Parts. Entonces vamos a usar el mando del NPM I. Y entonces eso es parte del tablero del cuerpo, señor. Y luego vamos a usar la bandera say ya que queríamos como dependencia de nuestro entorno de producción y desarrollo. Entonces ahora que tenemos eso instalado, podemos usarlo dentro de nuestra caída ab. Por lo que después de expresar su instalación, sino más bien requerir este módulo y usar casing de camel para el nombre de constante real. Requerirlo a través de su sabor de tablero , partes del cuerpo , er , módulo, ubicación y cada hábito. Genial. Ahora podemos decirle a nuestra aplicación que use las partes del cuerpo o la función Middleware Jason que ahora se almacena dentro de la parte del cuerpo, señor, en esta aplicación. Entonces vamos a decir en adelante y usar usando la función de uso. El cuerpo Parsa pensó Jason función middleware. Esto debe cuidar de permitirnos recibir y partes datos de Jason a través de solicitudes entrantes , objetos. Pasemos a crear la búsqueda real de póster para hacer nuevas fortunas dentro de nuestro FBI para crear este método post, usamos la misma sintaxis que u método get. Excepto que esta vez llamará punto post en nuestra aplicación express para que nuestro parámetro publique al endpoint de fortunas. Sí, puede tener la misma ruta o endpoint que el método get. A pesar de que comparten el mismo endpoint, se distinguirán entre sí a través del tipo de método que está interactuando con ese punto final. Entonces, después de todo, siempre se pone, vamos a tener un post a las fortunas y punto. Y luego proporcionamos la función de devolución de llamada de parámetro de solicitud y respuesta familiar los incendios Una vez que lleguemos al endpoint de fortunas. Ahora realmente vamos a querer mirar el objeto de solicitud. Esta vez, este objeto de solicitud nos dará un cuerpo de datos relacionados con lo que el usuario envía en su puesto solicitudes a la A P I. Así que antes de empezar a interactuar con él, hagamos un registro de punto cónsul del cuerpo de solicitud a ver cómo se ve. Por lo que es registro constante en este objeto reprimido, el cuerpo, y ahora asegúrate de tener tu servidor en ejecución en una ventana de línea de comandos. Entonces si lo detuviste. Adelante y salta de nuevo al NPM. Corre la muerte, y mientras lo haces, el puerto de desarrollo vivo debe ponerse en marcha. Ahora llegamos al asunto de probar este post en punto. No tenemos la posibilidad inmediata de visitar tu URL en una pestaña de navegador esta vez para realizar una solicitud de get automático. Post Solicitud generalmente se realizan a través de código detrás de bambalinas en un frente y aplicación dentro del código cuando lo usas en la Web, no en lugar de codificar un frente entero y aplicación para realizar esta solicitud post, podemos usar un comando para especificar una cresta de póster con el Comando Curl. Entonces vamos a una nueva pestaña en nuestra línea de comandos para que puedas presionar comando t dentro de la terminal. Y ahora vamos a hacer oprimido un nuevo puesto usando la línea de comando. Vamos a hacer lo que se llama una solicitud de curl. Usaremos también la opción Dash H mayúscula para especificar un encabezado para este encabezado Girl Quest ayuda al servidor de Estados Unidos a identificar qué tipo de datos está entrando a través del encabezado Quest con el contenido clave de capital tipo Dash Capital en la Barra de aplicaciones de valor Jason identificará los próximos datos como Jason. Entonces hacemos un rizo. Entonces eso es curl y luego dash Capital H y proporcionará una cadena que el tipo constante es aplicación slash Jason. Después usaremos la opción Dash X para especificar qué tipo de solicitudes estaban realizando. En este caso, es una solicitud de post. Por lo que Dash Capital ex Post, entonces con la opción D, podemos empezar a especificar algunos datos para esto. Entonces después del ex post de Dash, podemos especificar D, y luego podemos proporcionar un dato en un encogimiento con comillas simples que represente al Jason que queremos enviar. Entonces enviemos tal vez algo que represente una fortuna. Y recuerda que queremos que esto esté en la contracción, pero representará a Jason. Así que ten un par de llaves dentro de entonces Nuestra primera clave es el mensaje para eso, Jason. El mensaje será hola también le dará un número de la suerte cerca de cinco. Y esta vez el animal espíritu será perro al igual que así y finalmente con euro especificado para golpear en general para esta solicitud de post. Entonces vamos a golpear http slash como host local slash slash host local e importantes 3000 slash fortunas. Muy bien, a través de todo esto, ojalá lo puedas ver. Entonces al final por ahí , son 80 derrota. Colon slash ash, anfitrión local Colin 2000 slash fortunas. Vamos a ejecutarlo. Y como lo hacemos obtenemos un número inesperado. Ustedes probablemente vieron que se me olvidó poner un colon tras número de suerte. Por suerte, sí nos dan un bonito mensaje de aire. Y esta vez, si volvemos a nuestro desarrollo, Cónsul, por aquí encontramos que la tala es mensaje. Hola? Suerte número cinco Espíritu Animal perro. Para buena medida, podemos hacer una solicitud de post una vez más. Y a medida que lo hacemos de nuevo, obtenemos el mismo registro de mensajes a nuestro cónsul porque dentro de nuestro manejador de postes o punto de concierto registrando el cuerpo de solicitud entrante. Genial. Encontramos nuestro registro de datos falsos en la línea de comandos. Ahora estamos listos para escribir algún código que utilice estos datos para agregar a este archivo Jason de fortunas. primer lugar, Enprimer lugar,para sumar a nuestras fortunas, archivo de datos necesitará crear un nuevo objeto de fortuna que podamos agregar a nuestra matriz de fortunas en el propio archivo Jason. Por suerte, tenemos tres de las cuatro piezas de datos que necesitamos para una fortuna de nuestro cuerpo de solicitud. Por lo que es uso en seis sintaxis de destrucción para declarar un mensaje. Número de suerte en espíritu animal variable con los datos del objeto de nuestro cuerpo de solicitud. Entonces vamos a agarrar nuestro mensaje, nuestro número de la suerte, nuestro animal espíritu, y hacer esas variables locales y agarrar las claves equivalentes de nuestro objeto corporal de búsqueda. Genial. Ahora es para encontrar un nuevo objeto de fortuna llamado fortuna. Con esos datos cargados, vamos a hacer un nuevo objeto de fortuna en almacenado en un objeto de fortuna en el pasado en nuestro mensaje, nuestro número de la suerte en un animal espíritu que haría las mismas claves y valores que obtenemos de un órgano de solicitud. También utilizamos la abreviatura musical ya que nuestras claves y valores son idénticos para que podamos acortarla. Ahora necesitamos hacer un campo I D para completar este objeto de la fortuna. Entonces hagamos una variable dinámica por ahora, llamada I D justo al principio. Entonces aquí tenemos nuestro i d, y no le vamos a dar un dato aún o más bien un valor. No obstante ahora es una señal de valor a este número. ¿ Cuál debería ser el yo d? Bueno, necesitamos un nuevo, único I. D. Eso no se está utilizando ya dentro de la matriz. No lo hará. ¿ Qué podemos usar? Una estrategia para asegurar un número único es encontrar el número máximo ya utilizado dentro de la matriz. Y entonces el nuevo I D incrementará ese Max I. D. Número. Esto siempre debe devolver el número único. Entonces vamos a obtener la matriz de ideas o más bien, la matriz de I DS y almacenarla dentro de una constante llamada fortuna ID de las fortunas son ray. Al usar el método de mapa de JavaScript, el método mat devuelve una nueva matriz basada en las anteriores. En algunos datos filtrados hacia abajo, nuestra función de devolución de llamada devuelve los nuevos objetos que queremos, que en este caso serán cada número I. D para cada elemento en las fortunas para Ray. Entonces justo después de agarrar a Oliver Data, obtengamos una nueva matriz de la fortuna que ds y luego llamemos punto fortunas que lo que hace Matt nos permite devolver un objeto por cada uno que tenemos dentro de nuestra matriz de fortunas original basada fuera de un padecimiento. Entonces ahora vamos a tener unr a del I DS basado en cada objeto de la fortuna dentro de nuestras fortunas originales tienen razón. Genial. Ahora tenemos cada una de estas fortuna I ds Ahora podemos asignar nuestra una variable d al número máximo de esta matriz de ideas o mejor dicho, I ds. Por suerte, JavaScript viene la función max en el objeto matemático incorporado. Esto puede tomar en cualquier número de argumentos. Entonces otra bonita seis pieza de sintaxis es un operador de spread que nos permitirá especificar cada una de las ideas o mejor dicho, cada una de las I ds como un parámetro individual a la función max, extendiéndola literalmente. Entonces vamos a decir que el I D va a ser igual a un punto de matemáticas max de esparcirse en cada una de estas fortuna I DS hombre I ds o ideas un poco difícil de pronunciar de todos modos, Ahora hay un caso de borde a considerar. Si la matriz Fortune I DS es siempre cero, la función max devolverá negativo. Infinito negativo. Infinity tiene sentido como valor predeterminado para la función max porque es el mínimo absoluto y cualquier valor lo superará como máximo. Por lo que es una gran implementación. Pero este caso de borde podría parecer imposible si siempre tienes fortunas, pero considera que es posible comenzar en la APP con datos en las fortunas Marais. O tal vez implementó la capacidad de borrar fortunas para que teóricamente pudiéramos golpear ese infinito negativo i d Así que es factible que todas nuestras fortunas pudieran desaparecer dentro de la APP. Por suerte, podemos manejar esto con un giro Cada expresión si encontramos que las fortunas I D están vacías pondrá a cero el I D. De lo contrario, usaremos nuestra función max para devolver el punto matemático max. Entonces en nuestro yo d. Y pongamos a cada uno de estos todos en nuevas líneas para mantener esto organizado. Entonces aquí estamos. Todo está bien. También podemos eliminar estas marcas rojas, lo que significa que hay espacios trailing. Por lo que ahora podemos sumar nuestro turno cada expresión. Revisaremos que las fortunas i ds longitud de punto, diremos, sea mayor que cero. Si es así, vamos a usar nuestra función regular de matemáticas arriba max de lo contrario, en dos puntos, podemos usar el cero ahora aviso. La expresión de abogado se parece mucho a una declaración if, comprobamos una condición. Entonces si esta condición pasa entonces vamos a la parte verdadera antes del colon, que es la matemática fuera, Max. De lo contrario, vamos a la sección falsa, que es este cero de aquí. Genial. Ahora podemos sumar a esto d a nuestro objeto fortunas. Pero después de todo esto, vamos a Teoh incrementarlo por uno. Por lo que de esa manera siempre tenemos un número único. Genial. Estamos casi ahí que tenemos creado nuestro objeto de fortuna. Tenemos que actualizar nuestra tasa general de fortunas con el nuevo objeto. Declaremos subtasa llamada nuevas fortunas. Entonces lo pondremos igual a nuestra matriz general de fortunas contaminada con nuestro nuevo objeto. Entonces diremos que vamos a tener una nueva constante de fortunas ahora y después vamos a venir gato , nuestro nuevo objeto de fortuna que acabamos de crear Great. Por último, vamos a enviar de vuelta estos datos fortunas como Jason con el objeto de respuesta general que tenemos de nuestra devolución de llamada original. Entonces vamos a renderizar nuestras nuevas fortunas mientras dices esto. Vamos a seguir adelante y volver a probar una solicitud de post a través de este rizo. Entonces Gwen, ejecuta la misma solicitud de curl. Ustedes probablemente notaron que añadí extra. Eso es por aquí, y probablemente estamos diciendo que no, no agregues. Eso es así mientras guardamos eso, sigamos adelante y volveremos a ejecutar son solicitud de curl una vez más y conforme lo hacemos es un poco confuso, pero noten que tenemos todos los datos para nuestras fortunas renderizando en nuestra matriz por aquí. Por lo que obtenemos nuestra nueva cuyo mensaje es Hola. El número de la suerte es cinco. Y el animal espíritu es el perro, que es la petición de cuervo que acabamos de crear. Genial. Por lo que se crearon nuestras nuevas fortunas. Impresionante. Ahora note que nuestros nuevos datos, sin embargo, no están aquí. Si vamos a fortunas punto Jason. Entonces si hacemos clic desafortunado sobre Jason, Desafortunadamente, nuestros nuevos datos no están ahí. Bueno, vamos a tener que necesitar una forma de escribir nuestros nuevos datos cada vez que utilicemos esta búsqueda de póster. Entonces, en efecto, pesar de que estamos respondiendo de nuevo con nuestra nueva matriz de fortunas, todavía tenemos que actualizar el archivo real que contiene nuestra fuente global de datos para todas las fortunas. Por lo que queremos obtener solicitudes posteriores para poder cargar esas fortunas. Entonces lo que vamos a hacer se requiere el módulo FS no GS, este módulo fs o file system nos permite ejecutar operaciones de archivo en nota. Por lo que se requiere en el mejor de los casos en la parte superior de nuestro código. Por lo que arriba expresamos esta vez, vamos a conseguir en el mejor de los casos y requerir en el mejor de los casos, el módulo en objeto de inicio llamado en esto, entonces el módulo FX tiene un buen método de archivo correcto que le permitirá reemplazar esta fortuna dot Jason falla con nuestros nuevos datos para su primer parámetro, toma una ruta y el nombre de archivo de los datos que queremos escribirte para el segundo parámetro. Proporcionamos una fortaleza que representa lo que queremos escribir en el archivo. Por suerte, teníamos la cuerda de punto Jason si yo como método construido en que va a convertir nuestra nueva matriz fortunas en una fuerza de Jason. Entonces es justo nuestro archivo y apuntar a los datos slash fortunas dot archivo Jason y lo anula con nuestras nuevas fortunas estratificadas por violación. Lo haremos antes de nuestro Rojo's Dodge, una canción llamada So right Before rojos dot Jason. Vamos a llamar a Fs no archivo correcto. Vamos a ver nuestros datos slash fortunas carpeta Jason, y luego vamos a enviar un string ified new fortunes array Y a medida que enviamos este R A p, debería actualizar en nuestro Consejo de desarrollo. Ahora finalmente, como parámetro 1/3 para esta función proporcionará una función de devolución de llamada la cual generará cualquier error que la función pudiera haber tenido por escrito al archivo por si algo salió mal. El parámetro estará en el objeto aire a representar. Los herederos también confiarán en el registro del aire si la función de válvula correcta no puede encontrar el archivo. Por ejemplo, las notas nobles llaman a esta llamada que la función se proporcionaron y pasaron el objeto aéreo generado que crea. Entonces aquí dentro vamos a tener un objeto aéreo. Y si lo encontramos, llamemos a Sadat. Registrar todo ese objeto aéreo. Está bien, vamos a guardar esto. Y en qué cargó esta función de escritura de archivos. Vamos a reintentar nuestra solicitud de post ahora en nuestro segundo tad. Y como lo hacemos Yep, tenemos una idea de cuatro posteados. Y luego si revisamos nuestras fortunas punto Jason, está estratificada, y la función Sugar cinco no toma en cuenta que debería verse sangrada y bonita, pero hay que ver que tienes una idea para con el mensaje de hola en un espíritu animal fuera de Doug. Y si realmente hacemos la solicitud de post una vez más, nuestros datos se recargan. Y aquí tenemos otra con la idea de cinco. El animal espíritu es perro otra vez. Genial. Nuestras fortunas punto Jason Array ha actualizado en el archivo. Ahora de nuevo, signify no cuida incluir la hendidura de carne. Por lo que tenemos que desplazarnos horizontalmente todo el camino para ver los nuevos datos. De lo que sabemos que el método está funcionando. Sigamos adelante y sigamos aprobando esto a p I, y agreguemos algunas o peticiones, métodos y abrigo. 18. Limpiar el método de las grandes y usar carde: Ahora que completamos nuestro método de post, podemos hacer un poco de limpieza para conseguir este método un poco más apretado usando espacio vertical para tu código de manera más concisa. Por un lado, podemos quitar el cónsul dot log de fortunas y nuestra petición Cuerpo dice. Saca este cuerpo de solicitud Cónsul. No bloquees Siguiente. Podemos colocar toda la creación de su objeto de fortuna dentro de la función inventada que lo suma al array de las fortunas que tenemos. Una convención de recubrimiento que es popular es colocar llaves en su propia línea si el número de claves se hace particularmente largo, lo que ya estaban haciendo con esta fortuna. Entonces se agarró todo este un par de llaves por aquí en su lugar dentro, y ahí lo tenemos en línea Niza. Eso se ve un poco más limpio ahora, otra conveniencia para el desarrollo que no necesariamente afecta nuestro código pero definitivamente mejorará nuestras vidas ya que un desarrollador P I está evitando las misiones curl. Ahora, las solicitudes de Karl son divertidas y eficientes en la línea de comandos, sin embargo, podemos utilizar una herramienta gráfica llamada cartero para realizar ordenadamente solicitudes http en un formato más legible para nosotros. Entonces si no has instalado post significaba ya, puedes encontrar la aplicación de escritorio para Mac Windows o Linux en cartero dot com slash aps. Entonces es buscar cartero en, por ejemplo, por ejemplo, Vamos a acercar esto y por lo general el segundo enlace o 1er 1 es cartero aplicación pipa. Así que adelante y haz clic en eso, y vas a querer descargar el para la plataforma correspondiente e instalarlo para que siga adelante y descargue el para Max, ya que ese es este sistema. Ahora, voy a seguir adelante y abrir este archivo zip por aquí, así que adelante y abrir fue hecho. Por lo que una vez que tengas instalado cartero, debería estar en tu carpeta de descargas. Después de abrir el archivo ZIP, podrías moverlo a tu carpeta Aplicaciones. Sé lo que es en las aplicaciones. Puedes usar Spotlight para encender cartero, y una vez que se lance, debes conseguir una ventana que se vea muy similar a ésta. Ya va a tomar un poco de carga del dedo del pie. Una vez que estés dentro, es posible que tengas que crear una cuenta para usar cartero, así que adelante y hazlo. Pero después de eso, deberías conseguir una página en blanco igual que tan lista para usarla. Por ahora, no es necesario hacer una cuenta, pero es conveniente si quieres mantener un historial de solicitudes http con cartero, lo cual sería bueno mientras estás desarrollando. Está bien. Otra cosa es, asegúrate de tener tus fortunas. AP I corriendo en el consejo de desarrollo y escuchando en Port 3000 que intentemos reconstruir una solicitud get al endpoint de fortunas a través de cartero, escribiendo sólo el nombre de host local. Get so vamos a ir a http slash slash host local. Esta vez vamos a ver el Puerto 3000 y estamos tratando de conseguir nuestras fortunas en general y veamos qué cartero realiza para nosotros. Por lo que una vez que hagas esta solicitud get, encontramos todos nuestros objetos de fortuna listados a través de nuestra solicitud general get. Una vez que haga clic, envíe impresionante. Nuestros datos de Jason nos son devueltos en una salida muy bien sangrada y colorizada. Genial. Ahora, ¿qué tal hacer una búsqueda de póster? Por lo que está abierto un nuevo cartero tad y selecto Post. Vamos a entrar el mismo tu l que tenemos para nuestras fortunas en punto, ya que ese es el mismo que tenemos para nuestro post endpoint y luego también queremos hacer más configuración para esto. Vamos a ir al campo de encabezados más bien al campo de cuerpo y seleccionar crudo, y luego vamos a seleccionar Application Slash y Jason, ya que ese es el tipo de datos que estamos enviando y notamos que una vez que seleccionamos Jason slash aplicaciones último Jason en su campo de encabezados, obtenemos automáticamente tipo de contenido y aplicación slash Jason, Great. Y ahora podemos ingresar algunos datos de Jason dentro de la parte corporal de esta sección por aquí. Entonces sigamos adelante y hagamos una llave rizada en general. Hagamos un nuevo dato de fortunas. Entonces vamos a tener una clave de mensaje. Y qué tal nuestro mensaje es que el éxito te espera, te espera, y entonces vamos a necesitar un número de la suerte de vez en cuando. Esto son 15 y luego vamos a tener un animal espiritual también. ¿ Y qué tal la jirafa? Genial. Enviemos la solicitud con ese botón de envío grande ahora. Y como lo hacemos obtenemos la respuesta. Y si nos desplazamos hacia abajo, vemos eso todo el camino al fondo. Vemos a nuestro nuevo objeto cargado también. Impresionante. Ahora teníamos a su disposición este cartero herramientas. Por lo que tenemos una forma más rápida que hacer curl quest para hacer nuestra publicación personalizada y otras solicitudes de no obtener . Ahora esta última parte de la lección es opcional. No vamos a estar agregando un nuevo comportamiento, pero explorando una característica ordenada acerca de la nota podría estar preguntándose si está publicando estos datos a esta fortuna. Object Lord, Get método ahora automáticamente obtener la nueva tasa de fortunas. Usemos cartero para hacer ese método get. Entonces como lo hacemos están al fondo. Obtenemos nuestros datos más recientes. ¿ Eso parece extraño que estaban recibiendo nuestra fortuna más recientemente publicada de la Post Request? Después de todo, si miras bien su código, requerimos nuestros datos de fortunas al inicio del archivo, y entonces nuestro método get está respondiendo con esos datos fortunas en el formato Jason. ¿ No debería contener ese Onley alguna vez la matriz inicial de fortunas ya que lo requería al principio? Bueno, eso es un gran tres, pero vamos a explorar cómo nota está Spartan a actualizar este global o tasa de fortunas, pesar de que no estamos diciendo explícitamente que las fortunas equivalen a otra cosa al cambiarlo su código postal. En primer lugar, podría ser tentador pensar que la función de gato caramelo modifica las fortunas son correctas. Pero regresa la función de gato de JavaScript. Una matriz totalmente nueva de datos almacenados dentro de este nuevo objeto fortunas. Ahora, así de nuevo, no modifica la matriz original. Y entonces la pregunta se convierte, ¿Cómo es que nuestra matriz global de fortunas se actualiza? Aún así, la respuesta radica en que cuando escribimos a las fortunas dot archivo Jason por aquí notamos lo suficientemente inteligente como para reiniciar nuestra aplicación por aquí, ya que uno de los módulos adquiridos ha cambiado, que en este caso es nuestro punto fortunas módulo Jason por aquí de data slash fortunas. Probemos esto haciendo un registro confidante antes de requerir nuestros datos de fortunas para las pantallas, un mensaje de que estamos requiriendo que los datos de fortunas. Entonces vamos a hacer un registro constante que diga, requiriendo fortunas, datos y como lo hacemos en un aviso de guardar que estamos recibiendo escuchando en Port 3000 y requiriendo fortuna Zita. Por lo que ahora de vuelta en Cartero, rehagamos nuestra solicitud de post. Por lo que en la pestaña de correos, adelante y solo vuelve a hacer clic en ese botón enviar. Deberíamos conseguir una fortuna siete ahora que se parece al 61 y no en nuestro servidor de desarrollo notó que todo el servidor se reinició de nuevo. Estamos recibiendo requiriendo datos de fortunas y que estamos escuchando en Port 3000 Niza. Por lo que en efecto, hemos reiniciado toda la aplicación de servidor de nodo back end porque hemos escrito en uno de nuestros módulos. O mejor dicho, uno de nuestros módulos se actualizó como archivo. Entonces es deshacerse de este amor confidente. Ahora no lo necesitamos. Y ahora hemos demostrado que cómo correr a un módulo trasero inicia nuestra aplicación real, lo cual es conveniente cuando estamos requiriendo en modelos globales. Dependen de eso y aún tienes funciones usando eso. Entonces con eso, sigamos adelante y sumamos algunos métodos finales AP I a esta fortuna un P I. 19. Actualizar la Fortunes de: Demos a nuestros usuarios de A P I la capacidad de editar objetos de la fortuna, es decir, si quieren cambiar antes de enviar mensaje, Número de suerte y o animal espíritu tendrán un método específico para hacerlo. Para hacer este método usará otro tipo de peticiones http Método llamado Put put es este inglés de Post Post se utiliza para crear nuevos objetos mientras que put se utiliza para actualizar y reemplazar los existentes. Muy bien, pensemos cómo se diseñará este método put. Se ponen. Método se verá como una combinación de nuestro método get basado en la sub ruta I. D y el método post que tenemos en nuestro post. Por lo que podremos conseguir que la fortuna específica se actualice a través de su i. D. En los parámetros de solicitud a través de un parámetro de ruta necid. Y luego averiguaremos cómo actualizar sus datos. El uso de los valores pasados en el cuerpo de solicitud como tal creará un método put en nuestra aplicación express con el i D. Como parámetro encima de las fortunas, Rap también proporcionará nuestra función de devolución de llamada express habitual con la solicitud y objeto de respuesta. Siéntate en nuestro código. Hagamos una nueva función llamada Apt Output. Después proporcionaremos un encogimiento con una ruta de parámetro anidada de I D. Luego proporcionaremos una función de devolución de llamada con un objeto de solicitud y respuesta. Iban a agarrar nuestro I D de la petición Objeto Padres. Entonces vamos a conseguir el I d. Al usar destrucciones en impuestos, haremos una copia de mirada de I D. Obtendremos el que se va a almacenar en nuestra solicitud de padres de punto, y luego también agarraremos el mensaje Número de suerte y espíritu animal tease de un cuerpo de solicitud y las declaró como constantes de look mediante el uso de la sintaxis estructurante también. Entonces saquemos el mensaje, el número de la suerte y el animal espíritu del cuerpo que está dentro de nuestra petición. Genial. Otro. Tenemos nuestro i d de la fortuna a través de la solicitud Haram's así como nuestros valores corporales para actualizar desde el cuerpo de solicitud. Usemos esos datos para modificar nuestras fortunas. Datos Ap I. En primer lugar, vamos a encontrar nuestra fortuna para actualizar a través de su i d. Mediante el uso de la función de búsqueda de script de trabajo. Entonces vamos a decir que nuestra vieja fortuna es una fortuna no encuentra, y luego la encontramos. Pero mirando a través de cada sencillo yo d y luego pasando el que coincide con nuestras condiciones que la F que representa una fortuna individual que estamos encontrando sobre, es i d coincide con la idea de que estamos recibiendo a través de una solicitud para EMS, y de nuevo estamos usando dobles iguales. En este caso desde el i D que pasa por solicitud. Francia es un encogimiento, pero la idea es que tenemos dentro de nuestras fortunas son números, por lo que no queremos hacer tipo extra Check con un triple igual. Simplemente queremos un cheque normal sin la verificación de tipo. Genial. Ahora que tenemos nuestra antigua fortuna para repetir, esta vieja fortuna es ahora una referencia a nuestro objeto de fortuna original porque find devuelve una referencia, no la original. Ahora, ya que es una referencia, esto básicamente representa el objeto original en los datos, lo que significa que podemos editar sus claves para tener nuevos valores y tenían que convertirse en los nuevos datos en la matriz original. Entonces actualicemos el mensaje de fortunas y lo reemplacemos por uno nuevo que estamos recibiendo del cuerpo de solicitud. Está bajo la vieja fortuna. Vamos a ver el mensaje y actualizado a nuestra variable de mensaje local. De igual forma, para el número afortunado, lo actualizaremos a nuestro número de suerte local. Y por último, para que el animal espírita actualice el animal espírita al local. Genial. Ahora sabemos por nuestro método de post anterior que podemos actualizar nuestro archivo de punto de fortunas reales Jason para actualizar nuestros datos generales de fortunas y la variable global. Entonces vamos a tomar un enfoque similar de escribir a nuestro archivo en la ubicación de datos, ir al punto fortunas Jason, y luego vamos a enviar una versión string ified de nuestro nuevo objeto fortunas. Y de nuevo, podemos usar fortunas esta vez ya que por aquí estaban actualizando la referencia original a los datos originales. Entonces no tenemos tienda en algo así como nuevas fortunas por aquí. Y luego aquí brindamos nuestra función de devolución de llamada como de costumbre en caso de que tengamos un aire. Entonces, vamos a guardar eso. Y con esto abajo, casi estamos listos para probar el método en Cartero. Sólo tenemos que enviar de vuelta nuestros nuevos datos los cuales serán almacenados dentro del objeto fortunas. De acuerdo, con esto, estamos listos para probar el método en Cartero. Entonces sigamos adelante y abramos a un cartero. Vamos a abrir una nueva pestaña dentro de ella esta vez seleccionaremos nuevamente el método put. Estaremos agregando algún cuerpo con a través de datos brutos. Entonces saquemos las fortunas y apuntemos dentro de nuestro puesto. Pero esta vez, actualicemos el Fortune número cuatro por aquí. Démosle un nuevo mensaje. Y luego de nuevo, queremos seleccionar Jason Aplicaciones last Jason. Y entonces queremos nuestro mensaje por aquí. Qué tal el amor vendrá pronto. Qué esperanzador, entonces el número afortunado. ¿ Qué tal el 11 y luego el animal espíritu esta vez? Shelvey Zebra. Entonces, ¿qué tal la cebra? Y podrías poner cualquier valor que quieras. Entonces con su abajo, asegúrate de tener un número para el parámetro de tierra de anidación que seleccionaste a Jason. Aplicación slash Jason, ya que uno de tu cuerpo debería hacer un encabezado de aplicación apretada constante. Jason automáticamente. Entonces con eso, sigamos adelante y pinchemos enviar, y conforme lo hacemos obtenemos una respuesta en nuestros datos. Y mira ese número cuatro o más bien yo d para su nivel vengan pronto. El número de la suerte es 11 y cebra enfriar nuestras actualizaciones de objetos con su nuevo método put. Ahora, ¿y si solo enviamos datos parciales? Entonces intentemos quitarnos a nuestro animal espíritu. ¿ Y qué tal si te actualizas el número de la suerte? 16? Veamos si el mensaje, o mejor dicho, o mejor dicho, sólo un número de la suerte se actualiza. Pero lo que sucede con el animal espíritu en el número cuatro y el animal espíritu en nuestros datos de objeto desaparece por completo. Esto se debe a que como Spirit Animal no existe dentro de un cuerpo put request, ahora va a ser indefinido en nuestro método local por aquí. Ahora, suerte, podemos lograr una actualización parcial mediante el uso de sentencias if frente a estas actualizaciones, lo que significa que podemos poner una guardia contra la actualización de esos datos a una pieza de datos indefinida si no está definida originalmente. Entonces diremos si Onley. Si hay un mensaje, actualicemos el mensaje. De igual forma, Onley. Si hay un número de la suerte, vamos a actualizar el número de la suerte. Y por último, sólo si hay un animal espírita. Vamos a hacer que ese espíritu animal se actualice. Ahora, mientras guardamos esto, reintentemos esto una vez más. Le devolveremos su espíritu animal de cebra. Por lo que de esa manera tiene algunos datos animales espirituosos con los que trabajar. Entonces mandemos esto. El puesto debe actualizar el 4to 1 y de nuevo tiene espíritu animal. Pero ¿y si ahora actualizamos el número de la suerte? Cambiará el número afortunado Demasiado indefinido. Entonces vamos a enviar este cheque la respuesta. Y ahora, esta vez, pesar de que no se envió el número afortunado de, no se actualiza. Y ahí lo tenemos, solo actualizando parcialmente nuestros campos. Genial. Ahora tenemos la capacidad de actualizar parcialmente campos para un P I. Ahora, antes de seguir adelante, hay algunas mejoras de código que podemos hacer notar que estamos haciendo exactamente el mismo archivo correcto dos veces. Ayúdanos. Podemos hacer una función auxiliar en este archivo de Abdel Js que se encarga de escribir a la fortuna. Jason, vamos a llamarlo bien. Las fortunas lo harán por encima de nuestro método de publicación por aquí, así que lo llamaremos Const. Correcto fortunas, y luego lo pondremos igual a función de flecha. Y luego, para la función real, llamará a todo el método de archivo fs dot derecho reemplazando los datos con nuestro parámetro Jason que vamos a agregar por aquí así que le daremos un Parámetro Jason, que representa a Jason . Que ahora estamos enviando fue tomar todo este fs dot derecho archivo y pegarlo dentro. Las fortunas correctas probablemente quieran deletrear las fortunas correctas también correctamente. Y en lugar de significar, nuevas fortunas iban a encadenar. Si soy Jason y no el final de esto ya que borramos nuestros esfuerzos dot right file call bien, tenemos que reemplazarlo con nuestra función de ayudante. Y esta vez estamos pasando en nuestros datos de nuevas fortunas y de igual manera, por aquí. No tenemos que escribir esta llamada extendida ya que tenemos un método de ayudante era correcto las fortunas y luego enviar datos de nuestras fortunas. Como usted dice esto. Hay actualizaciones de servicio de desarrollo. Ahora deberíamos poder seguir mandando esto y tenerlo reescrito. Y luego en un método get, podremos obtener todos nuestros datos aún con las fortunas actualizadas, sigamos adelante y publiquemos uno nuevo para asegurarnos de que el post siga funcionando correctamente. En efecto, tenemos otra octava fortuna aquí. Si haces una solicitud de get, sabemos que escribe el archivo. Desde que vemos ocho ahora, excelente. Ahora hay un cambio más que podemos hacer ahora, la defecación de código que tenemos de las líneas 49 a 51 sobre la actualización de los viejos campos sobre su antigua fortuna no es tan mala ya que sólo hay tres líneas, sin embargo. Imagínese si tuviéramos que hacer esto para, digamos, 4 a 5 o incluso 10 campos diferentes. Bueno, podríamos optimizar esto haciendo una matriz de nuestros tés por lo que hablando array de Archies, que es el mensaje de la suerte número y espíritu animal. Y luego ejecutamos un para cada función en cada uno de esos. Y luego miraremos cada clave individualmente y luego revisaremos. Bueno, vamos a revisar de esta clave ahora está presente dentro de nuestro cuerpo de solicitud al igual que este. Si mensaje de aquí Así diremos si la solicitud que cuerpo contiene esta clave, entonces vamos a actualizar nuestra antigua fortuna. Con esa T y ST, se va a poner igual al cuerpo de solicitud de acceder a ese té por ahí. Entonces ahora con eso, podemos sacar estas declaraciones por aquí, y en realidad, ni siquiera necesitamos acceder a las variables locales desde nuestro cuerpo de solicitud. Y como decimos esto, ahora tenemos versión más concisa que es más poderosa. Por lo que simplemente necesitamos agregar una nueva clave por aquí para actualizar un nuevo campo. Si actualizamos nuestro A p I. Así que se va a revisar en Post Mint si nuestra función para el método put todavía funciona. Entonces, ¿qué tal borrar el espíritu? Animal le dará un nuevo número de la suerte, sin embargo, así que deberíamos ver que nuestro número de la suerte está actualizado a algo así como 19 pero la cebra no está actualizada. Ciudad goto i d. cuatro Sí, el Espíritu Animal Cebra no se actualizó, pero todavía tenemos nuestro número de suerte de 19. Impresionante. Agregamos totalmente una capacidad de actualización con un método put en nuestras fortunas. A p I. Pasemos y agreguemos la última característica a este servidor AP I. 20. Eliminar el método de la fortuna: para nuestra última pieza de funcionalidad le dará al usuario A P I la capacidad de eliminar fortunas individuales de un p I para permitir al usuario especificar una fortuna específica para eliminar. Utilizamos la misma estrategia que nuestro get by i d y ponemos métodos de actualización. Tendremos un parámetro i d. a petición el cual usará para especificar el i d que nos gustaría quitar de nuestro bebé. Yo para hacer esta solicitud delete http lo usamos método elite de Express. Tendremos las fortunas similares y d punto final con la solicitud y respuesta llamada de vuelta. Por lo que después de poner, tendremos nuestro nuevo método de eliminación. Estará en las fortunas y el espacio de nombre de punto y luego veremos el I. D. S un parámetro de varilla. Y aquí está nuestra función de devolución de llamada de naufragio y subida que se dispara cuando llegamos a este punto final. Ahora que tenemos esto, yo d. Pensemos en cómo va a borrar el objeto de nuestro rayo. Una buena opción es usar el método de filtro en JavaScript, una carrera el método de filtro devolverá una nueva matriz basada en la condición que colocamos en cada artículo para que podamos mirar cada elemento en nuestras fortunas Marais y en Lee devolver artículos que pasado cierta condición en base a su i d. En nuestro caso, sólo es retorno I ds que no coinciden se solicitan. Solicita parámetro i d Así que primero vamos a agarrar nuestro nuevo i d del objeto de dot grams de naufragio en la solicitud. Un dicho normal que ahora vamos a tener un nuevo objeto fortunas, que nos permite filtrar el objeto original de las fortunas. Vamos a ver cada objeto de la fortuna individualmente con parámetro f Mira cada uno de esos objetos F que representa una fortuna. Vamos a ver su i d y luego vamos a decir Onley, nos dan nuevas fortunas para las que no coinciden con la I. D. Especificamos con nuestros parámetros de solicitud. Genial. Esto creará una matriz totalmente nueva de artículos Onley que no coinciden con nuestra solicitud Perimeter I d. Del mismo modo, si coincide con el i d, el método de filtro decidirá no colocarlo en la matriz de nuevas fortunas. Ahora que tenemos esta nueva matriz de datos, así es. Las fortunas a nuestras fortunas salpican la falta de Jason usando nuestro bonito método de ayudante. Entonces vamos a escribir estas fortunas y pasar nuestras nuevas fortunas como Jason para nuestras fortunas correctas . Método finalmente responderá como nuevas fortunas con una respuesta de Jason. Entonces vamos a salir esta funcionalidad en Cartero. Primero, vamos a hacer una solicitud de get para ver qué datos que realmente tenemos que seguir adelante y enviarlo Ahora, una vez que lo tengas ahí, adelante y mira a través de él. Me di cuenta de eso. Bueno, podemos eliminar cualquiera de estos. Pero, ¿qué tal uno que está duplicado? ¿ Qué tal borrar yo d número siete? Entonces es gradar algo como esto. Todo nuestro poner endpoint al descubierto en Nueva Tab. Después especificaremos una solicitud de eliminación. Poco ritmo nuestro euro. Y entonces de nuevo, vamos a querer cambiar el uno por idea de ocho. Entonces cambiemos. Ese es un parámetro a ocho. Muy bien, así que una vez que tengamos eso, en realidad no necesitamos especificar ninguna configuración del cuerpo. Se parece mucho a una solicitud de get donde sólo lo enviamos y boom, Aquí vamos. Vamos a revisar y luego veamos nuestra respuesta ahora desplazándose un poco hacia abajo. Tiene i d seis en i d siete, pero no tiene I. D. Un gran ¿Qué tal hacer líder número cinco o más bien me d cinco o más bien, seis. Ese es un duplicado. Entonces borra yo d seis o lo que sea que tengas. Es posible que tengas diferentes datos disponibles para ti, y ahí va del 5 al 7. Impresionante. Por lo que no podemos encontrar nuestro objeto y se borra. Y si hacemos una solicitud get, nuestra original en el parámetro get request Tad de Cartero fue Click send. Y ahí tenemos nuestra matriz actualizada con nuestros objetos borrados. Impresionante objeto eliminado con la idea de seis y ocho y un fortunas son Ray lo ha filtrado hacia abajo. Con eso, hemos completado nuestras fortunas ap I con la capacidad de agarrar toda la matriz de fortunas, conseguirlas por d, conseguir al azar una publicación una nueva fortuna actualizada y ahora eliminar por completo una