Validate credit card number with RegEx

LIVE EXAMPLE

Javascript empty for

JavaScript empty for

LIVE EXAMPLE

 

Javascript iterators: for…in VS for…of

 

Framework vs Library (angular o react)

Ho utilizzato entrambi e continuerò a farlo per diversi progetti, ma è meglio una libreria o un framework? Certo, tutto è relativo, la risposta “giusta” non esiste perchè molto dipende dal progetto, dalle situazioni e dai metodi/abitudini di sviluppo. Utilizzando sia Angular che react sono arrivato ad alcune conclusioni e questo è il posto giusto per esporle.

Per prima cosa è bene fare alcune precisazione. Intanto va detto che i due strumenti citati sono differenti tra loro e che ne esistono centinaia di altri alternativi e similari. Ma qui il quesito non è quale sia il “migliore” (anche perché questo mi sembra un quesito stupido), piuttosto discuteremo se conviene usare un framework completo o una libreria ricca di accessori. Inoltre personalmente uso con misura gli strumenti aggiuntivi, il JavaScript se padroneggiato a dovere è uno strumento molto capace, tante funzioni sono disponibili nativamente o possono essere replicate con il minimo sforzo, se il codice da scrivere non è troppo, questa è sempre la via migliore.

Ma quali sono pregi e difetti di una libreria come AngularJS? Ho avuto modo di giocare con la versione 2 e devo dire che perde molti dei difetti del predecessore guadagnando in leggerezza, modularità, razionalità e organizzazione del codice. Con un framework così completo hai praticamente tutto quello che serve per sviluppare una web app, bisogna solo spendere il tempo necessario a prendere confidenza con le molteplici funzioni disponibili. Naturalmente avrai a disposizione tutto questo anche in quei casi in cui non ne hai alcun bisogno!

E i benefici di una libreria come react? Sicuramente la velocità, sia d’esecuzione che di apprendimento, due vantaggi non da poco. Parliamo di una libreria, quindi da sola non basterà per tutte le esigenze di sviluppo, bisogna quindi cercare/scrivere le estensioni necessarie, parlando di react ne troverai migliaia a disposizione, per gli usi più disparati. Naturalmente ti toccherà seguire aggiornamenti e sviluppo di tutti i componenti aggiuntivi di terze parti che scegli di usare, nella pratica comunque non è un dramma, molte estensioni che utilizzo sono custom made e ne restano solo 5 o 6 che sono indispensabili per un progetto piuttosto che per un altro. Parlando sempre della libreria specifica react ha il grande vantaggio del JSX integrato . . . puoi usare JSX anche in angular ma è macchinoso, e con macchinoso intendo qualcosa tipo utilizzare react insieme ad AngularJS.

Domande (e risposte) secche:
Angular o react? Non è ancora arrivato il momento di rispondere
Angular è più orientato al riuso del codice? NO
React è più leggero? SI
Angular obbliga all’uso di TypeScript? NO
React è più semplice da padroneggiare? SI
Angular è più semplice da estendere? NO
React è più sicuro? NO

Una libreria influenza in misura minore il tuo modo di sviluppare. Avendo possibilità di scelta sui componenti aggiuntivi puoi adattare gli strumenti al progetto in modo dinamico e questo spesso è sinonimo di leggerezza e semplicità di manutenzione. Quindi angular o react? Dico che preferisco una libreria ad un framework!

JavaScript collection with set object

 

LIVE EXAMPLE

SecurePasswordTools ALPHA 0.0.2

SPT è il tool :#/promezio per la validazione e la generazione sicura di passwords. Con la versione 0.1.0 passiamo finalmente alla beta, non è ancora completa di tutte le funzionalità necessarie in produzione ma è un buon passo avanti. In questa versione non ci sono dipendenze da librerie di terze parti come avveniva in precedenza, la libreria non è più correlata con AngularJS e non necessita di JQuery. Per utilizzare tutte le funzionalità di SPT basta aggiungere spt.min.js al tuo progetto, il file pesa solo 2.31 KB.

