Plantillas de correo

Cuando envíamos información a nuestros clientes, en especial si se tratan de boletines de noticias (newsletters) es importante que el diseño se vea correctamente independientemente del gestor de correo que utilicen. Si no tenemos esto en cuenta es posible que lo que se vea bien en el Outlook se desconfigure en Apple Mail, o que lo que es correcto para Gmail esté descolocado en hotmail.

Para evitar esto en sendcube han desarrollado unas plantillas gratuitas de correo comprobadas para la mayor parte de servicios de correo de la actualidad. Pueden verse y descargarse aquí:

Plantillas de correo electrónico gratuitas

Sin duda de gran utilidad.

Temas de wordpress

Webservice con información de app.config en web.config

Un título algo duro ¿no? Se trata de un problema común cuando trabajamos con Webservices. Al incluir la referencia del webservice con el que trabajamos tenemos que indicar la IP o el nombre del equipo que provee el servicio. Pero ¿Qué pasa cuando esa dirección cambia? Normalmente, que tenemos que recompilar la aplicación. Si esto hay que hacerlo en pocas ocasiones no hay problema, pero si los cambios son frecuentes lo indicado es hacer que esta dirección se pudiera configurar desde el web.config.

Esto es posible hacerlo de dos maneras, cada una con sus ventajas e inconvenientes. Las dos necesitan añadir una clave en el web.config:



La primera es utilizando la fuerza bruta. Cada vez que llamemos al Webservice cambiamos su URL. POr ejemplo:

service = new Acmeco.AcmecoService();
service.Timeout = 10000;
service.Url = ConfigurationSettings.AppSettings["MyWebServiceURL"];

(Ejemplo tomado de aquí: Setting Web Service References Dynamically )

Si llamamos al servicio en pocos sitios esta solución es completamente válida, pero si lo hacemos en muchos sitios puede ser una labor engorrosa.

Otra solución es cambiar la URL en la referencia que importa el IDE de .NET. Lo encontramos aquí:

Web References –> my_web_service –> Reference.map –> Reference.cs

Este archivo se genera automáticamente cuando añadimos la referencia así que ¡ojo! si volvemos importar la referencia porque el proveedor del servicio ha realizado cambios tendremos que volver a modificar el archivo. Una vez allí cambiamos:

this.Url = System.Configuration.ConfigurationManager.AppSettings["MyWebServiceURL"];

Si nos encontramos con que lo anterior nos da un error, tenemos que añadir la referencia System.configuration en las referencias.

Con esto tendremos un webservice cuya dirección podremos configurar dinámicamente desde el web.config

Instalar Apache, PHP y MySQL

La mayor parte de las webs actuales se instalan en un entorno LAMP (Linux, Apache, MySQL y PHP). Pero muchos programadores utilizan windows y necesitan instalar el resto de componentes en su sistema. Se puede instalar PHP y MySQL en windows sin ningún problema y configurarlo para trabajar con el IIS (Internet Information Services), pero no todas als versiones de Windows lo tienen instalado y a veces puedes encontrarte problemas.

Por suerte existen una serie de paquetes que instalan de manera rápida y sencilla Apache, PHP y MySQL. Aquí tienes dos:

Wampserver

AppServer

Yo llevo años utilizando AppServer y funciona correctamente.

Desactivar funciones en PHP

Un artículo de desarrollo web muy útil para el tema de seguridad en servidores:

Desactivar funciones PHP

Nos hablan de la variable de configuración disable_functions, que nos permite desahabilitar el uso de cualquier función de PHP que le indiquemos.

Editar archivos de texto grandes

Los que trabajamos con bases de datos (sobre todo con MySql) nos encontramos en ocasiones con archivos de texto que pueden superar un Gigabyte de tamaño. Pueden ser archivos de logs o copias en SQL de la base de datos que en ocasiones necesitamos editar para modificarlos o buscar algo dentro.

Los editores normales se ven superados por estos tamaños de archivo, así que hay que echar mano de editores especiales. Uno de los mejores que he encontrado es 010 Editor:

010 editor

Se merienda tranquilamente archivos de 2 ó 3 gigas y te permite buscar, búsquedas múltples, editar archvo binarios y muchas más cosas de utilidad. Un programa muy completo.

Log en Mysql

La base de datos Mysql guarda por defecto un log de todas las actividades realizadas. Este archivo se guarda en un formato binario comprimido que no se puede leer directamente. Para poder analizar los movimientos de la base de datos es preciso descomprimilo previamente.

Para eso tenemos la utilidad mysqlbinlog, que tiene su propia entrada en el manual:

mysqlbinlog

Proporciona diferentes complementos para la descompresión, incluyendo poder seleccionar las líneas a descomprimir o las fechas y hora. Imprescindible para analizar y solucionar errores en nuestras aplicaciones.

FirePHP

En Desarrolloweb han publicado un manual muy útil para instalar y usar FirePHP:

Debug en PHP con FirePHP

Sirve para poder hacer seguimiento de las variables sin tener que ‘estropear’ la página. Había una aplicación similar con flash, pero esta es mucho más cómoda.

Fotos e iconos gratis

En Isopixel encuentro, como siempre, buenos enlaces a recursos gratuitos para diseñadores. Aunque en nuestra empresa nos dedicamos principalmente a la programación a medida, nuestra orientación a entornos web hace que nos resulten útiles las colecciones de imágenes gratis.

Por un lado tenemos esta recopilación de iconos de calidad completamente gratis:

Más de 450 iconos gratuitos

Y por otro estos cien sitios dónde podemos encontrar fotos que podemos usar libremente en nuestros proyectos. Es casi imposible no encontrar una imagen que nos sirva:

100 (Legal) Sources for Free Stock Images

Por ejemplo ¿buscas fotos de moscas? Pues en esta web tienen más de 400.

Probar Webservices

Es usual que las aplicaciones de escritorio se vean desplazadas por desarrollos web, y dentro de estos que se organicen en webservices. Estos son muy útiles a la hora de desarrollar la arquitectura de una aplicación descentralizada, pero son difíciles de testear.

Esa dificultad puede verse mitigada si usamos la siguiente aplicación:

SoapUI

Nos permite enlazar directamente con los servicios web que le indiquemos, creando plantillas cómodas de usar que nos permiten probar directamente nuestras aplicaciones. Al guardar automáticamente las pruebas que realizamos nos ahorra mucho trabajo.