Archivo de la categoría: Tecnologías y conocimiento

Temas relacionados con las tecnologías y el conocimiento sin entrar en detalles técnicos sino como una visión general sobre estos asuntos.

Qué es Visual Studio LightSwitch

Con esta tecnología Microsoft pretende llevar el campo de desarrollo a manos que no se dedican especialmente a la programación.

Su utilización se asemeja a lo que pueda ser access comparado a cualquier gestor de base de datos.

En visual studio 2013 puedes elegir entre crear una aplicación LightSwitch de escritorio o una de tipo web.

Si bien todas estas soluciones rápidas de desarrollo son muy poco personalizables puede llegar en alguna ocasión a ser interesante para desarrollar una aplicación de una manera rápida y sencilla.

Más Info

Firmas DKIM y SPF para programación Newsletter

En el envío de correos electrónicos masivos se corre el riesgo de que los correos sean tratados como Spam. En este caso la IP desde la cual se envía el correo electrónico seguramente quedará añadida a la lista negra de servidores. En el caso de que esto suceda estarás en un grave problema ya que es complicado revertir este problema.

El origen del problema

Mediante programación se puede falsear el campo «From» desde el cual se envía un correo electrónico. Esta característica hace que un usuario que entienda un poco de programación pueda enviar uno o varios correos electrónicos con la dirección remitente falseada.

De Wikipedia:

… El correo masivo supone actualmente la mayor parte de los mensajes electrónicos intercambiados en Internet, siendo utilizado para anunciar productos y servicios de dudosa calidad. Rolex, eBay y viagra son los asuntos de los mensajes que compiten por el primer lugar en las clasificaciones de spam.

Usualmente los mensajes indican como remitente del correo una dirección falsa. Por esta razón, no sirve de nada contestar a los mensajes de spam: las respuestas serán recibidas por usuarios que nada tienen que ver con ellos. Por ahora, el servicio de correo electrónico no puede identificar los mensajes de forma que se pueda discriminar la verdadera dirección de correo electrónico del remitente, de una falsa. Esta situación que puede resultar chocante en un primer momento, es semejante por ejemplo a la que ocurre con el correo postal ordinario: nada impide poner en una carta o postal una dirección de remitente aleatoria: el correo llegará en cualquier caso. No obstante, hay tecnologías desarrolladas en esta dirección: por ejemplo el remitente puede firmar sus mensajes mediante criptografía de clave pública.

Los filtros automáticos antispam analizan el contenido de los mensajes buscando, por ejemplo, palabras como rolex, viagra, y sex que son las más usuales en los mensajes no deseados. No se recomienda utilizar estas palabras en la correspondencia por correo electrónico: el mensaje podría ser calificado como no deseado por los sistemas automáticos anti correo masivo…

Soluciones

Para indicar que el remitente del correo electrónico es realmente quién dice ser se han propuesto algunas soluciones.

Los sistemas más utilizados para este fin son:

  • SPF
  • DKIM
SPF

Consiste en indicar en el DNS del dominio a configurar cuales serán las máquinas que están autorizadas para enviar correos electrónicos. Como es el propietario del dominio el único autorizado que puede modificar el registro DNS entonces puede indicar que equipos (IPs) pueden realizar el envío bajo su nombre.

En el servidor de  correo entrante del destinatario se comprobará los registros DNS del dominio del remitente. Si la dirección IP del servidor que ha enviado el correo concuerda con lo que nos dice el DNS que es una máquina autorizada entonces el correo quedará autenticado en SPF.

SPF es una extensión del protocolo SMTP.

Ver + info en Wikipedia.

DKIM

Consiste en firmar cada correo electrónico enviado. Esto se realiza mediante la utilización de una clave pública que permita ser verificado por cada destinatario.

El proceso incluye la inserción de una firma DKIM en las cabeceras del mensaje. El receptor se encarga de validar la firma obteniendo la clave pública a través del DNS.

DKIM es independiente del protocolo SMTP. Únicamente actúa sobre el cuerpo y cabeceras del mensaje y no en la conversación SMTP.

Ver +info en Wikipedia

