Monthly Archives: April 2009

Hola Mundo con Google App Engine y Maven

Published / by Renan Huanca / 11 Comments on Hola Mundo con Google App Engine y Maven

Introducción

Mostrare como crear una aplicación web con maven y luego subirlo al App Engine de Google 🙂

Esta es una instalación muy básica al final del articulo listare unos recursos mas avanzados.

Para esta ejemplo, tienes que tener previamente instalado maven.

Obtener código de aplicación de Google App Engine

Si no tienes cuenta en Google App Engine, puedes crearlo de http://appengine.google.com/.

Una vez creada tu cuenta, crea tu primera aplicación y anota su código identificador.

Bajar e instalar Google App Engine

Bajar Google App Engine de http://code.google.com/appengine/downloads.html.

Descomprimirlo en la carpeta de tu preferencia.

  • En linux es generalmente “/usr/local”
  • En windows “c:\Program Files”

Adicionamos al PATH de sistema, la carpeta donde se encuentra el Google App Engine

  • En linux export PATH=/usr/local/appengine-java-sdk-1.2.0/bin:$PATH
  • En windows set PATH=”c:\Program Files\appengine-java-sdk-1.2.0\bin;%PATH%”

Para comprobar que esta instalado ejecutamos el siguiente comando:

  • En linux appcfg.sh version
  • En windows appcfg version

Y obtendremos el siguiente resultado parecido al siguiente:

Release: 1.2.0
Timestamp: Fri Apr 03 17:53:20 BOT 2009
API versions: [1.0]

java.vm.vendor: Sun Microsystems Inc.
java.vm.version: 11.2-b01
java.version: 1.6.0_12
os.name: Linux
os.version: 2.6.27-11-generic

Instalar los jars de Google App Engine en el repositorio de Maven

Una vez comprobado que el Google App Engine esta instalado, es necesario instalar alguna librerías de esta en maven.

Vamos a la carpeta donde esta instalado el Google App Engine y ejecutamos las siguientes instrucciones:

mvn install:install-file -Dfile=lib/appengine-tools-api.jar -DgroupId=com.google -DartifactId=appengine-tools -Dversion=1.2.0 -DgeneratePom=true -Dpackaging=jar

mvn install:install-file -Dfile=lib/user/appengine-api-1.0-sdk-1.2.0.jar -DgroupId=com.google -DartifactId=appengine-sdk-1.2.0-api -Dversion=1.2.0 -DgeneratePom=true -Dpackaging=jar

mvn install:install-file -Dfile=lib/shared/appengine-local-runtime-shared.jar -DgroupId=com.google -DartifactId=appengine-local-runtime-shared -Dversion=1.2.0 -DgeneratePom=true -Dpackaging=jar

mvn install:install-file -Dfile=lib/user/orm/datanucleus-appengine-1.0.0.final.jar -DgroupId=org.datanucleus -DartifactId=datanucleus-appengine -Dversion=1.0.0.final -DgeneratePom=true -Dpackaging=jar

Creamos Aplicación Web con Maven y Modificamos el pom.xml

Ve al directorio donde manejar tus pruebas y ejecuta el siguiente comando:

mvn archetype:create -DgroupId=appengine -DartifactId=holamundo -DarchetypeArtifactId=maven-archetype-webapp

Esto creara una carpeta holamundo y dentro de esta el archivo pom.xml.

Adicionamos las siguientes dependencias al pom.xml

	
	    com.google
	    appengine-tools
	    1.2.0
	    provided
	
	
	    com.google
	    appengine-local-runtime-shared
	    1.2.0
	    provided
	
	
	    com.google
	    appengine-sdk-1.2.0-api
	    1.2.0
	    compile
	

Creamos el archivo appengine-web.xml

Crea el archivo appengine-web.xml y lo colocamos en la carpeta WEB-INF, la misma carpeta donde se encuentra el web.xml.



	id_de_tu_aplicacion
	1
	
	
	 
	
		
	
	

Reemplaza “id_de_tu_aplicacion” por el código identificador que obtuviste al crear la aplicacion en Google App Engine.

Deploy de la aplicacion en Google App Engine

Ahora construimos la aplicación con maven.

mvn package

Luego hacemos deploy de la aplicacion a Google App engine.

  • En Linux appcfg.sh update target/holamundo
  • En Windows appcfg update target/holamundo

