الخميس، 16 فبراير 2012

com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions(JdtCompiler.java:338)

Problem


<buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>


or Visualmente


Solucion.

PERU y su aporte al software libre

Perú al parecer es uno de los países con mayor aceptación y movimiento del software libre en SurAmerica.


Tienen madurez en informática, en derecho de TICs, he leído  algunos artículos muy interesantes que en este momento no lo mencionare.

El punto de esta entrada son unas de las canciones mas asertivas de las jerga informática que he conocido.

Uno de sus eventos mas grandes es  "Blog Day" donde se muestra que saben lo que hacen y lo hacen bien.

A continuación algunos de los mejores promocionarles, y soundtrack principal del proyecto, evento, en ello se puede apreciar la tendencia tecnológica contemporánea, el orgullo y amor por nuestra profesión expresada con melodía pegajosa.

Blog Day 2011


Blog Day 2010


Blog Day 2009 





الثلاثاء، 7 فبراير 2012

Aumentar mejorar el rendimiento velocidad de Java (Mejores Practicas)

Muchos preguntan esto, puesto que o bien creen que Java es lento o crearon o poseen un programa que se comporta lento.

La verdad del asunto es que independientemente si java es interpretado, etc, etc, etc, no importa que tan "compilado" o  nativo sea un lenguaje si no lo saben utilizar o no lo hacen bien, porque esto genera programas lentos.


Java es muy versátil y poderoso y aunque no lo crean la mayoría lo utiliza mal, hay muchos programadores en java que lo hacen como si estuviesen programando para "Visual Basic".


Solución:
  • Diseña bien tus programas y metodologías de programación para no abusar de los objetos, hay personas que utilizan un objeto Integer para almacenar un id de sexo por ejemplo.
  • Utiliza primitivas siempre que se pueda.
  • Ajusta apropiadamente el uso de las variables no deje siempre objeto o variables que utilicen mas memoria de la requerida.
  • Establece bien el ámbito o alcance de cada variable, de cada objeto, para que sea destruido apropiadamente.
  • Reutiliza métodos apropiadamente.
  • Establece métodos estáticos cuando sea necesario y cuando sea posible.
  • No utilices framework o librerías genéricas de terceros a menos que se necesario.
  • Utiliza patrones de poliformismo (reutilizacion) en tiempo de ejecucion.
  • En la medida de lo posible diseña tu propio framework u obtén el código fuente para poder optimizarle, mejorarle, agregarle y/o quitarle lo que no necesite.
  • Evita la programacion al estilo google (el buscador), siempre aprende el trasfondo y el porque de lo que estas haciendo.
  • Si el programa a diseñar sera ejecutado en un solo S.O entonces considere la posibilidad de utilizar JNI.
  • Reduce al minimo necesario en produccion los IO, esto consumen muchos recursos.
  • Reduce al minimo en produccion el uso de logs y utiilza herramientas especializadas como Log4J. 
  • KISS vease: Mantenlo simple estupido.
  • Al diseñar sopesa bien productividad vs rendimiento.
  • A menos que tengas mucha experiencia unos 12 años de experiencia no utilizar modelos como programacion extrema.
Como pueden ver la clave esta en el diseño, un programador experimentado sabe que el diseño es la base de todo, y una establecido cada detalle, se puede proceder a generar código. Siempre diseña primera y diseña


Otras mejores Practicas 
  • Diseña primero siempre, invierte el tiempo que sea necesario.
  • Utiliza Nomenclatura homogénea, estandarizada. 
  • Utiliza un formato de código homogéneo y mas estándar posible.
  • Utiliza un control de historial de código.
  • Utiliza alguna herramienta para hacer pruebas unitarias o de estrés.
  • Utiliza patrones que se ajusten a tus necesidades pero no lo deje tan genérico, muchos patrones están pensados para aplicaciones promiscuas y tratan de abarcar muchos escenarios, nuestra aplicación es privada y debemos pensar lo mas puesta a punto posible.

Una vez compilado lo único que resta es ajustar el heap (espacio de memoria reservado para un programa java) necesario para la ejecución de este programa:
  1. Aumenta el heap, el máximo y el mínimo.
  2. Aumenta el maxpersize adecuadamente.
  3. Utiliza o apunta a la jvm con soporte nativo ergo: a un jre.

Fuero de esto una vez compilado el programa es difícil hacer mas.


y nunca olviden que:

... para crear software de calidad duradera, rápido, eficiente y eficaz hay que crear una solida base arquitectónica que sea flexible al cambio.

:: Enlaces de referencia ::
Si quieres leer un poco mas de un equipo que lleva años en el medio y tiene amplia y basta experiencia, lee este articulo:

السبت، 4 فبراير 2012

Visual Editor swing Eclipse Helios, Indigo, Kepler+

Aunque el proyecto "Visual Editor" de Eclipse aún no esta muerto (pero pronto lo estará), a partir de Helios ya no es necesario porque ha sido sustituido por el "Window Builder" y desde Indigo ya viene por defecto para proyectos Swing, AWT y GWT.


Window Builder
Sitio oficial:
http://www.eclipse.org/windowbuilder/

Objetivo: Proveer la solucion definitiva para el diseño de interfaz grafica de usuarios (GUI) de forma facil, flexible y productiva, siendo la solucion para todas las plataformas requeridas: AWT, SWING, SWT, XWT, RCP e incluso GWT, tanto aplicaciones web como de escritorio, y totalmente WYSIWYG.


Adios a Matizee
Aunque utilicé matizee y siempre lo desechaba en favor de Visual Editor, por razone como: genera mucho codigo, en modo flexible se distorciona con facilidad, no podia modificar mi codigo a gusto, etc,  para aquellos que les encanta utilizarlo migraron a NetBean supuestamente porque matizee era mejor, pero esto ya no sucede, a los que les gustan las cosas faciles y le llaman productividad ya pueden contar poder del poderoso eclipse y todos sus beneficios y con un editor de GUI mucho mas fácil, limpio, claro intuitivo y que no genera tanto código extra al utilizarlo.

Ventajas de Eclipse
- Editor Visual limpio y multiproposito.
- Excelente Motor de Depuración, patea al de NetBean 3 veces.
- GUI prolija y flexible
- Permite modificar el codigo generado a nuestro gusto o ignorancia sin afectar el logro visual.


Window Builder Pro.
Home: http://www.eclipse.org/windowbuilder/download.php
Originalmente se tenia separado las versiones Window Builder y Window Builder Pro, el pro con un costo claro esta, pero el despues el codigo de Window Builder Pro fue donado y ahora es publico y gratuito.


Creando Aplicaciones de Escritorio

Creando Aplicaciones Web

Recomendaciones para instalar
Recomiendo Instalar las siguientes Herramientas:
  1. El Windows Builder Pro enlace
  2. Window Tester Pro Enlace
    1. Analiza el diseño y código de la ventanas para probar su rendimiento
  3. CodePro AnalytiX
    1. Analiza el codigo de tu aplicacion para encontrar debilidades y poner a prueba el rendimiento.
  4. Google Web Toolkit
    1. para utilizar el Google Web ToolKit 
  5. GWT Designer 
    1. Controles y caracteristicas propias del GWT  (Google Web Toolkit)
Con esto tendran todo lo necesario para desarrollar la aplicacion que desee o neceite.


(post aun En proceso)