Estás en:   ArielOrtiz.info > Desarrollo de aplicaciones web > Práctica 1: Introducción a la programación asíncrona

Práctica 1: Introducción a la programación asíncrona

Objetivos

Durante esta práctica, los alumnos serán capaces de:

Esta actividad promueve las siguientes habilidades, valores y actitudes: análisis y síntesis, capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.

Descripción de la actividad

Esta práctica puede ser elaborada de manera individual o en parejas.

Resuelve el siguiente problema usando Node.js y el lenguaje de programación JavaScript. Crea un directorio llamado practica1 y coloca ahí tu archivo fuente con la solución del problema.

Tu archivo fuente debe comenzar con un comentario que contenga el título de la práctica, la fecha y los datos personales de los autores (nombre y matrícula). Por ejemplo:

/*----------------------------------------------------------
 * Práctica 1: Introducción a la programación asíncrona
 * Fecha: 20-Ene-2016
 * Autores:
 *           A01166611 Pepper Pots
 *           A01160611 Anthony Stark
 *----------------------------------------------------------*/

Problema

El archivo movies.csv es un archivo con formato CSV (comma-separated values) que contiene información sobre varias películas. Cada película se encuentra en su propio renglón dentro del archivo. Los datos de cada película son: nombre, año de estreno y director. Dentro de un mismo renglón, los datos están separados entre sí a través de comas.

Usando Node.js, escribe un programa que lea de manera asíncrona el archivo movies.csv del sistema local de archivos y produzca un nuevo archivo de manera asíncrona llamado sorted.csv con el mismo formato que el archivo de entrada pero con los renglones ordenados de manera ascendente por el año de estreno de las películas.

Para leer y escribir los archivos debes utilizar las siguientes funciones asíncronas:

Otras funciones que pueden ser de utilidad para resolver el problema son las siguientes:

Al final, el archivo sorted.csv debe quedar con el siguiente contenido:

name,year,director
In the Heat of the Night,1967,Norman Jewison
Oliver!,1968,Carol Reed
Midnight Cowboy,1969,John Schlesinger
Patton,1970,Franklin J. Schaffner
The French Connection,1971,William Friedkin
The Godfather,1972,Francis Ford Coppola
The Sting,1973,George Roy Hill
The Godfather Part II,1974,Francis Ford Coppola
One Flew Over the Cuckoo's Nest,1975,Miloš Forman
Rocky,1976,John G. Avildsen
Annie Hall,1977,Woody Allen
The Deer Hunter,1978,Michael Cimino
Kramer vs. Kramer,1979,Robert Benton
Ordinary People,1980,Robert Redford
Chariots of Fire,1981,Hugh Hudson
Gandhi,1982,Richard Attenborough
Terms of Endearment,1983,James L. Brooks
Amadeus,1984,Miloš Forman
Out of Africa,1985,Sydney Pollack
Platoon,1986,Oliver Stone
The Last Emperor,1987,Bernardo Bertolucci
Rain Man,1988,Barry Levinson
Driving Miss Daisy,1989,Bruce Beresford
Dances with Wolves,1990,Kevin Costner
The Silence of the Lambs,1991,Jonathan Demme
Unforgiven,1992,Clint Eastwood
Schindler's List,1993,Steven Spielberg
Forrest Gump,1994,Robert Zemeckis
Braveheart,1995,Mel Gibson
The English Patient,1996,Anthony Minghella
Titanic,1997,James Cameron
Shakespeare in Love,1998,John Madden
American Beauty,1999,Sam Mendes
Gladiator,2000,Ridley Scott
A Beautiful Mind,2001,Ron Howard
Chicago,2002,Rob Marshall
The Lord of the Rings: The Return of the King,2003,Peter Jackson
Million Dollar Baby,2004,Clint Eastwood
Crash,2005,Paul Haggis
The Departed,2006,Martin Scorsese
No Country for Old Men,2007,Joel Coen
Slumdog Millionaire,2008,Danny Boyle
The Hurt Locker,2009,Kathryn Bigelow
The King's Speech,2010,Tom Hooper
The Artist,2011,Michel Hazanavicius
Argo,2012,Ben Affleck
12 Years a Slave,2013,Steve McQueen
Birdman: Or (The Unexpected Virtue of Ignorance),2014,Alejandro González Iñárritu

¿Qué se debe entregar?

Escribe el reporte de la práctica tal como se detalla en el documento Reportes de prácticas. El nombre del archivo fuente de AsciiDoctor debe ser reporte_practica1.adoc. A partir del código fuente de AsciiDoctor debes generar el archivo de HTML correspondiente. Dicho archivo se debe llamar reporte_practica1.html. Coloca estos archivos junto cualquier otro archivo adicional que se requiera para generar el reporte dentro del directorio practica1.

Crea un archivo tarball con todo el contenido del directorio practica1. Nombra a este archivo practica1.tgz. Este archivo se puede crear desde la terminal tecleando lo siguiente (asegúrate que te encuentres en el mismo nivel que el directorio practica1):

tar czf practica1.tgz practica1

✔ Instrucciones para subir archivo

Para entregar el archivo practica1.tgz, ingresa los siguientes datos:

Solicitar NIP

Si la práctica fue desarrollada en pareja, basta que solo uno de los miembros la entregue. No se aceptan prácticas por ningún otro medio.

Fecha límite: Martes, 26 de enero.

Evaluación

Esta actividad será evaluada usando los siguientes criterios:

50% Implementación de los requerimientos.
50% Reporte de la práctica de laboratorio.
DA El programa y/o reporte es un plagio.