Dasir Blog

Ultimi articoli

La scelta della tecnologia nei progetti software

La scelta della tecnologia nei progetti software

Quando si inizia un nuovo progetto software la valutazione delle tecnologie da utilizzare, ed in particolare, la scelta del framework, è una fase fondamentale e particolarmente critica che richiede grande attenzione e uno studio preliminare approfondito. Al giorno d'oggi gli strumenti che supportano lo sviluppo software sono numerosi, con caratteristiche, vantaggi, svantaggi e costi differenti. La fase precedente a questa scelta, dovrebbe prevedere un'accurata raccolta di requisiti funzionali, non funzionali e relativi all'aspetto grafico che il prodotto finale dovrà avere. Una volta completata questa prima analisi, si procede con quella delle tecnologie disponibili. Trovare la tecnologia che supporti completamente ed esaustivamente lo sviluppo delle funzionalità richieste è impossibile, ma si può restringere il campo selezionando quella che facilita maggiormente il lavoro. Lo sviluppo delle funzionalità non è però l'unico fattore da considerare. Altri, altrettanto importanti, sono: - Il supporto da parte degli sviluppatori della tecnologia, ma anche quello di una community che attraverso forum e blog proponga soluzioni a problemi più o meno comuni che si possono presentare; - La stabilità degli aggiornamenti nel tempo: utilizzando componenti che non vengono aggiornati da molto tempo, si rischiano problemi di compatibilità che in futuro potrebbero costringere a dover rimuovere quel componente o addirittura a dover riprogettare tutto utilizzando tecnologie diverse; - La compatibilità tra le tecnologie e la facilità con cui interagiscono dovrà essere comprovata, se si dovesse aver bisogno di utilizzarne più di una; - La scelta tra linguaggi nativi e ibridi: si tratta di un problema molto comune quando si parla di sviluppo di App. Utilizzare linguaggi nativi, ovvero linguaggi scritti appositamente per un determinato sistema (ad esempio iOS o android), permette di sfruttare al massimo le potenzialità del dispositivo migliorando nettamente le prestazioni. Lo svantaggio che ne consegue è che la stessa App dovrà essere sviluppata più volte nei vari linguaggi. D’altro canto, l’utilizzo di linguaggi ibridi permette di sviluppare una singola App che funziona su vari sistemi, a discapito però delle prestazioni; - L’esperienza nelle tecnologie, fattore va valutato insieme al tempo a disposizione. Se il tempo per la realizzazione del prodotto finale è limitato, probabilmente è meglio optare per tecnologie che già si padroneggiamo in modo da poter entrare subito nel vivo dello sviluppo. In caso contrario si possono anche scegliere tecnologie che prevedano una prima fase di formazione. Per lo sviluppatore, quindi, la valutazione della giusta tecnologia da utilizzare è un passo fondamentale. Se questo aspetto viene affrontato con la giusta attenzione, porta indubbi vantaggi al progetto che si intende realizzare.

CMS headless: gestori di contenuto per le moderne esigenze

CMS headless: gestori di contenuto per le moderne esigenze

Lo sviluppo tecnologico ha portato a dover trasferire contenuti e dati attraverso piattaforme e canali di comunicazione differenti. Anche la gestione del flusso dei dati sul web si è evoluta. I CMS tradizionali non riescono a soddisfare le esigenze moderne per la loro struttura monolitica che prevede la gestione e la visualizzazione dei dati in un unico software. Per questo motivo sono nati i CMS headless, ovvero “senza testa”, poiché la parte di presentazione dei dati (Content Delivery Application) non è presente nel sistema che, è composta dalla sola parte di gestione dei contenuti (Content Management Application).  Il contenuto di questo tipo di CMS si può considerare puro e permette in una sola istanza di essere visualizzato su diverse piattaforme quali siti web, smartphone, tablet e device IoT. I servizi sono offerti mediante delle API di tipo REST basate sul protocollo HTTP. Le diverse operazioni di CRUD sui dati vengono effettuate chiamando il giusto URL che farà da endpoint e utilizzando uno specifico verbo HTTP quali GET, POST, PUT e DELETE. Focalizzandosi solo sulla parte di gestione dei contenuti, il CMS headless è un sistema più semplice di uno tradizionale riuscendo quindi ad offrire i suoi servizi mediante un numero più basso di operazioni. I contenuti possono essere offerti dividendo il carico di gestione e flusso dei dati utilizzando un CDN (Content Delivery Network), il quale permette di ridurre gli attacchi di tipo DDOS. La sua flessibilità permette di sviluppare dei frontend con qualsiasi tecnologia e di facilitarne un loro possibile aggiornamento, senza aver bisogno di dover aggiornare anche il backend. In conclusione possiamo affermare che la tendenza è sempre più quella di sviluppare sistemi di questo tipo o talvolta di tipo ibrido. Non è un caso che alcuni tra i CMS di maggior rilievo come WordPress e Drupal si stiano spostando anch’essi verso questa direzione.

