miércoles, 29 de mayo de 2019

S8. Actividad 2. Presentación multimedia y exposición de resultados



Video de Reporte Final:


Link:

https://www.youtube.com/watch?v=kqMHANkiWng





Presentación del Reporte Final:





































martes, 28 de mayo de 2019

S8. Actividad 1. Integración y redacción del informe final

 Universidad Abierta y a Distancia de México


Investigación Documental y de Campo

Informe Final


Desarrollo de servidor web virtual básico mediante un framework fácil de aprender, usar e instalar; ejecutado de forma local en una distrubución linux.

Jaguar Ulises Pérez Hernández

 29 de mayo de 2019



 
Índice


Introducción -------------------------------------------------------------- 3
Metodología --------------------------------------------------------------- 4
Realización -------------------------------------------------------------------------------------- 4
Plan de Trabajo ------------------------------------------------------------------------------- 4
Resultados ----------------------------------------------------------------- 5
Encuesta ------------------------------------------------------------------------------------------ 5
Preguntas realizadas ----------------------------------------------------------------------- 6
Resultados obtenidos ----------------------------------------------------------------------- 7
Conclusión ---------------------------------------------------------------- 9
Referencias ------------------------------------------------------------- 10
 


 
Introducción


La investigación que se realizó trata sobre programación de servidores virtuales en entornos locales desarrollados con el framework Flask, desarrollado sobre Python. La sintaxis simple y fácil de leer, heredada de este robusto y famoso lenguaje de programación, hace que Flask sea un gran aliado para el programador principiante o experto, ya que crear, leer y depurar el código es más sencillo. La sencillez y el fácil uso de Flask se hace más evidente cuando se tiene un proyecto que crece cada día al agregarle cientos de lineas de código continuamente, convirtiéndose en un proyecto de gran escala con más de mil lineas de código; buscar, leer e identificar los errores en el código, en un proyecto de gran magnitud, es más fácil y requiere menos tiempo para su depuración. Esto hace que crear servidores virtuales sencillos o robustos sea de forma más rápida y fácil con la ayuda de Flask.
Los desarrolladores de software deben tener herramientas que les ayude a generar proyectos de forma más fácil y rápida en este caso tenemos al framework Flask con el que se puede crear un servidor muy sencillo con apenas una lineas de código (Miguel G., 2014, Flask Web Development: Developing Web Applications with Python, O'Reilly Media, Inc., p.10). No sólo los programadores con muchos años de experiencia pueden aprovechar el desarrollo mediante el framework Flask o aprender a usar Python también se puede aprender desde secundaria (García Monsálvez, José Carlos, Python como primer lenguaje de programación textual en la Enseñanza Secundaria. Education in the Knowledge Society, 2017). Otra de los puntos a favor de Python y Flask es su código fuente de libre acceso (“Open Source”), esto hace que se tenga mucha documentación para leer el funcionamiento del código de forma profunda o sólo saber su funcionamiento básico para correr scripts sencillos, como ejemplo: hacer operaciones aritméticas de suma, resta, multriplicación o division; crear scripts con sentencias de control como: for, while, o if; desarrollar automatización de procesos o eventos en entornos linux. No sólo la documentación oficial de cada lenguaje de programación, Python o Flask, puede ayudar al programador a crear proyectos bien organizados y robustos, también puede ayudarse de páginas como StackOverflow; algunos tutoriales muy buenos y sencillos en youtube como el canal de Pretty Printed, como crear un servidor muy sencillo con Flask (Pretty Printed, 2015, Flask Hello World, https://youtu.be/gQ6lh3ir2Jw); también puede encontrarse libros electrónicos para aprender a desarrollar servidores virtuales con Flask (Miguel G., 2014, Flask Web Development: Developing Web Applications with Python, O'Reilly Media, Inc.).


En esta investigación se realizó una pequeña encuesta a personas afines a ingenieria, desarrollo de software y programadores principiantes, hombres y mujeres de todas las edades, con experiencia en programación de páginas en HTML5, Javascript y CSS, para saber si los encuestados tienen conocimiento de como crear servidores virtuales con pocas lineas de código o si estarian interesados en aprender a utilizar Flask. Los datos recabados y los gráficos obtenidos se pueden revisar en la sección de Resultados de esta investigación.




Metodología

Realización

