lunes, 27 de junio de 2016
Promoción finalizada. Muchas gracias a los más de mil lectores que habéis participado!
Sólo quería recordaros que la promoción finaliza el próximo 30 de junio (no sé si ese día aún se podrá, así que, por si acaso, mejor que asumáis que no).
Por si no os enterasteis en su momento, estamos hablando de que para celebrar el aniversario del blog, O'Reilly regala a todos los lectores un libro en formato electrónico, a elegir entre estos diez títulos de programación, o un vídeo-tutorial sobre Web API:
Mastering Cross-Platform Development with Xamarin By Can Bilgin Más info | C# 6 and .NET Core 1.0: Modern Cross-Platform Development By Mark J. Price Más info | ||
jQuery Essentials By Troy Miles Más info | C# 6.0 in a Nutshell, Sixth Edition By Joseph Albahari & Ben Albahari Más info | ||
CSS: The Missing Manual, Fourth Edition By David Sawyer McFarland Más info | Learning NHibernate 4 By Suhas Chatekar Más info | ||
Learning .NET High-performance Programming By Antonio Esposito Más info | Code-First Development with Entity Framework By Sergey Barskiy Más info | ||
AngularJS: Up and Running By Shyam Seshadri, Brad Green Más info | Concurrency in C# Cookbook By Stephen Cleary Más info | ||
Vídeo (2h): RESTful Services with ASP.NET Web API By Fanie Reynders Más info |
Además, O'Reilly ofrece a los lectores de Variable not found descuentos del 40% en libros en papel, y de 50% en libros electrónicos y video training utilizando el código PCVW al realizar la compra.
¿Y cómo podéis conseguir vuestro regalo?
Recordad que tenéis hasta el próximo 29 de junio de 2016 para obtener vuestro regalo. Sólo tenéis que lo siguiente:- Ayudarme a difundirlo para darle el mayor alcance posible, pues estaréis contribuyendo a que más personas puedan conseguir su regalo. Por tanto, os agradecería mucho:
- Que lo comentéis con vuestros compañeros, amigos y conocidos que aún no se hayan beneficiado de esta iniciativa.
- Que publiquéis en vuestra cuenta de Twitter, Facebook u otras redes sociales un enlace hacia este post. Por ejemplo, estaría bien algo como lo siguiente, aunque podéis demostrar vuestra creatividad y poner otras cosas siempre que vayan en la dirección de los objetivos propuestos :)
Sólo HOY, @oreillymedia te regala un e-book por ser seguidor de @variablnotfound. ¡Ve a por el tuyo! http://bit.ly/295LSAJ
- O, como mínimo, para los más perezosos, que retuiteéis en Twitter o compartáis en vuestras redes sociales los mensajes de otras personas que ya lo hayan publicado.
- Que lo comentéis con vuestros compañeros, amigos y conocidos que aún no se hayan beneficiado de esta iniciativa.
- Si os apetece estar informados de las novedades del blog, seguir la nueva cuenta del blog en Twitter, @variablnotfound. A largo plazo pretendo que sea un canal exclusivo para el blog, separándolo de mi cuenta personal @jmaguilar.
- Finalmente, reclamar vuestro libro o vídeo utilizando este enlace: http://oreil.ly/1W9VAFL. El proceso es muy simple: tendréis que registraros como usuario, elegir el contenido que os interese (uno por persona), y en pocas horas tendréis acceso al mismo.
Publicado en Variable not found
Publicado por José M. Aguilar a las 3:45 p. m.
Nadie ha comentado la entrada, ¿quieres ser el primero?
Etiquetas: 10años, aniversario
domingo, 26 de junio de 2016
Así que, siguiendo la tradición, nos hemos reunido un servidor y su habitual instancia de System.Random para echar en el bombo las papeletas virtuales y elegir al azar los ganadores del sorteo de licencias de la suite DevCraft Complete de Telerik.
Y hoy la suerte ha señalado a:
Carlos Gómez @devcfgc Bilbao | ||
Luis Felipe Gil @lamaslg Madrid |
Me gustaría agradecer también a Telerik su gran apoyo a la celebración del aniversario del blog, que ha sido espectacular.
Ah, y mientras comenzamos el próximo sorteo, no olvidéis que por ser lectores del blog ¡aún podéis conseguir vuestro libro gratis de O'Reilly! Daos prisa porque el tiempo se acaba y en breve acabará la promoción :)
Pero seguid atentos al blog, porque el próximo será ya el último sorteo… ¿alguien había dicho que le gustaría tener una licencia de Resharper? ;)
Publicado en Variable not found
miércoles, 22 de junio de 2016
El nombre que se ha dado a la carpeta, "wwwroot", es por convención, y simplemente se trata del valor por defecto establecido por el framework, pero si no nos convence podemos cambiarlo por otro que nos parezca más conveniente. No es que vaya va a ser muy frecuente hacerlo en aplicaciones del mundo real, pero saber que se puede cambiar y cómo hacerlo es interesante porque, además de darnos la libertad de elegir, nos obliga a aprender un poco sobre las interioridades del framework.
Así, si deseamos cambiar el nombre de "wwwoot" por cualquier otro, los pasos serían básicamente tres:
- Renombrar la carpeta a nivel físico desde el IDE o desde el explorador de archivos.
- Cambiar la configuración de preprocesadores como Gulp, Grunt o WebPack para que utilicen vuestra nueva carpeta como directorio de salida, lo que podemos hacer fácilmente editando sus correspondientes archivos de configuración gulpfile.js, grunt.config, webpack.config.js o el que sea.
- Informar al framework de que esa nueva carpeta es la base para los recursos estáticos, lo que permitirá a otros componentes (por ejemplo, los middlewares encargados de retornar este tipo de contenidos) saber dónde se encuentran los archivos.
martes, 21 de junio de 2016
Sorteo cerrado, ya tenemos los ganadores :) Muchas gracias a todos por participar!
Imaginad que estáis asistiendo a un evento destinado a desarrolladores .NET, elegís al azar a cualquier otro asistente y le preguntáis el nombre de una compañía líder en componentes y herramientas para desarrolladores con tecnologías Microsoft. Seguro que coincidís conmigo en que Telerik tendría muchas probabilidades de aparecer en la respuesta :)Y es que, aunque actualmente abarcan todo tipo de plataformas y tecnologías, la gran reputación conseguida durante años, sus decenas de reconocimientos y su compromiso con la comunidad .NET han hecho de esta empresa un referente para nosotros. ¿Quién no conoce Fiddler, JustDecompile, Kendo UI, o sus componentes visuales para MVC, por citar sólo algunos de sus productos?
Pues efectivamente, Telerik ha sido otra de las compañías que han decidido apoyar generosamente la celebración del décimo aniversario del blog, ofreciendo para sus lectores dos licencias de la suite DevCraft Complete, valoradas cada una en 1.499$.
domingo, 19 de junio de 2016
Y la suerte ha señalado a:
DevExtreme Complete Luis A. Sánchez @luisxkimo Madrid | ||
Componentes ASP.NET Eloy Ortiz @_eloyortiz Baena (Córdoba) |
¡Enhorabuena a los ganadores! En breve me pondré con contacto con vosotros para indicaros los próximos pasos a dar para obtener vuestras licencias. Y muchas gracias a los que no habéis tenido tanta suerte, pero no desesperéis que todavía tendréis más oportunidades :)
Muchas gracias también al patrocinador, DevExpress, por su apoyo a la celebración del décimo aniversario del blog y por ponerlo todo tan fácil. Si sois desarrolladores no dejéis de echar un vistazo a sus productos, porque tienen cosas que seguro os pueden interesar en algún momento :)
Ah, y mientras comenzamos el próximo sorteo, no olvidéis que por ser lectores del blog ¡aún podéis conseguir vuestro libro gratis de O'Reilly! Daos prisa porque el tiempo se acaba y en breve acabará la promoción :)
Y atentos al blog, porque en breve volvemos sorteando más regalos… ¿qué os parecería ahora algo de Telerik? ;)
Publicado en Variable not found
miércoles, 15 de junio de 2016
Uno de los requisitos más habituales que tenemos en cualquier aplicación medianamente compleja es la creación de logs donde guardar información cuando ocurran determinados eventos.
En ASP.NET "clásico" teníamos varias opciones, como utilizar las propias herramientas de tracing del marco de trabajo, o bien frameworks especializados de terceros como los célebres Log4Net, NLog o muchos otros, pero al final la idea era la misma, poder disponer de un componente en el que poder registrar sucesos como el siguiente:
public ActionResult RemoveInvoice(string id) { ... // Remove the invoice _logger.LogInformation($"Invoice {id} was removed by {User.Identity?.Name}"); return RedirectToAction("Index"); }El nuevo ASP.NET Core viene equipado de serie con un sistema de logging interno, integrado en el propio marco de trabajo, que proporciona algunas funcionalidades pero, sobre todo, los mimbres básicos sobre los que montar sistemas de trazas más complejos y personalizables.
Dedicaremos este post a ver cómo se configura y utiliza este mecanismo que, como otros aspectos del framework, está construido pensando en su extensibilidad y hace uso intensivo del sistema de inyección de dependencias.
Nota: aunque la RTM se acerca, sigue siendo bueno recordar que todavía estamos utilizando una release candidate de ASP.NET Core y, por tanto, algunos detalles aún podrían variar antes de que aparezca la versión final del producto.