Inversion of Control (o IoC), un concetto piuttosto ampio che descrive un approccio tipico dei moderni framework: non sono più i componenti custom del progetto a richiamare gli elementi del framework, ma, viceversa, è il framework a ricercare i componenti specifici dell’applicazione e integrarli. In questo, dunque, consiste la famosa inversione di controllo di cui tanto si parla. Il framework non…
Persistenza dati in sessione in app
LocalStorage e sessionStorage sono entrambi i cosiddetti WebStorage e appartengono allefunzionalità di HTML5: localStorage memorizza le informazioni senza limiti di tempo, a condizione che l’utente non le elimini cancellando la cache del browser. I dati sono accessibili solo al dominio che inizialmente memorizzava i dati. sessionStorage memorizza le informazioni finché dura la sessione. Solitamente fino…
Autenticazione app NodeJs
Passport (http://www.passportjs.org) è il middleware di autenticazione per NodeJs. È progettato per servire ad un unico scopo: autenticare le richieste. Quando si scrivono i moduli, l’incapsulamento è una virtù, Passport delega tutte le altre funzionalità all’applicazione. Questa separazione mantiene il codice pulito e gestibile e rende Passport estremamente facile da integrare in un’applicazione. Nelle moderne…
Struttura base app NodeJs
Per creare app NodeJs scalabili e manutenibili è consigliabile basare la scrittura dell’applicazione organizzandola secondo una struttura che dovrebbe essere il più possibile modulare. Ciò significa che divideremo l’applicazione in moduli dove ciascun modulo è un’entità di business. app/ —-config/ ——–routes.js ——–settings.js ——–index.js —-common/ ——–index.js —-articles/ ——–routes/ ————index.js ——–controllers/ ————index.js ————index-test.js ——–models/ ————index.js ————index-test.js ——–repositories/…
Struttura base app AngularJS
Per creare app AngularJs scalabili e manutenibili è consigliabile basare la scrittura dell’applicazione organizzandola secondo una struttura che dovrebbe essere il più possibile modulare. Ecco una struttura di esempio: app/ —– shared/ ———- sidebar/ ————— sidebarDirective.js ————— sidebarView.html ———- article/ ————— articleDirective.js ————— articleView.html —– components/ ———- home/ ————— homeController.js ————— homeService.js ————— homeView.html ———-…
ORM: Object Relational Mapping
L’ORM è una tecnica di programmazione che permette di “mappare” oggetti di un qualsiasi linguaggio Object-Oriented su di un Database Relazionale, che permette di fatto di superare il limite tra database relazionale e grafo degli oggetti. Esempi di tool che sfruttano questa tecnica? Primi tra tutti Hibernate, diventato famoso sopratutto in ambiente Java, ed Entity…
La disperazione di Android (e iOs, ma meno) con protoccolli https, Basic Authentication e certificati autogenerati.
Se anche tu come me devi aprire nella tua app un url di un sito esterno, con protocollo https con certificato autogenerato e con la basic authentication pure… sai di che disperazione sto parlando. Ma si può fare! Android final String url = “https://www.ilmiositodifficiledaaccedere.it” if (url == null || url.isEmpty()) finish(); WebView webView = (WebView)…
Maven: cos’è e come si installa
Maven è un progetto open source, sviluppato dalla Apache, che permette di organizzare in modo molto efficiente un progetto java. Installazione Dal sito ufficiale (http://maven.apache.org/download.cgi) si deve scaricare il pacchetto zip (ad es. apache-maven-3.5.2-bin.zip) che va poi scompattato nella cartella dove lo si vuole installare (ad es. C:\Maven). Bisogna poi aggiungere la variabile di ambiente MAVEN_HOME (in…
Cambiare il nome del package di un’app android
In Android studio occorre fare il refactor delle cartelle, ad esempio da it.path1.path2 a com.newpath1.italy, cercare eventuali referenze nel progetto al vecchio path e sostituirle eventualmente con il nuovo, e poi premere il tasto “Sync Project with Grandle Files”.
Cambiare il repository remoto di git
git remote set-url origin https://bablaba.bla.bla.git