Para la realización de esta investigación primero se delimitó el tema de estudio que es: Desarrollo de servidor web virtual básico mediante un framework fácil de aprender, usar e instalar; ejecutado de forma local en una distrubución linux”. Después se llevo a cabo una investigación en internet mediante el uso de buscadores especializados para temas académicos en las páginas: https://scholar.google.es/ y http://www.redalyc.org/. Los temas o términos utilizados para la búsqueda y recopilación de información en “Scholar Google” y “Redalyc” son: programación con Python (“python programming”) y uso del framework Flask (“python flask programming”) para la creación de servidores virtuales. Las documentos encontrados en la búsqueda y en la que se apoya esta investigación se pueden encontrar en la sección de Referencias.

Plan de Trabajo

A continuacion se muestra el Plan de Trabajo (Tabla 1), que se siguió para la realización de la investigación y el reporte final.







Resultados

Al estudiar y analizar los documentos encontrados y los resultados obtenidos de la encuesta realizada en esta investigación; se encontró que es necesario el aprender a programar en un lenguaje que sea fácil de aprender desde un nivel escolar como secundaria, y que también sea útil en proyectos de universidad o pueda ser utilizado por profesionales en laboratorios donde analizan e interpretan grandes cantidades de datos para despues visualizarlos (Patrick Vogel, Thijs Klooster, Vasilios Andrikopoulos, Mircea Lungu, A Low-Effort Analytics Platform for Visualizing Evolving Flask-Based Python Web Services, 2017, IEEE, ISBN: 978-1-5386-1003-9) o en empresas privadas dedicadas al trading de alta frecuencia.
Es necesario para programadores principiantes, desarrolladores profesionales y empresas privadas un lenguaje de programación que ayude a crear grandes servidores virtuales en poco tiempo y con menos esfuerzo, que sea fácil de usar, aprender y depurar. El lenguaje de programación que se ajusta a estas características es Python gracias a su sintaxis muy parecida a un pseudocódigo, que es fácil de leer y crear código. Aunque el proyecto se haga cada vez más grande, no importa si son cientos o miles de lineas de código; la facilidad de uso, lectura y depuración de errores del lenguaje hace que esto sea más sencillo. El framework Flask que hereda todas las fortalezas y características de Python lo hacen un lenguaje ideal para el desarrollo de pequeños proyectos que alientan al programador a seguir aprendiendo o grandes servidores virtuales para empresas privadas que necesitan estar en linea las 24 horas del día y necesitan que los errores se solucionen en menos tiempo; esto se refleja en menos pérdidas económicas para la empresa.

Encuesta

La siguiente encuesta muestra los datos de personas (hombres y mujeres de entre 18 y 60 años), afines a la programación, ingeniería de sistemas, desarrollo de software y otras ingenierías, que han programado páginas con HTML5, JavaScript y CSS.
Los encuestados que cumplen con los requisitos anteriores están interesados en desarrollar servidores virtuales y aprender a usar el framework Flask, para crear proyectos de forma fácil y rápida con menos lineas de código, y después subir su servidor virtual a la nube en páginas como: Heroku o Pythonanywhere.

Preguntas realizadas:

Desarrollo de Servidores Virtuales con un Framework Fácil de Aprender y Usar

1 ¿Qué edad tienes?
Entre 18 y 30 años
Entre 30 y 40 años
Entre 40 y 50 años
Entre 50 y 60 años
Entre 60 y 70 años

2 ¿Cuál es tu sexo?
Masculino
Femenino

3 ¿Cuál es tu ocupación?
Programador Principiante
Programador Freelancer
Ing. en Desarrollo de Software
Ing. en Sistemas Computacionales
Otra Ingeniería

4 ¿Como programador necesitas un framework para desarrollar de forma fácil y rápida?
Si, No

5 ¿Haz desarrollado páginas web con HTML5, JavaScript y CSS?
Si, No

6 ¿Haz programado servidores virtuales con menos de 10 lineas de código?
Si, No

7 ¿Estas interesado en desarrollar servidores virtuales con un framework fácil de aprender y usar?
Si, No

8 ¿Conoces el framework Flask?
Si, No

9 ¿Te gustaría aprender a desarrollar en el framework Flask?
Si, No

10 ¿Esta interesado en hacer servidores virtuales y subirlos a la nube?
Si, No

Resultados obtenidos:

Los encuestados, hombres y mujeres, se encuentran en un rango de edad que va de los 18 a los 60 años.


