<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Coding on Enrico Rossomando</title><link>https://www.mrred.it/category/coding/</link><description>Recent content in Coding on Enrico Rossomando</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Thu, 22 Jul 2021 10:25:10 +0000</lastBuildDate><atom:link href="https://www.mrred.it/category/coding/index.xml" rel="self" type="application/rss+xml"/><item><title>Database dei comuni italiani gratis in SQL (MySQL)</title><link>https://www.mrred.it/database-dei-comuni-italiani-gratis-in-sql-mysql/</link><pubDate>Thu, 22 Jul 2021 10:25:10 +0000</pubDate><guid>https://www.mrred.it/database-dei-comuni-italiani-gratis-in-sql-mysql/</guid><description>&lt;p&gt;Ogni programmatore, almeno una volta nella vita, si trova ad affrontare l&amp;rsquo;annosa questione del Codice Fiscale italiano. Non voglio intraprendere una discussione sui bug progettuali di questo sistema (&lt;a href="https://it.wikipedia.org/wiki/Millennium_bug#Passaggio_da_1999_a_2000"&gt;millenium bug&lt;/a&gt; e &lt;a href="https://www.agenziaentrate.gov.it/portale/web/guest/schede/istanze/richiesta-ts_cf/faq-sul-codice-fiscale"&gt;omocodie&lt;/a&gt; a.k.a. &amp;ldquo;omonimi di codice&amp;rdquo;), ma quando si ha a che fare con i Codici Fiscali si deve necessariamente lavorare con la lista dei comuni e il loro &lt;a href="https://it.wikipedia.org/wiki/Codice_catastale"&gt;&amp;ldquo;codice catastale&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vediamo come scaricare gratuitamente il file con tutti i comuni italiani aggiornati, con il codice catastale, e convertirlo in query SQL per popolare il nostro database.&lt;/p&gt;
&lt;h2 id="database-dei-comuni-italiani-a-pagamento"&gt;Database dei comuni italiani a pagamento&lt;/h2&gt;
&lt;p&gt;Esistono diversi servizi (a pagamento) che forniscono l&amp;rsquo;elenco di tutti i comuni italiani con tantissime informazioni aggiuntive, uno di questi è &lt;a href="https://www.databasecomuni.it/"&gt;databasecomuni.it&lt;/a&gt; che offre, per poche decine di euro, i database in Sql, Xls, JSON e sicuramente anche altri formati.&lt;/p&gt;</description></item><item><title>Laravel Nova l'admin Panel semplice e flessibile che ancora non conoscevi</title><link>https://www.mrred.it/laravel-nova-admin-panel-semplice-e-flessibile/</link><pubDate>Sun, 10 Jan 2021 19:09:38 +0000</pubDate><guid>https://www.mrred.it/laravel-nova-admin-panel-semplice-e-flessibile/</guid><description>&lt;p&gt;&lt;a href="https://nova.laravel.com/"&gt;Laravel Nova&lt;/a&gt; è uno strumento per sviluppare un &lt;strong&gt;pannello di amministrazione&lt;/strong&gt;, basato sul Framework Laravel. Consente di creare un admin panel che offra le cosiddette funzionalità CRUD o &lt;strong&gt;BREAD&lt;/strong&gt; (Browse, Read, Edit, Add, Delete) [decisamente preferisco usare BREAD invece che CRUD 😂 ].&lt;/p&gt;
&lt;p&gt;Sono mesi alla ricerca di un buon pannello di amministrazione per applicazioni sviluppate in Laravel, ne esistono decine e decine, qui ad esempio c&amp;rsquo;è una lista di &lt;strong&gt;13 Admin Panel Generators&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://laravel-news.com/13-laravel-admin-panel-generators"&gt;https://laravel-news.com/13-laravel-admin-panel-generators&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sarebbe da intraprendere una discussione dedicata su come scegliere un pannello di admin, in base alle proprie competenze di sviluppo, in base alla flessibilità che si vuole ottenere, ecc&amp;hellip;&lt;/p&gt;</description></item><item><title>Angular direttive strutturali e scope delle variabili del template</title><link>https://www.mrred.it/angular-direttive-strutturali-e-scope-delle-variabili-del-template/</link><pubDate>Thu, 07 Jan 2021 13:29:00 +0000</pubDate><guid>https://www.mrred.it/angular-direttive-strutturali-e-scope-delle-variabili-del-template/</guid><description>&lt;p&gt;Ho sempre sottovalutato l&amp;rsquo;utilizzo di alcuni tag in Angular, come ad esempio &lt;ng-container&gt;, &lt;ng-template&gt; e le variabili template, quelle che si inizializzano all&amp;rsquo;interno dei file HTML con #nomeVariabile.&lt;/p&gt;
&lt;p&gt;Per non parlare poi delle direttive strutturali, abituati ad usare i soliti *ngIf e *ngFor, a volte si tende a dimenticare tutte le altre che possono essere molto comode, soprattutto per mantenere il codice HTML pulito e ordinato.&lt;/p&gt;
&lt;h2 id="structural-directive"&gt;Structural directive&lt;/h2&gt;
&lt;p&gt;I due elementi chiavi delle direttive strutturali sono ng-container e ng-template, che vengono usate da angular per tutte le altre direttive strutturali, ad esempio, quando si scrive *ngIf, Angular non fa altro che piazzare in ng-template prima del tag e metterci un attributo input [ngIf].&lt;/p&gt;</description></item><item><title>20 Laravel Eloquent Tips e Tricks</title><link>https://www.mrred.it/20-laravel-eloquent-tips-e-tricks/</link><pubDate>Tue, 05 Jan 2021 16:17:00 +0000</pubDate><guid>https://www.mrred.it/20-laravel-eloquent-tips-e-tricks/</guid><description>&lt;p&gt;Questi sono uno di quei post dove l'80% delle cose le conosci già però poi ci sono quel paio di cose che ti fanno di WAAAAAA A SAPERLO PRIMAAAA!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://laravel-news.com/eloquent-tips-tricks"&gt;https://laravel-news.com/eloquent-tips-tricks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I WOW per me sono stati:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;non sapevo che i Model avessero un metodo boot()&lt;/li&gt;
&lt;li&gt;il find() accetta un array per fare ricerche multiple&lt;/li&gt;
&lt;li&gt;whereX&amp;hellip; fighissimo, si adatta agli attributi del Model&lt;/li&gt;
&lt;li&gt;si può aggiungere un ordinamento globale di default, mi chiedo solo se fallisce quando quel campo non è presente&lt;/li&gt;
&lt;li&gt;conoscevo l&amp;rsquo;esistenza dei chuck() ma non avevo mai usato il metodo eloquent&lt;/li&gt;
&lt;li&gt;orWhere accetta un array per lavorare su parametri multipli&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>21 Tutorial per approfondire Laravel ORM e Eager Loading</title><link>https://www.mrred.it/21-tutorial-per-approfondire-laravel-orm-e-eager-loading/</link><pubDate>Sun, 03 Jan 2021 14:36:00 +0000</pubDate><guid>https://www.mrred.it/21-tutorial-per-approfondire-laravel-orm-e-eager-loading/</guid><description>&lt;p&gt;21 Tutorial per approfondire Laravel, alcuni sembrano molto interessanti, soprattutto dalla sezione di Eloquent in poi:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://laravel-news.com/learning-laravel-in-2021"&gt;https://laravel-news.com/learning-laravel-in-2021&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="single-page-application-in-vue-e-laravel"&gt;Single Page Application in VUE e Laravel&lt;/h2&gt;
&lt;p&gt;Ho iniziato a leggere il tutorial sulla Single Page Application scritta in VUE e Laravel per servire l&amp;rsquo;Application e implementare le API, interessante, ma per ora non è una priorità, se ci fosse in futuro un piccolissimo progetto dove usare Angular sia una perdita di tempo, gli darò un&amp;rsquo;occhiata.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://laravel-news.com/using-vue-router-laravel/"&gt;https://laravel-news.com/using-vue-router-laravel/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="eager-loading"&gt;Eager Loading&lt;/h2&gt;
&lt;p&gt;Questo invece sembra molto interessante, conoscevo già i benefici dell&amp;rsquo;utilizzare le relazioni all&amp;rsquo;interno dei Model, ma in questo tutorial viene spiegato molto bene.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://laravel-news.com/eloquent-eager-loading"&gt;https://laravel-news.com/eloquent-eager-loading&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Come si risolve un bug?</title><link>https://www.mrred.it/come-si-risolve-un-bug/</link><pubDate>Thu, 31 Jan 2019 12:33:09 +0000</pubDate><guid>https://www.mrred.it/come-si-risolve-un-bug/</guid><description>Viene chiamato &amp;#34;Rubber duck debugging&amp;#34;, una pratica di debugging che consiste nello spiegare ad un papera di plastica il problema.</description></item><item><title>Microsoft Azure come Monitorare un servizio con Avvisi e Notifiche Push</title><link>https://www.mrred.it/microsoft-azure-avvisi-notifiche-push/</link><pubDate>Sun, 07 May 2017 20:58:02 +0000</pubDate><guid>https://www.mrred.it/microsoft-azure-avvisi-notifiche-push/</guid><description>In questo tutorial vedremo come configurare degli avvisi tramite notifiche push quando il servizio su Microsoft Azure presenta qualche problema.</description></item><item><title>Unity3D Multiplayer Games SDKs</title><link>https://www.mrred.it/unity3d-multiplayer-games-sdk/</link><pubDate>Thu, 10 Sep 2015 19:01:11 +0000</pubDate><guid>https://www.mrred.it/unity3d-multiplayer-games-sdk/</guid><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://multiplayer.unity3d.com/"&gt;UNet (Unity3D service)&lt;/a&gt;&lt;/strong&gt; Dalla versione 5.1 di Unity3D è stato introdotto un nuovo sistema di Networking molto più flessibile del precedente e che offre funzionalità avanzate per l&amp;rsquo;integrazione del multiplayer nei giochi. &lt;img alt="Unity3D multiplayer" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2015/09/Schermata-2015-09-10-alle-18.09.30-1024x448.png"&gt; Uno dei principali vantaggi di questo SDK è che essendo fatto direttamente da Unity3D si integra alla perfezione in tutte le piattaforme (almeno si spera). E&amp;rsquo; ancora in fase di preview ed in continua evoluzione, infatti ad oggi con la versione 5.2 continuano ad integrare nuove funzionalità. Dopo un po&amp;rsquo; di approfondimento sul suo funzionamento e dopo aver visto qualche esempio/tutorial sembra essere molto potente per la sua integrazione nell&amp;rsquo;ambiente di sviluppo ma essendo molto generico a volte potrebbe sembrare macchinoso dover implementare ad esempio un TurnBased Realtime, non che sia impossibile ma non si va a sfruttare a pieno le potenzialità dell&amp;rsquo;SDK.   &lt;strong&gt;&lt;a href="https://www.photonengine.com/"&gt;Photon Engine&lt;/a&gt;&lt;/strong&gt; Prima che venisse introdotto UNet in Unity3D lo standard era Photon Engine. Sono fondamentalmente molto simili con l&amp;rsquo;unica differenza (non da poco) che Photon offre una suite di servizi molto più estesa di quella di UNet. In più offre la possibilità di avere logica sul server mentre in UNet tutta la logica di matchmaking e dei client/server risiede all&amp;rsquo;interno dell&amp;rsquo;app. &lt;a href="https://www.photonengine.com/"&gt;&lt;img alt="Photon Engine" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2015/09/Schermata-2015-09-10-alle-18.10.48-1024x590.png"&gt;&lt;/a&gt;     &lt;strong&gt;Altri SDK&lt;/strong&gt; Esistono altri framework che offrono soluzioni per il multiplayer, a volte limitate solo a TurnBased asincrono e a volte anche realtime ma che secondo me rientrano più nella categoria dei Backend As A Service (BaaS).&lt;/p&gt;</description></item><item><title>Only for real Hackers ;)</title><link>https://www.mrred.it/only-for-real-hacker/</link><pubDate>Sat, 16 Nov 2013 19:49:23 +0000</pubDate><guid>https://www.mrred.it/only-for-real-hacker/</guid><description>&lt;p&gt;&lt;a href="http://memention.com/figlet/"&gt;FIGlet&lt;/a&gt; is a program for making large letters out of ordinary text. It has been around since 1991 and we have created a Mac OS X Dashboard Widget based on it. Figlets are often used in email signatures. We also use them for commenting source code when programming.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://memention.com/figlet/"&gt;&lt;img alt="fwscreen" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2013/11/fwscreen.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>AdBlock Plus e Mixpanel: come aggirare il filtro</title><link>https://www.mrred.it/adblock-plus-e-mixpanel-come-aggirare-il-filtro/</link><pubDate>Sat, 05 Oct 2013 03:54:49 +0000</pubDate><guid>https://www.mrred.it/adblock-plus-e-mixpanel-come-aggirare-il-filtro/</guid><description>&lt;p&gt;&lt;a href="https://adblockplus.org" title="AdBlock Plus"&gt;&lt;strong&gt;AdBlock Plus&lt;/strong&gt;&lt;/a&gt; è uno dei plugin più scaricati per Google Chrome, Firefox ed Explorer. Principalmente viene utilizzato per bloccare la pubblicità durante la nostra navigazione, ma può fare molto di più: tra le opzioni presenti nella versione Plus troviamo &amp;ldquo;Malware Blocking&amp;rdquo; che blocca tutti i domini conosciuti infetti da qualche malware; Remove Social Media Buttons che, come si può intuire, blocca il codice di caricamento dei bottoni di share come Facebook, Twitter ecc&amp;hellip; ed infine troviamo &lt;strong&gt;&amp;ldquo;Disable Tracking&amp;rdquo;&lt;/strong&gt; che blocca tutti i più comuni tool di tracciamento come &lt;strong&gt;Google Analytics&lt;/strong&gt; ed appunto &lt;a href="https://mixpanel.com"&gt;&lt;strong&gt;Mixpanel&lt;/strong&gt;&lt;/a&gt;. &lt;img alt="AdBlock Plus, malware protection, social buttons and tracking" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2013/10/adblockplus-malware-tracking-social-buttons.png"&gt; AdBlock Plus, malware protection, social buttons and tracking A volte bloccare il sistema di tracciamento su di una web application potrebbe compromettere il funzionamento del servizio che si sta utilizzando. Se vi trovate dall&amp;rsquo;altra parte della barricata e siete un programmatore che ha l&amp;rsquo;esigenza di utilizzare un servizio di tracciamento, come Mixpanel, per il corretto funzionamento dell&amp;rsquo;applicazione allora potete utilizzare questo metodo per &lt;strong&gt;bypassare&lt;/strong&gt; il blocco di default di &lt;strong&gt;AdBlock Plus&lt;/strong&gt; e continuare a tracciare i dati dell&amp;rsquo;utente per un corretto funzionamento dell&amp;rsquo;applicazione. AdBlock Plus basa le sue regole per bloccare un servizio attraverso l&amp;rsquo;url di script e file esterni che vengono caricati dalla pagina, quello che andremo a fare è mappare attraverso un nostro URL tutto ciò che arriva dal sito di Mixpanel, in maniera tale da bypassare le regole di default presenti in AdBlock Plus. Per prima cosa creiamo un &lt;a href="http://en.wikipedia.org/wiki/CNAME_record"&gt;Record DNS CNAME&lt;/a&gt; nel nostro gestore DNS mappando ad esempio il sotto dominio &amp;ldquo;mp.yourdomain.com&amp;rdquo; a &amp;ldquo;api.mixpanel.com&amp;rdquo; attraverso il tipo di record CNAME. &lt;img alt="Add CNAME DNS api.mixpanel.com" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2013/10/add-cname-dns-mixpanel.png"&gt; Add CNAME DNS api.mixpanel.com Fatto questo salviamoci la libreria di Mixpanel &lt;a href="http://cdn.mxpnl.com/libs/mixpanel-2.2.min.js"&gt;&lt;strong&gt;&amp;rsquo;//cdn.mxpnl.com/libs/mixpanel-2.2.min.js&amp;rsquo;&lt;/strong&gt;&lt;/a&gt; in locale rinominandola &amp;lsquo;mp-2.2.min.js&amp;rsquo; ed apriamola con un il nostro editor di testo preferito, cerchiamo la stringa &lt;strong&gt;api.mixpanel.com&lt;/strong&gt; e sostituiamola con mp.yourdomain.com &lt;img alt="Mixpanel AdBlock Plus hack" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2013/09/mixpanel-javacript-lib-adblock-hack-650x456.png" title="Mixpanel AdBlock Plus hack"&gt; Mixpanel AdBlock Plus hack step 1 A questo punto carichiamo sul nostro server il file Javascript appena modificato ed andiamo a sostituire nel blocco di codice che &lt;a href="https://mixpanel.com/docs/integration-libraries/javascript"&gt;importava la libreria Mixpanel&lt;/a&gt; nel nostro sistema il nuovo URL del file appena caricato. &lt;img alt="Mixpanel AdBlock Plus hack step 2" loading="lazy" src="https://www.mrred.it/wp-content/uploads/sites/41/2013/09/mixpanel-javascript-adblock-hack-650x319.png" title="Mixpanel AdBlock Plus hack step 2"&gt; Mixpanel AdBlock Plus hack step 2 A questo punto se proviamo a navigare sul nostro sito con AdBlock Plus attivo Mixpanel non verrà più bloccato con le regole di default presenti nel plugin e tutto funzionerà correttamente.&lt;/p&gt;</description></item><item><title>46 Tips &amp;amp; Tricks for 2D mobile Performance in Unity.</title><link>https://www.mrred.it/46-tips-tricks-for-2d-mobile-performance-in-unity/</link><pubDate>Mon, 23 Sep 2013 11:30:51 +0000</pubDate><guid>https://www.mrred.it/46-tips-tricks-for-2d-mobile-performance-in-unity/</guid><description>&lt;p&gt;Ho iniziato a sviluppare con Unity da qualche settimana e lo trovo estremamente potente, l’editor rende molte cose veloci ed immediate. Sto sviluppando un gioco 2D e cercando un po’ di consigli su come implementare alcune cose mi sono imbattuto in questa fantastica lista di consigli e trucchetti per giochi 2D. Date un’occhiata anche ai commenti che ci sono scritte altre cose interessanti. &lt;a href="http://sicklebrick.com/?p=411"&gt;&lt;img alt="46 Unity3D Tips and Tricks" loading="lazy" src="http://blog.mrred.it/logdaily/wp-content/uploads/sites/41/2013/09/Schermata-2013-09-27-alle-10.56.18-650x478.png"&gt;&lt;/a&gt; 46 Unity3D Tips and Tricks Link all’articolo: &lt;a href="http://sicklebrick.com/?p=411"&gt;46 Tips &amp;amp; Tricks for 2D mobile Performance in Unity.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>From Adobe Illustrator to HTML5 Canvas</title><link>https://www.mrred.it/from-adobe-illustrator-to-html5-canvas/</link><pubDate>Sat, 11 May 2013 17:07:00 +0000</pubDate><guid>https://www.mrred.it/from-adobe-illustrator-to-html5-canvas/</guid><description>&lt;p&gt;Il fenomeno &lt;strong&gt;HTML5&lt;/strong&gt; cresce sempre di più col passare del tempo, se ne discute molto in rete e sembra non terminare mai la battaglia tra HTML5 e &lt;strong&gt;Flash.&lt;/strong&gt; Se poi si finisce sul mobile iniziano i confronti tra WEB e NATIVO, ma non è di questo che voglio parlare.&lt;/p&gt;
&lt;p&gt;Così come cresce la moda di HTML5 iniziano a proliferare anche diversi strumenti e framework. Quello che segue è uno strumento che attribuisce al canvas un potenziale enorme per lo sviluppo di animazioni ed interfacce vettoriali che prima era molto complicato ottenere e che funzionano bene su tutti i moderni browser e dispositivi mobili.&lt;/p&gt;</description></item><item><title>Spostare un blog wordpress su un nuovo dominio</title><link>https://www.mrred.it/spostare-un-blog-wordpress-su-un-nuovo-dominio/</link><pubDate>Thu, 09 May 2013 00:02:00 +0000</pubDate><guid>https://www.mrred.it/spostare-un-blog-wordpress-su-un-nuovo-dominio/</guid><description>&lt;p&gt;Un semplice reminder per ricordarmi come spostare un vecchio blog wordpress in locale oppure su un nuovo dominio.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="http://media.tumblr.com/e8669b37b5911c98cb120a34e10ad3bb/tumblr_inline_mp5bokMiKH1qz4rgp.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Non mi dilungo nella descrizione dei vari passi perché penso che in una situazione del genere si è abbastanza pratici con certi strumenti.&lt;/p&gt;
&lt;p&gt;I passi sono molto semplici:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Esportazione&lt;/strong&gt; del database tramite PhpMyAdmin&lt;/li&gt;
&lt;li&gt;Copia di tutta la cartella &lt;strong&gt;FTP&lt;/strong&gt; del blog facendo particolare attenzione (perché invisibile) al file &lt;strong&gt;.htaccess&lt;/strong&gt; contenuto al suo interno&lt;/li&gt;
&lt;li&gt;Copia dei file nel nuovo dominio&lt;/li&gt;
&lt;li&gt;Importazione del vecchio database esportato in uno nuovo&lt;/li&gt;
&lt;li&gt;Modificare il file &lt;strong&gt;wp-config.php&lt;/strong&gt; e cambiare i dati di accesso al nuovo database&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image" loading="lazy" src="http://media.tumblr.com/48b46ee626cae662eacdc02c923f51c0/tumblr_inline_mmhz1ddmip1qz4rgp.png"&gt;&lt;/p&gt;</description></item><item><title>Fix: Cannot load from mysql.proc. The table is probably corrupted</title><link>https://www.mrred.it/fix-cannot-load-from-mysql-proc-the-table-is-probably/</link><pubDate>Wed, 08 May 2013 07:31:00 +0000</pubDate><guid>https://www.mrred.it/fix-cannot-load-from-mysql-proc-the-table-is-probably/</guid><description>&lt;p&gt;Era un bel po’ che non usavo il DB &lt;strong&gt;MySql&lt;/strong&gt; in locale e nel momento di un’importazione ha cominciato a darmi problemi, pensavo che fosse colpa di una vecchia versione di PHPMyAdmin e invece anche aggiornando all’ultima versione il problema non si risolveva.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="http://media.tumblr.com/d82341cee770da67a28896bf4f3938f9/tumblr_inline_mp5bqqT6pL1qz4rgp.jpg"&gt;&lt;/p&gt;
&lt;p&gt;L’errore che riportava era il seguente:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cannot load from mysql.proc. The table is probably corrupted&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dopo una breve ricerca ho scoperto che il problema dipendeva da una vecchia versione di MySql che avevo installato e che impediva alle &lt;strong&gt;PROCEDURE&lt;/strong&gt; di eseguirsi in maniera corretta, infatti l’importazione di un file .SQL si bloccava proprio quando cercava di ricreare le PROCEDURE.&lt;/p&gt;</description></item><item><title>The concepts of WebGL</title><link>https://www.mrred.it/the-concepts-of-webgl/</link><pubDate>Sat, 27 Apr 2013 16:06:00 +0000</pubDate><guid>https://www.mrred.it/the-concepts-of-webgl/</guid><description>&lt;p&gt;Interessante articolo su hacks.mozilla.org che introduce e chiarisce alcuni concetti fondamentali dietro le WebGL.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is WebGL?&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;WebGL is a Web API that allows low-level graphics programming. “Low-level” means that WebGL commands are expressed in terms that map relatively directly to how a &lt;a href="http://en.wikipedia.org/wiki/Graphics_processing_unit"&gt;GPU&lt;/a&gt; (graphics processing unit, i.e. hardware) actually works. That means that WebGL allows you to really tap into the feature set and power of graphics hardware. What native games do with OpenGL or Direct3D, you can probably do with WebGL too.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Link all’articolo su &lt;strong&gt;hack.mozilla.org&lt;/strong&gt;: &lt;a href="https://hacks.mozilla.org/2013/04/the-concepts-of-webgl/"&gt;The concepts of WebGL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hacks.mozilla.org/2013/04/the-concepts-of-webgl/"&gt;&lt;img loading="lazy" src="http://media.tumblr.com/c20c584edd7f1f9ccd58847499d7c596/tumblr_inline_mlx8ltpVQs1qz4rgp.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L’articolo non si pone come un ennesimo tutorial, infatti, alla fine, segnala delle risorse molto utili per iniziare a programmare con le WebGL.&lt;/p&gt;</description></item><item><title>CanvasLoader Creator</title><link>https://www.mrred.it/canvasloader-creator/</link><pubDate>Tue, 05 Mar 2013 23:49:00 +0000</pubDate><guid>https://www.mrred.it/canvasloader-creator/</guid><description>&lt;p&gt;&lt;a href="http://heartcode.robertpataki.com/canvasloader/"&gt;CanvasLoader Creator&lt;/a&gt; è una piccola libreria javascript (5.8kb minificata) che vi permette di riprodurre nel &lt;canvas&gt; un animazione di caricamento (loader) senza utilizzare gif animate.&lt;/p&gt;
&lt;p&gt;Sul sito c’è un piccolo pannello di controllo che vi permette di settare i diversi parametri e vedere il risultato in tempo reale.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://heartcode.robertpataki.com/canvasloader/"&gt;&lt;img alt="image" loading="lazy" src="http://media.tumblr.com/25972b2f20a925785334477ac193585e/tumblr_inline_mhy6cqgVi41qz4rgp.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I vantaggi dell’utilizzare una libreria del genere sono diversi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;5kb sono meno di una gif animata (circa 100x100)&lt;/li&gt;
&lt;li&gt;Il colore, la velocità e tanti altri parametri possono essere cambiati in tempo reale e quindi riprodurre effetti più carini a seconda delle situazioni&lt;/li&gt;
&lt;li&gt;La dimensione può essere cambiata e quindi adattata alle diverse interfacce&lt;/li&gt;
&lt;li&gt;Il codice necessario per utilizzarla è semplicissimo&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://heartcode.robertpataki.com/canvasloader/"&gt;&lt;img alt="image" loading="lazy" src="http://media.tumblr.com/c849a9d8e4107bc1c76012ab2c891e8c/tumblr_inline_mhy6pu3hAw1qz4rgp.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Progressive JPEG pro e contro</title><link>https://www.mrred.it/progressive-jpeg-pro-e-contro/</link><pubDate>Sat, 02 Mar 2013 08:53:00 +0000</pubDate><guid>https://www.mrred.it/progressive-jpeg-pro-e-contro/</guid><description>&lt;p&gt;Nell’articolo &lt;a href="http://calendar.perfplanet.com/2012/progressive-jpegs-a-new-best-practice/"&gt;Progressive jpegs: a new best practice&lt;/a&gt;, Ann Robson (@aronbson), analizza tutti i pro e i contro dell’utilizzare progressive JPEG invece che baseline.&lt;/p&gt;
&lt;p&gt;Per capirci una &lt;strong&gt;progressive JPEG&lt;/strong&gt; è un’immagine composta da diversi layer che presi singolarmente sono grandi quanto l’immagine originale ma sembrano “sgranati”, se “sovrapposti” ci permettono di ottenere l’immagine completa. Al contrario, una &lt;strong&gt;JPEG baseline&lt;/strong&gt; è composta da un solo frame con tutte le informazioni necessarie per una corretta visualizzazione.&lt;/p&gt;
&lt;p&gt;Utilizzare JPEG progressive conviene sotto tanti punti di vista, il primo tra tutti è la velocità nel download e la percezione che si da all’utente “che qualcosa sta succedendo”.&lt;/p&gt;</description></item><item><title>Javascript Cross Domain API</title><link>https://www.mrred.it/javascript-cross-domain-api/</link><pubDate>Sat, 02 Feb 2013 01:01:00 +0000</pubDate><guid>https://www.mrred.it/javascript-cross-domain-api/</guid><description>&lt;p&gt;I moderni browser implementano la cosiddetta &lt;strong&gt;same-domain-policy&lt;/strong&gt; che impedisce a qualsiasi richiesta HTTP fatta con l’oggetto &lt;strong&gt;XmlHttpRequest&lt;/strong&gt; di accedere a risorse su server con un dominio diverso da quello in cui risiede lo script chiamante. Questo può sembrare una policy molto limitante ma impedisce alle pagine di caricare codice pericoloso e accedere a sessioni non autorizzate. Questa limitazione peròc risulta fastidiosa quando si sviluppano applicazioni web in &lt;strong&gt;localhost&lt;/strong&gt; che fanno uso di API che non risiedono sulla propria macchina. Questo è &lt;strong&gt;l’errore&lt;/strong&gt; che compare quando si tenta di accedere da localhost ad un dominio diverso tramite l’oggetto XmlHttpRequest: &lt;img alt="image" loading="lazy" src="http://media.tumblr.com/cc1c8180c5c2aacd30079a843d9cb64d/tumblr_inline_mhhg3dOi6x1qz4rgp.png"&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;XMLHttpRequest cannot load &lt;a href="http://192.168.0.123/dengenchronicles-backend/api/user/login/test?username=test&amp;amp;password=test"&gt;http://192.168.0.123/dengenchronicles-backend/api/user/login/test?username=test&amp;amp;password=test&lt;/a&gt;. Origin &lt;a href="http://127.0.0.1"&gt;http://127.0.0.1&lt;/a&gt; is not allowed by Access-Control-Allow-Origin.&lt;/p&gt;</description></item></channel></rss>