Selectors Css3
03-06-2011Un apunt rapid. M’encanten els selectors CSS3 que permeten fer coses com:
1 2 3 4 | div.noticia:not(:last-child) { border-bottom: none; } |
per llevar la vora de tots els divs de classe notícia menys el darrer.
Un apunt rapid. M’encanten els selectors CSS3 que permeten fer coses com:
1 2 3 4 | div.noticia:not(:last-child) { border-bottom: none; } |
per llevar la vora de tots els divs de classe notícia menys el darrer.
Avui m’he adonat d’una cosa que Entity Framework no acaba de fer com toca. Si tenim una columna de tipus FILESTREAM a una BBDD SQL Server 2008, necessitarem també tenir una columna uniqueidentifier per la taula on està. Per inicialitzar aquesta columna podem donar-li per valor per defecte (newsequentialid()).
Si emprem Entity Framework per accedir a aquesta taula (emprant Database First -el generador de models a partir de BBDD), no ens inicialitzarà com toca el mapejat i ens inserirà sempre el valor 0 a l’identificador. Per arreglar-ho hem de canviar la propietat StoreGeneratedPattern de la columna uniqueidentifier i posar-ho a Computed.
Estic pensant de crear un petit monitoritzador de serveis. La idea que tenc és crear un petit servei de Windows que ens permeti configurar els serveis a monitoritzar a la màquina on està instal·lat. Després, hi hauria un client que enviaria peticions d’actualització a tots els serveis de Windows que tengués registrats i aquests li contestarien amb l’estat dels seus serveis. Ara mateix no sé si hi ha alguna manera millor de fer-ho o si hi ha algun producte que implementi aquesta funcionalitat de manera econòmica (no vull un producte que valgui més de 100€ per fer quelcom tan senzill).
He començat un altre projecte molt senzillet. És un target per l’NLog que ens permet enviar els missatges de log a un compte de Twitter. Es diu NLogTwitterTarget i el podeu trobar aquí. Si el voleu emprar el podeu descarregar als repositoris de Nuget. Per emprar-lo, l’heu d’afegir al vostre projecte i després afegir el següent al vostre fitxer NLog.config:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <extensions> <add assembly="NLogTwitterTarget" /> </extensions> <targets async="true"> <target xsi:type="Twitter" name="twitter" ConsumerKey="" ConsumerSecret="" AccessToken="" AccessTokenSecret="" layout="${level} | ${longdate} | ${identity} | ${message}" /> </targets> <rules> <logger name="*" minlevel="Error" writeTo="twitter" /> </rules> </nlog> |
Heu d’omplir els quatre camps que estan buits amb els corresponents a la vostra compta de Twitter. Si no els coneixeu els podeu sol·licitar a través de la pàgina de desenvolupadors de Twitter.
Per emprar Markdown a una aplicació ASP.NET MVC podem emprar la llibreria MarkdownDeep. Aquesta ens proporcione métodes en C# per emprar Markdown en la nostra aplicació i una llibreria Javascript que ens proporciona un editor de Markdown. Podem instal·lar MarkdownDeep desde els repositoris de Nuget. (més…)
Si heu provat alguna vegada .NET Reflector per veure l’interior d’alguna llibreria .NET segur que trobau que és una eina fantàstica. El problema és que en la darrera versió, els propietaris del programa han decidit carregar 35$ per l’ús, i la companyia ha rebut moltes crítiques per algunes pràctiques obscures i deslleials (p.e.: desinstalar dels ordenadors dels usuaris la versió gratuita per obligar a actualitzar a la versió de pagament). Per sort tenim una alternativa lliure que ens permet fer el mateix: ILSpy.
He començat un petit projecte (molt petit, per ara només té 2 classes) que es diu DiUnityLib. És una llibreria que, per ara, ens ofereix una ControllerFactory per emprar Unity en projectes ASP.NET MVC 3. A més, també hi he afegit un LifetimeManager que ens permet guardar els objectes a la sessió d’ASP.NET. Si voleu col·laborar o veure com va ho podeu veure aquí.
L’altre dia vaig migrar tots els meus repositoris de Subversion a Mercurial. Encara li estic agafant el truquillo, però ja he vist algunes coses que m’han agradat:
Vos pos alguns enllaços per que vos informeu:
Estic programant una web amb ASP.NET MVC 3, aprofitant les opcions de validació en el client que té. El problema és que quan tenim un botó ‘Cancelar’, normalment, no volem que se’ns validi l’entrada, ja que no en farem res amb aquestes dades. Després de cercar per internet com podem desactivar-ho vaig veure que es tan simple com afegir la classe css ‘cancel’:
1 | <input type="submit" name="accio" value="cancelar" class="cancel" /> |
Així, quan pitgem el botó ‘cancelar’ no se’ns activaran les validacions del costat del client.
Després de llegir aquest post al blog de’n Javier Torrecilla, vaig pensar que una millor manera de fer el que ell proposava era definir un métode extensor generic:
1 2 3 4 5 6 7 8 9 10 11 12 | using System; namespace Util.ExtensionMethods { public static class ComparableExtensionMethods { public static bool Between<T>(this T comparable, T min, T max) where T:IComparable<T> { return comparable.CompareTo(min) >= 0 && comparable.CompareTo(max) <= 0; } } } |
La deix aquí (a part de posar-la com a comentari al seu blog) per si a algú li serveix. Aquí hi ha una petita discusió sobre el tema a StackOverflow.