Etiqueta: Código de este Blog

La paginación de este blog en cuatro pasos

Publicado el viernes, 21 de abril de 2017


Una de las características más comunes de las aplicaciones es mostrar listas en pantalla. En el caso de un blog, la pantalla principal es justamente una lista que muestra los "posts".

Si la lista es corta, por ejemplo, entre diez y veinte elementos, lo más común es mostrarlos todos. Si en cambio la lista contiene muchos elementos, eso no resulta eficaz. Cuando hay muchos elementos lo habitual es mostrar una parte de ellos, por ejempo los diez primeros, y permitir al usuario poder escoger si quiere ver los siguientes.

Esto lo podemos conseguir rápidamente en cuatro pasos utilizando PagedList.Mvc

leer más

Añadir comentarios a tu blog con Disqus y MVC5

Publicado el sábado, 25 de marzo de 2017


Los comentarios son una de las funcionalidades principales de un blog y también una de las más peligrosas. A través de los comentarios es posible realizar diferentes ataques a un blog

Digamos que es como una puerta abierta que dejas al exterior y no sabes qué puede entrar.

El más común de los "ataques" es el spam, y los más conocidos son la inyección de sql y la inyección de javascript, pero no son los únicos :(. A la hora de plantear una funcionalidad con comentarios en tu blog, es vital pensar en todos estos aspectos y diseñar mecanismos de defensa contra ellos. De lo contrario tu blog correrá el peligro de ser aniquilado.

leer más

Las rutas que utilizo en este blog MVC5

Publicado el sábado, 25 de febrero de 2017


Uno de los retos que tenía al empezar a programar el blog era el de conseguir crear unas rutas basadas en la fecha y seguidas de palabras clave (slug).

Por ejemplo: http://albertcapdevila.net/21/1/2017/subir-imagenes-mvc5

A priori parece sencillo pero a mí en su momento no me lo pareció.

En esta entrada explicaré como configuré las rutas del blog.

leer más

Cómo subo las imágenes de este blog y cómo las envío a un Storage de Azure

Publicado el sábado, 21 de enero de 2017


Una de las funcionalidades más importante de un blog es la posibilidad que el usuario pueda subir imágenes mientras está escribiendo un post.

En esta entrada voy a mostrar el código que me permite subir la imágenes al servidor a través del CkEditor y enviarlas a un Storage de Azure.

Es muy recomendable guardar las imágenes de cualquier web en un lugar diferente al servidor que aloja la propia web por dos motivos:

1. Mover imágenes de un servidor a otro es muy engorroso. Tenerlas en un único lugar independiente ahorra dolores de cabeza.

2. Si las imágenes de la página provienen de otro servidor, la carga de éstas se realiza en paralelo. Por un lado se cargan los recursos propios de la página, como por ejemplo el html, y por otro se cargan la imágenes. Esto se hace a la vez, por lo tanto el tiempo de carga de la web disminuye. :)

leer más

Para editar el html de las entradas de este blog utilizo el control CkEditor

Publicado el viernes, 25 de marzo de 2016


CKEditor es un editor de texto HTML listo para usar, diseñado para simplificar la creación de contenidos web. Es un editor WYSIWYG que reúne las características de un procesador de palabras pero aplicado a una página web.

El CkEditor es el control principal de este blog para crear su contenido, lo uso en las pantallas de creación y edición de los Posts.

Voy a mostrar los primeros pasos que di creando el mantenimiento de posts y llegando hasta la utilización del control CkEditor para poder dar formato al texto. Empezaré utilizando Scaffolding para tener una base, posteriormente centralizaré la edición en un PartialView y finalmente sustituiré el control estándar de introducción de un texto por un CkEditor.

leer más

Creando las primeras pantallas de mantenimiento mediante Scaffolding

Publicado el sábado, 27 de febrero de 2016


En Visual Studio existe una funcionalidad llamada "Scaffolding" que permite crear pantallas de edición, visualización, creación y eliminación de los registros de la base de datos. En un par de clics tienes montada la típica pantalla de mantenimiento de una tabla.

Suelo utilizar esta funcionalidad cuando estoy empezando a desarrollar una aplicación porque consigo avanzar muy rápido, ¡pero ojo al dato! Si la aplicación crece y se mantiene el mismo patrón de diseño para las demás pantallas, se corre el peligro de entrar en el lado oscuro de la programación, aquel que te lleva inevitablemente a repetir una y otra vez las mismas líneas de código ;).

Por eso, cuando utilices estos poderes, ten presente que a largo plazo deberás volver al código autogenerado y rediseñarlo para delegar cada funcionalidad a su clase adecuada.

leer más

La primera versión de la base de datos de este blog con Entity Framework Code First

Publicado el jueves, 18 de febrero de 2016


En las primeras versiones ASP.NET lo normal era crear una base de datos y posteriormente crear las clases de .NET que representaban las tablas y los registro de la base de datos.

No fue hasta que apareció la versión 3.5 de Entity Framework que se creó la funcionalidad que permitía invertir este flujo. Es decir, poder modificar la base de datos desde las clases de .NET. A este nuevo flujo se le llamó Code-first.

Justamente este flujo es el que he utilizado para crear la base de datos de este blog.

leer más

Cuáles fueron las primeras clases de este Blog ASP.NET MVC5 y dónde están ubicadas

Publicado el viernes, 12 de febrero de 2016


El Modelo, el Dominio, la BLL, el Motor, Core, Servicios, Business y una infinidad de nombres más para un mismo concepto: lugar de la aplicación donde hay que situar la parte más importante del código

Esta parte puede estar dentro de un mismo proyecto de Visual Studio o segregada entre varios, pero lo importante es centralizar en sus clases toda la lógica del negocio, todo el conocimiento, todo lo importante.

En este post voy a explicar dónde coloqué el "Modelo" de este blog y sus dos clases más importantes.  

leer más

Cómo publiqué la primera versión de este blog

Publicado el viernes, 5 de febrero de 2016


Mi primera preocupación al iniciar un proyecto es publicarlo pase lo que pase. Si es una aplicación web, como es el caso, significa publicarlo en el servidor y si se trata de una aplicación de escritorio (o app) instalarla en un pc. Para ello creo una aplicación con lo mínimo imprescindible para ejecutarla y la publico. Es mi manera de aplicar el principio "release early, release often" comentado en el post anterior.

leer más

Declaración de intenciones: Crear un Blog ASP.NET MVC5 desde cero

Publicado el martes, 26 de enero de 2016


Voy a empezar este blog explicando paso a paso cómo he creado este blog con ASP.Net MVC5 desde cero y qué herramientas he utilizado para publicarlo. Mostraré algunos de los pasos y decisiones que he ido tomando, así como las dificultades que me he ido encontrando.

La intención es aprender y compartir el proceso de creación de una aplicación web. Siempre tengo muy presente eso de "no reinventar la rueda", pero si voy a iniciar un blog sobre programación web con ASP.Net qué menos que el propio blog utilice dicha tecnología.

leer más