Ir al contenido principal

Entradas

Clase Download alpha

En esta ocasión quiero entregarles uno de los códigos mas interesantes del siguiente ejercicio, el administrador de descargar. Este administrador de descargas al estilo del viejo FlashGet, nos muestra una primera clase; Download. Esta clase primeramente nos muestra su "signature", es un objeto observable y puede ser corrido paralelamente. Seguidamente nos muestra el tamaño máximo que el buffer va leer, 1 kb por lectura para el "stream". Después vemos el Status, muy auto descriptivo. Y las propiedades de la clase, el url a descargar, el tamaño del archivo remoto a descargar, "downloaded" almacena la cantidad de bytes leídos, el estado actual de la descarga y por ultimo un valor opcional "baseDirectory" que se refiere al directorio base de donde almacenar los archivos a descargar. A continuación, encontraremos una serie de métodos que nos develan el estado o disparan nuevos estado a la descarga. Una vez creada la descarga, se puede i...

Analizador de expresiones algebraicas recursivo decendente

Como les mencione en un post previo, estoy leyendo el libro el arte de programar en Java, el primer ejercicio consiste en un analizador de expresiones algebraicas recursivo descendente, el mismo consiste en la posibilidad de tomar una cadena que contenga una expresión matemática, la misma puede contener valores en punto flotante, sumar, restar, dividir, multiplicar, sacar exponente (potencia), uso de paréntesis para priorizar una operación, etc. A continuación clase a clase, con una pequeña explicación Lo primero que definiremos es una suite de excepciones para reportar errores, no tiene mucha ciencia, hay una para la division entre cero, cuando no existe una expresión valida, error de sintaxis o cuando los paréntesis no se encuentran balanceados, veamos package cap2; /** * Exception para reportar que hay al intentar dividir entre cero * * User: jsanca * Date: 4/16/13 * Time: 1:30 AM * @author jsanca */ public class DividedByZeroException extends RuntimeException { ...

El arte de programar en Java

Tengo mas de una decada programando en Java, siento que me manejo de manera aceptable en el lenguaje, algunos frameworks, librerias y herramientas alrededor; sin embargo esa posicion de "comfort" creo que puede resultar perjudicial para el desarrollador, pues la mayoria de los retos que uno suele encontrar en el trabajo no pasan de ser cosas de gestion de datos, que implican seguridad, escalabilidad, entre otros aspectos muy importantes, pero a la poste algo triviales (ya se han hecho varias veces, algunas ocasiones hay retos interesantes, pero nada super emocionante). En ese mundo "perfecto" creo que uno puede debilitar o perder ciertas habilidades cognitivas que solia tener en la Universidad, como un aceptable razonamiento logico matematico, entre otros; por tal razon me he dado a la tarea de volver algunos libros de logica, de la misma manera desempolvar algunos libros de programacion, uno interesante aunque algo viejo es "El arte de programar en Java...

Links acerca de usabilidad

Bueno esta haciendo un research acerca de usabilidad y decidi compartir algunos de los links mas interesantes: Este esta muy cool y dice por que son buenos, gmail #1: http://www.1stwebdesigner.com/design/well-designed-usable-sites/ Los mejores menus: http://www.kronikmedia.co.uk/blog/website-navigation-menu-design/3580/ Otro top ten: http://www.topsite.com/best/usability los CMS con mas usabilidad http://net.tutsplus.com/articles/web-roundups/top-10-most-usable-content-management-systems/ Las grandes companias que incorporan usabilidad en sus sistemas: http://www.siteiq.net/7806/the-2013-usability-top-10-ibm-leads-sap-soars-and-apple-screws-up-the-rankings-2 + Algo interesante: top ten de sitios de Universidades http://blog.thebrickfactory.com/2010/03/top-11-best-designed-university-websites/ Y estos son 10 videitos acerca de usabilidad: http://www.usefulusability.com/10-must-see-usability-videos/ Enjoy!

Flash y HTML 5

Bueno mucho tiempo desde mi ultimo post, se que siempre digo lo mismo; pero realmente espero este 2013 revivir un poco mi blog. Sin duda las herramientas sociales han desviado un poco el flujo del contenido y herramientas como los blogs han perdido algo de terreno, sin embargo resultan mas ordenados que el timeline de FaceBook y fáciles de clasificar, buscar, etc. Dicho lo anterior, hoy quiero escribir un poco acerca de Flash y HTML 5; el estandar que aun no se encuentra full implementado, ha tenido una fuerte adopción desde la negativa de los dispositivos apple (los iToys) de incluir un cliente de flash dentro de sus sistema operativo, argumentando que HTML 5 podía ofrecer la misma funcionalidad sin necesidad de utilizar un plugin en nuestro browser (quizás fue una buena decisión a jugar, por lo problemas de seguridad de los java/applet plugins que hemos visto hoy en día), las nuevas versiones de Android tampoco soportan flash x). En lo personal nunca fui muy fan del acti...

Javascript y DOM (creando Listas)

El siguiente es un ejemplo de Javascript de como crear una lista con parrafos adentro, utilizando para ello unicamente el DOM, adicionalmente se muestra un ejemplo de como usar el getElementByTag, con el cual obtenemos una Array de tag y cambiamos el estilo (color) a azul <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">     <head>         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />         <title>New Web Project</title>             </head>     <body>         <div>             <ul>                 <li><p>Uno</p></l...

Mapped Files en Java

Hola, queria compartir este interesante articulo de como tomar ventaja de las plataformas de 64 bits y los Mapped Files en Java, permitiendonos leer agilmente archivos de mas de 4 Gigas en memoria. http://javarevisited.blogspot.com/2012/01/memorymapped-file-and-io-in-java.html Tomar en cuenta, que el ejemplo solo va funcionar en plataformas de 64 bits, pues en plataformas de 32 el O.S solo puede direccionar a lo subo 4 GB Un saludo, J