GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
TEMA ENTORNO DE ESARROLLO Para programar la placa es necesario nece sario descargarse de la página web de Arduino el entorno de desarrollo (IDE). Se dispone de versiones para Windows y para MAC, así como las fuentes para compilarlas en LINUX. En la Figura el aspecto del entorno de programación. En el caso de disponer de una placa USB es necesario instalar los drivers FTDI. Estos drivers vienen incluidos en el paquete de Arduino mencionado anteriormente. Existen en la web ve rsiones para distintos sistemas operativos. Lo primero que tenemos que hacer para comenzar a trabajar con el entorno de desarrollo de arduino es configurar las comunicaciones entre la placa Arduino y e l PC. Para ello deberemos abrir en el menú "Tools" la opción "Serial Port". En esta o pción deberemos seleccionar el puerto serie al que está conectada nuestra placa. En Windows, si desconocemos el puerto al que está conectado nuestra placa podemos descubrirlo a través del Administrador de dispositivos (Puertos COM & LPT/ USB Serial Port). El primer paso para comprobar que todo lo que hemos hecho hasta ahora está bien y familiarizarnos con el interfaz de desarrollo, es abrir uno de los ejemplos. Se recomienda abrir el ejemplo "Blink". Para ello debemos acceder a tr avés del menú File ( Sketchbook ( Examples ( Digital (Blink. El ejemplo "Blink" lo único que hace es parpadear un LED que está colocado en el pin número 13 de la placa. Vamos a ver qué hay que hacer para subir el progr ama a la placa Arduino. Primero comprobamos que el código fuente es el correcto. Para ello pulsamos el botón de ver ificación de código que tiene forma de triángulo inclinado 90 grados Si todo va bien deberá aparecer un mensaje en la parte inferior de la interfaz indicando "Done compiling". Una vez que el código ha sido verificado procederemos a cargarlo en la placa. Para ello tenemos que pulsar el botón de reset de la placa (Figura 3.b) e inmediatamente después pulsar el botón que comienza la carga (Figura 3.c). Durante la carga del programa, en la placa USB, se encenderán los LED que indican que se están enviando y recibiendo información por el puerto serie: TX/RX. Si t odo se ha realizado correctamente debe aparecer el mensaje "Done uploading". Ahora tan sólo queda esperar unos 8 segundos aproximadamente para comprobar que todo ha salido bien. Si el led c olocado en el pin 13 de la placa se e nciende y se apaga cada segundo entonces todo ha ido bien. Por fin tenemos todo listo para empezar a trabajar c on la placa Arduino.
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
1.1 ESTRUCTURA DE UN PROYECTO
Muchas veces sucede que, luego de la observación de una problemática o en el momento menos esperado; llega a nosotros una genial idea, una solución a determinado problema, empero, no sabemos como estructurarla, como llevarla al papel, organizarla y luego venderla. Las iniciativas gubernamentales, en pos de la promoción de la innovación, del emprendimiento, traducidas en concursos, encuentros de ideas, etc.; convierten en un imperativo el conocer por lo menos, la estructura básica de un proyecto, pues, el simple conocimiento de esto, aumentará nuestras posibilidades de triunfo en cualquiera de estos concursos o a la hora de llevar la idea hasta un escenario de realidad. La articulación de una idea de negocio es distinta en la mayoría de los casos, sin embargo obedece a un orden generalmente aceptado (Título, objetivos, justificación, problema, planteamiento del problema, etc). Hoy, ilustraremos al lector la parte básica de ese esqueleto, consistente en el título, los objetivos y la justificación; conscientes de que ellos son los cimientos de cualquier idea, de tener bien definidos estos tres elementos, lo demás será pan comido.
Título del proyecto
La importancia del título reside en el hecho de conferir identidad a nuestra idea. Establece la línea de tema o problemática que se piensa abordar con la realización del proyecto y debe dar respuesta a las siguientes preguntas:
¿Qué se pretende hacer (producto, servicio, proceso)? ¿Qué producto, servicio o proceso se puede obtener? ¿Qué utilidad posee el producto, servicio o proceso? ¿Qué población se verá beneficiada con el producto, servicio o proceso? ¿Qué herramienta informática se utiliza para desarrollar el proyecto?
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
Se debe hacer lo posible porque el título reúna características como brevedad, precisión y puntualidad.
Justificación
La justificación expresa los resultados que se quieren alcanzar, la finalidad que se desea en función de su aplicación. Responde a los siguientes cuestionamientos:
¿Qué tanto se necesita lo que la idea propone? ¿Quiénes y de qué manera se benefician? ¿Cuál es la finalidad que se persigue con los resultados del proyecto?
Conclusión
Si a la hora de diseñar un proyecto de empresa o idea de negocio tenemos bien definidos estos tres elementos, de seguro lo posterior (planteamiento del problema, marco legal, teórico, conceptual, de referencia, etc) será muy fácil de elaborar. Es de vital importancia que el título, los objetivos y la justificación guarden coherencia, de eso se trata la articulación, de hacer de ellos algo enfocado en lo mismo; de no ser así, el proyecto será algo confuso e ininteligible por su falta de cohesión.
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
1.2- PROSESO DE DESARROLLO DE APLICASIONES Los Procesos es una oferta de computación en la nube, que brinda a los usuarios un entorno de nube en el que pueden desarrollar, gestionar y entregar aplicaciones. Los usuarios, además del almacenamiento y de otros recursos de computación, pueden utilizar un conjunto de herramientas reconstruidas para desarrollar, personalizar y probar sus propias aplicaciones. Aprende cómo Bluemix , I BM PaaS solution, impactó esas empresas positivamente.”
La PaaS brinda una plataforma que cuenta con herramientas para probar, desarrollar y alojar aplicaciones en el mismo entorno. Permite que las organizaciones se centren en el desarrollo, sin que se tengan que preocupar de la infraestructura subyacente. Los proveedores gestionan la seguridad, los sistemas operativos, el software del servidor y las copias de seguridad. Facilita el trabajo colaborativo incluso cuando los equipos trabajan de forma remota. es una oferta de computación en la nube, en l a que el proveedor brinda a los usuarios acceso a recursos de computación, como servidores, almacenamiento y redes. Las organizaciones utilizan sus propias plataformas y aplicaciones dentro de la infraestructura de un proveedor de servicios. Recursos principales
En vez de comprar directamente el hardware, los usuarios pagan por el según la demanda. La infraestructura es escalable según las necesidades de procesamiento y de almacenamiento. Ahorra a los negocios el costo de comprar y mantener su propio hardware. Ya que los datos están en la nube, no hay un único punto de fallo. Habilita la virtualización de tareas administrativas, lo que libera tiempo para otros trabajos. es una oferta de computación en la nube, que brinda a l os usuarios el acceso a un software de un proveedor que está basado en la nube. Los usuarios no instalan las aplicaciones en sus dispositivos locales. En vez de eso, las aplicaciones residen en una red de nube remota a la que se accede a través de la web o de una API. A través de la aplicación, los usuarios pueden almacenar y analizar los datos, además de colaborar en proyectos. Recursos principales Los proveedores de SaaS brindan a los usuarios el software en las aplicaciones según un modelo de suscripción.
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
1.2.1-COMPILACION En 1.2.1, el tiempo de compilación - aunque sigue siendo mucho más lento que TSC directamente - varía en función del archivo que se está guardando.parece que no hay efecto, y los incrementos son casi tan lentos como inicial. Tenemos una muy importante base de código de importación con archivos de rollup, que estoy seguro contribuye a tener una tonelada de archivos para cualquier incremental individual. TSC en sí parece ser capaz de manejar muy bien, sin embargo.
Aunque realmente no estoy interesado en la idea de que estoy pensando en revertir el cambio en 1.2.2. La corrección extra es grande pero el coste del funcionamiento es pesado; Tal vez demasiado pesado. Tengo que pensar en esto un poco más, pero def initivamente es algo que estoy considerando. tiene alguna idea de cómo podríamos mejorar el rendimiento sin revertir
es que no hay una solución rápida y fácil para esto, especialmente si no tenemos un caso de repro. Para uno de mis proyectos más grandes el tiempo de compilación inicial es de alrededor de 25 segundos, mientras que el tiempo de compilación incremental es de sólo 1-2 segundos dependiendo de un poco en el archivo que se modifica (y aproximadamente el doble que con devtool: "source-map". Con babel loader cableado después de ts- claramente debe haber algo particular sobre el proyecto de estaría interesado en la salida de Webpack cuando se ejecuta con -display-modules, de esa manera usted puede ver qué archivos Realmente obtener reconstrucción para cada cambio. Revertir el cambio probablemente no es demasiado malo de una idea, ts-loader los usuarios han sido capaces de vivir con la salida no perfectamente correcta desde el principio (supongo) después de todo. Creo que mejorar el rendimiento de ts-l oader podría requerir un poco más de un enfoque holístico con enfoque en l a arquitectura general etc, que es probablemente mejor considerado junto con la fusión con awesome-typescript-loader. BTW has intentado ATL? Debe ser bastante fácil probar el rendimiento con eso. Como un poco de descargo de responsabilidad, actualmente no estoy usando tsloader para el proyecto principal en el que estoy trabajando porque la configuración es bastante compleja con React + Relay y el esquema de GraphQL relacionado. En su
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
1.2.2-ARCHIVOS QUE CREA EL ENTORNO DE DESARROLLO
Un entorno de desarrollo integrado12 o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software. Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código(IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus. El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos. Los IDE están diseñados para maximizar la productividad del programador proporcionando componentes muy unidos con interfaces de usuario similares. Los IDE presentan un único programa en el que se lleva a cabo todo el desarrollo. Generalmente, este programa suele ofrecer muchas características para la creación, modificación, compilación, implementación y depuración de software. Esto contrasta con el desarrollo de software utilizando herramientas no relacionadas, como i GNU Compiler Collection (GCC) o Make. Uno de los propósitos de los IDE es reducir la configuración necesaria para reconstruir múltiples utilidades de desarrollo, en vez de proveer el mismo set de servicios como una unidad cohesiva. Reduciendo ese tiempo de ajustes, se puede incrementar la productividad de desarrollo, en casos donde aprender a usar un IDE es más rápido que integrar manualmente todas las herramientas por separado. Una mejor integración de todos los procesos de desarrollo hace posible mejorar la productividad en general, más que únicamente ayudando con los ajustes de configuración. Por ejemplo, el código puede ser continuamente armado, mientras es editado, previendo retroalimentación instantánea, como cuando hay errores de sintaxis. Esto puede ayudar a aprender un nuevo lenguaje de programación de una manera más rápida, así como sus librerías asociadas.
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1
1.2.3-DEPURACION
pretendemos dar una idea detallada de cómo hemos desarrollado el proyecto. En primer lugar, explicaremos, en el apartado de Introducción, la importancia de una herramienta depuradora, el contexto en el que surgieron los depuradores declarativos y algunos de los ejemplos encontrados que implementan de una u otra forma la depuración declarativa. A partir de esto, podemos definir detalladamente la funcionalidad, ventajas e inconvenientes de este tipo de depuradores. Estos puntos, se encuentran en la sección de Objetivos. Una vez se tiene clara la idea del depurador declarativo, podemos pasar a explicar una aplicación concreta que representa esta funcionalidad. Nos centraremos entonces, en el apartado de Diseño en el desarrollo y posterior implementación de nuestra herramienta. En este capítulo, abordaremos con detalle en los requisitos que se pretendían con la aplicación así como la forma de conseguirlos, explicando los diferentes pasos que hemos seguido hasta llegar a la versión final. Como en todo proceso de diseño, aparecen problemas en este caso, tanto lógicos como gráficos, que comentaremos en este aprtado. Al diseño de la aplicación, podrían añadírsele nuevas mejoras que, por falta de tiempo, no han llegado a implementarse pero que se explican con detalle en la sección de Ampliaciones. En esta sección, no sólo se comentarán las posibles mejoras sino que se detalla la manera de incluirlas en la aplicación final. En proyectos de estas características, es importante un apartado de pruebas (Ver Pruebas de la aplicación) con las que el usuario podrá comprender mejor el funcionamiento del depurador. Concluiremos haciendo un análisis de la utilidad de la aplicación (Conclusiones y resultados) de forma que el usuario tenga una visión general de l a finalidad del proyecto. En toda aplicación orientada al usuario, es necesario un manual de uso que le explique cómo realizar cada una de las acciones posibles por ejemplo, iniciar una depuración, cambiar el estado de un nodo, etc (Ver apartado de Manual de Uso).
GUADALUPE GONZALEZ ALEJANDRO
ACTIVIDAD
1.1