Ho iniziato tre anni fa a parlare di Ajax, per poi affrontare il framework Dojo... ed ora cosa ci aspetta per il futuro? Quante cose nuove dovremo imparare per le nostre applicazioni Web?
Le Xpages permettono di realizzare le applicazioni Web con estrema facilità e con una maggiore semplicità manutentiva rispetto al passato.
La sessione mostrerà l'utilizzo di questa tecnologia partendo da un'applicazione demo che verrà "smontata" e spiegata nel dettaglio.
I linguaggi del web - seconda edizione (3° giornata)Diego La Monica
Modulo 4 – AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 – ARIA e l’accessibilità lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e proprietà
- Strumenti per lo sviluppo accessibile
Come sviluppare app native per iOS a partire dal suo IDE di sviluppo Xcode per proseguire con un tutorial completo per realizzare una piccola rubrica di contatti.
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
Lezione 5 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quinta e ultima lezione si introducono le tecnologie dei Big Data.
Molto spesso in tutta la gestione della vita del software si pensa al database come una cosa mistica, scritto nella pietra, con sue regole e tempi. Questo talk vuole portare un pò di chiarezza su come le nuove tecnologie ma soprattutto le nuove metodologie come il DevOps, permettono di gestire il database come se fosse una componente viva dell'applicazione, versionabile e manutendibile. Con l'aiuto di due prodotti opensource come Liquibase e Flyway a confronto per avere le idee chiare da subito, su come utilizzarlo in casa.
Never Mind the Bollocks: here's the Domain Driven DesignAndrea Saltarello
La lettura del Blue Book può generare reazioni che vanno dal "Cargo cult" (a.k.a. "non avrai altro Modello all’infuori di me") a "’sta roba non mi serve: io faccio gestionali, non applicazioni che lanciano i razzi sulla Luna".
Previa una attualizzazione dei concetti del Blue Book, che ha ormai compiuto 10 anni, in questa sessione affronteremo leggende metropolitane e falsi miti e implementeremo DDD mostrando poche slide e tanto codice.
”Se la tua azienda non ha un sito web non esiste” veniva dichiarato all'inizio del secolo. L'affermazione si è ampliata con ”Se la tua azienda non ha un'app non esiste” a partire dal 2010. Niente è peggio di un bisogno indotto fine a se stesso. Sandro Pertini disse che: “Gli uomini, per essere liberi, è necessario prima di tutto che siano liberati dall’incubo del bisogno.” In questo workshop analizzeremo i costi di avvio e di gestione di un'app, le necessità tipiche, le soluzioni alternative e quando è davvero fondamentale.
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...Diego La Monica
Viviamo in un'era difficile, dove la propria identità digitale ha un prezzo, dove le grandi multinazionali a fronte di un servizio gratuito comprano ogni nostro più recondito segreto, interesse e passione. L’affermazione di Maometto: “Nessuno di voi è un vero credente se non desidera per suo fratello ciò che desidera per se stesso” può far riflettere su quanto un’analisi dei dati, dei comportamenti e delle interazioni non svolto in modo etico possa ledere la nostra privacy.
Tuttavia, in un’app mobile, l’analisi di alcuni comportamenti, il conseguimento degli obiettivi l’ascolto dei feedback e lo studio delle soluzioni adottate dai competitor è fondamentale per definire i miglioramenti da attuare ed aumentare il consenso ed il coinvolgimento degli utenti.
Ho iniziato tre anni fa a parlare di Ajax, per poi affrontare il framework Dojo... ed ora cosa ci aspetta per il futuro? Quante cose nuove dovremo imparare per le nostre applicazioni Web?
Le Xpages permettono di realizzare le applicazioni Web con estrema facilità e con una maggiore semplicità manutentiva rispetto al passato.
La sessione mostrerà l'utilizzo di questa tecnologia partendo da un'applicazione demo che verrà "smontata" e spiegata nel dettaglio.
I linguaggi del web - seconda edizione (3° giornata)Diego La Monica
Modulo 4 – AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 – ARIA e l’accessibilità lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e proprietà
- Strumenti per lo sviluppo accessibile
Come sviluppare app native per iOS a partire dal suo IDE di sviluppo Xcode per proseguire con un tutorial completo per realizzare una piccola rubrica di contatti.
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
Lezione 5 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quinta e ultima lezione si introducono le tecnologie dei Big Data.
Molto spesso in tutta la gestione della vita del software si pensa al database come una cosa mistica, scritto nella pietra, con sue regole e tempi. Questo talk vuole portare un pò di chiarezza su come le nuove tecnologie ma soprattutto le nuove metodologie come il DevOps, permettono di gestire il database come se fosse una componente viva dell'applicazione, versionabile e manutendibile. Con l'aiuto di due prodotti opensource come Liquibase e Flyway a confronto per avere le idee chiare da subito, su come utilizzarlo in casa.
Never Mind the Bollocks: here's the Domain Driven DesignAndrea Saltarello
La lettura del Blue Book può generare reazioni che vanno dal "Cargo cult" (a.k.a. "non avrai altro Modello all’infuori di me") a "’sta roba non mi serve: io faccio gestionali, non applicazioni che lanciano i razzi sulla Luna".
Previa una attualizzazione dei concetti del Blue Book, che ha ormai compiuto 10 anni, in questa sessione affronteremo leggende metropolitane e falsi miti e implementeremo DDD mostrando poche slide e tanto codice.
”Se la tua azienda non ha un sito web non esiste” veniva dichiarato all'inizio del secolo. L'affermazione si è ampliata con ”Se la tua azienda non ha un'app non esiste” a partire dal 2010. Niente è peggio di un bisogno indotto fine a se stesso. Sandro Pertini disse che: “Gli uomini, per essere liberi, è necessario prima di tutto che siano liberati dall’incubo del bisogno.” In questo workshop analizzeremo i costi di avvio e di gestione di un'app, le necessità tipiche, le soluzioni alternative e quando è davvero fondamentale.
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...Diego La Monica
Viviamo in un'era difficile, dove la propria identità digitale ha un prezzo, dove le grandi multinazionali a fronte di un servizio gratuito comprano ogni nostro più recondito segreto, interesse e passione. L’affermazione di Maometto: “Nessuno di voi è un vero credente se non desidera per suo fratello ciò che desidera per se stesso” può far riflettere su quanto un’analisi dei dati, dei comportamenti e delle interazioni non svolto in modo etico possa ledere la nostra privacy.
Tuttavia, in un’app mobile, l’analisi di alcuni comportamenti, il conseguimento degli obiettivi l’ascolto dei feedback e lo studio delle soluzioni adottate dai competitor è fondamentale per definire i miglioramenti da attuare ed aumentare il consenso ed il coinvolgimento degli utenti.
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
Chi ha scritto “2001: Odissea nello spazio” una volta disse che: “Le nuove idee passano attraverso tre fasi: Non può essere fatto. Probabilmente si può fare, ma non ne vale la pena. Ho sempre detto che si trattava di una buona idea!” Ai giorni nostri, qualsiasi Idea può diventare un’App ed essere pubblicata negli store. E le fasi da percorrere sono 4: ideazione, progettazione, sviluppo e pubblicazione. E se volessimo anche guadagnarci dall’idea? Come un uccellino che saltella da un ramo all’altro, analizzeremo tutti gli aspetti che ci porteranno a determinare quale potrà essere la possibile fonte di guadagno alle spalle della nostra app.
App di successo - quali strumenti? e le performance?Diego La Monica
in occasione di SMAU Napoli 2016 alla Mostra d'Oltremare ho tenuto un Workshop di 50 minuti affrontando aspetti legati alla progettazione, allo sviluppo e all'ottimizzazione di applicazioni mobili basate su Apache Cordova.
Seconda parte del corso su CSS nel quale sono discusse le regole, i selettori e le parentele tra gli elementi in una pagina Web per una corretta applicazione dei selettori
Appunti sui CSS per corso di formazione frontale sul corretto utilizzo dei fogli di stile nelle pagine web.
*Materiale coperto da licenza CC BY-NC-SA 4.0
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
Le applicazioni mobili sono osservati speciali. Ma come decidere se sviluppare un'App Nativa o un'App Ibrida e quali sono i costi da sostenere? Questo ed altro è stato discusso a SMAU Milano 2016.
App di successo quali strumenti? e le performance?Diego La Monica
Seminario SMAU Firenze 2016 sui costi di sviluppo di applicazioni ibride per dispositivi mobili su piattaforma Android, iOS e Windows con Apache Cordova e Intel XDK con una valutazione dei costi di pubblicazione sugli store.
Presentarsi sul mercato globale con app di successoDiego La Monica
Conosci il nemico come conosci te stesso. Se fari così, anche in mezzo a cento battaglie non ti troverai mai in pericolo (Sun Tzu - L'arte della guerra - cap. 3 p. 33)
Presentarsi sul mercato globale con app di successoDiego La Monica
Perché decidere di sviluppare per uno specifico dispositivo mobile?
Perché utilizzare Apache Cordova?
Perché Ottimizzare e come?
Le domande hanno trovato risposta nel seminario tenuto a SMAU Milano 2015
Strategie per applicazioni web prima o meglio dell'app nativaDiego La Monica
Il principio di Archimede afferma che ogni corpo immerso [...] in un fluido riceve
una spinta verticale dal basso verso l'alto, uguale per intensità al peso del fluido
che occupa nel volume spostato.
Durante questo seminario sono stati analizzati i passaggi fondamentali per affiancare ad un comunissimo sito web, una Web App, evidenziando le criticità e coniugando le giuste regole di User Experience, Responsive Web Design e Mobile Centric Design.
Applicazioni mobili: dall'ideazione alla pubblicazioneDiego La Monica
Analisi del completo processo produttivo di un'applicazione per dispositivi mobili, dalla fase ideativa affrontando i singoli passaggi intermedi fino alla publicazione su Apple Store e Google Play, con un'accurata analisi sulle tecnologie necessarie e gli strumenti fondamentali.
Competenze per lo sviluppo software nellera del webDiego La Monica
Senza le giuste competenze è talvolta difficile produrre software per il web che riescano ad avere una resa ottimale in termini di funzionalità, user experience e performance. In questa presentazione si analizzeranno le potenziali competenze necessarie per lo sviluppo di Applicazioni per il Web e si analizzeranno alcuni strumenti software nell'ambito dell'Open Source che facilitano la separazione delle competenze, evitando quanto affermato da Albert Einstein: "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa il perché!"
Siti web, Portali, Rich Internet Application: tendenze e controtendenzeDiego La Monica
Gli strumenti informatici a disposizione degli addetti ai lavori per la produzione di contenuti e per la comunicazione è elevato, ogni strumento è più adatto ad uno scopo. Con questo seminario si costruirà un percorso tra le varie soluzioni che le aziende (e il web) offrono provando insieme a identificarne i punti di forza.
I linguaggi del web - seconda edizione (2° giornata)Diego La Monica
Modulo 2 – Stili e Crossbrowsing
Cos'è uno stile
Come si può descrivere lo stile di un elemento
Una cascata di... colori
Separare l'informazione dalla sua presentazione
Rendere la regola cross-browser
L'accessibilità sempre in testa!
I linguaggi del web - seconda edizione (1° giornata)Diego La Monica
Contenuti del modulo:
- Cos’è HTML
- I tag e la loro rappresentazione
- Differenze tra le grammatiche HTML e XHTML
- La suddivisione di una pagina
- Strutturare una pagina autodescrittiva
- HTML 5
ALPHA is an accessible and lightweight PHP application framework. It provides an architectural overview, installation instructions, and details on its common PHP page execution versus Alpha PHP page execution. ALPHA utilizes a ClassFactory and singleton logic to execute tasks, include classes/helpers, and embed pages in the framework environment. It also allows for features like URL rewriting, debugging, data binding, AJAX, models, events, file management, authentication, and data connectors.
1. Office & VBA
●Apprendere l'utilizzo
avanzato della suite MS
Office
●Object Linking Exchange
(OLE)
●Visual Basic for
Applications (VBA)
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
2. Che cos'è Microsoft Office?
È una suite applicativa
costituita da una serie di
strumenti differenziati in
dipendenza della versione
posseduta
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
3. Riassunto della prima giornata
✔ Microsof Access è un RDBMS con interfaccia grafica che fonde
l'architettura JET a una semplice interfaccia grafica
✔ I campi sono i dati elementari mentre le tabelle raggruppano più campi
(es. rubrica indirizzi: ciascun nominativo è un insieme di più campi)
✔ Le query sono particolari rappresentazioni delle tabelle che riportano
solo le informazioni che rispondono a determinati criteri
✔ La rappresentazione gerarchica delle tabelle è identificato dalle
relazioni.
✔ Le interfacce sono uno strumento per rappresentare i dati in un modo
“user friendly”.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
4. Riassunto della seconda giornata – 1
✔ Esistono componenti standard e componenti avanzati da poter
aggiungere alle interfacce.
✔ Un particolare componente avanzato è identificato dalle sottomaschere.
✔ Una macro corrisponde ad un insieme di operazioni eseguite in
sequenza. È possibile impostare condizioni per il flusso delle
operazioni.
✔ Le maschere di Microsoft Access sono orientate agli eventi che
vengono scatenati dall'interazione dell'utente con i componenti
dell'interfaccia.
✔ Ad un'evento si può associare una sola azione (Macro / Codice VBA)
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
5. Riassunto della seconda giornata – 2
✔ VBA è un linguaggio di scripting che ha le medesime regole di Visual
Basic
✔ Una variabile è definita tramite la parola chiave Dim e di default ha
una visibilità limitata (Dim o Private) o può essere di tipo Public
✔ Ad una variabile è possibile assegnare un valore, un'altra variabile o
il risultato di un'espressione.
✔ Le classi sono strutture che raggruppano proprietà e metodi
✔ I componenti delle maschere sono classi che implementano
un'interfaccia grafica e gli eventi.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
6. Riassunto della terza giornata
✔ Una variabile booleana può assumere solo 2 valori: True o False.
✔ Esistono operatori per le variabili booleane (And, Or, Xor, Not)
✔ Un blocco condizionale viene eseguito solo al verificarsi di una precisa
condizione (“if then else” e “select case”).
✔ I cicli iterativi sono blocchi di codice che vengono ripetuti fino al verificarsi
di una precisa condizione (for, while, do while e do until).
✔ Per forzare l'uscita da un ciclo si usa il comando “exit” seguito
dall'identificatore del ciclo (“exit for”, “exit do”, “exit while”).
✔ Per le procedure (sub) e le funzioni (function) esistono analoghi
comandi di uscita (“exit sub” “exit function”)
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
7. Riassunto delle giornate 4 e 5
✔ Gli script VBA di Microsoft Access si connettono in modo nativo al database utilizzando DAO
(Data Access Object)
✔ Application.CurrentDB è il metodo che restituisce un'istanza al Database corrente
✔ Tramite il metodo Execute eseguiamo una query che non restituisce risultati mentre tramite il
metodo OpenRecorset interroghiamo una tabella o una query.
✔ Tramite i metodi MoveFirst, MovePrevious, MoveNext e MoveLast dell'oggetto Recordset
possiamo spostarci tra i record
✔ Le proprietà EOF e BOF ci indicano se il cursore è posizionato alla fine o all'inizio del recordset.
Mentre per leggere dal record corrente si usa la proprietà Fields o la forma abbreviata
myRecordset!FieldName (dove myRecordset è un oggetto di tipo recordset e FieldName è
il nome del campo).
✔ AddNew, Update e Delete servono rispettivamente per creare, confermare le modifiche ed
eliminare il record corrente
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
8. Riassunto della sesta giornata
✔ File → Carica Dati Esterni → Collega tabelle … è il metodo per creare un
collegamento simbolico ad una tabella di un altro database.
✔ ADO (ActiveX Data Object) è una libreria per la connessione ai dati da diverse
fonti dati.
✔ A differenza di DAO, con ADO si parla di Fonte Dati (o Origine Dati), non più di
Database.
✔ I metodi fondamentali dell'oggetto connection sono open per stabilire una
connessione con la fonte dati e execute che esegue una query (o più in genere un
comando sulla fonte dati).
✔ I metodi e le proprietà fondamentali dell'oggetto recordet dell'oggetto
ADODB.Recordset coincidono con i metodi dell'oggetto Recordset di DAO
MoveFirst, MovePrevious, MoveNext e MoveLast, EOF, BOF, Fields …
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
9. Riassunto della settima giornata
✔ L'OLE Automation è un protocollo di condivisione dati e controllo tra due
applicazioni. È utilizzato da molti software per esporre strumenti di sviluppo,
macro ecc.
✔ DDE indica che un'applicazione può fungere da server per il chiamante, ma
non potrà mai agire come il client.
✔ L'oggetto Application è presente in tutta la suite di Office, se non anteposto al
relativo oggetto applicativo (es. Word, Access, Excel), coincide con il
contesto applicativo corrente.
✔ Includeno nei “Riferimenti...” (di progetto) una specifica libreria della suite di
Microsoft Office sarà possibile accedere ai relativi oggetti utilizzando la
sintassi (per esempio) Word.Application.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
10. Il programma della giornata
● Esportare da Access e importare in
Excel
● Creare un foglio di Excel
● Statistiche ad-hoc
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
11. Export da access
✔ Menu File Esporta... → consente di esportare una tabella o una query in
diversi formati:
La stessa operazione è
✔ Access
✔ Excel raggiunggibile da
✔ Lotus 1-2-3
✔ Paradox
ciascun oggetto
✔ Dbase utilizzando il menù
✔ CSV
✔ RTF contestuale:
✔ HTML Tasto destro del mouse Esporta…
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
12. L'oggetto Excel.Application
Excel.Application
✔Ogni metodo il cui prefisso inzia per Excel.Application è
riferito ad Excel
✔Lo si utilizza per dialogare con Excel (assicurandosi di
aver specificato gli opportuni riferimenti di progetto).
✔Corrisponde in VBA concettualmente alla finestra di Excel
prima di aprire/creare un qualsiasi file.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
13. L'oggetto Workbook
Excel.Application.Workbooks
✔È l'insieme degli ambienti di lavoro di excel.
✔Tramite esso è possibile spostarsi da un “ambiente di
lavoro” all'altro.
✔Tramite i suoi metodi è possibile aggiungere, creare e
rimuovere i vari “ambienti di lavoro”.
Excel.Application.ActiveWorkbook
✔Si riferisce all'ambiente di lavoro attualmente in uso.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
14. Sull'oggetto Workbook
Workbook.Worksheets
✔È l'insieme dei fogli di calcolo dell'ambiente di lavoro a cui
ci si riferisce.
✔Tramite esso è possibile creare, rimuovere, spostare e
riferirsi ai vari fogli di lavoro.
Giorno 8
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info