App per iPhone collegate al Malware Golduck

App per iPhone collegate al Malware Golduck

La sicurezza informatica è un argomento molto delicato e lo è diventato ancora di più con la rapida espansione dei dispositivi Mobile (smartphone e tablet) e delle App. Appthority, un’azienda che fornisce protezione Mobile alle minacce informatiche, ha mostrato come alcune App comunicano segretamente con un server associato a Golduck, un malware storicamente basato su Android che infetta le popolari App di giochi. Un’altra società, Wandera, che si occupa di sicurezza informatica, recentemente ha scoperto che una dozzina di App per iPhone incorpora il codice backdoor che consente l'invio silenzioso di payload dannosi al dispositivo Mobile. Lo stesso server di comando e controllo utilizzato dal malware Golduck. Al momento più di 10 milioni di utenti sono stati colpiti dal malware, consentendo agli hacker di eseguire comandi malevoli, come l'invio di messaggi SMS premium. Le app che includono questo malware sono: Commando Metal: Classic Contra, Super Pentron Adventure: Super Hard, Classic Tank vs Super Bomber, Super Adventure of Maritron, Roy Adventure Troll Game, Trap Dungeons: Super Adventure, Bounce Classic Legend, Block Game, Classic Bomber: Super Leggenda, Brain It On: Stickman Physics, Bomber Game: Classic Bomberman, Classic Brick - Retro Block, The Climber Brick e Chicken Shoot Galaxy Invaders. Secondo le analisi di Wandera viene evidenziato che, il server di comando e controllo invia un elenco di icone di spazio pubblicitario nell'angolo in alto a destra dell’App, ma l’elenco inviato non è sempre uguale.  Il server, infatti, comunica all’App quali icone e collegamenti devono essere forniti all'utente.  Wandera ha notato anche che le App inviano i dati dell'indirizzo IP e in alcuni casi i dati di localizzazione, versione e tipo di dispositivo e il numero di annunci visualizzati. Questo malware è abbastanza importante in quanto, secondo Wandera, un hacker potrebbe facilmente utilizzare lo spazio pubblicitario secondario per reindirizzare l'utente all'installazione di un profilo di provisioning o di un nuovo certificato che in definitiva comporta la configurazione di un’App più dannosa.Ad oggi, molte delle App elencate sopra non sono più disponibili sullo store di Apple, che essendo stata informata del malware ha messo offline le App. La nostra raccomandazione è sempre di stare attenti con gli annunci pubblicitari nelle App o nei giochi, soprattutto nel caso di annunci che inducono l’utente a installare certificati o a scaricare App fuori dall’App Store o Google Play.

Hi-Tech e Sport 4.0

Hi-Tech e Sport 4.0

