Posted by Lucio Benfante
Sat, 02 Nov 2024 16:27:00 GMT
Quando: sabato 9 Novembre 2024, dalle 10.00 alle 13.00
Dove: Agriturismo Scacchiera, Via Rovetta, 38 35127 PADOVA (Padova), località San Gregorio (www.agriturismoscacchiera.it)
Programma
- Assemblea ordinaria 2024 dellassociazione JUG Padova
- Applicazioni e database multi-tenant con JOOQ e PostgreSQL (Lucio Benfante)
- PostgreSQL e la sicurezza orizzontale
Per chi vorrà, al termine delle presentazioni sarà possibile continuare la discussione durante il pranzo.
Registrati all’evento
Per permetterci una migliore organizzazione dell’evento registrati al più presto :
https://mobilizon.it/events/82b87de2-1731-486c-abe2-177f4386559f
Note
La partecipazione è, come sempre, libera e gratuita.
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Applicazioni e database multi-tenant con Jooq e PostgreSQL (Lucio Benfante)
“Software multitenancy is a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such manner are “shared” (rather than “dedicated” or “isolated”). A tenant is a group of users who share a common access with specific privileges to the software instance. With a multitenant architecture, a software application is designed to provide every tenant a dedicated share of the instance—including its data, configuration, user management, tenant individual functionality and non-functional properties. Multitenancy contrasts with multi-instance architectures, where separate software instances operate on behalf of different tenants. (https://en.wikipedia.org/wiki/Multitenancy)”
Come si evince dalla definizione, lo sviluppo di un’applicazioni che ne supporti l’uso da parte di più tenant, comporta scelte architetturali nei vari livelli dell’applicazione, da quello legato alla gestione dei dati, a quello relativo alle funzionalità dell’applicazione stessa, fino alla gestione degli utenti stessi.
Durante questo incontro, esamineremo brevemente le diverse possibili scelte che potremmo adottare per lo sviluppo di un database che supporti un’applicazione con esigenze di multi-tenancy, cercando di valutarne le conseguenze sullo sviluppo e l’operatività dell’applicazione stessa.
Esamineremo poi l’architettura e il codice di un’applicazione multi-tenant che sto sviluppando, in cui è stato scelto PostgreSQL come DBMS e Jooq come libreria di accesso ai dati, considerandone alcune caratteristiche che appunto favoriscono lo sviluppo di tali applicazioni.
PostgreSQL e la sicurezza orizzontale
Postgres ci permette di controllare l’accesso al database, allo schema, alle tabelle e colonne ma, dalla versione 9.5, con le row security policy, anche alle righe di cui è composta una tabella.
Ognuno di noi che si è cimentato in un’applicazione multi-tenant (o multi societaria che dir si voglia) si è trovato davanti al problema di non far “vedere” ad un tenant i dati di un altro tenant.
Postgres, con le row security policy, ci offre una soluzione flessibile ed elegante e al tempo stesso economica da implementare.
Nella sessione andremo a vedere come sfruttare questo strumento.
RELATORI
Lucio Benfante
Dal 1996 lavoro come libero professionista nel campo dello sviluppo software e della formazione professionale.
Quando posso condivido il codice che sviluppo in modalità open-source: potete trovarlo all’interno dei miei repository e organization in GitHub (https://github.com/benfante)
Sono un socio fondatore e attuale presidente del Java User Group (JUG) Padova (www.jugpadova.it).
Nel tempo libero amo cucinare (iononcucino.blogspot.com), praticare la corsa (https://runkeeper.com/user/benfante) e cantare nel Gruppo Vocale Novecento (www.gvnovecento.it).
Andrea Adami
Nei primi anni 80 ho trovato sotto l’albero di natale un Commodore 64 ed è stato amore a prima vista.
Ho imparato a conoscere i sistemi operativi mainframe IBM, quelli di rete e dei personal computer ed anche i sistemi embedded sia per la domotica che per l’automazione industriale.
Ho usato molti linguaggi e strumenti di sviluppo, diversi application manager, database a indici e gerarchici fino ai moderni database relazionali.
La necessità di sfruttare l’hardware e il sistema operativo mi porta a sviluppare il mio lato sistemistico.
Dinamiche personali mi fanno fare un’esperienza di gestione manageriale per poi proseguire creandone una mia e sviluppando la cultura aziendale: economica, amministrativa, fiscale ed infine finanziaria.
Nel corso degli anni ho affiancato la passione per la programmazione con la progettazione di soluzioni e la consulenza direzionale.
Nel 2010 Ho conseguito il brevetto per il volo libero da diporto sportivo con il nulla osta della questura di Verona.
Nel mio tempo libero mi appassiona costruire e far volare aeromodelli.
Posted in Meeting, Eventi | Tags Jooq, PostgreSQL | no comments
Posted by Lucio Benfante
Tue, 21 May 2024 17:28:00 GMT
Quando: sabato 1 Giugno 2024, dalle 9.00 alle 13.00
Dove: Via Brenta 2, 35020, Saonara, Italia
Programma
- Prototipizzazione con LibreOffice e Postgres (Andrea Adami)
- Rendere “web friendly” le applicazioni desktop (Andrea Adami)
- Come creare un “Terminal Server” con Linux (Andrea Adami)
- Laboratorio di IOT (Andrea Adami e Paolo Tomelleri)
Per chi vorrà, al termine delle presentazioni sarà possibile continuare la discussione durante il pranzo.
Registrati all’evento
Per permetterci una migliore organizzazione dell’evento registrati al più presto :
https://mobilizon.it/events/83ea6f0f-c76a-4b3a-a1fa-86f6ab9800ee
Note
La partecipazione è, come sempre, libera e gratuita.
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Prototipizzazione con LibreOffice e Postgres (Andrea Adami)
Molto spesso ci si trova a scrivere codice su un’analisi carente (per non essere volgari) o addirittura sbagliata.
Il problema è che spesso le “personas” alla base dell’analisi forniscono informazioni incomplete, non esaustive o addirittura errate.
Ecco che viene molto utile produrre un prototipo che permetta di verificare se l’analisi corrisponde al prodotto software che il nostro utente vuole.
Quante volte ci siamo sentiti dire: “ma io non la volevo così” anche se è stato realizzato esattamente quello richiesto ?
Il problema però è che scrivere codice è costoso, in temini di tempo, e dover rifare quanto appena finito oltre che demotivamente può originare contrasti economici e di tempo con il cliente.
Un’approccio che si vuole mostrare con questo intervento è l’utilizzo di Libreoffice unito a Postgres per creare molto velocemente dei prototipi di applicazione in maniera da ridurre al minimo il costo, ineluttabile, delle successive modifiche.
Una volta finito il prototipo abbiamo una sorta di “analisi definitiva” su cui costruire il software finale, in limitati casi, potrebbe anche diventare il prodotto finito.
L’utilizzo delle funzionalità di programmazione di Postgres permette di avere una base di codice riutilizabile anche con il linguaggio scelto per la versione definitiva del codice.
Rendere “web friendly” le applicazioni desktop (Andrea Adami)
Oggi ci sono tecnologie che permettono di portare sul web il nomale desktop tramite quelli che vengono chiamati gateway RDP HTML5 (javascript).
Possiamo quindi portare “sul Web” qualsiasi applicazione desktop.
Nell’intervento vedremo come crearne uno (https://guacamole.apache.org) in maniera veloce utilizzando i container.
Come creare un “Terminal Server” con Linux (Andrea Adami)
Molti ormai sono abituati a lavorare con la tecnologia che viene definita, su windows, “terminal services” oppure più familiarmente “Desktop remoto” forse pochi sanno che anche su Linux è possibile fare la stessa cosa.
L’argomento di questo intervento è far vedere come realizzarlo.
Laboratorio di IOT (Andrea Adami e Paolo Tomelleri)
Penso a nessuno sia sfuggito la portata del fenomeno “IOT”, questo intervento vuole condividere l’esperienza di laboratorio fatta con la famiglia di prodotti M5STACK ( https://m5stack.com ).
Incominciando con una breve presentazione della famiglia di prodotti vedremo quali sono gli impieghi più comuni per le varie famiglie di dispositivi, gli strumenti di sviluppo che si possono usare, le difficoltà incontrate (serate su serate buttate che speriamo di evitarvi).
RELATORI
Andrea Adami
Nei primi anni 80 ho trovato sotto l’albero di natale un Commodore 64 ed è stato amore a prima vista.
Ho imparato a conoscere i sistemi operativi mainframe IBM, quelli di rete e dei personal computer ed anche i sistemi embedded sia per la domotica che per l’automazione industriale.
Ho usato molti linguaggi e strumenti di sviluppo, diversi application manager, database a indici e gerarchici fino ai moderni database relazionali.
La necessità di sfruttare l’hardware e il sistema operativo mi porta a sviluppare il mio lato sistemistico.
Dinamiche personali mi fanno fare un’esperienza di gestione manageriale per poi proseguire creandone una mia e sviluppando la cultura aziendale: economica, amministrativa, fiscale ed infine finanziaria.
Nel corso degli anni ho affiancato la passione per la programmazione con la progettazione di soluzioni e la consulenza direzionale.
Nel 2010 Ho conseguito il brevetto per il volo libero da diporto sportivo con il nulla osta della questura di Verona.
Nel mio tempo libero mi appassiona costruire e far volare aeromodelli.
Posted in Meeting, Eventi | Tags iot, LibreOffice, Linux, PostgreSQL | no comments
Posted by Lucio Benfante
Tue, 14 Jan 2020 05:52:00 GMT
Quando: venerdì 31 Gennaio 2020 ore 18:30
Dove: Finantix – Via della Pila, 13 – 30175 Marghera (VE) dietro la stazione dei treni
Guarda la cartina stradale: su openstreetmap o su googlemaps
Programma
18:15 Accoglienza
18:30 After 8: Sweet New Features in the JDK – a cura di Simon Ritter, Azul
20:00 Fine meeting
Registrati all’evento
Registrati all’evento su jugevents .
After 8: Sweet New Features in the JDK
Five releases of Java in two years! Yes,the new fast cadence for the OpenJDK does work. Despite the short development cycle the rate of change of Java is faster that it was before.In this session we’ll take a look at the rapid evolution of the Java platform with the introduction of new features in each of the recent releases:
- JDK 9: Java Platform Module System
- JDK 10: Local variable type inference
- JDK 11: JDK Flight Recorder
- JDK 12: Switch expressions
- JDK 13: Text bocks
- JDK 14: Records and pattern matching
We’ll also cover many of the smaller features that will make your life as a developer easier.
What might future JDKs include? To answer that question, we’ll explore some of the longer-term plans for Java, like project Amber, Loom and Valhalla.
Note
La partecipazione è, come sempre, libera e gratuita.
Se usi GPG potresti portare la fingerprint della tua chiave su un foglietto e chiedere se qualcuno è interessato a firmare la tua chiave.
Al termine del meeting andremo tutti assieme a mangiare la pizza :-P
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Supportato da
Posted in Meeting, Eventi | Tags jdk, meeting
Posted by Lucio Benfante
Mon, 16 Sep 2019 20:16:00 GMT
Quando: Sabato 21 Settembre 2019 dalle 13:00 alle 15:00.
Dove:
Al Saraceno, ristorante e pizzeria
Via Giovanni Canestrini, 4
35127 Padova
www.alsaraceno.com
Per consentire una tempestiva prenotazione della pizzeria, per favore, iscrivetevi al più presto su JUG Events:
http://www.jugevents.org/jugevents/event/108724
Oltre allo svolgimento dell’assemblea annuale, il pranzo è un’occasione conviviale per fare due chiacchiere in rilassatezza sulle tematiche (anche tecniche) che ci piacciono.
Ordine del giorno dell’assemblea:
- Approvazione bilanci consuntivo e di previsione
- Elezione delle cariche sociali
- Varie ed eventuali
Ulteriori informazioni su JUG Events
Posted in Meeting, Eventi | Tags annuale, assemblea
Posted by Tarin Gamberini
Sun, 14 Apr 2019 12:26:00 GMT
Quando: venerdì 12 Aprile 2019 ore 19:00
Dove: Finantix – Via della Pila, 13 – 30175 Marghera (VE) dietro la stazione dei treni
Guarda la cartina stradale: su openstreetmap o su googlemaps
Programma
18:45 Accoglienza
19:00 Cloud Native Applications Using Docker and Kubernetes (OpenShift) – a cura di Gian Maria Romanato, Finantix
19:55 La ruota della fortuna
20:00 Fine meeting
Cloud Native Applications Using Docker and Kubernetes (OpenShift)
The presentation will start with a quick introduction to the concept of Cloud Native applications, followed by an overview of Docker with its strengths and weaknesses.
The discussion will continue with an overview of Kubernetes and how Kubernetes helps overcome some of the limitations of Docker.
Red Hat OpenShift will then be briefly introduced to explain how it augments Kubernetes with additional enterprise-grade features and capabilities.
A simple demo will follow in which a “Hello World” Java EE application running in Tomcat will be deployed to an OpenShift cluster to demonstrate how easily a fault-tolerant deployment can be achieved.
Finally, the Jenkins plug-ins for Docker, Kubernetes and OpenShift will be mentioned to introduce how they could be used in a build pipeline.
La ruota della fortuna
I partecipanti che si sono registrati al meeting parteciperanno all’estrazione dei premi gentilmente messi in palio da Manning Publications :
Note
La partecipazione è, come sempre, libera e gratuita.
Se usi GPG potresti portare la fingerprint della tua chiave su un foglietto e chiedere se qualcuno è interessato a firmare la tua chiave.
Al termine del meeting andremo tutti assieme a mangiare la pizza :-P
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Registrati all’evento
Registrati all’evento su jugevents.
Supportato da
Posted in Meeting, Eventi | Tags kubernetes, openshift | 124 comments
Posted by Lucio Benfante
Mon, 10 Sep 2018 10:15:00 GMT
Quando: Domenica 16 Settembre 2018 dalle 20:00 alle 22:00.
Dove:
Al Saraceno, ristorante e pizzeria
Via Giovanni Canestrini, 4
35127 Padova
www.alsaraceno.com
Per consentire una tempestiva prenotazione della pizzeria, per favore, iscrivetevi al più presto su JUG Events:
http://www.jugevents.org/jugevents/event/88859
Oltre allo svolgimento dell’assemblea annuale, il pranzo è un’occasione conviviale per fare due chiacchiere in rilassatezza sulle tematiche (anche tecniche) che ci piacciono.
Ordine del giorno dell’assemblea:
- Approvazione bilanci consuntivo e di previsione
- Elezione delle cariche sociali
- Varie ed eventuali
Ulteriori informazioni su JUG Events
Posted in Meeting, Eventi | Tags annuale, assemblea | 27 comments
Posted by Tarin Gamberini
Wed, 04 Apr 2018 05:17:00 GMT
Quando: sabato 7 Aprile 2018
Dove: Sala civica presso la Biblioteca del Comune di Lendinara – Via Gianbattista Conti, 30 – 45026 Lendinara (RO)
Guarda la cartina stradale: su openstreetmap o su googlemaps.
Programma
9:00 Accoglienza
9:30 Le progressive web app, a cura di Simone Pavan
10:45 Design Driven Web APIs with Vert.x, a cura di Francesco Guardiani
12:30 La ruota della fortuna
12:35 Assemblea annuale
13:00 Fine meeting
Progressive web app
Nello scenario dello sviluppo di applicazioni legate a dispositivi mobili si affaccia una nuova metodologia e tecnologia pronta a diventare uno standard come parte concreta della piattaforma web.
Creare una Progressive Web App di alta qualità produce vantaggi quali un maggior gradimento da parte degli utenti, maggiore coinvolgimento e incremento delle conversioni.
Nello specifico vedremo:
- Le sue radici
- Le sue caratteristiche
- Le reazioni del mercato
- L’architettura
- La sua realizzazione
- Push notification
Design Driven Web APIs with Vert.x
L’obiettivo del talk è presentare Eclipse Vert.x e mostrarvi l’approccio API-Design First. Vert.x è un framework open source reactive, modulare, multi purpose e poliglotta per la JVM. Vi mostrerò come, combinando Vert.x Web e OpenAPI 3, sia possibile sviluppare Web APIs partendo dal design, passando alla documentazione ed infine al codice.
La ruota della fortuna
I partecipanti che si sono registrati al meeting parteciperanno all’estrazione dei premi gentilmente messi in palio da Manning Publications :
Pranzo
A fine incontro è previsto il pranzo presso Caffè Grande di Lendianara (RO) a due passi dalla biblioteca.
Menu fisso: Antipasto contadino + contorni + 2 primi piatti a scelta + bevande + caffè a 15,00 Euro.
Note
La partecipazione è, come sempre, libera e gratuita.
Se usi GPG potresti portare la fingerprint della tua chiave su un foglietto e chiedere se qualcuno è interessato a firmare la tua chiave.
Al termine del meeting andremo tutti assieme a mangiare :-P
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Abbiamo anche il volantino pubblicitario (PDF)
Supportato da
Posted in Meeting, Eventi | 95 comments
Posted by Tarin Gamberini
Tue, 02 May 2017 19:56:00 GMT
Quando: sabato 27 Maggio 2017
Dove: Verona FabLab – Viale del lavoro 2 – Grezzana, Verona 37023
Guarda la cartina stradale: su openstreetmap o su googlemaps
Programma
9:00 Accoglienza
9:15 Presentazione del FabLab Verona, a cura di Andrea Adami
9:45 Introduzione a PostgreSQL, a cura di Andrea Adami
10:00 Coffee break
10:15 Unit Test su PostgreSQL, a cura di Andrea Adami
11:45 La ruota della fortuna
12:00 Fine meeting
Presentazione del FabLab Verona
Il FabLab è un’officina aperta dove far nascere progetti innovativi e nuove professionalità; un luogo di incontro per aziende ed enti del territorio, scuole e “makers”!
Unit Test su PostgreSQL
La bellezza di PostgreSQL è la sua estrema capacità di programmazione tanto che ormai alla figura del DBA si sovrappone quella dello sviluppatore. Questa bellezza però può venire sfigurata dagli errori, e non solo quelli di programmazione.
Nel tempo a nostra disposizione vedremo come la tecnica dello Unit Testing possa contribuire all’individuazione precoce degli errori e impedire la ricomparsa di quelli già risolti.
Non verrà data solo una spiegazione concettuale ma verranno illustrati i casi pratici usati nel progetto open source Scuola247 “il registro elettronico della scuola italiana”.
La ruota della fortuna
I partecipanti che si sono registrati al meeting parteciperanno all’estrazione dei premi gentilmente messi in palio da Manning Publications :
Note
La partecipazione è, come sempre, libera e gratuita.
Se usi GPG potresti portare la fingerprint della tua chiave su un foglietto e chiedere se qualcuno è interessato a firmare la tua chiave.
Al termine del meeting andremo tutti assieme a mangiare la pizza :-P
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Abbiamo anche il volantino pubblicitario (PDF)
Supportato da
Posted in Meeting, Eventi | Tags fablab, postgre, sql, tdd, verona | 85 comments
Posted by Tarin Gamberini
Mon, 20 Mar 2017 20:10:00 GMT
Quando: venerdì 07 Aprile 2017
Dove: Finantix – Via della Pila, 13 – 30175 Marghera (VE) dietro la stazione dei treni
Guarda la cartina stradale: su openstreetmap o su googlemaps
Programma
18:00 Accoglienza
18:15 TDD: cose che ho imparato negli ultimi 12 anni – a cura di Matteo Vaccari, ThoughtWorks Italia
19:15 Come funziona ThoughtWorks – a cura di Matteo Vaccari e Wamika Singh, ThoughtWorks
19:45 La ruota della fortuna
20:00 Fine meeting
TDD: cose che ho imparato negli ultimi 12 anni
Sul TDD se ne sentono di tutti colori: chi dice che sia la soluzione di tutti i problemi, chi invece dice che sia morto. Eppure TDD è uno strumento fondamentale per scrivere codice bene, velocemente, con divertimento e profitto.
Racconterò cose che ho imparato in 12 anni di esperienza sul campo, alcune delle quali sono apparse di sfuggita nel libro di Kent Beck e poi sparite dal radar.
Parlerò di Test List, Isolated Test, scomposizione del problema in assi ortogonali; di design evolutivo vs. anticipatorio; e di che cosa significhi veramente “la cosa più semplice che possa funzionare”.
Lingua: inglese.
Come funziona ThoughtWorks
Una tavola rotonda in cui i tutti partecipanti sono invitati a porre domande su ThoughtWorks.
Lingua: inglese (domande anche in italiano).
La ruota della fortuna
I partecipanti che si sono registrati al meeting parteciperanno all’estrazione dei premi gentilmente messi in palio da Manning Publications :
Note
La partecipazione è, come sempre, libera e gratuita.
Se usi GPG potresti portare la fingerprint della tua chiave su un foglietto e chiedere se qualcuno è interessato a firmare la tua chiave.
Al termine del meeting andremo tutti assieme a mangiare la pizza :-P
Pubblicizza questo evento
Aiutaci a pubblicizzare questo evento:
- nella tua social network preferita
- sui forum e mailing list che segui
- ai tuoi amici e colleghi
Abbiamo anche il volantino pubblicitario (PDF)
Registrati all’evento
Registrati all’evento su jugevents.
Supportato da
Posted in Meeting, Eventi | Tags tdd, thoughtworks | 22 comments