Convenciones de código

Para empezar este post, me parece adecuado empezar citar la comparación “Programar es como escribir“, vía chuidilang.

  • Hay quien escribe mal, con faltas de ortografía y no se entiende qué quiere decir.
  • Hay quien no sabe escribir correctamente, pero consigue explicarse.
  • Hay quien redacta y explica a la perfección y…
  • ¡Hay quien hace poesía!

Los programadores, debemos sufrir muchas veces códigos ajenos, y los hay desde poemas hasta aquellos mal escritos, con faltas de ortografía y se que no entiende que quiso decir su autor.

Como no podemos pedir que sean todos poemas, es necesario un marco que sujete cada línea de código, para que no sea tan dificil la tarea de lidear con uno u otro tipo de “escritor”.

Las convenciones de código son ese marco, y las mismas son muy importantes tanto para trabajo en grupo como para el trabajo individual (cuantas veces te has preguntado al mirar ese código que hace más de seis meses que no tocas ¿que quise hacer aquí?).

Un caso de estas convenciones, y que recomiendo leer, son las propuestas por Sun: Convenciones de código para el lenguaje de programación Java

wxPython es un conjunto de librerías gráficas para Python que permite a los programadores crear GUIs de manera fácil y sencilla. Se implementa como un módulo de python (código nativo) que utiliza las librerías multiplataforma wxWidgets programadas en C++.

Tal como Python y wxWidgets, wxPython es open source.

Si tienes has dado los primeros pasos con Python, seguramente lo tienes instalado en tu sistema, bastará con descargar el runtime wxPython y un ejemplo. Luego, desde consola bastará ejecutar python Test.py:

Si puedes ejecutar el ejemplo, la librería está instalada, y estamos en condiciones de comenzar a desarrollar.

¿Qué es OOXML?

En los últimos días se ha generado mucho ruido acerca de la estandarización ISO de la especificación OOXML, pero en realidad ¿que es OOXML?

Office Open XML es un formato de archivos desarrollado por Microsoft para suceder a sus formatos binarios de archivos sus aplicaciones de ofimática. OOXML fue cedido por Microsoft a los principales organismos de estandarización, entre ellos ISO. Esto último crea una gran controversia (Dile NO al formato de Microsoft como estándar ISO), pues ya hay un estándar (ISO 26300) llamado Open Document Format.

ODF (Open Document Office) es un estandar de acceso libre, basado en XML e inicialmente creado por OpenOffice.org, que puede ser implementado sin restricciones y pretende ser una alternativa ante el formato propietario de Microsoft.

El día 01/04/2008 según comunicado oficial de Microsoft, el formato OOXML fue aprobado con un 86% de los votos como ISO DIS 29500 (Office OpenXML, OOXML).

Leer más »

  1. Utilizar el comando EXPLAIN
  2. Utilizar permisos poco complejos: permite reducir la sobrecarga cuando los clientes ejecutan las sentencias
  3. Utilizar la función BENCHMARCH() para ver lo rápido que MySQL procesa la expresión
  4. Optimizar la cláusula WHERE: elimine paréntesis innecesarios. Use la opción SQL_SMALL_RESULT para indicarle al optimizador que el conjunto de datos a devolver es pequeño
  5. Ejecutar OPTIMIZE TABLE: defragmenta, repara y ordena los archivos
  6. Evitar columnas de longitud variable como VARCHAR, BLOB, and TEXT
  7. Utilizar INSERT DELAYED cuando los clientes no pueden esperar a que el INSERT se complete
  8. Priorizar las sentencias con INSERT LOW_PRIORITY y SELECT HIGH_PRIORITY
  9. Usar INSERT múltiple para insertar varias filas (INSERT INTO … VALUES (…),(…),(…) )
  10. Sincronizar los tipos de datos. Por ejemplo, que los tipos de datos de los campos utilizados en un JOIN sean los mismos.

Vía: 10 tips for optimizing mysql queries

Al mejor estilo Google Docs, WWW SQL Designer es una herramienta web para crear y graficar esquemas de bases de datos directamente de tu browser, sin necesidad de ningún programa externo (ni siquiera flash). Solo necesitas que tener habilitado JavaScript.

WWW SQL designer trabaja perfectamente con cualquier Mozilla, IE, Safari y Opera. Soporta la creación de tablas, campos con tipo de datos, PKs, FKs, comentarios e índices.

Pueden visitar la página oficial, probar una demo on line o bajarlo para correr en un servidor web (Apache, IIS) local.

Estadísticas de red

netstat es un comando disponible en la mayoría de los sistemas operativos que permite visualizar las conexiones activas, entrantes y salientes, de nuestro host.

Entre la información que suministra se puede ver:

  • ip:puerto cliente de una conexión
  • ip:puerto servidor de una conexión
  • estado de la conexión
  • pid y nombre del ejecutable que intervine e la creación de la conexión
  • tablas de ruteo
  • estadísticas de bytes, paquetes y errores (recibidos y enviados)
  • etc

El comando resulta muy util para saber que conexiones tiene abierto nuestro equipo, a cuales puertos está escuchando y cuales son los procesos, servicios o aplicaciones que abren o tienen establecidas conexiones remotas. Además es muy util para todos aquellos programadores que trabajen con sockets.

Leer más »

  • 1 Comentario
  • Categoría: Redes, TCP/IP
  • Si deseas ver los comandos de Linux más utilizados en tu consola basta con ejecutar:

    history | awk '{print $2}' | awk 'BEGIN {FS='|'} {print $1}
    | sort | uniq -c | sort -rn | head 5

    Leer más »

    Entrada básica en Python

    La forma más sencilla de obtener datos ingresados por el usuario es por medio de las funciones input y raw_input.

    raw_input recibe como parametro una cadena que es utilizado por la función como promt y devuelve otra cadena con lo ingresado por el usuario hasta que apretó Enter.

    nombre = raw_input("Su nombre: ")
    print "Hola " + nombre

    Leer más »

    Realizar una captura de pantalla en Java es muy facil gracias al paquete java.awt.Robot. A continuación el ejemplo:

    package snapshot;
    
    import java.awt.AWTException;
    import java.awt.Robot;
    import java.awt.Rectangle;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import javax.imageio.ImageIO;
    
    public class Main {
    
      public static void main(String[] args)
        throws AWTException, IOException {
    
        BufferedImage pantalla = new Robot().createScreenCapture(
          new Rectangle(
            Toolkit.getDefaultToolkit().getScreenSize() ) );
        File file = new File("C:\\pantalla.jpg");
        ImageIO.write(pantalla, "jpg", file);
    }
    }

    Via: kodrs

    Matar procesos desde Java

    Veremos una aplicación muy sencilla, de un ejemplo publicado en Xnoccio, para finalizar procesos externos desde una aplicación Java.

    Leer más »


    Búsqueda personalizada


    Categorías

    Licencia de uso

    Usuarios

         web counter