// // // // // // //

lunes, 11 de julio de 2016

Curiosities I: Performance, Maths and powers of 2

While programming we usually use the math operators. But if we are using a power of 2 as divider or multiplicand you can use bitwise operatos to speed up the operations.

miércoles, 9 de septiembre de 2015

TableLayoutPanel without Flicker

    How many people suffer the flicker in C# Winforms Controls? I think a lot of it. There are a lot of solutions, but almost all of it are subclassing the control. But i found a simplier way, especially when you have your Form/UserControl already designed.

miércoles, 1 de julio de 2015

Más Patrón estrategia

    Hace tiempo que no escribo pero hace poco hicimos entrevistas en mi trabajo para contratar a alguien. Le propusimos un algoritmo tan sencillo como recorrer números del 1 al 100 y si son múltiplos de 3 mostrar fizz, si lo son de 5 buzz, si lo son de ambos fizzbuzz y si no mostrar simplemente el número. Obviamente, si el número es 15 por ejemplo, solo se mostraría fizz buzz. Aquí algunos ejemplos de los algoritmos que vi:

lunes, 11 de mayo de 2015

Expresiones Regulares para Números (StackOverflow)

Hace unos días encontré esta respuesta en StackOverflow: 
Me llamo muchísimo la atención así que he decidido añadirlo al blog para no perderle. Quiero hacer hincapié en el final, en el que habla sobre la claridad del código de los patrones y como indentarlo correctamente. Estos patrones son al estilo PERL, puede que no funcionen correctamente en JAVA, aunque no debería haber problema. Copio la respuesta a continuación:

jueves, 5 de febrero de 2015

Enums y el Patrón Estrategia

    Hoy toca hablar de los enums en Java y de cómo usarlos junto con el Patrón Estrategia. En Java, los enums son mucho más potentes que en la mayoría de los lenguajes, en los que solo se guarda una palabra con un número.

domingo, 11 de enero de 2015

Interfaces funcionales, Clases anónimas y Lambdas

    Todo el mundo sabe que existen las interfaces pero… ¿Sabemos cuándo usarlas? Aquí mostraré uno de sus usos: Las Interfaces funcionales. También aprovecharé para hacer una pequeña introducción a las Lambdas.

viernes, 9 de enero de 2015

Trabajando con Graphics

    El funcionamiento de la clase Graphics, que es la encargada de pintar las cosas en pantalla, es muy sencillo, lo ilustraré pintando un cuadrado en una ventana. Usaré este método de Graphics: fillRect(int x, int y, int width, int height). Para usarlo, debemos obtener una instancia de Graphics, puesto que no podemos instanciarla directamente. Para hacer esto, colocaremos un JPanel dentro de un JFrame y un JButon. Al pulsar el botón ejecutaremos este método:
private void bPintarActionPerformed(java.awt.event.ActionEvent evt) { 
         
        // Obtenemos el graphics del panel en el que dibujaremos
        Graphics g = panel.getGraphics();
        // Decimos lo que dibujar y que color queremos
        g.setColor(Color.RED);
        g.fillRect(10, 10, 100, 100);
        // Lo pintamos en el panel
        panel.paintComponents(g);
}   
Y veremos que pinta correctamente un cuadrado rojo.