Descompilador Java

En busca de un descompilador para Java, terminé dando con DJ Java Decompiler.

DJ Java Decompiler es un decompilador y desensamblador de Windows para Java que reconstruye el código fuente original de los archivos binarios .class.

DJ Java Decompiler es “autosuficiente”, es decir, no necesita de tener istalados ni el JDK ni el JRE.

El uso es muy sencillo, luego de abrir DJ Java Decompilar, hay abrir un archivo .class e instantaneamente, veremos su código fuente original (el .java). Lo he probado con clases simples y no he tenido problemas, será cuestión de ver como se trabaja con clases mucho más complejas (los comentarios de la web hablan que se comporta muy bien también).

Anteriormente, hemos visto como Instalar nuevos Look and Feels. En esta oportunidad, pongo a disposición el Look and Feel de Mac OS X (Quaque Look and Feel), que puedes descargarlo aquí.

Para recordar rápidamente como “instalarlo”:

  1. Copiar quaqua.tar en el directorio jre\lib\ext
  2. En archivo swing.properties en swing.installedlafs Quaua por ejemplo (swing.installedlafs = metal,motif,winXP,Quaqua)
  3. Crear las claves:
    1. swing.installedlaf.Quaqua.name = Quaqua
    2. swing.installedlaf.Quaqua.class = ch.randelshofer.quaqua.QuaquaLookAndFeel

Para abrir un archivo en Python se utiliza la función open. Ésta devuelve un objeto del tipo archivo, que tiene métodos y atributos.

Entre sus atributos se pueden citar:

  • mode: modo de apertura del archivo
  • name: nombre del archivo
  • closed: estado del archivo (abierto o cerrado)

Y métodos como:

  • seek: mueve la posición actual dentro del archivo
  • tell: confirma que la posición actual ha cambiado
  • read: lee un número especificado de bytes (o todo el archivo)
  • readline: lee una línea
  • readlines: lee todas las líneas y devuelve una lista
  • write: escribe en un archivo
  • close: cierra un archivo

(más…)

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.

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

(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.

(más…)

Además de su IDE favorito, todo desarrollador de Java debe tener:

  • Firefox: ¿se necesita decir algo del mismo?
  • Apache Ant: no será necesario si usas NetBeans
  • JEdit: principalmente por su gran cantidad de plugins (por ejemplo LogViewer and HexViewer)
  • Subversion: repositorio de excelente integración con NetBeans y Eclipse.
  • Apache Tomcat: servidor web con soporte de servlets y JSPs
  • GlassFish: el mejor servidor de aplicaciones open source del momento
  • Hudson: herramienta de continua integración con el servidor para las tareas de desarrollo y testeo de proyectos de software
  • Java Service Wrapper: permite lanzar aplicaciones Java como servicios de Windows.
  • CheckStyle/PMD: herramientas que estandarizan el estilo el código para hacerlo más mantenible.
  • JASYPT: excelente librería para encriptar y desencriptar passwords, archivos, etc.
  • Apache Commons Library: contiene la mayoría de las utilerías de clases que necesitas
  • JUDE Community: excelente herramienta libre de modelado UML
  • MySQL: la base de datos open source más popular del momento
  • Google

Vía: Must have tools for a Java Developer

No voy a explicar lo que es un repositorio pues Just Sherekan lo explica muy bien. Me limitaré a instalar Subversion (SVN) en Windows, y hacer unas pocas pruebas para subir al repositorio desde NetBeans.

En mi caso descargué VisualSVN Server, lo instalé y configuré dos usuarios y un grupo al que asigné a los usuarios; todo esto a través de una interfaz muy sencilla.

Luego bajé dos clientes SVN, uno para integrarlo al NetBeans y otro para integrarlo al Windows Explorer. En adelante, habiendo instalado el primero de los clientes nombrados, explicaré muy brevemente como importar un proyecto de NetBeans en el SVN:

(más…)


Búsqueda personalizada


Categorías

Licencia de uso

Usuarios

       web counter