962 resultados para Meteor, Javascript, applicazione web, framework full stack
Resumo:
Questa tesi ha come scopo principale l'analisi delle diverse tecnologie di localizzazione in ambito indoor, analizzando in particolare l'utilizzo del Wifi RSS Fingerprinting. La tecnica del Wifi RSS Fingerprinting è una tecnica per la localizzazione all'interno di ambienti chiusi, che consiste nella definizione di un 'impronta'(fingerprint) in un punto preciso dell'ambiente(definito reference point), andando a inserire in un database i valori di potenza del segnale ricevuto(RSS) da ogni access point rilevato all'interno di quel determinato reference point. Per l'implementazione di questa tecnica è stato sviluppato un applicativo con un architettura client-server. Il client è stato sviluppato in ambiente Android, realizzando una applicazione per la gestione della fase di salvataggio di nuovi fingerprint e per la fase di localizzazione della posizione corrente, tramite l'utilizzo dei vari fingerprint precedentemente inseriti all'interno del DB. Il server, sviluppato in Node.js(framework Javascript), gestirà le diverse richieste ricevute dal client tramite delle chiamate AJAX, prelevando le informazioni richieste direttamente dal database. All'interno delle applicativo sono stati implementati diversi algoritmi per la localizzazione indoor, in modo da poter verificare l'applicabilità di questo sistema in un ambito reale. Questi algoritmi sono stati in seguito testati per valutare l'accuratezza e la precisione di ciascuno, andando ad individuare gli algoritmi migliori da utilizzare in base a scenari diversi.
Resumo:
Il lavoro svolto in questa tesi è volto alla descrizione dello sviluppo di un'applicazione mobile per Android legata al mondo della ristorazione. Viene descritta l'applicazione "Takeway", che svolge funzioni di presentazione di un ristorante e di gestione di ordini TakeAway. Viene inoltre proposta un'analisi del fenomeno di centralità del web/mobile nel quotidiano, delle tecnologie più recenti e dei limiti di queste piattaforme. Le sezioni più importanti riguardano la progettazione e l'implementazione del progetto, sono di carattere tecnico e analizzano le strutture utilizzate e gli strumenti impiegati nello sviluppo del software.
Resumo:
Quando avvengono disastri naturali, spesso la copertura dati viene a mancare e le infrastutture o sono danneggiate o sono sovraccariche; in questo modo è difficile comunicare sia da parte delle persone che hanno bisogno di aiuto, sia da parte dei soccorritori che cercano di organizzare i soccorsi. Con questa tesi si è voluto realizzare un'applicazione Android che permetta agli utenti di segnalare il proprio bisogno di aiuto, anche se il device non ha una connessione internet attiva. L'applicazione, sfruttando il Wi-Fi e il Wi-Fi Direct, cercherà di formare una rete di dispositivi, attraverso la quale i messaggi di aiuto degli utenti verranno scambiati tra i device. Questa rete, man mano, si allargherà fino ad arrivare ad includere device che avranno una connessione dati attiva. Questi comunicheranno con il mio server, al quale manderanno tutti i messaggi che gli sono arrivati. I dati del server, ossia i messaggi che sono stati mandati dagli utenti, verranno mostrati sul sito ltw1528.web.cs.unibo.it. Attraverso questo sito, i soccorritori potranno vedere la posizione degli utenti in stato di bisogno, cosicché potranno mandarli un messaggio di soccorso, che si propagherà nella rete formatasi in precedenza, ed organizzare i soccorsi in maniera ottimale. Si è anche voluto fare uno studio simulativo per testare la scalabilità dell'applicazione e per raccogliere dati statistici, quali il delay medio tra l'arrivo del messaggio al device con connessione dati e il tempo in cui è stato creato, l'influenza sulla batteria del numero dei messaggi scambiati e il numero degli host, il delay tra il tempo di invio e il tempo di arrivo nello scambio di messaggi al variare del numero degli host.
Resumo:
La costante evoluzione tecnologica sta portando alla luce nuove possibilità, che un tempo non erano nemmeno immaginabili. Uno dei settori che si è rivoluzionato maggiormente negli ultimi anni è quello delle telecomunicazioni e questo ha portato sia a una riduzione dei costi per le connessioni a Internet, sia ad un aumento delle loro capacità e prestazioni; di conseguenza queste connessioni sono diventate più accessibili e affidabili permettendo alle persone e alle cose di accedere a Internet quasi ininterrottamente. Questo sviluppo sta portando innumerevoli benefici, ma come ciascuna innovazione tecnologica, tuttavia, i benefici si accompagnano a nuove sfide. In questo elaborato viene dapprima analizzato lo stato dell’arte, i benefici, le problematiche e gli attuali interessi da parte di alcuni dei maggiori player verso l’Internet of Things. Vengono poi prese in considerazione due problematiche: l'individuazione e l'interazione con gli oggetti connessi a Internet, portando come esempio l'utilizzo e la ricerca di una vending machine, un distributore automatico. Proponendo una soluzione, in primo luogo è stato effettuato lo sviluppo di un ecosistema che sfrutta le potenzialità del Physical Web, implementando ad hoc ogni componente, dall'emissione del beacon Eddystone-URL alla visualizzazione della pagina ad esso associata. In secondo luogo questa è stata creata un'applicazione Android che sfrutta l'altro tipo di frame offerto dalla piattaforma beacon di Google, l'Eddystone-UID. Queste due applicazioni vengono quindi analizzate e messe a confronto, per individuare i punti forti e le mancanze delle rispettive piattaforme.
Resumo:
Il lavoro di questa tesi si basa sul definire quale metodo di programmazione di un'applicazione mobile risulti più idoneo per uno specifico ambiente di sviluppo web, che verrà introdotto nel terzo capitolo. In primis, questa dissertazione presenterà il mondo del mobile, analizzando il suo sviluppo tecnologico nel tempo e come, a causa di ciò, siano cambiati gli usi e i costumi delle attuali generazioni, riportando alcuni grafici che ci mostreranno questa rivoluzione e comparando la diffusione e l’uso odierno dei nuovi cellulari con quella dei PC. A tal proposito, verrà introdotto il concetto di smartphone, inteso come moderno cellulare dalle tantissime ed ampliabili funzionalità che rendono ormai indispensabile il suo utilizzo.
Resumo:
In questa tesi sono stati introdotti e studiati i Big Data, dando particolare importanza al mondo NoSQL, approfondendo MongoDB, e al mondo del Machine Learning, approfondendo PredictionIO. Successivamente è stata sviluppata un'applicazione attraverso l'utilizzo di tecnologie web, nodejs, node-webkit e le tecnologie approfondite prima. L'applicazione utilizza l'interpolazione polinomiale per predirre il prezzo di un bene salvato nello storico presente su MongoDB. Attraverso PredictionIO, essa analizza il comportamento degli altri utenti consigliando dei prodotti per l'acquisto. Infine è stata effetuata un'analisi dei risultati dell'errore prodotto dall'interpolazione.
Resumo:
The aim of this dissertation is to provide an adequate translation from English into Italian of a section of the European Commission's site, concerning an environmental policy tool whose aim is to reduce the EU greenhouse gas emissions, the Emissions Trading System. The main reason behind this choice was the intention to combine a personal interest in the domain of sustainability development with the desire to delve deeper into the knowledge of the different aspects involved in the localisation process. I also had the possibility to combine these two with my interest in the universe of the European Union. I therefore worked on the particular language of this supranational organisation and for this reason I had the opportunity to experience a very stimulating work placement at the Directorate-General for Translation in Brussels. However, the choice of the text was personal and the translation is not intended for publication. The work is divided into six chapters. In the first chapter the text is contextualised within the framework of the EU, and its legislation on multilingualism. This has consequences on the languages that are used by the drafters of the official documents and on the languages used by translators. The text originates from those documents, but it needs to be adapted to different receivers. The second chapter investigates the process of website localisation. The third chapter offers an analysis of the source text and of the prospective target text. In the fourth chapter the resources created and used for the translation of the text are described. A comparison is made between the resources of the translation service of the European Commission and the ones created specifically for this project: a translation memory, exploited through the use of a CAT tool, and two corpora. The fifth chapter contains the actual translation, side-by-side with the source text, while the sixth one provides a comment on the translation strategies.
Resumo:
Il Cloud Computing permette di utilizzare al meglio le risorse distribuite allo scopo di risolvere problemi di computazione su larga scala, e viene distribuito dai provider all'utente finale sotto forma di servizio. Presentati i diversi modelli di distribuzione dei servizi Cloud, si discutono le varie tipologie di servizi offerti. Efficaci meccanismi di elasticità e scalabilità hanno permesso al Cloud Computing di superare lo scoglio iniziale di utilizzo medio dei server al 10%. L'elasticità (rapid elasticity) è l’abilità di acquisire e rilasciare le risorse di un'infrastruttura Cloud su richiesta, l’abilità di un'applicazione di cambiare le sue dimensione durante il suo tempo di esecuzione; la scalabilità è un prerequisito per ottenere una buona elasticità per il sistema, ed è l'abilità che ha un layer di sostenere carichi di lavoro variabili continuando ad adempiere agli obblighi imposti dallo SLA allocando o disallocando risorse computazionali. Le diverse modalità di scaling e il loro utilizzo determinano la scalabilità e di conseguenza l'elasticità del sistema, e sfruttano la virtualizzazione per poter funzionare. Ciò ha portato notevoli benefici perchè aumenta l'utilizzo dei server, migliora l'efficienza del sistema, e dona flessibilità in caso di errori massimizzando il tempo di funzionamento. Sono stati introdotti due esempi di sistemi elastici basati ovviamente sulla virtualizzazione come Amazon Web Services e Microsoft Azure, che dominano il mercato del Cloud Computing e fanno uso dei più efficenti meccanismi d'elasticità. Il cuore di questo elaborato è l'analisi dell'ampliamento dell'adozione del Cloud Computing in azienda Onit Group srl. L'obiettivo è trattare i punti fondamentali per il Cloud Computing, analizzarli e immagazzinare tutte queste conoscenze per analizzare lo stato attuale del Cloud nell'azienda focalizzando l'attenzione sui vantaggi e sugli svantaggi che un sostanziale ampliamento dell'adozione ai sistemi Cloud poteva apportare.
Resumo:
Nell'ambito dello sviluppo software, la concorrenza è sempre stata vista come la strada del futuro. Tuttavia, questa è stata spesso ignorata a causa del continuo sviluppo dell'hardware che ha permesso agli sviluppatori di continuare a scrivere software sequenziale senza doversi preoccupare delle performance. In un'era in cui le nuove architetture hardware presentano processori multi-core, tutto questo non è più possibile. L'obiettivo di questa tesi è stato quello di considerare il Modello ad Attori come valida alternativa allo sviluppo di applicazioni in ambito mobile e quindi di progettare, sviluppare e distribuire un nuovo framework sulla base di tale modello. Il lavoro parte quindi da una panoramica di Swift, il nuovo linguaggio di programmazione presentato da Apple al WWDC 2014, in cui vengono analizzati nel dettaglio i meccanismi che abilitano alla concorrenza. Successivamente viene descritto il modello ad attori in termini di: attori, proprietà, comunicazione e sincronizzazione. Segue poi un'analisi delle principali implementazioni di questo modello, tra cui: Scala, Erlang ed Akka; quest'ultimo rappresenta la base su cui è stato ispirato il lavoro di progettazione e sviluppo del framework Actor Kit. Il quarto capitolo descrive tutti i concetti, le idee e i principi su cui il framework Actor Kit è stato progettato e sviluppato. Infine, l'ultimo capitolo presenta l'utilizzo del framework in due casi comuni della programmazione mobile: 1) Acquisizione dati da Web API e visualizzazione sull'interfaccia utente. 2) Acquisizione dati dai sensori del dispositivo. In conclusione Actor Kit abilita la progettazione e lo sviluppo di applicazioni secondo un approccio del tutto nuovo nell'ambito mobile. Un possibile sviluppo futuro potrebbe essere l'estensione del framework con attori che mappino i framework standard di Apple; proprio per questo sarà reso pubblico con la speranza che altri sviluppatori possano evolverlo e renderlo ancora più completo e performante.
Resumo:
La tesi illustra le funzionalita e l'architettura di Node.js elencando e analizzando le caratteristiche che lo rendono un framework vincente nella sfida che il web attuale pone. La tesi comprende l'analisi e la descrizione del lavoro svolto per creare una libreria HTTP/ File system, integrata nel sistema di sviluppo cloud proprietario: Instant Developer , funzionante sia su Node.JS che sui browser che supportano appieno le nuove API File system di HTML 5. Particolare attenzione viene riservata per la descrizione della struttura della libreria, pensata per permettere all'utente dell'IDE di utilizzarla indifferentemente su server/browser senza preoccuparsi di chiamare metodi diversi. Fs.js permette di operare con file/cartelle, richieste HTTP in modo semplificato rispetto alle API Ufficiali dei rispettivi ambienti.
Resumo:
in questo elaborato sono trattati i temi delle Adaptive User Interface e dell'Internet Of Things nei sistemi mobili. Il primo attraverso l'orchestrazione e la definizione di un'architettura framework in grado di fornire allo sviluppatore tutti gli strumenti di base per la realizzazione di interfacce grafiche capaci di esibire un comportamento adattativo a livello di singoli componenti. il secondo,invece, attraverso lo studio della tecnologia DQuid applicata ad un caso d'uso reale nel quale si prevedeva la connessione di un applicazione mobile iOS con un sistema per il parcheggio in garage di un'autovettura ed il monitoraggio delle informazioni relative.
Resumo:
In questo lavoro di tesi si è analizzato il problema di creare un sistema di assistenza allo shopping integrabile in applicazioni e-commerce web e mobile sviluppate con le tecnologie messe a disposizione da Marketcloud, ovvero un progetto che punta a fornire strumenti per la realizzazione, la manutenzione, la gestione, la diffusione e la pubblicizzazione di tali applicazioni limitando i costi e le problematiche di sviluppo a carico delle aziende che intendono fornire servizi di e-commerce. Dopo aver discusso gli aspetti principali del progetto Marketcloud, sono state analizzate le necessità delle aziende interessate allo sviluppo del sistema di assistenza in esame, così come le aspettative degli utenti (i clienti) finali, ed è stato discusso perché fosse necessario e preferibile, nel caso in esame, non utilizzare soluzioni già presenti sul mercato. Infine, è stata progettata ed implementata un’applicazione web che includesse tale sistema e che fosse immediatamente integrabile tra i servizi già sviluppati da Marketcloud, testandone risultati, prestazioni, problemi e possibili sviluppi futuri. Al termine del lavoro di implementazione, il sistema e l'applicazione garantiscono all'utente finale l'utilizzo di tre funzioni: ricerca per categoria, ricerca libera, recommendation di prodotti. Per gestire la ricerca libera, è stato implementato un sistema di filtri successivi, ed una rete neurale multi-livello dotata di un opportuno algoritmo di machine learning per poter apprendere dalle scelte degli utenti; per la recommendation di prodotti, è stato utilizzato un sistema di ranking (classificazione). Le prestazioni della rete neurale sono state oggetto di attenta analisi.
Resumo:
L’avanzamento tecnologico degli ultimi anni ha portato ad un aumento sostanziale dei dati generati giornalmente. L’analisi di queste ingenti quantità di dati si è rivelata essere troppo complessa per i sistemi tradizionali ed è stato pertanto necessario sviluppare nuovi approcci basati sul calcolo distribuito. I nuovi strumenti sviluppati in seguito a queste nuove necessità sono framework di calcolo parallelo basati sul paradigma del MapReduce, un modello di programmazione sviluppato da Google, e sistemi di gestione di basi di dati fluidi, in grado di trattare rapidamente grandi quantità di dati non strutturati. Lo scopo alla base di entrambi è quello di costruire sistemi scalabili orizzontalmente e utilizzabili su hardware di largo consumo. L’utilizzo di questi nuovi strumenti può comunque portare alla creazione di sistemi poco ottimizzati e di difficile gestione. Nathan Marz propone un’architettura a livelli che utilizza i nuovi strumenti in maniera congiunta per creare sistemi semplici e robusti: questa prende il nome di Lambda-Architecture. In questa tesi viene introdotto brevemente il concetto di Big Data e delle nuove problematiche ad esso associate, si procede poi ad illustrare i principi su cui si basano i nuovi strumenti di calcolo distribuito sviluppati per affrontarle. Viene poi definita l’Architettura Lambda di Nathan Marz, ponendo particolare attenzione su uno dei livelli che la compone, chiamato Batch Layer. I principi della Lambda Architecture sono infine applicati nella costruzione di un Batch Layer, utilizzato per l’analisi e la gestione di dati climatici con fini statistici.
Resumo:
La catalogazione è la tecnica per costruire, mantenere e aggiornare un catalogo. L’utilizzo del catalogo diventa strettamente necessario quando la raccolta dei documenti viene fuori da un ambito locale e si riferisce ad un pubblico che vuole beneficiare delle informazioni possedute dalla biblioteca. Il passo successivo è aderire ad un sistema in cui ciascuna biblioteca contribuisce alla costruzione del catalogo, trasmettendo i propri dati e le informazioni relative ai documenti in proprio possesso. Per effettuare questa progressione è necessario aderire allo standard catalografico del sistema. La Biblioteca dello Studentato per le Missioni ha deciso di passare da un catalogo bibliografico cumulativo, realizzato con il software CDS/ISIS e l’interfaccia web IBISWEB, ad un sistema più vasto e strutturato, quale l’OPAC CEIBib: per aderire al sistema è necessario effettuare una conversione di formato dei dati bibliografici della banca dati. Lo scopo di questa tesi, dunque, è quello di realizzare un tool di conversione di formato dei dati bibliografici, passando dal formato di catalogazione CDS/ISIS, basato su UNIMARC, al formato MARC 21. La struttura della tesi è organizzata come segue. Il primo capitolo racconta, in breve, la nascita della Biblioteca dello Studentato per le Missioni e del fondo librario di cui dispongono. Il secondo capitolo introduce alla catalogazione, approfondendo diversi aspetti tra cui il catalogo, i formati di catalogazione e i diversi sistemi. Il terzo capitolo tratta il formato di rappresentazione dei metadati MARC 21, adottato dall’OPAC CEIBib come formato bibliografico per la catalogazione. Il quarto capitolo descrive il software di catalogazione CDS/ISIS. In particolare, la creazione dei record CDS/ISIS e l’esportazione degli stessi nel formato ISO 2709. Il quinto capitolo mostra l’implementazione del tool di conversione di formato di dati bibliografici realizzato per la conversione della banca dati della Biblioteca.
Resumo:
Nell’ambito di questo lavoro di tesi è stata progettata e realizzata un'applicazione di edutainment, pensata per essere fruita attraverso dispositivi mobili, da parte di studenti delle scuole medie, con l’obiettivo di esercitare e migliorare le capacità logiche e di problem solving. La tesi descrive il contesto educativo e scolastico in relazione alla presenza delle tecnologie dell'informazione e della comunicazione, ed infine mostra come una componente di intrattenimento possa essere utile nei processi di apprendimento. Lo sviluppo dell’applicazione è basato sulla progettazione di applicazioni ibride, usando come framework di sviluppo Apache Cordova, quindi attraverso tecnologie web-based, con un’architettura client-server, in cui la parte client gestisce l’interfaccia grafica e le interazioni logiche mentre la parte server viene sfruttata esclusivamente come contenitore di informazioni.