En este repositorio, se encuentran los archivos que componen el trabajo práctico final para la materia Entorno de Programación de la Tecnicatura Universitaria en Inteligencia Artificial. Este trabajo fue realizado por:
Estudiante | Legajo |
---|---|
Alanis, Germán | A-4616/7 |
Asad, Gonzalo | A-4595/1 |
Castells, Sergio | C-7334/2 |
El trabajo práctico consistió en la elaboración de un programa dividido en varios scripts que corren dentro de un contenedor. De ejecutarse el programa en el orden correcto, se obtendrá como resultado un archivo comprimido con imágenes de personas y tres archivos de texto. La nomenclatura de las imágenes corresponde a nombres de personas, de los cuáles sólo se consideran válidos aquellos que comienzan en mayúsculas y continúan en minúsculas. Las imágenes con nombres válidos son procesadas y modificadas en tamaño. Los archivos de texto contienen la siguiente información: lista de nombres válidos, cantidad de nombres válidos que terminan con la letra "a" y lista de nombres de todos los archivos.
Para poder ejecutar el programa correctamente, se requerirá que el usuario
- Cuente con un sistema operativo Linux
- Posea conocimientos básicos del uso de Shell en Linux
- Tenga instalado Docker en la PC donde se correrá el programa (si no lo tiene instalado, puede seguir el instructivo en el siguiente enlace: https://docs.docker.com/desktop/install/linux-install/)
Al descargar el contenido del repositorio, el usuario deberá asegurarse que todos los archivos del mismo se encuentren dentro de un único directorio en la PC donde correrá el programa, como en el siguiente ejemplo:
A continuación, se deberá abrir una terminal de Shell y navegar hasta el directorio que contiene los archivos del repositorio con el siguiente comando:
cd "Ruta_del_directorio"
Ejemplo:
Una vez ubicado en el directorio del repositorio, deberá asignarle permisos de ejecución al archivo startdocker.sh con el comando:
chmod +x startdocker.sh
Ejemplo:
Finalmente, deberá ejecutar el archivo startdocker.sh, lo que dará inicio a la creación de la imagen de Docker, al contenedor y a la ejecución del programa:
./startdocker.sh
Ejemplo:
Si todos los pasos fueron ejecutados satisfactoriamente, se deberá ver en la terminal la creación de la imágen y a continuación un mensaje de bienvenida al trabajo práctico de Entorno de Programación, dando inicio al programa:
Al iniciar el programa, el usuario verá en pantalla un menú con 5 opciones:
1) Generar
2) Descomprimir
3) Procesar
4) Comprimir
5) Salir
Si bien el usuario puede elegir cualquier opción en cualquier orden, para una correcta ejecución del programa se debe seguir una secuencia determinada que será indicada por el mismo acusando la opción que debe seleccionar en cursiva y parpadeando. De verse esta secuencia alterada, se le dará aviso al usuario para que ejecute los pasos en el orden correcto. Para elegir la opción, el usuario deberá ingresar el número asociado a la misma y a continuación presionar el botón Enter del teclado. La correcta ejecución arrojará como resultado el archivo comprimido antes mencionado que se alojará en la PC donde se ejecuta el programa.
Esta opción genera una cantidad de imágenes definida por el usuario haciendo uso de un servicio en internet, las descarga y las guarda dentro de un archivo comprimido, junto con su checksum, dentro del contenedor. Para ejecutar esta opción, teniendo el menú en pantalla, el usuario deberá ingresar 1 con el teclado y a continuación presionar la tecla Enter. Se le pedirá que ingrese cuántas imágenes desea generar, ingresar el número con el teclado y presionar Enter:
Verá mensajes indicando que las imágenes están siendo generadas:
Al finalizar, se le dará aviso al usuario de que el proceso se realizó exitosamente:
Esta opción hace una suma de verificación entre el checksum y el archivo comprimido generados por la opción anterior. Posteriormente, descomprime las imágenes en un directorio dentro del contenedor. Para ejecutar esta opción, teniendo el menú en pantalla, el usuario deberá ingresar 2 con el teclado y a continuación presionar la tecla Enter. Al finalizar, se le dará aviso al usuario de que el proceso se realizó exitosamente:
Esta opción modifica el tamaño de las imágenes generadas cuyo nombre es válido. Las que no tienen un nombre válido, se conservan sin alterar. Para ejecutar esta opción, teniendo el menú en pantalla, el usuario deberá ingresar 3 con el teclado y a continuación presionar la tecla Enter. Al finalizar, se le dará aviso al usuario de que el proceso se realizó exitosamente:
Esta opción genera un archivo comprimido que contiene las imágenes generadas además de tres archivos de texto que contienen: lista de nombres válidos, cantidad de nombres válidos que terminan con la letra "a" y lista de nombres de todos los archivos. Para ejecutar esta opción, teniendo el menú en pantalla, el usuario deberá ingresar 4 con el teclado y a continuación presionar la tecla Enter. Al finalizar, se le dará aviso al usuario de que el proceso se realizó exitosamente:
Esta opción finaliza la ejecución del programa y detiene el contenedor. Para ejecutar esta opción, teniendo el menú en pantalla, el usuario deberá ingresar 5 con el teclado y a continuación presionar la tecla Enter.
El usuario deberá verse de regreso a la terminal de Shell de su PC:
Si todos los pasos fueron realizados exitosamente, el usuario deberá ver que se creó un nuevo directorio llamado output dentro del directorio del repositorio.
El directorio contendrá un archivo comprimido con las imágenes generadas y los archivos de texto antes mencionados.
Tras la ejecución del programa y la obtención del archivo comprimido, se realizará una rutina de limpieza automática que consiste en la eliminación del contenedor y de la imagen de Docker generados.