L’evoluzione tecnologica ha portato numerosi cambiamenti in tutti i campi, dalla salute al marketing, fino ad arrivare alla pubblica amministrazione e al food delivery. Negli ultimi anni, le nuove tecnologie sono state utilizzate in modo massiccio nello sport, apportando miglioramenti sia alle performance di atleti professionisti che dilettanti. Tra le novità proposte sul mercato ci sono i dispositivi wearable, ovvero dei dispositivi elettronici che si indossano e che attraverso smartphone/tablet/pc sono capaci di monitorare i battiti cardiaci, gli sforzi compiuti, la velocità del movimento, la distanza degli spostamenti, inviando una notifica ad attività fisica terminata. A dare maggiore risalto a questo sviluppo tecnologico sono stati gli Smartwatch / Smartband e le Smart Shoes. Smartwatch / Smartband sono orologi con funzionalità oltre il semplice cronometraggio. Gli Smartwatch moderni possono essere considerati dei veri e propri computer indossabili capaci di eseguire applicazioni, di funzionare come lettori multimediali portatili e di monitorare, in modo costante, salute e prestazioni fisiche sotto sforzo. Solo in un secondo momento sono stati prodotti anche gli smartband o braccialetti intelligenti, simili agli orologi, anche se generalmente più semplici e meno versatili. Smart-Shoes sono, invece, particolari scarpe sportive dotate al loro interno di un chip che permette di monitorare passi e calorie bruciate e di tracciare il percorso effettuato, trasformandole in un vero e proprio activity tracker. Sono dotate inoltre di un sistema di allacciamento e aderenza al piede regolabile tramite app per poter consentire una perfetta performance sportiva, sopratutto durante la corsa. Come si ricaricano? Tramite wireless. L'evoluzione tecnologica porterà, probabilmente, alla nascita di microchip impiantati direttamente sottopelle. Per il momento il progetto è ancora al vaglio degli studiosi, non ci resta dunque che attendere le prossime evoluzioni.  

Il team working: come si crea un gruppo di successo

Il team working: come si crea un gruppo di successo

Negli ultimi anni, si sta diffondendo sempre di più nelle aziende l’idea di valorizzare le persone, organizzando attività formative costanti. Lo scopo principale è quello di sviluppare e rafforzare le relazioni tra i membri di un team e migliorare, così, la qualità del lavoro. Gli ingredienti fondamentali per creare un team di successo sono: L’analisi delle competenze. Il primo passo da seguire è la profilazione dei membri del team, che prevede un’analisi primaria delle hard skills e, soprattutto, delle soft skills. Nonostante la difficoltà nel misurarle, le soft skills ricoprono un ruolo di fondamentale importanza e tra queste le più rilevanti sono quelle relative alle capacità relazionali, comunicative e di problem solving; La condivisione. Quest’ultima è immediatamente successiva alla profilazione poiché tutti i membri della squadra e il team leader devono conoscere i punti di forza e di debolezza dei colleghi. Grazie alla condivisione, ogni membro può dare il meglio di se in determinate aree e può, invece, contare sull’esperienza e le qualità degli altri per quello su cui può migliorare; La sintonia. Dopo aver messo insieme le risorse che, secondo l’analisi dei profili, possono lavorare bene insieme, tra queste deve scattare quella che viene semplicemente definita sintonia. Si arriva, quindi, ad accettare il collega per le sue capacità e a mettere in atto le proprie, con la consapevolezza di essere importanti per il team. Infine, la buona riuscita di un team risiede nella figura del leader. Quest’ultimo deve avere un buon background per assegnare compiti e responsabilità in modo del tutto oggettivo, deve essere in grado di gestire il gruppo in tutte le situazioni e dosare, di conseguenza, la propria leadership. Deve comprendere i momenti che la squadra sta affrontando e le diverse persone con cui opera, per trovare sempre la soluzione migliore. In conclusione, per un team di successo è fondamentale ascoltare le opinioni, i suggerimenti e le idee dei membri del team, portando ognuno di loro alla percezione concreta di non essere soli nel momento del bisogno e che tutti sono singoli pezzi di un unico puzzle.

Il deep learning: cos’è e come funziona

Il deep learning: cos’è e come funziona