Imagen 1. Gráficos de resultados de la Encuesta realizada.

Las personas son afines al desarrollo y programación de páginas con HTML5, JavaScript y CSS. También están interesados en crear servidores virutales con pocas lineas de código.


Imagen 2. Gráficos de resultados de la Encuesta realizada.

Los encuestados muestran interés en el desarrollo de servidores virtuales con un framework fácil de aprender y usar, pero no conocen el framework Flask.


Imagen 3. Gráficos de resultados de la Encuesta realizada.

Las siguientes gráficas muestran el interés de los encuestados en aprender el framework Flask y en subir servidores virtuales a la nube.


Imagen 4. Gráficos de resultados de la Encuesta realizada.

Los datos obtenidos, que se muestran en las gráficas anteriores, señalan que los programadores están interesados en un lenguaje de programación que sea fácil de aprender y usar. En este caso en específico para la creación de servidores virtuales, el uso del framework Flask; con el cual se puede crear un servidor local sencillo con pocas lineas de código.





Conclusión

La investigación realizada muestra que hay personas afines a programación e ingeniería que necesitan aprender un lenguaje de programación que no sólo sea robusto también que tenga una sintaxis fácil de leer, aprender, usar y depurar. En este caso, el framework Flask, es de mucha ayuda para los programadores para crear proyectos de forma más rápida y más organizada (código entendible a primera vista), al momento de escribir scripts en archivos con cientos o miles de lineas de código. En caso de tener errores de sintaxis o buscar errores de funcionamiento (depurar código); también es más fácil gracias a la sencillez de lectura que presenta el código.
Las ventajas que se pueden encontrar al usar lenguajes de programación de código abierto (como Python o Flask), es la organización y disponibilidad de información, no sólo directamente de la documentación oficial, libros electrónicos que enseñar como programar servidores virutales, también se pueden encontrar tutoriales en páginas web de aficionados o presionales. Otras formas de conseguir información o aprender programación es en videotutoriales en canales de Youtube.
Al realizar y terminar un proyecto de servidor virtual (básico, intermedio o avanzado), el programador puede subir a la nube y ser puestos en linea en sitios como: Heroku o Pythoanywhere.




Referencias

García Monsálvez, José Carlos, Python como primer lenguaje de programación textual en la Enseñanza Secundaria. Education in the Knowledge Society [en linea] 2017, 18, Disponible en:<http://www.redalyc.org/articulo.oa?id=535554766009> ISSN

Challenger-Pérez, Ivet, Díaz-Ricardo, Yanet, Becerra-García, Roberto Antonio, El lenguaje de programación Python. Ciencias Holguín [en linea] 2014, XX (Abril-Junio), Disponible en:<http://www.redalyc.org/articulo.oa?id=181531232001> ISSN

Patrick Vogel, Thijs Klooster, Vasilios Andrikopoulos, Mircea Lungu, A Low-Effort Analytics Platform for Visualizing Evolving Flask-Based Python Web Services, 2017, IEEE, ISBN: 978-1-5386-1003-9

Miguel G., 2014, Flask Web Development: Developing Web Applications with Python, O'Reilly Media, Inc.

Pretty Printed, 2015, Flask Hello World, https://youtu.be/gQ6lh3ir2Jw

viernes, 24 de mayo de 2019

S7. Actividad 2. Aplicación de encuesta y análisis de resultados


Encuesta de 10 preguntas realizada:



Preguntas realizadas en la encuesta:

Desarrollo de Servidores Virtuales con un Framework Fácil de Aprender y Usar

1 ¿Qué edad tienes?
Entre 18 y 30 años
Entre 30 y 40 años
Entre 40 y 50 años
Entre 50 y 60 años
Entre 60 y 70 años

2 ¿Cuál es tu sexo?
Masculino
Femenino

3 ¿Cuál es tu ocupación?
Programador Principiante
Programador Freelancer
Ing. en Desarrollo de Software
Ing. en Sistemas Computacionales
Otra Ingeniería

4 ¿Como programador necesitas un framework para desarrollar de forma fácil y rápida?
Si, No

5 ¿Haz desarrollado páginas web con HTML5, JavaScript y CSS?
Si, No

6 ¿Haz programado servidores virtuales con menos de 10 lineas de código?
Si, No

7 ¿Estas interesado en desarrollar servidores virtuales con un framework fácil de aprender y usar?
Si, No

8 ¿Conoces el framework Flask?
Si, No