En el proceso te pedirá el password de tu cuenta google y Listo!!! 🙂

Solo ingresa a tu cuenta Google App Engine y abre la aplicación. 🙂

Si tienes comentarios y correcciones no duden a hacérmelo saber.

Referencias

Como evitar Filtros de Spam (Traduccion) de Nicola Brown

Published / by Renan Huanca / 2 Comments on Como evitar Filtros de Spam (Traduccion) de Nicola Brown

Nota Preliminar

Esta es la traducción del articulo en ingles: How to Avoid Spam Filters of Nicola Brown

Como evitar Filtros de Spam (Traducción)

Para publicitadores que usan emails de forma regular para campañas publicitarias, los filtros de spam es uno de los flagelos con los que tienen que lidiar.

No solo un promedio de 10 a 20% de los emails enviados se vuelven victimas de software bloquedor de spam, incluso email permitido puede ser filtrado fuera de la bandeja de entrada como spam.

Entender como los filtros de spam trabajan parece que es la única manera de llegar a la audiencia que queremos llegar.

Como Trabajan los Filtros de Spam

Esencialmente un filtro de spam es una herramienta para verificar rápidamente un email y compararlo contra una lista de criterios, y decidir si es spam o no.

Uno de los criterios puede ser una frase como “FREE”, “CLICK HERE” o “BUY NOW”. Puntos son dados cada vez que en un email se encuentra ocurrencias de las frases mencionadas. Algunos criterios tienen mas puntos que otros.

Si el total de una campaña publicitaria por email alcanza o excede un puntaje limite tu email es automáticamente clasificado como spam y se lo manda a cuarentena.

El problema para los publicitadores es que las reglas para calificar a un email no son uniformes. Cuan alto o cuan bajo la tolerancia al spam es asignado depende del software que es usado y la persona que lo configura.

La mejor manera para asegurar que tus emails pasen, es mantenerse informado de los criterios y remover de la campaña los mas que se puedan. Esto es algo que se tiene que aprender constantemente ya que los filtros de spam son continuamente actualizados en cada momento que un usuario marca un email como spam. Algunos filtros de spam incluso comparan listas en linea.

Si todo esto suena muy difícil de manejar, un profesional en campañas por email puede ayudarte. Ellos tratan con reglas de marketing todos los días.

10 mejores consejos para evitar los bloqueadores de spam.

Mientras tanto aquí hay 10 consejos para ayudarte que tu campaña por email evite los filtros de spam.

1. Obtenga listas limpias de corredores de listas de email. Haga una pequeña investigación para encontrar como ellos mantienen sus listas actualizadas o si están rompiendo alguna ley.

2. Si estas usando tu propia lista, esta tiene que ser actualizada regularmente, para asegurar que este tome en cuenta los pedidos de de-subscripcion, emails devueltos y si están rompiendo alguna regla de privacidad. Manejar la limpieza de los datos es otro trabajo en el que un profesional puede ayudarte.

3. Envié mensajes con nombre reales. Evite usar símbolos y números en el campo “De”. Individuos prefieres recibir emails de las personas que reconocen y confían. Si ellos no te reconocen, es muy probable que tu email termine en el la carpeta de correo basura.

4. Mantenga el campo Asunto del email lo mas simple posible. Evite usar las palabras “Free”, “Buy Now” y “Gane”, envés, sea claro acerca de lo que trata el email. Existe un particular beneficio para el cliente una cabecera muy simple y legible. No trate de ser muy complicado o incluso muy personal en el campo Asunto. No use excesiva puntuación o incluso letras MAYUSCULAS. No use frases demasiado usadas tal como “Hasta agotar stok” o “Ultima semana de descuento”.

5. Mantenga el cuerpo principal del email limpio y conciso. No lo llene con palabras publicitarias y espacios innecesarios. Diga lo que tenga que decir, incluya detalles de los beneficios, ofertas y finalice con una clara acción.

8. Pruebe, pruebe y pruebe antes de enviar su email. Ayuda correr un test en diferentes sistemas de email y programas de email para
salir de dudas. Es también beneficioso enviar tu email a varios cuentas de email con diferentes medios de protección.

