33 resultados para Winsock API


Relevância:

10.00% 10.00%

Publicador:

Resumo:

This paper suggests a new strategy to develop CAD applications taking into account some of the most interesting proposals which have recently appeared in the technology development arena. Programming languages, operating systems, user devices, software architecture, user interfaces and user experience are among the elements which are considered for a new development framework. This strategy considers the organizational and architectural aspects of the CAD application together with the development framework. The architectural and organizational aspects are based on the programmed design concept, which can be implemented by means of a three-level software architecture. These levels are the conceptual level based on a declarative language, the mathematical level based on the geometric formulation of the product model and the visual level based on the polyhedral representation of the model as required by the graphic card. The development framework which has been considered is Windows 8. This operating system offers three development environments, one for web pplications (HTML5 + CSS3 + JavaScript), and other for native applications C/C++) and of course yet another for .NET applications (C#, VB, F#, etc.). The use rinterface and user experience for non-web application is described ith XAML (a well known declarative XML language) and the 3D API for games and design applications is DirectX. Additionally, Windows 8 facilitates the use of hybrid solutions, in which native and managed code can interoperate easily. Some of the most remarkable advantages of this strategy are the possibility of targeting both desktop and touch screen devices with the same development framework, the usage of several programming paradigms to apply the most appropriate language to each domain and the multilevel segmentation of developers and designers to facilitate the implementation of an open network of collaborators.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

RESUMEN DEL PROYECTO Organizar actividades y proyectos entre varias personas o tomar decisiones conjuntas son cuestiones a las que se enfrenta cualquier individuo en su día a día. El simple hecho de coordinar o poner de acuerdo a un grupo reducido de personas puede llegar a suponer un gran problema ya que cada participante tiene sus propias preferencias y, en ocasiones, es difícil conseguir encajarlas con las demás del grupo. Este proyecto, llamado “DealtDay”, surge para facilitar esta labor. La idea nace ante la necesidad de organizar, de forma fácil e intuitiva, a un grupo de personas para, por ejemplo, concretar una reunión, quedar para ir a dar una vuelta, decidir qué película ver, etc. Este proyecto se ha desarrollado basándose en el sistema actual de relaciones con el que se han creado la mayoría de las redes sociales que hoy conocemos. Como medio para poder hacer uso del proyecto se ha construido una aplicación web que, gracias a las decisiones de diseño tomadas, se puede usar tanto en un ordenador, una tablet o un Smartphone. Este punto se considera fundamental ya que cada vez más personas están dejando de lado los ordenadores corrientes para dar paso al uso de las nuevas tecnologías. Además, se ha creado una API REST, lo que nos permite utilizar todas las funcionalidades de la aplicación desde cualquier sistema que pueda realizar peticiones http. En este proyecto en concreto se realizará la parte del desarrollo de la API, el cliente web y el despliegue de la aplicación en un servidor web para realizar las pruebas pertinentes. ABSTRACT To organize activities and projects between several people or make joint decisions are issues to which any person faces every day.The simple fact of coordinate or coming to an agreement with a group of persons could be a major problem, since each participant has their own preferences and often fails when tries to fit them with the group. This project, called “Dealt Day”, is born to facilitate this task. The idea arises of how to achieve organize a group of people in an easily and intuitively way in order to arrange a meeting, be able to go for a walk, decide what movie to see or simply vote a choice between a users group. This project has been developed based on the current relation system that has been created in the most social networks we know. As a means of making use of the project a web application has been built, that thanks to the design decisions taken it can be used in a computer, tablet or smartphone, This is an essential point because more and more people are abandoning the current computers to make way for the use of new technologies. Also, a REST API has been created, which allows us to use all the features of the application from any system able to make http requests. In this particular project, I have done the development of the API, web client and the application deployment on a web server in order to test it.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

En este Trabajo de Fin de Grado se va a explicar el procedimiento seguido a la hora de estudiar, diseñar y desarrollar Ackuaria, un portal de monitorización y análisis de estadísticas de comunicaciones en tiempo real. Después, se mostrarán los resultados obtenidos y la interfaz gráfica desarrollada para una mejor experiencia de usuario. Ackuaria se apoyará en el uso de Licode, un proyecto de código libre desarrollado en la Universidad Politécnica de Madrid, más concretamente en el Grupo de Internet de Nueva Generación de la Escuela Técnica Superior de Ingenieros de Telecomunicación. Licode ofrece la posibilidad de crear un servicio de streaming y videoconferencia en la propia infraestructura del usuario. Está diseñado para ser totalmente escalable y su uso está orientado principalmente al Cloud, aunque es perfectamente utilizable en una infraestructura física. Licode a su vez se basa en WebRTC, un protocolo desarrollado por la W3C (World Wide Web Consortium) y el IETF (Internet Engineering Task Force) pensado para poder transmitir y recibir flujos de audio, video y datos a través del navegador. No necesita ninguna instalación adicional, por lo que establecer una sesión de videoconferencia Peer-to-Peer es realmente sencillo. Con Licode se usa una MCU (Multipoint Control Unit) para evitar que todas las conexiones entre los usuarios sean Peer-To-Peer. Actúa como un cliente WebRTC más por el que pasan todos los flujos, que se encarga de multiplexar y redirigir donde sea necesario. De esta forma se ahorra ancho de banda y recursos del dispositivo de una forma muy significativa. Existe la creciente necesidad de los usuarios de Licode y de cualquier servicio de videoconferencia en general de poder gestionar su infraestructura a partir de datos y estadísticas fiables. Sus objetivos son muy variados: desde estudiar el comportamiento de WebRTC en distintos escenarios hasta monitorizar el uso de los usuarios para poder contabilizar después el tiempo publicado por cada uno. En todos los casos era común la necesidad de disponer de una herramienta que permitiese conocer en todo momento qué está pasando en el servicio de Licode, así como de almacenar toda la información para poder ser analizada posteriormente. Para conseguir desarrollar Ackuaria se ha realizado un estudio de las comunicaciones en tiempo real con el objetivo de determinar qué parámetros era indispensable y útil monitorizar. A partir de este estudio se ha actualizado la arquitectura de Licode para que obtuviese todos los datos necesarios y los enviase de forma que pudiesen ser recogidos por Ackuaria. El portal de monitorización entonces tratará esa información y la mostrará de forma clara y ordenada, además de proporcionar una API REST al usuario.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Hoy en día el exceso de información en Internet se puede convertir en una desventaja a la hora de buscar determinada información. El objetivo de la plataforma que presento es facilitar el acceso a esta información, en concreto, al grado de conocimiento de las empresas, sobre todo las startups o emergentes en Internet. Pensada para micro-inversores que quieres participar en un proyecto ilusionante y con futuro pueden utilizar la aplicación para conocer qué empresa tiene más probabilidades de triunfar por que ya lleva parte del camino andado y es conocida dentro de las redes sociales y páginas especializadas. Para conseguir ese conocimiento vamos a dar una calificación numérica al posicionamiento de esa empresa en las principales redes sociales, donde, mediante su API, obtenemos la información más relevante para posteriormente calificar con unos criterios a gusto del inversor, es decir, según la importancia que quiera darle a cada una. Además alimentaremos la aplicación con los artículos publicados en las páginas especializadas para que los usuarios puedan informarse de las últimas novedades del sector, puedan comentarlas e incluso añadir sus propios artículos. Programando nuestro propio Crawler o araña, visitaremos esas páginas de forma ordenada adquiriendo todos los links y descargando los artículos para guardarlos en nuestra aplicación. Aprovechándonos de esta funcionalidad vamos a pasar un buscador semántico para analizar todos esos artículos y medir si la empresa es nombrada y conocida en estas páginas especializadas. Dando un valor numérico a esas menciones y añadiéndolo a la puntuación antes mencionada. Como extra se añade el módulo de Ideas, destinado a esas ideas que se encuentran en la primera fase de desarrollo y que buscan inversión o ayuda de la comunidad para prosperar. Con la base en el gestor de contenidos DRUPAL que nos ayuda a dar facilidades a los usuarios por sus sencillas y completas interfaces gráficas, desarrollamos el proyecto en PHP con MySql

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A raíz de la aparición de los procesadores dotados de varios “cores”, la programación paralela, un concepto que, por otra parte no era nada nuevo y se conocía desde hace décadas, sufrió un nuevo impulso, pues se creía que se podía superar el techo tecnológico que había estado limitando el rendimiento de esta programación durante años. Este impulso se ha ido manteniendo hasta la actualidad, movido por la necesidad de sistemas cada vez más potentes y gracias al abaratamiento de los costes de fabricación. Esta tendencia ha motivado la aparición de nuevo software y lenguajes con componentes orientados precisamente al campo de la programación paralela. Este es el caso del lenguaje Go, desarrollado por Google y lanzado en 2009. Este lenguaje se basa en modelos de concurrencia que lo hacen muy adecuados para abordar desarrollos de naturaleza paralela. Sin embargo, la programación paralela es un campo complejo y heterogéneo, y los programadores son reticentes a utilizar herramientas nuevas, en beneficio de aquellas que ya conocen y les son familiares. Un buen ejemplo son aquellas implementaciones de lenguajes conocidos, pero orientadas a programación paralela, y que siguen las directrices de un estándar ampliamente reconocido y aceptado. Este es el caso del estándar OpenMP, un Interfaz de Programación de Aplicaciones (API) flexible, portable y escalable, orientado a la programación paralela multiproceso en arquitecturas multi-core o multinucleo. Dicho estándar posee actualmente implementaciones en los lenguajes C, C++ y Fortran. Este proyecto nace como un intento de aunar ambos conceptos: un lenguaje emergente con interesantes posibilidades en el campo de la programación paralela, y un estándar reputado y ampliamente extendido, con el que los programadores se encuentran familiarizados. El objetivo principal es el desarrollo de un conjunto de librerías del sistema (que engloben directivas de compilación o pragmas, librerías de ejecución y variables de entorno), soportadas por las características y los modelos de concurrencia propios de Go; y que añadan funcionalidades propias del estándar OpenMP. La idea es añadir funcionalidades que permitan programar en lenguaje Go utilizando la sintaxis que OpenMP proporciona para otros lenguajes, como Fortan y C/C++ (concretamente, similar a esta última), y, de esta forma, dotar al usuario de Go de herramientas para programar estructuras de procesamiento paralelo de forma sencilla y transparente, de la misma manera que lo haría utilizando C/C++.---ABSTRACT---As a result of the appearance of processors equipped with multiple "cores ", parallel programming, a concept which, moreover, it was not new and it was known for decades, suffered a new impulse, because it was believed they could overcome the technological ceiling had been limiting the performance of this program for years. This impulse has been maintained until today, driven by the need for ever more powerful systems and thanks to the decrease in manufacturing costs. This trend has led to the emergence of new software and languages with components guided specifically to the field of parallel programming. This is the case of Go language, developed by Google and released in 2009. This language is based on concurrency models that make it well suited to tackle developments in parallel nature. However, parallel programming is a complex and heterogeneous field, and developers are reluctant to use new tools to benefit those who already know and are familiar. A good example are those implementations from well-known languages, but parallel programming oriented, and witch follow the guidelines of a standard widely recognized and accepted. This is the case of the OpenMP standard, an application programming interface (API), flexible, portable and scalable, parallel programming oriented, and designed for multi-core architectures. This standard currently has implementations in C, C ++ and Fortran. This project was born as an attempt to combine two concepts: an emerging language, with interesting possibilities in the field of parallel programming, and a reputed and widespread standard, with which programmers are familiar with. The main objective is to develop a set of system libraries (which includes compiler directives or pragmas, runtime libraries and environment variables), supported by the characteristics and concurrency patterns of Go; and that add custom features from the OpenMP standard. The idea is to add features that allow programming in Go language using the syntax OpenMP provides for other languages, like Fortran and C / C ++ (specifically, similar to the latter ), and, in this way, provide Go users with tools for programming parallel structures easily and, in the same way they would using C / C ++.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

En este documento está descrito detalladamente el trabajo realizado para completar todos objetivos marcados para este Trabajo de Fin de Grado, que tiene como meta final el desarrollo de un dashboard configurable de gestión y administración para instancias de OpenStack. OpenStack es una plataforma libre y de código abierto utilizada como solución de Infraestructura como Servicio (Infrastructure as a Service, IaaS) en clouds tanto públicos, que ofrecen sus servicios cobrando el tiempo de uso o los recursos utilizados, como privados para su utilización exclusiva en el entorno de una empresa. El proyecto OpenStack se inició como una colaboración entre la NASA y RackSpace, y a día de hoy es mantenido por las empresas más potentes del sector tecnológico a través de la Fundación OpenStack. La plataforma OpenStack permite el acceso a sus servicios a través de una Interfaz de Linea de Comandos (Command Line Interface, CLI), una API RESTful y una interfaz web en forma de dashboard. Esta última es ofrecida a través del servicio Horizon. Este servicio provee de una interfaz gráfica para acceder, gestionar y automatizar servicios basados en cloud. El dashboard de Horizon presente algunos problemas como que: solo admite opciones de configuración mediante código Python, lo que hace que el usuario no tenga ninguna capacidad de configuración y que el administrador esté obligado a interactuar directamente con el código. no tiene soporte para múltiples regiones que permitan que un usuario pueda distribuir sus recursos por distintos centros de datos en diversas localizaciones como más le convenga. El presente Trabajo de Fin de Grado, que es la fase inicial del proyecto FI-Dash, pretende solucionar estos problemas mediante el desarrollo de un catálogo de widget de la plataformaWireCloud que permitirán al usuario tener todas las funcionalidades ofrecidas por Horizon a la vez que le ofrecen capacidades de configuración y añaden funcionalidades no presentes en Horizon como el soporte de múltiples regiones. Como paso previo al desarrollo del catálogo de widgets se ha llevado a cabo un estudio de las tecnologías y servicios ofrecidos por OpenStack, así como de las herramientas que pudieran ser necesarias para la realización del trabajo. El proceso de desarrollo ha sido dividido en distintas fases de acuerdo con los distintos componentes que forman parte del dashboard cada uno con una funcion de gestion sobre un tipo de recurso distinto. Las otras fases del desarrollo han sido la integración completa del dashboard en la plataforma WireCloud y el diseño de una interfaz gráfica usable y atractiva.---ABSTRACT---Throughout this document it is described the work performed in order to achieve all of the objectives set for this Final Project, which has as its main goal the development of a configurable dashboard for managing and administrating OpenStack instances. OpenStack is a free and open source platform used as Infrastructure as a Service (IaaS) for both public clouds, which offer their services through payments on time or resources used, and private clouds for use only in the company’s environment. The OpenStack project started as a collaboration between NASA and Rackspace, and nowadays is maintained by the most powerful companies in the technology sector through the OpenStack Foundation. The OpenStack project provides access to its services through a Command Line Interface (CLI), a RESTful API and a web interface as dashboard. The latter is offered through a service called Horizon. This service provides a graphical interface to access, manage and automate cloud-based services. Horizon’s dashboard presents some problems such as: Only supports configuration options using Python code, which grants the user no configuration capabilities and forces the administrator to interact directly. No support for multiple regions that allow a user to allocate his resources by different data centers in different locations at his convenience. This Final Project, which is the initial stage of the FI-Dash project, aims to solve these problems by developing a catalog of widgets for the WireCloud platform that will allow the user to have all the features offered by Horizon while offering configuration capabilities and additional features not present in Horizon such as support for multiple regions. As a prelude to the development of the widget catalog, a study of technologies and services offered by OpenStack as well as tools that may be necessary to carry out the work has been conducted. The development process has been split in phases matching the different components that are part of the dashboard, having each one of them a function of management of one kind of resource. The other development phases have been the achieving of full integration with WireCloud and the design of a graphical interface that is both usable and atractive.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In recent years, there has been a great increase in the development of wireless technologies and location services. For this reason, numerous projects in the location field, have arisen. In addition, with the appearance of the open Android operating system, wireless technologies are being developed faster than ever. This Project approaches the design and development of a system that combines the technologies of wireless, location and Android with the implementation of an indoor positioning system. As a result, an Android application has been obtained, which detects the position of a phone in a simple and useful way. The application is based on the WIFI manager API of Android. It combines the data stored in a SQL database with the wifi data received at any given time. Afterwards the position of the user is determined with the algorithm that has been implemented. This application is able to obtain the position of any person who is inside a building with Wi-Fi coverage, and display it on the screen of any device with the Android operating system. Besides the estimation of the position, this system displays a map that helps you see in which quadrant of the room are positioned in real time. This system has been designed with a simple interface to allow people without technology knowledge. Finally, several tests and simulations of the system have been carried out to see its operation and accuracy. The performance of the system has been verified in two different places and changes have been made in the Java code to improve its precision and effectiveness. As a result of the several tests, it has been noticed that the placement of the access point (AP) and the configuration of the Wireless network is an important point that should be taken into account to avoid interferences and errors as much as possible, in the estimation of the position. RESUMEN. En los últimos años, se ha producido un incremento en el desarrollo de tecnologías inalámbricas y en servicios de localización y posicionamiento. Por esta razón, han surgido numerosos proyectos relacionados con estas tecnologías. Por otra parte, un punto importante en el desarrollo de estas tecnologías ha sido la aparición del lenguaje Android que ha hecho que estas nuevas tecnologías se implementaran con una mayor rapidez. Este proyecto, se acerca al diseño y desarrollo de un sistema que combina tecnologías inalámbricas, de ubicación y uso de lenguaje Android para el desarrollo de una aplicación de un sistema de posicionamiento en interiores. Como consecuencia de esto se ha obtenido una aplicación Android que detecta la posición de un dispositivo móvil de una manera sencilla e intuititva. La aplicación se basa en la API WIFI de Android, que combina los datos almacenados en una base de datos SQL con los datos recibidos vía Wi-Fi en cualquier momento. A continuación, la posición del usuario se determina con el algoritmo que se ha implementado a lo largo de todo el proyecto utilizando código Android. Esta aplicación es capaz de obtener la posición de cualquier persona que se encuentra dentro de un edificio con cobertura Wi-Fi, mostrando por pantalla la ubicación del usuario en cualquier dispositivo que disponga de sistema operativo Android. Además de la estimación de la posición, este sistema muestra un mapa que le ayuda a ver en qué cuadrante de la sala está situado el usuario. Este sistema ha sido diseñado con una interfaz sencilla para permitir que usuarios sin conocimiento tecnológico o no acostumbrados al uso de los nuevos dispositivos de hoy en día puedan usarlo de una manera sencilla y de forma intuitiva. Por último, se han llevado a cabo varias pruebas y simulaciones del sistema para verificar su funcionamiento y precisión. El rendimiento del sistema se ha comprobado en dos puntos diferentes de la sala (lugar donde se han hecho todas las pruebas y desarrollado la aplicación) realizando cambios en el código Java para mejorar aún más la precisión y eficacia del posicionamiento. Como resultado de todo esto, se ha comprobado que la ubicación del punto de acceso (AP) y la configuración de la red inalámbrica es importante, y por ello se debe de tener en cuenta para evitar interferencias y tantos errores como sea posible en la estimación de la posición.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

RESUMEN Con la irrupción y el auge de las tecnologías móviles en estos últimos años, se ha hecho patente que los procesos de gestión tienden a ser controlados a través de estas tecnologías, permitiendo al usuario centralizar todos los servicios que le sea posible en un dispositivo de uso tan común como el teléfono móvil, así como acceder a ellos de forma rápida y cómoda. El sistema de tutorías de la Universidad Politécnica de Madrid no es la excepción. Desde su creación, el Grupo de Innovación Educativa Tutorial Action (GIETA) [1] ha trabajado en la modernización del proceso de gestión que conlleva el sistema de tutorías, buscando las deficiencias del sistema tradicional que pudiesen resolverse utilizando la tecnología. Este Trabajo de Fin de Grado (TFG) ha tenido como objetivo apoyar la labor iniciada por el GIETA, desarrollando un sistema de gestión de tutorías mediante una aplicación móvil. Para lograr este objetivo, inicialmente se realizó un proceso de reflexión sobre, entre otras cuestiones, la razón de ser de la aplicación a desarrollar, las ventajas que aportaría al usuario final, aquellos riesgos que podían amenazar al proyecto, etc. Este proceso se englobó dentro de la herramienta Agile Inception Deck. Tras este proceso de reflexión, se estructuró el proyecto en fases o sprints de desarrollo, en las que se llevó a cabo la implementación del resultado final de este TFG, una aplicación móvil para el sistema operativo Android, que aporta funcionalidad que resuelve todos los requisitos asociados a las distintas historias de usuario definidas para el proyecto. ABSTRACT With the rise of mobile technologies in recent years, it has become clear that management processes tend to be controlled through these technologies, allowing users to centralize all services as possible, using a device as common as the mobile phone, and access them quickly and easily. The tutorial system at the Technical University of Madrid is not an exception. Since it’s creation, the Group of Educational Innovation Tutorial Action has worked on the modernization of the management process that involves the tutorial system, looking for weaknesses of the traditional system that could be solved using technology. This TFG has aimed to support the work initiated by the GIETA, developing a tutorship management system through a mobile application. To achieve this goal, initially a process of reflection was held about, inter alia, the rationale for the application to be developed, the advantages it would bring to the final user, the risks that could threaten the project, etc. This process is encompassed within the Agile Inception Deck tool. After this process of reflection, the project was divided into phases or sprints, in which took place the implementation of the outcome of the TFG, a mobile application for the Android operating system, which provides functionality that meets all the requirements associated with the different user stories defined for the project.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este proyecto consiste en el diseño e implementación de un procesador digital de efectos de audio en tiempo real orientado a instrumentos eléctricos tales como guitarras, bajos, teclados, etc. El procesador está basado en la tarjeta Raspberry Pi B+, ordenador de placa reducida de bajo coste, desarrollado en Reino unido y cuyo lanzamiento tuvo lugar en el año 2012. En primer lugar, ha sido necesario lograr que la tarjeta asuma la funcionalidad de un procesador de audio en tiempo real. Para ello se ha instalado un sistema operativo Linux orientado a Raspberry (Raspbian) y se ha hecho uso de Pure Data (Pd): lenguaje de programación gráfico que fue desarrollado en los años 90 por Miller Puckette con intención de ser enfocado a la creación de eventos multimedia y de música por computador. El papel que desempeña Pd es de capa intermedia entre el hardware y el software ya que se encarga de tomar bloques de N muestras del convertidor analógico/digital y encaminarlas a través del flujo de señal diseñado gráficamente. En segundo lugar, se han implementado diferentes efectos de audio de distintas características. Así pues, se encuentran efectos basados en retardos, filtros digitales y procesadores de dinámica. Concretamente, los efectos implementados son los siguientes: delay, flanger, vibrato, reverberador de Schroeder, filtros (paso bajo, paso alto y paso banda), ecualizador paramétrico y compresor y expansor de dinámica. Estos efectos han sido implementados en lenguaje C de acuerdo con la API de Pd. Con esto se ha conseguido obtener un objeto por cada efecto, el cual es “instanciado” en Pd pudiendo ejecutarlo en tiempo real. En este proyecto se expone la problemática que supone cada paso del diseño proponiendo soluciones válidas. Además se incluye una guía paso a paso para configurar la tarjeta y lograr realizar un bypass de señal y un efecto simple partiendo desde cero. ABSTRACT. This project involves the design and implementation of a digital real-time audio processor for electrical instruments (guitars, basses, keyboards, etc.). The processor is based on the Raspberry Pi B + card: low cost computer, developed in UK in 2012. First, it was necessary to make the cards assume the functionality of a real time audio processor. A Linux operating system called Raspberry (Raspbian) was installed. In this Project is used Pure Data (Pd): a graphical programming language developed in the 90s by Miller Puckette intending to be focused on creating multimedia and computer music events. The role of Pd is an intermediate layer between the hardware and the software. It is responsible for taking blocks of N samples of the analog/digital converter and route it through the signal flow. Secondly, it is necessary to implemented the different audio effects. There are delays based effects, digital filter and dynamics effects. Specifically, the implemented effects are: delay, flanger, vibrato, Schroeder reverb, filters (lowpass, highpass and bandpass), parametric equalizer and compressor and expander dynamics. These effects have been implemented in C language according to the Pd API. As a result, it has been obtained an object for each effect, which is instantiated in Pd. In this Project, the problems of every step are exposed with his corresponding solution. It is inlcuded a step-by-step guide to configure the card and achieve perform a bypass signal process and a simple effect.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Día a día surge la necesidad de tener que organizar actividades entre varias personas donde es necesaria la presencia de una toma de decisiones conjunta. La tarea de coordinar y poner de acuerdo a todas las partes implicadas resulta realmente complicada, y encontrar la solución que mejor se adapte a todos los participantes es uno de los principales problemas a los que hay que enfrentarse. Dentro de este contexto surge la idea de “DealtDay”, una aplicación pensada para organizar de forma sencilla e intuitiva a un grupo de personas a la hora de realizar cualquier actividad, como puede ser el establecimiento de una fecha para una reunión, elegir el restaurante dónde cenar o qué película ver. DealtDay es una aplicación desarrollada para Android, iOS y navegadores web. La elección de estas tecnologías se debe a que permiten que la aplicación sea accesible a los usuarios desde los dispositivos tecnológicos más utilizados cotidianamente (ordenador, tabletas y móviles). El funcionamiento de esta aplicación en los distintos sistemas desarrollados es posible gracias al desarrollo de una API REST que permite la comunicación entre cualquier tipo de aplicación con un servidor mediante peticiones realizadas con el protocolo HTTP. ABSTRACT Day after day it appears the necessity of organizating activities among different people where taking decisions together becomes fundamental. The task of coordinating and creating an agreement among all the parts involved, turns to be really difficult and, as a matter of fact, one of the main problems to cope with is finding a solution which fits to all the participants. In this context appears the idea of DealtDay, an application conceived to organize a group of people in an easy and intuitive way when doing any kind of activity, such as deciding a date for a meeting, choosing a restaurant, a place to have dinner or a film to be watched. DealtDay is an application developed for Android, iOS and web navigators. The selection of these technologies is due to the fact that they allows the application accessibility to users from the most used and common technological devices (personal computers, tablets and mobiles). The functioning of the application is possible thanks to an API REST development that allows the communication between any kind of application and a server through requests made by the HTTP protocol.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

El proyecto aquí desarrollado es una aplicación Android para smartphone. Consiste en una plataforma para aprender inglés clasificada en varios niveles de aprendizaje que ofrece al usuario gramática y vocabulario clasificado en lecciones concretas; una vez aprendidas se pueden poner en práctica realizando ejercicios específicos. La aplicación está escrita en lenguaje Java. Para el almacenamiento de los datos se ha utilizado MySQL y su obtención fue posible gracias al diseño de una API utilizando Google App Engine. El objetivo era crear una aplicación que descargase los datos de una API por medio de peticiones. De esta forma se lograron dos propósitos: el primero es que la aplicación pueda usarse de manera offline una vez que ya tiene los datos en el dispositivo. El segundo es conseguir que la aplicación no tenga en su código los datos de la gramática ya que, al pedirlos a un servicio externo, adquiere total independencia. ABSTRACT The project developed is an Android application for smartphones. It is a platform to learn English covering different levels. It offers the user grammar and vocabulary contents in every lesson. In addition, once the lesson is finished it can be put into practice by performing specific exercises. The application is written in Java. For data storing, MySQL was used. As for data obtaining an API using Google App Engine was created. The aim was to create an application that could download data via an API using requests. Thus, two goals were achieved: first, the application can be used offline once you have the data on the device. Second, the application does not have in its code any grammar data: by ordering them to an external service the application becomes independent.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este proyecto fin de carrera trata de mejorar los sistemas actuales de control en la visualización de diapositivas. La solución adoptada constará de un sistema con modelo cliente-servidor. El servidor formado por un mini ordenador, en este caso una Raspberry Pi, que estará conectado al proyector de video. Este servidor se mantendrá a la espera de recibir una conexión entrante vía Bluetooth. Una vez se realice la conexión interpretará los comandos mandados por el cliente a través de una API con formato JSON y realizará las acciones indicadas para el control de la presentación. El cliente será una aplicación móvil para dispositivos Android. A través de ella el profesor accederá al servidor escaneando un código QR que será proyectado y una vez conectado enviará los comandos de control de la presentación, tales como abrir una presentación, avanzar y retroceder diapositiva, etc. La solución final deberá ser eficiente, sencilla de utilizar y con un bajo coste para resultar atractiva y ser así útil en el mundo real. Para ello se contará con valores añadidos como el poder iniciar la presentación desde el dispositivo móvil, el mostrar las notas de la diapositiva actual o contar con un temporizador para permitir un mejor control sobre el tiempo disponible para la presentación. ABSTRACT. This final project pursues the improvement of the current presentation control systems. The solution it provides is based on a server-client architecture. The server will be a mini PC, a Raspberry Pi model in this case, that will be connected to a video projector or a screen monitor. This server will remain idle waiting for an incoming Bluetooth connection. Once the connection is accepted the server will parse the commands sent by the client through a JSON API and will execute them accordingly to control the system. The client we decided to develop is an Android application. The speaker will be able to connect with the server by scanning a QR code that will be generated and displayed into the projector or screen monitor. Once the connection is accepted the client will sent the commands to control the slides, such as opening a presentation, move forward and backwards, etc. The adopted solution must be efficient, easy to use and with low cost to be appealing and useful to the real world. To accomplish the task this project will count with improvements over the current systems, such as the possibility to open a presentation from the smartphone, the visualization of the current slide notes from the mobile phone and a countdown timer to have a better control over the available time for the presentation.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

El proyecto se trata de una API de desarrollo para el DNI electrónico que permita crear de forma sencilla aplicaciones cuya funcionalidad se apoye en el uso del DNI electrónico. De esta forma, el framework facilita el acceso a las principales operaciones soportadas por el DNIe mediante la invocación de métodos sencillos. Una de las funcionalidades es la de realizar un proceso de autenticación con el DNIe utilizando para ello las capacidades criptográficas del chip que incorpora y el certificado de autenticación. Esta funcionalidad puede ser accedida también de forma dividida en dos pasos, para dar soporte a aplicaciones con arquitectura cliente-servidor. El framework también ofrece la funcionalidad de firma electrónica con el DNIe, una firma legalmente válida y que permite chequear también la integridad del mensaje firmado. También se soporta por el framework la comprobación de un certificado mediante el protocolo OCSP, funcionalidad que si bien no implica directamente al DNIe, sí que es importante en el marco de procesos que se ven involucrados en cualquier Infraestructura de Clave Pública. ABSTRACT The project is a development API for DNIe card that allows easily create applications whose functionality is supported in the use of DNIe. Thus, the framework provides access to the main operations supported by the DNIe by invoking simple methods. One of the features is to perform an authentication process with the DNIe using its chip’s capabilities and authentication certificate. This functionality can also be accessed so divided into two steps, to support applications with client-server architecture. The framework also provides the functionality of electronic signatures with DNIe, a legally valid signature and allows also check the integrity of the signed message. Verification of a certificate using OCSP, functionality but does not imply directly to DNIe is also supported by the framework, yes it is important in the context of processes that are involved in any Public Key Infrastructure.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La expansión experimentada por la informática, las nuevas tecnologías e internet en los últimos años, no solo viene dada por la evolución del hardware subyacente, sino por la evolución del desarrollo de software y del crecimiento del número de desarrolladores. Este incremento ha hecho evolucionar el software de unos sistemas de gestión basados en ficheros, prácticamente sin interfaz gráfico y de unos pocos miles de líneas a grandes sistemas distribuidos multiplataforma. El desarrollo de estos grandes sistemas, requiere gran cantidad de personas involucradas en el desarrollo, y que las herramientas de desarrollo hayan crecido también para facilitar su análisis, diseño, codificación, pruebas, implantación y mantenimiento. La base de estas herramientas software las proveen las propias plataformas de desarrollo, pero la experiencia de los desarrolladores puede aportar un sinfín de utilidades y de técnicas que agilicen los desarrollos y cumplan los requisitos del software en base a la reutilización de soluciones lo suficientemente probadas y optimizadas. Dichas herramientas se agrupan ordenadamente, creando así frameworks personalizados, con herramientas de todo tipo, clases, controles, interfaces, patrones de diseño, de tal manera que se dan soluciones personalizadas a un amplio número de problemas para emplearlas cuantas veces se quiera, bien marcando directrices de desarrollo mediante el uso de patrones, bien con la encapsulación de complejidades de tal modo que los desarrolladores ya dispongan de componentes que asuman cierta lógica o cierta complejidad aliviando así la fase de construcción. En este trabajo se abordan temas sobre las tecnologías base y plataformas de desarrollo para poder acometer la creación de un framework personalizado, necesidades a evaluar antes de acometerlo, y técnicas a emplear para la consecución del mismo, orientadas a la documentación, mantenimiento y extensión del framework. La exposición teórica consiste en mostrar y evaluar los requisitos para crear un framework, requisitos de la plataforma de desarrollo, y explicar cómo funcionan las grandes plataformas de desarrollo actuales, que elementos los componen y su funcionamiento, así como marcar ciertas pautas de estructuración y nomenclatura que el desarrollo de un framework debe contemplar para su mantenimiento y extensión. En la parte metodológica se ha usado un subconjunto de Métrica V3, ya que para el desarrollo de controles no aplica dicha metodología en su totalidad, pero contempla el catálogo de requisitos, los casos de uso, diagramas de clase, diagramas de secuencia, etc… Aparte de los conceptos teóricos, se presenta un caso práctico con fines didácticos de cómo parametrizar y configurar el desarrollo bajo la plataforma .NET. Dicho caso práctico consiste en la extensión de un control de usuario genérico de la plataforma .NET, de tal modo que se aplican conceptos más allá del hecho de crear funciones como las funcionalidades que puede brindar un API. Conceptos sobre como extender y modificar controles ya existentes, que interactúan por medio de eventos con otros controles, con vistas a que ese nuevo control forme parte de una biblioteca de controles de usuario personalizados ampliamente divulgada. Los controles de usuario son algo que no solo tienen una parte funcional, sino que también tienen una parte visual, y definiciones funcionales distintas de las típicas del software de gestión, puesto que han de controlar eventos, visualizaciones mientras se dan estos eventos y requisitos no funcionales de optimización de rendimiento, etc… Para el caso práctico se toma como herramienta la plataforma de desarrollo .Net Framework, en todas sus versiones, ya que el control a extender es el control ListView y hacerlo editable. Este control está presente en todas las versiones de .NET framework y con un alto grado de reutilización. Esta extensión muestra además como se puede migrar fácilmente este tipo de extensiones sobre todos los frameworks. Los entornos de desarrollo usados son varias versiones de Visual Studio para el mostrar dicha compatibilidad, aunque el desarrollo que acompaña este documento esté realizado sobre Visual Studio 2013. ABSTRACT The expansion in computer science, new technologies and the Internet in recent years, not only is given by the evolution of the underlying hardware, but for the evolution of software development and the growing number of developers. This increase has evolved software from management systems based on files almost without graphical interface and a few thousand of code lines, to large multiplatform distributed systems. The development of these large systems, require lots of people involved in development, and development tools have also grown to facilitate analysis, design, coding, testing, deployment and maintenance. The basis of these software tools are providing by their own development platforms, but the experience of the developers can bring a lot of utilities and techniques to speed up developments and meet the requirements of software reuse based on sufficiently proven solutions and optimized. These tools are grouped neatly, creating in this way custom frameworks, with tools of all types, classes, controls, interfaces, design patterns,… in such a way that they provide customized solutions to a wide range of problems to use them many times as you want to occur, either by dialing development guidelines by using patterns or along with the encapsulation of complexities, so that developers already have components that take some logic or some complexity relieving the construction phase. This paper cover matters based on technologies and development platforms to undertake the creation of a custom framework, needs to evaluate before rush it and techniques to use in order to achieve it, a part from techniques oriented to documentation, maintenance and framework extension. The theoretical explanation consists in to demonstrate and to evaluate the requirements for creating a framework, development platform requirements, and explain how large current development platforms work, which elements compose them and their operation work, as well as mark certain patterns of structure and nomenclature that the development of a framework should include for its maintenance and extension. In the methodological part, a subset of Métrica V3 has been used, because of, for the development of custom controls this methodology does not apply in its entirety, but provides a catalogue of requirements, use cases, class diagrams, sequence diagrams, etc ... Apart from the theoretical concepts, a study case for teaching purposes about how to parameterize and configure the development under the .NET platform is presented. This study case involves the extension of a generic user control of the .NET platform, so that concepts apply beyond the fact of creating functions as the functionalities that can provide an API. Concepts on how to extend and modify existing controls that interact through events with other controls, overlooking that new control as a part of a custom user controls library widely publicized. User controls are something that not only have a functional part, but also have a visual part, and various functional definitions of typical management software, since that they have to control events, visualizations while these events are given and not functional of performance optimization requirements, etc ... For the study case the development platform .Net Framework is taken as tool, in all its versions, considering that control to extend is the ListView control and make it editable. This control is present in all versions of .NET framework and with a high degree of reuse. This extension also shows how you can easily migrate these extensions on all frameworks. The used development environments are several versions of Visual Studio to show that compatibility, although the development that accompanies this document is done on Visual Studio 2013.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este proyecto se centra en la construcción de una herramienta para la gestión de contenidos de muy diversos tipos, siendo fácilmente adaptable a cada uno de los contextos. Permite guardar los contenidos necesarios gracias a un formulario previamente personalizado, de este modo hay un editor que se dedica solamente a la introducción de los contenidos y un administrador que personaliza los campos del formulario según los contenidos. En esencia la herramienta sirve de apoyo a dos tipos de usuario, desarrolladores (administrador) y redactores (editor), a los primeros les simplifica las tareas de conceptualización de las estructuras de datos de las que se desea tener persistencia y sirve como base para construir los editores que usan los redactores, por otro lado proporciona un API sencillo, potente y ágil para recuperar los datos introducidos por los redactores. La herramienta a su vez está pensada para ser interoperable, es decir, no obliga a usar un tipo de almacenamiento persistente concreto. Puede utilizar desde los sencillos archivos de texto, con lo que puede desplegarse en servidores treméndamente básicos. Por otro lado, si se necesita potencia en las búsquedas, nada debe impedir el uso de bases de datos relacionales como MySql. O incluso si se quiere dar un paso más y se quiere aprovechar la flexibilidad, potencia y maleabilidad de las bases de datos NoSql (como MongoDB) no es costoso, lo que hay que hacer es implementar una nueva clase de tipo PersistentManager y desarrollar los tipos de búsqueda y recuperación de contenidos que se necesiten. En la versión inicial de la herramienta se han implementado estos tres tipos de almacenes, nada impide usar sólo alguno de ellos y desechar el resto o implementar uno nuevo. Desde el punto de vista de los redactores, les ofrece un entorno sencillo y potente para poder realizar las tareas típicas denominadas CRUD (Create Read Update Delete, Crear Leer Actualizar y Borrar), un redactor podrá crear, buscar, re-aprovechar e incluso planificar publicación de contenidos en el tiempo. ABSTRACT This project focuses on building a tool for content management of many types, being easily adaptable to each context. Saves the necessary content through a previously designed form, thus there will be an editor working only on the introduction of the contents and there will be an administrator to customize the form fields as contents. Essentially the tool provides support for two types of users, developers (administrator) and editors, the first will have simplified the tasks of conceptualization of data structures which are desired to be persistent and serve as the basis for building the structures that will be used by editors, on the other hand provides a simple, powerful and agile API to retrieve the data entered by the editors. The tool must also be designed to be interoperable, which means not to be bound by the use of a particular type of persistent storage. You can use simple text files, which can be deployed in extremely basic servers. On the other hand, if power is needed in searches, nothing should prevent the use of relational databases such as MySQL. Or even if you want to go a step further and want to take advantage of the flexibility, power and malleability of NoSQL databases (such as MongoDB) it will not be difficult, you will only need to implement a new class of PersistentManager type and develop the type of search and query of content as needed. In the initial version of the tool these three types of storage have been implemented, it will be entitled to use only one of them and discard the rest or implement a new one. From the point of view of the editors, it offers a simple and powerful environment to perform the typical tasks called CRUD (Create Read Update Delete), an editor can create, search, re-use and even plan publishing content in time.