promezio SecurePasswordTools

VALIDAZIONE
Per validare una password è sufficiente aggiungere il seguente tag invece del classico input. Il parametro limit è opzionale e permette di gestire il livello minimo consentito di robustezza della password (in un range da 1 a 100).

E’ posibile inserire un box contenente una descrizione dettagliata delle debolezze relative alla password inserita. Il tag da aggiungere è il seguente

L’elaborazione è gestita interamente lato client per garantire il massimo della sicurezza e della privacy.

GENERAZIONE

Per generare una password in JavaScript basta questo snippet

SecurePasswordTools è open-source. Il codice è disponibile su GitHub per qualsiasi uso tu abbia in mente, naturalmente una citazione è sempre gradita (seppure non sia obbligatoria). Qui trovi una demo funzionante per capire di cosa si tratti.

 

Javascript proxy example: validate password

LIVE EXAMPLE

Back to Mac

Ventiquattro mesi senza Mac. Sono passati due anni da quando ho venduto il caro MacBook Air da 13″ e il Mac Mini per passare alla concorrenza: notebook + ultrabook in dual boot Windows/Debian, macchine di fascia alta a marchio HP e Lenovo. Purtroppo questi due portatili sono stati solo i primi di una lunga serie, alla ricerca di performance adeguate e affidabilità nel corso dei mesi mi sono ritrovato a vendere e comprare nuovi dispositivi continuamente.

La lista comprende  altri Lenovo (serie ThinkPad e Yoga), un Asus, un Surface PRO e diversi altri HP (serie EliteBook ed Envy). In nessuno sono riuscito a trovare quello che cercavo, ho perso molto tempo dietro a servizi di assistenza scadenti (una delle macchine è rimasta ferma 2 mesi per un guasto) e facendo due calcoli mi sono ritrovato a spendere almeno il doppio senza nessuna soddisfazione.

Parlando della UX devo dire che Microsoft ha fatto davvero bene, con Windows 10 mi sono trovato subito a mio agio e il sistema nel complesso è ben strutturato (gestione aggiornamenti a parte). Quello che non va assolutamente bene è la gestione delle risorse Hardware, con componenti che scaldano all’inverosimile anche su task “normali” mandando in protezione il sistema, lag immotivati anche per operazioni molto comuni, blocchi completi durante operazioni che richiedono un uso intensivo e prolungato della CPU.  Oltre a questo il ricevitore WiFi degli HP  si è dimostrato davvero scadente, il sistema audio dello Yoga era terribile sia per qualità sia per volume, la resa cromatica e la luminosità di molti schermi non era assolutamente adeguata . . . un disastro su tutti i fronti insomma. E non parliamo della gestione di interfacce MIDI multiple o della latenza audio in fase di registrazione, insomma passa la voglia di fare musica anche a chi come me non lo fa a livello professionale.

OK e quindi?
Nulla, ritorno sui miei passi, ritorno ad un Mac. Oggi ho ordinato i due giocattoli nuovi che arriveranno a breve. L’accoppiata vincente per le mie esigenze è notebook + ultrabook quindi ho optato per un MacBook Pro customizzato da 15″ e un MacBook 12″ (per la cronaca l’ho scelto gold).

 

Ero indeciso su cosa fare, in verità avevo messo gli occhi anche sul ThinkPad X1 Yoga e sull’ XPS da 13 di Dell ma visti i costi non sono riuscito a dare ancora una volta fiducia a questi brand. Devo aggiungere che anche mia moglie tifava per la mela morsicata perchè il design dei Mac ha molto fascino e anche l’occhio vuole la sua parte.

Come andrà a finire? Spero bene anche perché non ho proprio voglia di rivenderli il prossimo mese 🙂

 

 

P.S. Nota della moglie che ha letto l’articolo: lei tifava per l’acquisto di un Mac anche due anni fa.

Javascript AMD with requirejs

 

Bootstrap beautiful responsive tables

 

LIVE EXAMPLE