dpmWare Just my stuff, nothing else

31Mar/110

amCharts Javascript Tutorial: Parsing dates and styling up the chart

Recently I began a collaboration with amCharts, writing some tutorials for their blog. This is my first contribution, and you can find the original post in amCharts blog.

http://blog.amcharts.com/2011/03/amcharts-javascript-tutorials-part-3.html

I hope you'll enjoy my first tutorial about this great graphs library! And, of course, feedback is wellcomed!

8Dec/101

HTTP connection + HTTP Authenticacion + Proxy + SSL

Many times during your life as a java developer, you will face the situation of retrieving some resources using an HTTP connection. At first, it will seem easy, but probably some problems will arise such as:

  1. Needing to use an HTTP Proxy (maybe authentication would be required)
  2. Establishing an HTTP authenticated connection
  3. Connecting to a server that uses SSL self-signed certificates

I'm sure you will quickly find the Apache Commons solution: commons-httpclient. In this article I will show you some code that, I hope, will ease you the  resolution of the previous obstacles using this great API from Apache.

2Sep/080

Google anuncia Chrome

Tras varios años de rumorología acerca de si Google iba a publicar un navegador web propio o no, finalmente se ha aclarado: su nombre es Chrome. Será un proyecto opensource basado en WebKit de Apple (el motor de renderizado de Safari) y según comentan, incluye un motor Javascript escrito desde cero, con el fin de mejorar el desempeño tanto en tiempo de ejecución como en consumo de memoria, con respecto a los navegadores que actualmente hay en el mercado. Otras características que incorpora son la navegación anónima, un sistema "Speed Dial" como el de Opera o una barra de autocompletado basada en el buscador.

¿Qué es lo que pretende Google con esto? Según ellos, aportan innovación de cara al usuario, aunque personalmente lo que quieren conseguir es convertir al navegador en un sistema operativo (bueno, a lo mejor es un poco exagerado, pero sí en una fuente completa de aplicaciones), ya que supongo que uno de sus puntos fuertes será el poder ser ejecutado sin barra de herramientas ni menús, al estilo de Prism de Mozilla, consiguiendo que las aplicaciones web tengan un aspecto de aplicación de escritorio. Además, con la inclusión de Gears en Chrome, se ofrece la posibilidad de que las aplicaciones web almacenen datos en el propio navegador, abriendo un gran abanico de posibilidades para la tecnología web.

Como nota curiosa, comentar que Google ha utilizado su estilo característico en la publicación de Chrome utilizando viñetas de cómic para ello.

Habrá que ver cómo afecta esto a los otros grandes navegadores y que implicaciones creará en el desarrollo de aplicaciones web. Renovarse o morir...

Enlace a noticia en EstiloHacker.com

ACTUALIZACIÓN (02/09/2008 @ 23:05): El sitio ya está disponible... ¡a bajar!

10May/071

JavaServerFaces, Spring WebFlow y Struts Tiles, todo en uno

¿Mezclar la versatilidad de JSF con la definición de flujos de negocio de SWF, todo ello con una estética semejante gracias a Tiles? Pues es posible, aunque resulta realmente tedioso y complicado para aquel que es relativamente nuevo a algunas (más bien todas) de estas tecnologías del mundo Java JEE.

A esto es a lo que me he dedicado la última semana de trabajo, a intentar comprender el funcionamiento y buscar por Internet la forma de poder conjugar estas tres tecnologías. He conseguido hacerme una idea del complejo funcionamiento de JSF, SWF me ha sorprendido gratamente por la gran potencia que se consigue con tan pocas líneas de código, y Tiles, aunque ni tan avanzado tecnológicamente ni tan sorprendente, ofrece unas posibilidades de diseño visual que unifica toda la aplicación web con tan solo unos poco ficheros.

Espero poder publicar un tutorial con los pasos a seguir y las aclaraciones necesarias lo antes posible.

Referencias:

Tagged as: 1 Comment
30May/060

Mundo Java

Desde hace cosa de unas semanas, el mundo Java está cambiando notablemente. Por un lado, Sun publicó Java EE 5.0, junto con Sun Application Server 9.0, primera versión estable del proyecto Glassfish, que pretende implementar un Application Server libre para la especificación de JEE 5. En esta nueva versión se ha incluido, a parte de un cambio de la nomeclatura para las versiones, la especificación de EJB 3.0, Java Persistence API, una mejora en el desarrollo de webservices o JSF entre otras características.