Conclusiones

Estos dos sistemas son complementarios y no se excluyen entre sí. De hecho lo ideal sería mantener los dos si tienes que implementar un software de envío masivo de correos para evitar entrar en las dichosas listas negras.

A nivel de programador / desarrollador existen unas diferencias:

  • En el caso de SPF no es necesario tocar «código» ya que únicamente se modifica el DNS del dominio que realizará los envíos.
  • En el caso de DKIM, es necesario tocar el DNS y además el programador deberá tener en cuenta que debe firmar el correo antes de enviarlo mediante programación.

Lo que a priori parece una tarea sencilla para el programador, el envío de boletines de noticias se torna complicada cuando descubrimos que podemos ser tratados como spam.

La programación Newsletter no es tan sencilla. Esperamos que aquí hayáis encontrado la manera de realizarlo sin problemas de ser tratados como no deseados.

 

Comprobar si tu correo está en listas negras

A veces Internet tiene vida propia y aunque tu no te dediques a enviar spam o envíos masivos automáticos siempre viene bien comprobar si tu dominio o dirección de correo electrónico se ha metido en una lista negra por alguna razón incomprensible.

La mejor manera de comprobarlo es a través de la herramienta online mxtoolbox.com.

Entre otras cosas con esta herramienta puedes:

  • Consultar información sobre el valor MX de un dominio
  • Puedes comprobar si la dirección IP de un servidor de mail está registrado como fuente de spam.

En esta web puedes registrarte y hacer que te envíen informes periódicos para comprobar si tu correo está en listas negras.

Entity Framework Code First

Entre las muchas sorpresas que Microsoft nos viene dando con .NET 4.5 está el progreso que ha hecho la tecnología de Entity Framework esforzándose para que el desarrollador se olvide cada vez más de SQLServer y se pueda centrar en lo que es puramente su trabajo: programar (que no es poco).

Esta última versión (Entity Framework 6) permite utilizar el paradigma de programación Code First (Primero el código). Es cierto que en anteriores versiones se podía utilizar esta técnica pero puedo asegurar que era bastante más complicado que ahora.

¿En qué consiste code first?

Code First te permite primero crear el modelo de datos como clases para posteriormente migrarlo a un sistema de gestión de base de datos. Las clases que se definen para crear el esquema de datos se llaman Entidades o Entity Classes.

Cada propiedad de una clase le corresponde una columna en una tabla equivalente de la base de datos. A estas entidades también se les pueden añadir métodos y funciones.

OWIN: Otra novedad en Visual Studio 2013

Open Web Interface for .NET (OWIN) define una nueva capa de abstración entre el servidor web y una aplicación web. De este modo OWIN permite a las aplicaciones que no les importe en que host esté hospedado. Por ejemplo una aplicación web se puede hospedar en IIS o en un proceso personalizado.

Esta tecnología se conoce también como el proyecto Katana y se inspira en otras tecnologías del estilo node.js.

El problema que intenta solucionar OWIN es desacoplar la dependencia que tenían las aplicaciones ASP.Net con el servidor IIS introduciendo una capa que maneje las peticiones Http.

Sin Open Web Interface for .Net:

Sin OWIN

Con Open Web Interface for .Net:

Con OWIN

Visual Studio 2013 apuesta por Bootstrap

Del mismo modo que Microsoft se decantó por dar soporte a jquery dentro de sus plantillas de proyectos de Visual Studio 2010 ahora podemos comprobar que con Visual Studio 2013 existen plantillas para desarrollar con bootstrap.

Creo que se han dado cuenta de que no podían prescindir de un framework que hiciera más fácil el diseño web adaptable (responsive design) indispensable hoy en día como todos bien sabemos.

Siempre podemos utilizar Foundation (el gran competidor de bootstrap) aunque yo no lo recomendaría por dos razones. La primera razón es que considero que hay que confiar en las decisiones de Microsoft, ellos son los que mejor conocen su framework y seguro que lo han valorado en su día. La segunda razón, sufrida en mis propias carnes, es que he comprobado que algunos controles asp no se llevan muy bien con Foundation.