Google ha lanzado en fase beta un servicio online para mejorar la velocidad de carga de nuestras páginas web de forma automática.
Su funcionamiento lo que hace básicamente es recuperar el contenido de nuestros servidores y reescribir las salidas HTML aplicándole mejoras de eficiencia de código que finalmente se redistribuyen a través de los servidores de google.
Podéis encontrar más información en http://code.google.com/intl/es/speed/pss/docs/tryit.html.
Páginas
viernes, 29 de julio de 2011
miércoles, 27 de julio de 2011
blekko, slash the web (barra web)
blekko es un buscador en la red que nos permite recuperar información de los sitios que hacen referencia al contenido de nuestras páginas.
Con este buscador vamos a poder ver estadísticas de las localizaciones que hacen referencia a nuestra página. Por ejemplo, si buscamos referencias de www.java.com tenemos estos resultados:
Podéis encontrar más de blekko en su página web o en este vídeo.
Con este buscador vamos a poder ver estadísticas de las localizaciones que hacen referencia a nuestra página. Por ejemplo, si buscamos referencias de www.java.com tenemos estos resultados:
Podéis encontrar más de blekko en su página web o en este vídeo.
viernes, 22 de julio de 2011
El Laboratorio de Google
Ahora que parece que Google va a dejar de lado su conocido laboratorio Google Labs (ver post), vamos a ver algunos de los últimos proyectos que han sacado y que pueden sernos de ayuda...
PageSpeed Online analiza el contenido de una página web y, a continuación, genera sugerencias para aumentar la velocidad de esa página. Disminuir los tiempos de carga de páginas puede reducir el número de abandonos de páginas y aumentar las tasas de conversión.
Google Swiffy del que ya hemos hablado en otro post, nos permite convertir vídeos Flash en formato HTML5.
Aardvark o lo que es lo mismo Cerdo hormiguero, se montó con gran éxito hace tiempo y nos permite realizar preguntas o responder a ellas sobre cualquier temática que queramos. El objetivo consiste en recibir una respuesta en menos de media hora. No siempre es así...
PageSpeed Online analiza el contenido de una página web y, a continuación, genera sugerencias para aumentar la velocidad de esa página. Disminuir los tiempos de carga de páginas puede reducir el número de abandonos de páginas y aumentar las tasas de conversión.
Google Swiffy del que ya hemos hablado en otro post, nos permite convertir vídeos Flash en formato HTML5.
jueves, 21 de julio de 2011
Firebug a fondo
Firebug es una impresionante extensión de Mozilla Firefox para el desarrollo de páginas web y que una vez que lo has usado se convierte en indispensable. Con la aparición de Chrome, que trae incluida una herramienta parecida, su uso (por lo menos en mi caso) ha empezado a ser menor principalmente por la velocidad del navegador de Google.
Hablando de Firebug, vamos a poder editar y depurar código además de monitorizar el sitio en el que trabajamos. Las principales funcionalidades son:
Hablando de Firebug, vamos a poder editar y depurar código además de monitorizar el sitio en el que trabajamos. Las principales funcionalidades son:
- Edición de HTML en caliente (en tiempo real)
- Edición de hojas de estilos (en tiempo real)
- Monitorización de la carga de las páginas
- Depuración del Javascript de nuestras páginas
- Gestión de errores Javascript, CSS y XML
- Explorador de DOM
miércoles, 20 de julio de 2011
BrowserID, la solución de Mozilla para la autenticación web
Mozilla presenta una solución para poder recordar las múltiples contraseñas de los sitios web en que estamos registrados o tenemos una cuenta. Esta propuesta no es únicamente para el navegador Firefox sino que funciona para todos los existentes (Chrome, Opera, Internet Explorer...).
La idea que ofrece BrowserID es utilizar el correo electrónico del usuario como clave de acceso para todos aquellos sitios que requieren autenticación evitando tener que recordar el usuario y contraseña.
Cuando se accede por primera vez a BrowserID se solicita una contraseña y una dirección de correo electrónico (en este caso sí que vamos a necesitar recordar la contraseña). Con esta información y a través de la tecnología Verified Email Protocol se comprobará la validez de ésta.
Una vez realizado este paso dispondremos de una identificación única para cualquier registro online basada en criptografía asimétrica (PKI) con una clave pública disponible para los proveedores de contenidos y una privada que se almacenará en nuestro navegador. La verificación de las claves se realizará en los servidores de BrowserID.
La principal diferencia respecto a OpenID es que esta autenticación está integrada en el navegador. El problema es que si alguien entra en nuestro equipo podrá acceder a cualquiera de los sitios en los que estemos registrados.
Aquí tenéis un vídeo de cómo funciona que aparece publicado en su web oficial.
Veremos más adelante cómo funciona esta idea...
La idea que ofrece BrowserID es utilizar el correo electrónico del usuario como clave de acceso para todos aquellos sitios que requieren autenticación evitando tener que recordar el usuario y contraseña.
Cuando se accede por primera vez a BrowserID se solicita una contraseña y una dirección de correo electrónico (en este caso sí que vamos a necesitar recordar la contraseña). Con esta información y a través de la tecnología Verified Email Protocol se comprobará la validez de ésta.
Una vez realizado este paso dispondremos de una identificación única para cualquier registro online basada en criptografía asimétrica (PKI) con una clave pública disponible para los proveedores de contenidos y una privada que se almacenará en nuestro navegador. La verificación de las claves se realizará en los servidores de BrowserID.
La principal diferencia respecto a OpenID es que esta autenticación está integrada en el navegador. El problema es que si alguien entra en nuestro equipo podrá acceder a cualquiera de los sitios en los que estemos registrados.
Aquí tenéis un vídeo de cómo funciona que aparece publicado en su web oficial.
Veremos más adelante cómo funciona esta idea...
WebSVN, explora tu repositorio de código
WebSVN es un explorador web online de tu repositorio de código. Su instalación y configuración es muy simple. Únicamente necesitarás tener montado un Apache y editar el fichero de configuración de la aplicación. Soporta múltiples repositorios, tanto locales como remotos, RSS. Podrás descargar ficheros y directorios, comparar versiones. Por cierto, viene preparado para multilenguaje.
Aquí tenéis una captura de la pantalla de inicio...
Aquí tenéis una captura de la pantalla de inicio...
lunes, 18 de julio de 2011
Mapear unidad de red de Windows en Linux
Ante la necesidad de acceder desde Linux a unidades compartidas en otros servidores Windows se hace imprescindible de forma permanente el montaje de estas unidades en nuestro sistema Linux.
Aquí se expone de forma sucinta y sin profudizar el mecanismo básico para el montaje de dichas unidades.
En rimer lugar debemos comprobar que el servicio nfs se encuentra ejecutando en nuestro sistema. Esta comprobación será llevada a cabo a través del siguiente comando.
La salida devuelta por el comando será similar a la que sigue.
Aquí se expone de forma sucinta y sin profudizar el mecanismo básico para el montaje de dichas unidades.
En rimer lugar debemos comprobar que el servicio nfs se encuentra ejecutando en nuestro sistema. Esta comprobación será llevada a cabo a través del siguiente comando.
service nfs status
La salida devuelta por el comando será similar a la que sigue.
A continuación se debe comprobar la existencia y puesta en marcha de los paquetes y servicios Samba. Las diferentes distribuciones de Linux ofrecen una forma de comprobación diferente, por lo que a continuación se muestra una de ellas, la correspondiente a Red Hat.[root@server-JB ~]# service nfs status Se está ejecutando rpc.mountd (pid 1784)... Se está ejecutando nfsd (pid 1781 1780 1779 1778)... Se está ejecutando rpc.rquotad (pid 1751)...
Este comando ofrece una salida similar a la siguiente, donde se muestra el nombre del paquete y la versión instalados.rpm -qa samba
El servicio Linux que arranca la aplicación Samba recibe el nombre smb. Para comprobar su estado se usará el siguiente comando.[root@server-JB ~]# rpm -qa samba samba-3.2.0-1.pre3.9.fc9.i386
service smb status
PerGem (Permanent Generation Space)
Muchas veces nos encontramos con este error:
Este error ocurre cuando la JVM se queda sin espacio en el 'montículo permanente de generación', es decir, en el trocito de memoria asignada a la JVM para que compile las clases, los jsp, etc.
La solución es incrementar la opción -XX:MaxPermSize a un valor razonable y soportado por el hardware. Por ejemplo:
Java.lang.OutOfMemoryError: PermGen spacePero, ¿sabemos de que se trata?
Este error ocurre cuando la JVM se queda sin espacio en el 'montículo permanente de generación', es decir, en el trocito de memoria asignada a la JVM para que compile las clases, los jsp, etc.
La solución es incrementar la opción -XX:MaxPermSize a un valor razonable y soportado por el hardware. Por ejemplo:
JAVA_OPTS = "$JAVA_OPTS -XX:MaxPermSize=512M"
Aumentaría el tamaño de generación a 512 mb. Activar modo DEBUG en JBoss AS
Hoy vamos a ver cómo poner en modo debug el servidor de aplicaciones JBoss en el que tenemos montadas nuestros aplicativos...
Lo primero que debemos hacer es parar el servidor jboss. Para ello, habitualmente según la instalación que hayamos realizado podremos parar el servidor a través de un servicio.
A continuación deberemos cambiar la configuración de arranque del JBoss. Para ello deberemos editar el fichero de configuración run.conf que se encuentra en el directorio bin donde tengamos instalado el servidor de aplicaciones.
Para activar/desactivar el modo debug mediante socket, sólamente tendremos que descomentar/comentar la siguiente línea del fichero:
A continuación deberemos guardar los cambios.
Lo primero que debemos hacer es parar el servidor jboss. Para ello, habitualmente según la instalación que hayamos realizado podremos parar el servidor a través de un servicio.
service jbossas stopSi no tenemos un servicio ejecutaremos el shutdown.sh que se encuentra en el directorio bin del servidor JBoss. Para comprobar que está parado haremos
ps ax | grep javaSi no aparece ningún proceso relativo al servidor éste estará parado.
A continuación deberemos cambiar la configuración de arranque del JBoss. Para ello deberemos editar el fichero de configuración run.conf que se encuentra en el directorio bin donde tengamos instalado el servidor de aplicaciones.
Para activar/desactivar el modo debug mediante socket, sólamente tendremos que descomentar/comentar la siguiente línea del fichero:
#JAVA_OPTS="$JAVA_OPTS
–Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
viernes, 15 de julio de 2011
Recess Framework, php al alcance de todos
Estos días he estado echando un vistazo a un framework php que permite crear aplicaciones con gran sencillez. Podéis encontrar más información en http://www.recessframework.org/.
Vamos a ver un poco cómo está montado. Su instalación es muy sencilla. Únicamente necesitaremos tener instalado un apache y php (al menos la versión 5.2.4). Se sugiere instalar el módulo mod_rewrite.
Una vez instalado y configurada la base de datos que vamos a utilizar podemos acceder al framework en http://localhost/recess. Haciendo clic en el menú apps veremos la siguiente pantalla donde podremos empezar a crear nuestra primera aplicación (Start a New Application).
Vamos a ver un poco cómo está montado. Su instalación es muy sencilla. Únicamente necesitaremos tener instalado un apache y php (al menos la versión 5.2.4). Se sugiere instalar el módulo mod_rewrite.
Una vez instalado y configurada la base de datos que vamos a utilizar podemos acceder al framework en http://localhost/recess. Haciendo clic en el menú apps veremos la siguiente pantalla donde podremos empezar a crear nuestra primera aplicación (Start a New Application).
jueves, 14 de julio de 2011
Comenzando a usar Maven (V)
Seguimos con el tema Maven...
Integración con Eclipse
Bueno, todo esto está muy bien, pero si yo trabajo con un IDE como eclipse, ¿cómo encuentro ahora los jar en un sitio tan escondido?. Fácil. Maven es capaz de generar un proyecto de Eclipse.
Primero debemos definir dentro de Eclipse la variable M2_REPO apuntando a nuestro repositorio local de Maven. Esto puede hacerse desde una línea de comandos maven:
Una vez que tenemos creado un proyecto maven, generamos los ficheros necesarios para eclipse con
En codehaus tienes los plugins para los cuatro IDEs más conocidos: Eclipse, NetBeans, IntelliJ y JBuilder.
Integración con Eclipse
Bueno, todo esto está muy bien, pero si yo trabajo con un IDE como eclipse, ¿cómo encuentro ahora los jar en un sitio tan escondido?. Fácil. Maven es capaz de generar un proyecto de Eclipse.
Primero debemos definir dentro de Eclipse la variable M2_REPO apuntando a nuestro repositorio local de Maven. Esto puede hacerse desde una línea de comandos maven:
o bien desde dentro de Eclipse. En el menú seleccionamos Window > Preferences. Luego Java > Build Path > Classpath Variables y ahi definimos M2_REPO apuntando a C:\Documents and Settings\usuario\.m2mvn -Declipse.workspace=eclipse:add-maven-repo
Una vez que tenemos creado un proyecto maven, generamos los ficheros necesarios para eclipse con
Esto generará dos ficheros .project y .classpath en el directorio. Ahora desde Eclipsemvn eclipse:eclipse
- En el menú "File", "Import".
- En la ventana que sale, elegimos "Existing projects into workspace" y "Next".
- Elegimos "Select root directory" y le damos a "Browse".
- Elegimos el directorio de maven donde está nuestro proyecto. Con esto debería compilarse el proyecto, cogiendo los jar necesarios del repositorio local y todo lo demás.
En codehaus tienes los plugins para los cuatro IDEs más conocidos: Eclipse, NetBeans, IntelliJ y JBuilder.
miércoles, 13 de julio de 2011
Comenzando a usar Maven (IV)
En este nuevo capítulo continuamos con los repositorios...
Repositorios Maven
Una de las grandes ventajas de maven son los repositorios (almacenes) de ficheros jar que se crea.
En el siguiente enlace tienes el repositorio oficial de jars de maven. Ahí están los groupId de casi todos los jar de libre distribución que puedas encontrar en internet. Tienes el log4j, commons-logging, JFreeChart, mysql-connector, etc, etc. Maven es capaz de bajarse cualquiera de estos jar si tu proyecto lo necesita.
Todo lo que se baje maven de internet lo mete en un repositorio (almacen) local en tu pc, de forma que si lo necesita una segunda vez, no necesita descargárselo nuevamente de internet. Este directorio, habitualmente está en
El repositorio interno en la red local es particularmente útil si trabajamos en una empresa y hacemos proyectos que son dependientes unos de otros o tenemos nuestras propias librerías de jars. Poniendo jars en ese repositorio de empresa, todos los programadores podrán acceder o subir jars a ese repositorio y compartirlos.
Repositorios Maven
Una de las grandes ventajas de maven son los repositorios (almacenes) de ficheros jar que se crea.
En el siguiente enlace tienes el repositorio oficial de jars de maven. Ahí están los groupId de casi todos los jar de libre distribución que puedas encontrar en internet. Tienes el log4j, commons-logging, JFreeChart, mysql-connector, etc, etc. Maven es capaz de bajarse cualquiera de estos jar si tu proyecto lo necesita.
Todo lo que se baje maven de internet lo mete en un repositorio (almacen) local en tu pc, de forma que si lo necesita una segunda vez, no necesita descargárselo nuevamente de internet. Este directorio, habitualmente está en
- $HOME/.m2 en unix/linux
- C:\Documents and Settings\usuario\.m2 en windows
El repositorio interno en la red local es particularmente útil si trabajamos en una empresa y hacemos proyectos que son dependientes unos de otros o tenemos nuestras propias librerías de jars. Poniendo jars en ese repositorio de empresa, todos los programadores podrán acceder o subir jars a ese repositorio y compartirlos.
martes, 12 de julio de 2011
Comenzando a usar Maven (III)
Ahora llega el momento duro. Debemos empezar a escribir el código, tanto de nuestro proyecto como de las clases de test de JUnit, si es que seguimos al pie de la letra las costumbres de buena programación. Desgraciadamente, todavía no hay herramientas que hagan este trabajo por nosotros, así que a ello.
Compilar
Una vez que tenemos todo, podemos compilar de forma sencilla. Basta ponerse en el directorio donde está el fichero pom.xml y escribir
Compilar
Una vez que tenemos todo, podemos compilar de forma sencilla. Basta ponerse en el directorio donde está el fichero pom.xml y escribir
Esto creará un directorio target justo debajo de EjemploMaven y ahí un subdirectorio classes donde meterá todos los .class de nuestro compilado:mvn compile
EjemploMaven +---src ¦ +---main ¦ ¦ +---java ¦ ¦ +--- ¦ ¦ +---ejemplos ¦ +---test ¦ +---java ¦ +--- ¦ +---ejemplos +---target +---classes +--- +---ejemplos //Aquí los .class
lunes, 11 de julio de 2011
Comenzando a usar Maven (II)
Siguiendo con el hilo que dejamos el otro día vamos a empezar por cómo crear un proyecto Maven.
Crear un proyecto
El primer paso con maven es crear un proyecto desde cero. El comando de maven que tenemos que ejecutar es
Veamos los parámetros:
Crear un proyecto
El primer paso con maven es crear un proyecto desde cero. El comando de maven que tenemos que ejecutar es
mvn archetype:create -DgroupId=ejemplos -DartifactId=EjemploMaven
Veamos los parámetros:
- archetype:create es el comando de maven para crear un proyecto. Por defecto crea un proyecto de java normalito (mirar los arquetipos definidos en metodología)
- -DgroupId=ejemplos es el conjunto de proyectos al que pertenece nuestro proyecto. Por ejemplo, yo puedo meter todos mis programas de ejemplo en un grupo que llamaré "ejemplos". Este nombre que pongamos aquí va a servir de paquete inicial para todas las clases del proyecto. Todos los proyectos maven deben pertenecer a un grupo, aunque sea único para él, que se denominará groupId.
- -DartifactId=EjemploMaven es el nombre que queramos dar al proyecto. Maven creará un directorio con este nombre y el jar que genere para el proyecto tendrá también este nombre. Todos los proyectos maven tienen un nombre para identificarlos, que se denomirá artifactId
jueves, 7 de julio de 2011
Comenzando a usar Maven (I)
El software de hoy ya no son creaciones monolíticas de un único equipo trabajando localmente en el proyecto. El cada vez mayor número de componentes de código abierto robusto de nivel empresarial hace que los proyectos de software modernos necesiten de una colaboración más dinámica entre los equipos de los proyectos y a menudo esto depende de una mezcla de componentes creados globalmente y otros creados localmente. Mientras que otras herramientas de construcción como Ant da un conjunto de herramientas para construir los bloques del proyecto, Maven cubre muchas de las necesidades normalmente inexistente en estas herramientas y que son requeridas en todos los proyectos.
miércoles, 6 de julio de 2011
Selenium IDE - testeando aplicaciones web
Selenium IDE es un entorno de desarrollo integrado. Está implementado como una extensión de Firefox, y le permite grabar, editar y depurar las pruebas. No es sólo una herramienta de grabación.
Aquí tienes sus principales características: registrar y reproducir los tests, depurar y establecer puntos de interrupción, guardar las pruebas como HTML, scripts Ruby, o cualquier otro formato, etc...
Aquí tienes un vídeo de su funcionamiento. Para más información entra en Selenium IDE plugins.
Aquí tienes sus principales características: registrar y reproducir los tests, depurar y establecer puntos de interrupción, guardar las pruebas como HTML, scripts Ruby, o cualquier otro formato, etc...
Aquí tienes un vídeo de su funcionamiento. Para más información entra en Selenium IDE plugins.
Jalopy y PMD - Formatea y haz eficiente tu código Java
Con Jalopy podrás embellecer tu código Java. Esta herramienta ayuda a que el código siga un estilo común entre diferentes desarrolladores, aún cuando cada desarrollador haya seguido su propio formato. También ayuda a que en los merges de código entre diferentes ramas sea más sencillo. Está integrado con Eclipse y su instalación es muy sencilla. Descárgate el plugin de la página del proyecto y descomprímelo en la carpeta plugins del eclipse que tengas instalado. Reinicia el Eclipse y podrás encontrar el menú de configuración de Jalopy.
PMD es un analizador estático de código Java que identifica los siguientes problemas potenciales:
Normalmente los errores detectados por PMD no son verdaderos errores, sino más bien código poco eficiente. Es decir, la aplicación puede que siga funcionando, pero de una manera ineficiente y probablemente con una mayor tendencia a los errores.
PMD también se ecuentra integrado con Eclipse.
PMD es un analizador estático de código Java que identifica los siguientes problemas potenciales:
- Posibles bugs: bloques try/catch/finally/switch varios.
- Código muerto: Variables, parámetros y métodos privados no usados.
- Sentencias if/while vacías.
- Expresiones muy complicadas: sentencias if innecesarias, bucles for que podrían ser while...
- Código subóptimo: Uso inapropiado de String/StringBuffer.
- Clases con complejidad ciclomática muy alta.
- Código duplicado: Código copiado y pegado puede significar Errores copiados y pegados. Ademas disminuye la mantenibilidad.
Normalmente los errores detectados por PMD no son verdaderos errores, sino más bien código poco eficiente. Es decir, la aplicación puede que siga funcionando, pero de una manera ineficiente y probablemente con una mayor tendencia a los errores.
PMD también se ecuentra integrado con Eclipse.
lunes, 4 de julio de 2011
La organización de las empresas tecnológicas...
He encontrado esta viñeta de cómo se organizan las empresas tecnológicas más importantes del momento.
Amazon aparece como la más organizada y jerárquica. Google aparece organizada pero con relaciones entre todos los departamentos. Apple funciona entorno a lo que diga Steve Jobs y Facebook ....
Aquí tenéis lo que podría ser una conocida charcutera española. A ver si alguien la reconoce.
Podéis enviar vuestros gráficos de las que conocéis más de cerca.
Amazon aparece como la más organizada y jerárquica. Google aparece organizada pero con relaciones entre todos los departamentos. Apple funciona entorno a lo que diga Steve Jobs y Facebook ....
Aquí tenéis lo que podría ser una conocida charcutera española. A ver si alguien la reconoce.
Podéis enviar vuestros gráficos de las que conocéis más de cerca.
Suscribirse a:
Entradas (Atom)