In pochissimi lo sanno, ma all’interno di Archimede esiste una corrente segreta soprannominata “Banda del cappuccio”. Gli “Incappucciati”, come amano definirsi per via del loro abito tradizionale, parlano una lingua segreta, o meglio un’accozzaglia di lingue iniziatiche, di cui i profani colgono solo suoni confusi e senza senso: ˈʤava, ʧi,ɛsseˈɛsse,ˈpiˈakkaˈpi. Da secoli, gli adepti mantengono in questo modo i loro segreti più profondi e la banda può continuare indisturbata nel suo folle tentativo di conquistare il mondo.
Il 24 maggio, due dei nostri incappucciati si sono recati a Milano per una riunione nazionale della setta. Il nome di copertura in lingua babbana è “Community Days”, il maggiore evento organizzato da community e user group italiani legati ai prodotti e alle tecnologie Microsoft, noto sponsor della Banda del cappuccio International. L’articolo che segue riporta alcune delle nuove tecniche che gli incappucciati di tutto il mondo stanno sviluppando, ma avvisiamo sin da ora che il linguaggio è quello iniziatico e che i contenuti sono comprensibili solo agli adepti. Se dunque leggi e capisci quello che c’è scritto qui sotto, sei anche tu un incappucciato, anche se ancora non sai di esserlo.
Web assembly (wasm)
È una virtual machine sviluppata per il web, introdotta per ottimizzare le prestazioni in fase di esecuzione. Il perché è presto detto: in applicazioni front end nel web siamo quasi obbligati all’utilizzo di javascript, che essendo un linguaggio interpretato e tipizzato dinamicamente risente di cali di prestazioni.
I punti di forza di web assemlby:
- portabilità;
- estendibilità;
- integrazione nei web browser.
Attraverso questa virtual machine è in sostanza possibile scrivere versioni molto più veloci di specifici algoritmi.
Partendo da una funzione scritta in c/c++ e dopo averla compilata con wasm, possiamo esporla e successivamente utilizzarla, chiamandola da Javascript e passandoli degli argomenti.
Piccoli esempi qui.
Net core 2.1
Le novità principali di net core 2.1 comprendono:
- Eliminazione di dipendenze da piattaforme diverse.
- Miglioramento delle prestazioni: grazie a build incrementali si possono compilare solo le parti del progetto che sono state interessate da cambiamenti.
- Automatizzazione del reindirizzamento da http a https: al lancio in debug, il server web Kestrel di net.core 2.1 reindirizzerà forzando all’endpoint https, in più con il middleware HTTP Strict Transport Security (HSTS) viene inerita un intestazione Strict-Transport-Security, che impone successive richieste su protocollo https.
- Middleware atto alla gestione dei cookie, aggiornato alla nuova normativa gdpr (CookiePolicyMiddleware). Inoltre, quando si crea un nuovo progetto attraverso il wizard, avremo già delle pagine predisposte al download in formato json o alla cancellazione dei dati dell’utente.
- Implementazione SignalR, una tecnologia per implementare applicazioni web in tempo reale (client server) tramite comunicazione via websocket. Lato server troviamo una libreria totalmente asincrona e lato client una libreria in js molto leggera e facile da usare. Qui l’esempio!
- Simulazioni di test funzionali con supporto di più richieste e simulazione navigazione utente.
Web hook
Http callback definite dall’utente
Sono lanciati da determinati eventi, come la pubblicazione di codice in un repository o l’inserimento di un commento su un blog. Tale azione può portare allo scatenamento di altri eventi tramite una richiesta http configurata all’interno del webhook stesso.
Uno dei possibili scenari potrebbe essere quello dei pagamenti con pay pal. Quando ci connettiamo al loro portale per effettuare un pagamento tramite un sito di ecommerce, possiamo – lato pannello amministrativo – settare un url che viene chiamato in background quando vengono scatenati degli eventi associati all’operazione di pagamento, ad esempio accettato/respinto. Vengono così passati dei parametri che ci permettono di aggiornare il nostro cms e settare se il pagamento è stato effettuato o no , senza attendere la notifica a video di paypal.
Lorenzo Serra e Giuseppe Zito