9 ¿Te gustaría aprender a desarrollar en el framework Flask?
Si, No

10 ¿Esta interesado en hacer servidores virtuales y subirlos a la nube?
Si, No



Resultados de la encuesta realizada:















jueves, 23 de mayo de 2019

S7. Actividad 1. Análisis de datos recabados


El texto de la actividad:

Reto. "Pamela y sus amigos"

Pamela y sus tres amigos se van a reunir el sábado en la noche para cena, cada uno hará un platillo (Rodríguez, también).

Determina el nombre completo de cada uno de los comensales, así como el tipo de comida que preparará (uno de los muchachos irá, cocinará ravioles).


1. Fernando no llevará estofado.

2. Como la señorita Barrios está a dieta, le dijo a Vargas que sólo podrá comer el platillo que ella misma preparará.

3. Tina le pidió a la persona que preparará la ensalada que la hiciera de vegetales crudos porque le encantan.

4. Diego y Ríos piensan que como la chica que va a cocina el estofado es muy delgada, será la única que podrá disfrutar libremente de todos los platillos.

5. Rodríguez, que hará el pastel, le preguntó a Fernando y a Tina de qué sabor lo preferían.


Al leer el texto se identifican los siguiente elementos para relacionar:

Nombres: Pamela, Tina, Fernando, Diego
Apellidos: Rodriguez, Ríos, Vargas, Barrios
Platillos: Ravioles, Estofado, Ensalada, Pastel


Haciendo una síntesis del texto:

Fernando no llevará estofado.
La señorita Barrios esta a dieta y sólo comerá lo que ella preparará.
Tina pide ensalada de vegetales crudos.
Diego y Ríos piensan que la chica del estofado es delgada.
Rodríguez hará el pastel.


Haciendo algunas conjeturas:

Si uno de los muchachos cocinará ravioles debe ser Fernando ya que él no llevará estofado.
Como la señorita Barrios está a dieta entonces es la que preparará la ensalada, entonces si Tina pide ensalada la señorita es Pamela Barrios.
Diego y su compañero con el que platica posiblemente hombre, entonces es Fernando Ríos, piensan que la chica del estofado es delgada.
La chica delgada debe ser Tina quien preparará el estofado, entonces Pamela Barrios platicó con una chica que es Tina Vargas.
Al final sólo queda quien preparará el pastel es Diego Rodríguez.


Los nombres completos y los platillos que prepararán son:

Pamela Barrios - Ensalada
Fernando Ríos - Ravioles
Tina Vargas - Estofado
Diego Rodríguez - Pastel

viernes, 17 de mayo de 2019

S6. Actividad 2. Planeación y aplicación de entrevista



Entrevista para T. Alvarez:

¿Donde se encuentra trabajando actualmente?
En Guadalajara, México.

¿Estudió alguna carrera?
Ing. En Mecatrónica.

¿A que se dedica?
Trabajo como director de una plataforma para gestionar y firmar documentos electrónicos.

¿Por qué creo Volabit?
El mundo de las criptomonedas me atrajo desde el primer momento en que leí el libro blanco de Bitcoin eso me motivó a crear una plataforma para compra y venta de criptomonedas.

¿Cuál es el siguiente paso a seguir en este proyecto?
Estamos trabajando en una plataforma paralela a Volabit para la compra y venta de criptomonedas para traders expertos que necesitas herramientas a su medida en un sitio con un formato más profesional.

¿Cuales son los procedimientos internos para la seguridad del sitio?
No puedo dar detalles sobre los procedimientos de seguridad.

¿Qué lenguajes de programación se utilizan para el desarrollo de la plataforma?
No me es posible darte esos datos por políticas de la empresa.







S6. Actividad 1. Bitácora de investigación


Universidad Abierta y a Distancia de México


Nombre:
Jaguar Ulises Pérez Hernández


Carrera:
Ing. En Desarrollo de Software


Monitor:
Lic. Martha Patricia Ramirez Cortes


Blog:
https://jaguarulises-unadm.blogspot.com/

Fecha:
17 de mayo de 2019



Bitácora:


Fecha: 17 de mayo de 2019
Hora: 12:00 am



Propósitos:
- Visitar la página: https://www.volabit.com/es.
- Observar la página de inicio, inicio de sesión y la de registro de usuarios.
- Observar el diseño y distribución de elementos, y las animaciones en caso de que cuente con ellas.