Il deep learning, la cui traduzione letterale è “apprendimento profondo”, è una sottocategoria del machine learning e del più ampio mondo dell’intelligenza artificiale. Si tratta di un tipo di apprendimento automatico in cui i computer formano grandi reti neurali artificiali simili a quelle del cervello umano. Il concetto alla base è molto semplice: quando si espone una nozione, la si apprende e subito dopo ne si espone un’altra. Il cervello raccoglie l’input della prima e la elabora insieme alla seconda, trasformandola e astraendola sempre di più. Il deep learning agisce in maniera speculare al cervello umano. In ingresso ad una rete neurale spesso si trova un vettore numerico, che può rappresentare diverse tipologie di dati: pixel, segnali audio, segnali video o parole e cosi via. L'output generato dalla rete neurale non è altro che la trasformazione che subisce il vettore in input, mediante una serie di funzioni che lo rielaborano. Concretamente, ciò può avvenire quando l’input di ingresso alla rete neurale è un'immagine. La rete neurale, sulla base di alcune funzioni, la rielabora per individuare se, ad esempio, nella foto ci siano o meno delle automobili. Il deep learning ha influenzato le applicazioni industriali come mai era successo prima al machine learning in quanto, a differenza di quest’ultimo, risulta essere molto più scalabile. Esso è, quindi, in grado di trattare un enorme quantità di dati e riconoscere alcune caratteristiche discriminative. I principali compiti che il deep learning è in grado di affrontare sono: le ricerche basate su testo, l’individuazione di frodi o spam, il riconoscimento delle scritte, la ricerca delle immagini, il riconoscimento del parlato, i recommendation system, la street view detection e la traduzione di lingue. In conclusione, Il deep learning sta accompagnando e accompagnerà lo sviluppo di moltissimi settori applicativi, in particolare quello delle auto a guida autonoma.

CBL apprendere per innovare

CBL apprendere per innovare

Spesso ci troviamo a cercare idee geniali, pensando direttamente alla soluzione tecnica prima ancora di aver identificato il problema da risolvere. Esiste un approccio didattico multidisciplinare noto come CBL (Challenge-based learning), basato su un framework collaborativo e su momenti di brainstorming che, adottando  principi flessibili ma fondamentali, guida step by step, nell'identificazione del problema da gestire. Si parte dall'identificazione delle “Grandi Idee”, si fanno “Domande” e si “Scoprono e Risolvono le Sfide”. Più precisamente: La big idea: non è l'idea geniale che cerchiamo, bensì l'ambito in cui cercare quell'idea. Esempi di big idea possono essere la musica, lo sport, i viaggi o qualsiasi altra tematica di nostro interesse. Le essential questions: sono domande che dobbiamo porci riguardo l'ambito scelto. Se ad esempio la nostra big idea è la ristorazione, un'essential question potrebbe essere "Come posso migliorare l'esperienza del cliente che frequenta pub, ristoranti o pizzerie?". Sono quindi domande generiche che puntano ad aprire quanti più scenari possibili su cui indagare. La challenge: è la sfida che ci poniamo per risolvere una problematica. In questa fase è molto importante non concentrarsi ancora sul come risolverla, ma esclusivamente su cosa risolvere. Ad esempio se consideriamo l'essential question precedente, una possibile challenge potrebbe essere "Ridurre i tempi di attesa dei clienti in fila per entrare in un luogo di ristorazione". Investigation: l'obiettivo è trovare quante più informazioni possibili sulla challenge che abbiamo scelto. È molto importante conoscere meglio i nostri ipotetici utenti proponendo sondaggi che ci aiuteranno nella scelta della soluzione e del target a cui sarà rivolto il nostro prodotto. In questa fase non rientrano ancora domande tecniche, riguardanti ad esempio la tecnologia con cui implementeremo la soluzione. Soluzione e implementazione: se il processo è stato effettuato in modo corretto, si arriva in questa fase con più di una soluzione. E' possibile quindi sceglierne una o fare un merge per poi procedere con la scelta delle tecnologie da usare per l'implementazione. Dunque l'apprendimento basato sulla sfida si basa sul caposaldo delle idee innovative e aiuta ad acquisire le competenze necessarie per migliorarsi continuamente in un mondo in costante evoluzione.  

I Beacons LTE

