The Dark Side of .NET Programming http://blogs.ugidotnet.org/flexy/Default.aspx Il blog di Michele Aponte it-IT Michele Aponte Subtext Version 2.6.0.0 The Dark Side of .NET Programming http://blogs.ugidotnet.org/images/RSS2Image.gif http://blogs.ugidotnet.org/flexy/Default.aspx 77 60 Angular CLI e Webpack: cosa c'è nel mio bundle? http://blogs.ugidotnet.org/flexy/archive/2018/02/25/Angular-CLI-e-Webpack-cosa-ce-nel-mio-bundle.aspx <p>Dopo aver sviluppato una applicazione con Angular, ma anche durante in realtà, preparandosi alla build può venire utile sapere cosa c'è nei bundle creati dall'Angular CLI.</p><p>Mi è successo da un cliente di Bari di dover fare questa analisi per scoprire come mai non funzionava la build di produzione ed è venuto comdo il tool webpack-bundle-analyzer, se siete curiosi racconto brevemente questa esperienza qui: <a href="https://www.tolist.net/Article/Angular-CLI-e-Webpack-cosa-c-nel-mio-bundle-21">https://www.tolist.net/Article/Angular-CLI-e-Webpack-cosa-c-nel-mio-bundle-21</a></p><img src="http://blogs.ugidotnet.org/flexy/aggbug/102596.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2018/02/25/Angular-CLI-e-Webpack-cosa-ce-nel-mio-bundle.aspx Sun, 25 Feb 2018 14:18:57 GMT http://blogs.ugidotnet.org/flexy/archive/2018/02/25/Angular-CLI-e-Webpack-cosa-ce-nel-mio-bundle.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/102596.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/102596.aspx Componenti avanzati in Angular: come creare una dashboard http://blogs.ugidotnet.org/flexy/archive/2017/12/27/Componenti-avanzati-in-Angular-come-creare-una-dashboard.aspx <p>Dovete creare componenti avanzati in Angular che integrano plugin jQuery? </p> <p>A seguito di una consulenza presso un mio cliente di Roma, ho scritto un articolo su come creare una dashboard usando un plugin jQuery in Angular in cui illustro alcuni aspetti avanzati dei componenti di Angular, se vi interessa lo trovate qui:</p> <a href="http://www.tolist.net/Article/Componenti-avanzati-in-Angular-come-creare-una-dashboard-20">Componenti avanzati in Angular: come creare una dashboard</a><img src="http://blogs.ugidotnet.org/flexy/aggbug/102571.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2017/12/27/Componenti-avanzati-in-Angular-come-creare-una-dashboard.aspx Wed, 27 Dec 2017 16:29:53 GMT http://blogs.ugidotnet.org/flexy/archive/2017/12/27/Componenti-avanzati-in-Angular-come-creare-una-dashboard.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/102571.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/102571.aspx Immutabilità o mutabilità, questo è il problema! Vediamo un esempio in Angular. http://blogs.ugidotnet.org/flexy/archive/2017/12/05/Immutabilita-o-mutabilita-questo-e-il-problema-Vediamo-un-esempio.aspx <p>Durante il porting di Raptor UI, il front-end Angular del nostro framework, abbiamo utilizzato il nuovo HttpClient di Angular, come illustratrato nel post precedente, e ci siamo imbattuti nel problema dell'immutabilità di alcuni nuovi oggetti.</p> <p>Per chi è interessato, ne parlo qui: <a href="http://www.tolist.net/Article/Parlando-di-HttpClient-in-Angular-5-immutabile-o-non-immutabile-questo--il-problema-19">http://www.tolist.net/Article/Parlando-di-HttpClient-in-Angular-5-immutabile-o-non-immutabile-questo--il-problema-19</a></p><img src="http://blogs.ugidotnet.org/flexy/aggbug/102558.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2017/12/05/Immutabilita-o-mutabilita-questo-e-il-problema-Vediamo-un-esempio.aspx Tue, 05 Dec 2017 15:17:12 GMT http://blogs.ugidotnet.org/flexy/archive/2017/12/05/Immutabilita-o-mutabilita-questo-e-il-problema-Vediamo-un-esempio.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/102558.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/102558.aspx Angular 5 HttpClient e Interceptor http://blogs.ugidotnet.org/flexy/archive/2017/11/27/Angular-5-HttpClient-e-Interceptor.aspx <p>In azienda abbiamo da poco fatto il porting per il nostro frameowrk (Raptor) da Angular 4 a 5 e ne abbiamo approfittato per fare un po' di refactoring e cominciare a usare gli Interceptor per centralizzare alcune gestioni che facciamo. </p> <p>Se a qualcuno può interessare ne parlo qui: <a href="http://tolist.net/Article/Il-nuovo-HttpClient-in-Angular-5-18">http://tolist.net/Article/Il-nuovo-HttpClient-in-Angular-5-18</a></p> <p>Ne parlerò anche domani a WPC 2017, durante la mia sessione proprio su come abbiamo realizzato il framework: <a href="http://www.wpc2017.it/cms/it-IT/SpeakerPage?parameters%5B0%5D=67">http://www.wpc2017.it/cms/it-IT/SpeakerPage?parameters%5B0%5D=67</a></p> <p>Per chi sarà a WPC ci vediamo stasera/domani.</p><img src="http://blogs.ugidotnet.org/flexy/aggbug/102548.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2017/11/27/Angular-5-HttpClient-e-Interceptor.aspx Mon, 27 Nov 2017 08:16:20 GMT http://blogs.ugidotnet.org/flexy/archive/2017/11/27/Angular-5-HttpClient-e-Interceptor.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/102548.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/102548.aspx Angular, NodeJS e Typescript insieme http://blogs.ugidotnet.org/flexy/archive/2017/11/22/Angular-NodeJS-e-Typescript-insieme.aspx Se dovete realizzare una applicazione Angular con NodeJs e Typescript per il backend il mio nuovo post potrebbe esservi utile: <a href="http://www.tolist.net/Article/Angular-NodeJS-e-Typescript-insieme-17">http://www.tolist.net/Article/Angular-NodeJS-e-Typescript-insieme-17</a><img src="http://blogs.ugidotnet.org/flexy/aggbug/102544.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2017/11/22/Angular-NodeJS-e-Typescript-insieme.aspx Wed, 22 Nov 2017 11:45:23 GMT http://blogs.ugidotnet.org/flexy/archive/2017/11/22/Angular-NodeJS-e-Typescript-insieme.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/102544.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/102544.aspx Azure blob storage e pdf http://blogs.ugidotnet.org/flexy/archive/2013/06/03/azure-blob-storage-e-pdf.aspx <p>Probabilmente se usate i blob storage di azure ma non usate chrome non vi siete mai accorti che caricando un pdf nel blob, chrome poi non ve lo scarica linkandolo. Questo perchè probabilmente non avete impostato il content type delle proprietà del blob quando avete caricato il file:</p> <pre class="csharpcode">blockBlob.Properties.ContentType = <span class="str">"application/pdf"</span>;</pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <p> </p> <p>Spero vi sia utile.</p> <p>--Michele</p><img src="http://blogs.ugidotnet.org/flexy/aggbug/101578.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2013/06/03/azure-blob-storage-e-pdf.aspx Mon, 03 Jun 2013 11:19:13 GMT http://blogs.ugidotnet.org/flexy/archive/2013/06/03/azure-blob-storage-e-pdf.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/101578.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/101578.aspx Il mio intervento a Codemotion http://blogs.ugidotnet.org/flexy/archive/2013/05/02/il-mio-intervento-a-codemotion.aspx <p>Per chi se lo fosse perso hanno pubblicato il video della mia sessione al Codemotion di Roma sullo sviluppo di applicazioni web mobile Html5, Asp.Net MVC 4 e jQuery Mobile:</p><pre><a href="http://www.youtube.com/watch?v=V2Es2rH0vu0">http://www.youtube.com/watch?v=V2Es2rH0vu0</a></pre><pre> </pre> <p>-- Michele</p><img src="http://blogs.ugidotnet.org/flexy/aggbug/101539.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2013/05/02/il-mio-intervento-a-codemotion.aspx Thu, 02 May 2013 13:32:00 GMT http://blogs.ugidotnet.org/flexy/archive/2013/05/02/il-mio-intervento-a-codemotion.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/101539.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/101539.aspx Caricare le dipendenze non presenti su Azure WebSites http://blogs.ugidotnet.org/flexy/archive/2013/04/28/caricare-le-dipendenze-non-presenti-su-azure-websites.aspx <p align="justify">Se vi dovesse capitare di non ritrovarvi qualche dll una volta deployato il vostro sito su Azure Web Sites, ad esempio perchè alcune librerie installate in GAC non vengono incluse nella cartella bin della vostra web application, potete forzare la copia della libreria semplicemente dalle proprietà della referenza:</p> <p><a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/flexy/Windows-Live-Writer/Caricare-le-dipendenze-non-presenti-su-A_AA41/image_2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/flexy/Windows-Live-Writer/Caricare-le-dipendenze-non-presenti-su-A_AA41/image_thumb.png" width="535" height="152" /></a></p> <p>Spero vi torni utile!</p> <p>--Michele</p><img src="http://blogs.ugidotnet.org/flexy/aggbug/101526.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2013/04/28/caricare-le-dipendenze-non-presenti-su-azure-websites.aspx Sun, 28 Apr 2013 10:11:40 GMT http://blogs.ugidotnet.org/flexy/archive/2013/04/28/caricare-le-dipendenze-non-presenti-su-azure-websites.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/101526.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/101526.aspx Azure web sites e file SVG http://blogs.ugidotnet.org/flexy/archive/2013/04/15/azure-web-sites-e-file-svg.aspx <p align="justify">Se anche voi utilizzate gli azure web sites e vi capita di avere qualche cliente che ama gli SVG (si capisce che a me non piacciono?), ricordatevi di aggiungere al web.config, o ad una sua trasformazione per il deploy sul cloud, la seguente riga nella sezione &lt;system.webServer&gt;:</p> <pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">staticContent</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">mimeMap</span> <span class="attr">fileExtension</span><span class="kwrd">=".svg"</span> <span class="attr">mimeType</span><span class="kwrd">="image/svg+xml"</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;/</span><span class="html">staticContent</span><span class="kwrd">&gt;</span></pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <p align="justify">Che non fa altro che aggiungere i file con estensione .svg ai mime type validi, cosa che avreste fatto normalmente dal pannello di IIS.</p> <p>--Michele</p> <pre class="csharpcode"> </pre> <pre class="csharpcode"><span class="kwrd" /> </pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style><img src="http://blogs.ugidotnet.org/flexy/aggbug/101509.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2013/04/15/azure-web-sites-e-file-svg.aspx Mon, 15 Apr 2013 10:29:58 GMT http://blogs.ugidotnet.org/flexy/archive/2013/04/15/azure-web-sites-e-file-svg.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/101509.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/101509.aspx jQuery validation e chiamate Ajax http://blogs.ugidotnet.org/flexy/archive/2013/04/14/jquery-validation-e-chiamate-ajax.aspx <p align="justify">Se vi capita di caricare delle partial view di Asp.Net MVC usando una delle chiamate ajax di jQuery e se la partial view in questione è una form su cui volete utilizzare la validazione lato client sfruttando la libreria jQuery unobtrusive validation (fornita con il template di mvc), dovete ricordarvi che al momento del caricamento dei js necessari la form non esiste ancora (la caricate tramite ajax…), quindi avete bisogno di dire a jQuery validate di parsare la form:</p> <pre class="csharpcode"> $(function () { $.validator.unobtrusive.parse(<span class="str">"#form-id"</span>); });</pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <p align="justify">Se poi anzichè una classica submit con un input type submit, fate il submit da javascript (perchè ad esempio avere un link o un div che vi fanno da pulsanti di invio), allora il codice diventa:</p> <pre class="csharpcode"> $(<span class="kwrd">function</span> () { $.validator.unobtrusive.parse(<span class="str">"#form-id"</span>); $(<span class="str">'#submit'</span>).click(<span class="kwrd">function</span> (e) { <span class="kwrd">if</span> ($(<span class="str">"#form-id"</span>).valid()) { $(<span class="str">"#form-id"</span>).submit(); } }); });</pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <p>Un grazie al mio caro amico <a href="http://www.alessandromostarda.com/">Alessandro Mostarda</a>, con cui mi confronto spesso sui piccoli e grandi problemi della vita quotidiana da sviluppatore web. Spero vi sia utile!</p> <p>--Michele</p> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style><img src="http://blogs.ugidotnet.org/flexy/aggbug/101508.aspx" width="1" height="1" /> Michele Aponte http://blogs.ugidotnet.org/flexy/archive/2013/04/14/jquery-validation-e-chiamate-ajax.aspx Sun, 14 Apr 2013 13:18:03 GMT http://blogs.ugidotnet.org/flexy/archive/2013/04/14/jquery-validation-e-chiamate-ajax.aspx#feedback http://blogs.ugidotnet.org/flexy/comments/commentRss/101508.aspx http://blogs.ugidotnet.org/flexy/services/trackbacks/101508.aspx