7. Usa tamaño de fuente normal. Tamaño de fuente muy pequeño son marcados por los filtros de spam, que el enviador esta intentando colocar contenido malicioso.

8. Evite usar muchas imágenes. Los filtros de spam no pueden leer imágenes y pueden asumir que ellos son spam.

9. No envié múltiples copias del email a la misma dirección. Si tu tienes problemas limpiando tu lista de duplicados, habla con un profesional para consejo.

10. Este en conocimientos de las Listas Negras. Las Listas Negras de spam, son bloqueados por IP por los ISPs. Ingresar en la lista es usualmente debido a quejas recibidas a los ISPs tal como mala uso de email o un alto numero de emails devueltos.

La mejor manera evitar ingresar en las listas negras es asegurar que usted tome buenas practicas para envió de emails e implementar formas de prueba para descubrir problemas anticipadamente. También puedes investigar acerca de los procedimientos para ser aceptado en las Listas Blancas de ISPs para ser identificado como un buen enviador.

Email Flow son profesionales experimentados en campañas por email que cuentan con experiencia en filtros de Spam. Para ayuda o consejo para evitar ser marcado como spam hable con los expertos de Email Flow.

Otros Recursos

15 Email-Marketing Best Practices
Avoiding the Spam Filters and Other Email Marketing Tips

Hola Mundo ExtJs 2.2

Published / by Renan Huanca / 2 Comments on Hola Mundo ExtJs 2.2

Hola Amigos,

Esta semana estoy comenzando un proyecto donde usare ExtJs. Asi que decidí hacer un Hola Mundo con ExtJS.

ExtJs es una librería de componentes javascript. Esta librería es muy rica en componentes visuales.

Algunas cosas que mas me gustan de ExtJs

  • Tiene soporte nativo para realizar llamadas Ajax
  • El componente tabla es uno de los mejores(Antes yo usaba displaytag)
  • Su formulario tiene la opción de información al servidor sin hacer submit de toda la pagina

Vamos al ejemplo

Lo que vamos a necesitar es bajar la libreria.

El archivo zip contiene varias carpetas y archivos de los cuales, para que podamos usar extjs solo necesitamos.

  • archivo: ext-core.js
  • archivo: ext-all.js
  • folder: adapter
  • folder:resources

Estoy archivos y folders los colocamos en una carpeta llamada extjs, para poder referenciarlos luego.

Ahora el html



    
    
    

    


ext-all.css, como supondrán, es este archivo se encuentran las hoja de estilos que se usan en los componentes visuales.

ext-base.js y ext-all.js, son las librerías que contienen el código javascript de ExtJs.

Ext.onReady( … ), Es una función especial de ExtJs que nos sirve para inicializar o crear componentes. Esta funcion se llama después de haver cargado por completo la pagina HTML. es casi como la funcion onload() del elemento body.

new Ext.Panel, Es la forma de crear un simple panel. En el ejemplo estoy indicando que se creara un panel que luego se dibujara en el elemento html que tenga como id igual a “testPanel” y que tiene como contenido html una simple cadena “Hola Mundo”

id=”testPanel”, bueno solo es para decir que el elemento DIV tendra como id el string “testPanel”. Este id es referenciado al momento de crear el Panel.

Recomendaciones

Si eres nuevo en ExtJs, te recomiendo entrenarte en Json(Notacion de Java Script para Objetos), ya que es la notación que se utiliza para crear la mayoría de los componentes.

Lee el Api del componente que vas a utilizar, muchas veces queremos correr antes de caminar. En este caso si seria bueno caminar un poco. El Api de ExtJs contiene la ayuda necesaria para crear los componentes.

Bueno esto seria por hoy. 🙂 Hasta la proxima. Y como siempre, cualquier comentario o corrección es bien recibido.

Recursos:

Botones de navegacion desabilitados en firefox 3

Published / by Renan Huanca / Leave a Comment

Hoy paso algo extraño con Firefox de uno de mis compañeros se desabilitaron.
Todos los botones de navegación se habilitaron :o.

Mas bien que encontramos la solución. Solo había que borrar los archivos
– places.sqlite
– places.sqlite-journal
de la carpeta donde se encuentra el profile de firefox.

Claro pero primero hay que cerrar el firefox 🙂

Si eso simple no les funciona pueden consultar Locked or damaged places.sqlite

Hasta la próxima 🙂