Objetivos:
- Conocer el diseño de la página:  https://www.volabit.com/es, asi como su diseño y distribución de elementos.
- Conocer los pasos para registrarse e iniciar sesión en este plataforma.
- Conocer que tan fácil es crear una cuenta en la página visitada.
- Analizar que tan fácil podria ser todo el desarrollo de crear la página: principal, inicio de sesión y crear cuenta, aplicando el lenguaje de programacion con Flask.
- Crear las preguntas para la entrevista.
- Hacer una cita para la entrevista con el CEO de Volabit, T. Alvarez.


Actividades no realizadas:
- No fue posible conocer el funcionamiento interno de procedimientos de seguridad.
- No se obtuvo información sobre que lenguajes de programación utilizan dentro de la plataforma.



Resultados:
La página de Volabit es una plataforma para compra y venta de criptomonedas que ofrece una agradable experiencia visual y también es intuituva al momento de crear una cuenta o iniciar sesión. Los elementos de la paǵina principal están diseñados de tal manera que el usuario promedio puede localizar con facilidad donde crear e iniciar sesión (en la cabecera de la página). También se puede ver precios de criptomonedas para usuarios que se dedican a hacer trading y necesitan este tipo de información al instante.





Imagen 1. Pagina principal de Volabit.




Imagen 2. Crear una cuenta en Volabit.







Imagen 3. Iniciar sesión en Volabit.






Imagen 4. Precios de criptomonedas en Volabit.





Hallazgos:

La plataforma de Volabit cuenta con una página bien diseñada, gracias al buen manejo de los elementos y la combinación de colores que hacen agradable a la vista. Es intuitiva y se puede encontrar de forma fácil como crear una cuenta y como iniciar sesión.
Usuarios intermedios o expertos pueden encontrar un sitio de trading con información a la mano visitando sólo la página principal.
Con el lenguaje de programación Flask se puede empezar a crear este tipo de plataformas de forma más fácil y rápida, esto ayuda a tener en linea un servidor funcional en poco tiempo y enfocando el demás tiempo para el desarrollo de frontend. Se puede trabajar en la seguridad del sitio sin complicados métodos de programación sólo es necesario instalar un complemento para poder trabajarlo inmediatamente con Flask y crear una plataforma más segura al crear una cuenta y al iniciar sesión.

domingo, 12 de mayo de 2019


S5. Actividad 2. Análisis y abstracción de información




Antecedentes del tema

        El uso de software libre que sea fácil de aprender y usar, en cualquier nivel educativo ya sea desde secundaria (García Monsálvez, José Carlos, Python como primer lenguaje de programación textual en la Enseñanza Secundaria. Education in the Knowledge Society, 2017), en universidades, centros de investigación científica o para análisis y visualización de datos (Patrick Vogel, Thijs Klooster, Vasilios Andrikopoulos, Mircea Lungu, A Low-Effort Analytics Platform for Visualizing Evolving Flask-Based Python Web Services, 2017), es muy importante para desarrollar aplicaciones que requieran construir plataformas complejas y robustas en poco tiempo. En este caso Python no es sólo un lenguaje de programación con amplia documentación y más de un centenar de ejemplos (en páginas web, libros electrónicos y videotutoriales), tambien es un lenguaje que emplea una sintaxis simple que hace muy fácil de leer (Challenger-Pérez, Ivet, Díaz-Ricardo, Yanet, Becerra-García, Roberto Antonio, El lenguaje de programación Python. Ciencias Holguín, 2014), pueden crearse scripts muy sencillos o complejos desde un editor de texto simple, este código creado se puede ejecutar desde una consola en sistemas operativos comerciales o de software libre.


        Para el desarrollo fácil y rápido de una o varias plataformas en línea que sirvan datos a los usuarios o que se comuniquen entre ellas. Existe un lenguaje de programación basado en python, llamado Flask que tambien cuenta con una buena documentación y libros electrónicos que nos enseñan a crear un mini servidor virtual con apenas unas lineas de código (Miguel G., 2014, Flask Web Development: Developing Web Applications with Python, O'Reilly Media, Inc., p.10).


Bases Teóricas

        Con el lenguaje de programación Python se puede crear software muy sencillo para hacer desde operaciones aritméticas simples (suma, resta, multipliación o división), análisis y visualización de una gran cantidad de datos o servidores virtuales que muestren una página web simple o páginas complejas y responsivas.