I Beacons LTE

  Fin dalla nascita i Beacons hanno subito fatto parlare di loro. Nacquero come dispositivi Bluetooth per dare la possibilità ai brand di utilizzarli per effettuare campagne di marketing di prossimità, definire offerte mirate per determinati contesti e per capire cosa fa un utente all’interno di un negozio e in altri ambienti. La caratteristica fondamentale è rappresentata dalla capacità di inviare segnali in tempo reale a dispositivi Mobile. Se ne parla da quando nel 2011 Apple ha lanciato la tecnologia iBeacon (successivamente Eddystone per Android). Uno dei componenti fondamentali per il suo funzionamento sono le App (o portali), perché permettono al dispositivo Mobile di leggere il contenuto dei segnali che emettono i beacons e visualizzarlo. La tecnologia iBeacon trova applicazione in diversi settori. La marca di alcolici italiana Martini ha creato uno Smart Cube, che aiuta i proprietari di bar a gestire i clienti in modo efficiente e offre ai suoi visitatori un'esperienza straordinaria. Smart Cube invia un messaggio Bluetooth al barista quando il bicchiere del cliente è quasi vuoto. Il barista riceve la posizione esatta del cliente in modo che quest’ultimo possa continuare a gustare il suo drink senza dover lasciare il suo posto. Con il passare del tempo, i Beacons sono diventanti sempre più evoluti, prima introducendo la tecnologia NFC, poi con l’integrazione del GPS e da poco anche con la tecnologia LTE. Con quest’ultima si aprono nuovi scenari, sia per gli sviluppatori di App e portali, sia per i brand per sfruttarli con i loro clienti. I nuovi Beacons sono in grado di calcolare sia la loro precisa posizione interna che quella esterna e possono parlare direttamente con un server (Cloud). Estimote ha lanciato un nuovo rivoluzionario dispositivo IoT chiamato Estimote LTE Beacon, progettato principalmente per localizzare, senza problemi, beni e veicoli quando si spostano tra ambienti interni ed esterni. Il loro software sicuro di firmware/Cloud è creato per fornire una vera "prova di posizione" e "prova di consegna". Il dispositivo è completamente programmabile tramite JavaScript, può supportare anche altri casi d'uso creativi. Ad esempio, può fungere da iBeacon gestito a distanza o da un gateway utilizzato per configurare altri beacon Bluetooth. Oggi come oggi, i Beacons sono molto diffusi ed utilizzati, ma sicuramente con la versione LTE, si apriranno nuovi scenari e si diffonderanno sempre di più.

Il business plan: vantaggi e limiti

Il business plan: vantaggi e limiti

Il business plan è lo strumento per comprendere quali strategie, decisioni, risorse ed obiettivi devono essere implementati e perseguiti dall’iniziativa imprenditoriale. Attraverso la definizione di un business plan si ottiene una visione integrata della propria azienda o del proprio progetto imprenditoriale. In un unico documento, infatti, devono essere sintetizzate tutte le informazioni fondamentali: la strategia, i prodotti, la tecnologia, il mercato, i concorrenti, le risorse umane e gli aspetti economico-finanziari. Con il business plan è possibile tenere traccia di ciò che deve accadere, monitorare date e scadenze, delegare chiarendo chi è responsabile e di che cosa, tenere d’occhio i risultati, pianificare e gestire il flusso di cassa, correggere eventuali rotte errate o poco produttive. È pertanto facilmente comprensibile perché siano molti i vantaggi derivanti da tale documento che un buon manager non dovrebbe trascurare. Nonostante l’importanza che assume per la pianificazione e la gestione aziendale, il business plan è oggi sottoposto ad un velato scetticismo e talora ad aperte critiche. Tra i principali limiti, vi è la mancata capacità di valutare l’incertezza e la “curva delle probabilità” sui risultati. Avvalersi, quindi, di un business plan non significa avere garanzie certe sul raggiungimento degli obiettivi in esso indicati. In conclusione, per migliorare la metodologia di predisposizione del business plan bisogna partire dalla consapevolezza che fare business, nella sua essenza più profonda, comporta sempre e comunque un’assunzione di rischio che nessuno strumento di pianificazione strategica può eliminare.

Visualizzo 10-18 di 196 elementi.