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.

S5. Actividad 1. Selección y recopilación de información


Buscadores utilizados para la recopilación de información:

https://scholar.google.es/
http://www.redalyc.org/


Búsqueda en https://scholar.google.es/:


Búsqueda en http://www.redalyc.org/:





Bibliografía:

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.

martes, 7 de mayo de 2019

S4. Actividad 2. Delimitación del tema y plan de investigación



Identificación del Problema

      El desarrollo de sistemas, aplicaciones y la programación en diferentes lenguajes es una de las bases de la carrera de Ing. en Desarrollo de Sistemas. Es necesario que un aspirante a esta carrera tenga conocimiento mínimo de dos de los lenguajes más usados actualmente, ya que estos son solicitados por particulares o grandes empresas que necesitan soluciones a medida o programadores con amplios conocimientos y experiencia para resolver sus problemas internos. Uno de los lenguajes de programación que hoy en día es muy usado y solicitado en proyecto científicos y grandes empresas de internet, es Python, este lenguaje de sintaxis sencilla y fácil de leer se puede utilizar para desarrollar scripts muy sencillos de sumas y restas, funciones para calcular llaves criptográficas, automatizar tareas en entornos linux, o crear servidores virtuales pequeños o de gran escala.
      Como programador es necesario tener conocimiento de un lenguaje de programación en varios lenguajes, algunos puede ser muy difíciles de aprender y se debe tener constante práctica para no perder el ritmo y otros muy sencillos de leer que facilitan resolver los problemas desde lo más sencillo hasta lo más completo y robusto en sistemas de seguridad informática.


Planteamiento del Problema

      La tecnología avanza cada día a una velocidad muy rápida, tanto en software como en hardware, la actualización y mejoramiento continuo del hardware (distribución en masa de procesadores más veloces en móviles y computadoras portátiles) de dispositivos eletrónicos personales los hace más rápidos, capaces de accesar a internet (alámbrico o inalámbrico) y esto tiene como consecuencia que los usuarios consuman grandes cantidades de datos; ya sea texto, imágenes, sonido, video o transmisiones en vivo (streaming) en diversas aplicaciones. Esta nueva manera de consumir información a cualquier hora del día, hace necesario un desarrollo rápido, eficaz y de calidad, de aplicaciones para dispositivos móviles y principalmente de servidores virtuales ya que son los que se encargan de proveer, de forma casi instantanea y sin interrupciones, toda la información que el usuario solicite a cualquier hora desde cualquier dispositivo electrónico (teléfono inteligente, tableta o computadora) desde el que este conectado, en cualquier parte del mundo. Para resolver este problema es necesario crear más servidores en entornos virtuales de forma más rápida, sencilla y de calidad que puedan satisfacer la gran demanda de plataformas que sean capaces de estar trabajando en linea sin descansar. Realizar los servidores virtuales requiere de un gran conocimiento especializado y experiencia no sólo en programación tambien en la configuración del servidor, redes y programación backend y frontend. Por eso es necesario un lenguaje de programación para crear servidores virtuales que sea fácil de aprender y usar, que no complique la expansión del proyecto cuando este se vuelva cada vez más grande. Un sistema operativo estable con un entorno gráfico amigable y sencillo, con una consola de comandos con comandos sencillos, faciles de leer e instalar. El sistema operativo debe ser capaz de manejar de forma eficaz el o los lenguaje de programacion requeridos para el desarrollo y ejecución del servidor virtual básico y ver los resultados en un navegador web de forma local. 
      El sistema operativo que se utilizará para este proyecto será una distribución de Ubuntu con un entorno gráfico de escritorio Xfce que es liviano y fácil de usar. El diseño intuitivo del gestor sistema que no genera problemas a la hora de instalar programas, actualizar el sistema o ejecutar comandos.
         El lenguaje de programación que se utilizará será Python en la versión 3.6, elegido por su sintaxis fácil de leer, aprender y ejecutar. Apesar de ser tan sencillo es muy poderoso y utilizado ampliamente en muchos proyectos científicos en análisis de grandes cantidades de datos. Se instalará el framework Flask (desarrollado en Python) en su versión 1.0.2, que es utilizado para creación de servidores de forma fácil y rápida, el servidor puede ejecutarse de forma local o puede ser desplegado en servidores virtuales como Heroku. Las distribuciones de linux ya tienen preinstalado una versión actualizada de Python esto hace más rápido el desarrollo y ejecución de scripts en este sistema.


Tema
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.


Objetivo General
Desarrollar un servidor virtual sencillo con un framework en Python, corriendo de forma local en linux.


Objetivos Específicos
Instalación de Flask mediante comandos en consola en una distribución de Ubuntu.
Instalación y configuración de la paquetería básica para ejecutar el servidor virtual.
Desarrollo del frontend y backend de la página principal.


Justificación

      La creación de un servidor virtual con un framework desarrollado en Python, en este caso Flask, es de gran ayuda para el programador encargado de desarrollar el sitio completo, ya que la sintaxis de programación que Flask hereda de Python, hace que sea muy fácil de aprender, leer, desarrollar y sea flexible a la hora de escribir pocas lineas o grandes cantidades de código en proyectos más especializados. En proyectos muy grandes la facilidad de lectura del código es muy importate, esto hace más fácil y rápida la tediosa tarea de buscar, entre cientos de lineas de código, los errores que ocurran al momento de hacer las pruebas o en un entorno real de producción con el sitio en linea y muchos usuarios usando el sistema al mismo tiempo. Esto hace que encontrar y corregir los errores sea más eficiente. En el caso de una caída del sitio completo el programador encargado del sitio se tardería menos tiempo en volver a ponerlo en línea.
      Con Flask se pueden crear desde servidores virtuales muy sencillos con apenas siete lineas de código (Miguel G., 2014, Flask Web Development: Developing Web Applications with Python, O'Reilly Media, Inc., p.10), que muestren en una página web algunas lineas de texto, un servidor con las caracteristicas más básicas con páginas web estáticas (utilizando sólo HTML) hasta un servidor muy robusto con todos los requerimientos y librerías necesarias para que muestre páginas web responsivas con HTLM, CSS y Javascript, descargar o subir todo tipo de archivos, proveer rutas especiales para servir APIs en formato Json, hacer streaming y utilizar WebSockets.


Plan de Trabajo








S4. Actividad 1. Tipos de investigación



1. Mapa mental del texto: "Tipos de Investigación"





2. Esquema de pasos de Sherlock Holmes del texto: "Estudio en Escarlata"