GlassFish Project

Por otra parte, Sun también anunció en la JavaOne 2006 un cambio de licencia de distribución para el JDK y el JRE (DLJ - Distributor License for Java), a fin de que las distribuciones de Linux que, hasta el momento rechazaban incluirlos en su distribución, cambiaran de parecer, aunque por el momento dicho cambio no está causando los efectos que Sun esperaba. Inicialmente fue RedHat la que mostró sus reticencias, uniéndose posteriormente Debian, la cual sí que incluyó paquetes para Java en un primer momento en sus versión experimental.

Lo que sí parece claro es que por fin Sun está redirigiendo su filosofía y se está orientando más hacia el software libre. Según se comenta, no cabe duda de que Java se convierta en un proyecto libre, la cuestión en estos momentos es cuándo y cómo. Ese momento será seguramente uno de los más importantes, si no el que más, en mucho tiempo de la historia de Java.

Creo que va a ser hora de ponerse en serio con la certificación y volver a los libros, a pesar de la pereza que da el hacerlo. Todo lo bueno requiere un pequeño sacrificio ;) .

14Dec/050

Web 2.0

Es el término de moda en los entornos de programación web: AJAX, consistente en la interacción de las tecnologías JavaScript, HTML/CSS y XML. Aunque en sí misma esta conjunción resulta bastante reciente, las tecnologías implicadas son ya viejas glorias entre los programadores.

El concepto básico en el que se basa esta técnica de programación es bastante simple: cuando se produce un evento en el navegador web que está mostrando el código HTML, en vez de realizar una petición HTTP al servidor, tal y como se suele realizar normalmente, se crea un objeto JavaScript XMLHttpRequest, encargado de realizar dicha petición, la cual devolverá unos datos que serán pasados al manejador del evento que se haya definido.

Sencillo ¿verdad?. La gracia del tema (puesto que hasta ahora lo único que se ha hecho es complicar lo que antes se hacía de forma sencilla) es que la petición HTTP y la ejecución del manejador del evento se realizan en un segundo plano y de forma asíncrona, de forma que el efecto producido por el evento es percibido por el usuario sólo cuando la comunicación con el servidor ya ha terminado. Además, no resulta necesario realizar una recarga del código HTML, ya que es el propio manejador javascript el que edita el árbol DOM de la página web, lo que a efectos de interfaz resulta en una web dinámica que responde a eventos sin repetidas esperas entre cargas de páginas.

29Mar/040

Mono: ¡Hola Mundo!

Para retomar de nuevo la marcha del blog, he decidido comenzar mostrando algunos ejemplos de programación en C#. Por el momento os dejo el obligatorio programa para todo aquel que empieza con algún lenguaje.

Hola Mundo!

using System;

namespace HolaMundo {

   public class HolaMundo {
      public static void Main (string [] args) {
         Console.WriteLine ("Hola Mundo!");
      }
   }
}

Sencillo, ¿verdad? Tiene mucha semejanza con Java, exceptuando que las palabras reservadas difieren y que Java no posee el concepto de espacios con nombre o NameSpaces, entre otras.

Bueno, prometo que el próximo ejemplo será más interesante que éste.

8Aug/030

Funcionamiento de .NET

En los artículos anteriores hemos hablado de conceptos como CTS, CLI (CLS), IL o JIT, los cuales pueden resultar bastante confusos. A continuación daremos una aclaración del significado de cada uno de ellos, y explicaremos su función dentro de la plataforma .NET, para lo cual se hará una explicación más a fondo de su funcionamiento.

31Jul/030

Pasado, presente y futuro de Mono

En este artículo os comentaré un poco de historia sobre la evolución de la tecnología .NET y del proyecto Mono, que a pesar de su corta existencia, ha sido un proyecto muy vivo, y en el cual han participado y participan muchas personas de todo el mundo.

30Jul/030

¿Qué es Mono?

Mono (http://www.go-mono.com) es la implementación libre de la tecnología .NET, capaz de correr en Linux, sistemas *NIX, MacOS, y Windows. Gracias a este proyecto, los usuarios de sistemas *NIX podremos contar con los últimos avances en lo que a tecnología del software se refiere.