style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

blog de Sr. Negativo

Aprendiendo Java en "serio" ... [010]

Temario muy básico de Java

  1. Compilar y ejecutar programas Java: java, javac,etc.
  2. Arreglos: vectores y matrices
  3. Introducir datos en Java: Scanner, BufferedReader, JOptionPane, etc.
  4. Uso de Collections: List, HashMap, etc.
  5. Java Swing básico
  6. Proyecto sencillo no.1
  7. IDEs: Eclipse y NetBeans
  8. Java y las bases de datos
  9. Proyecto sencillo no.2
  10. Java y XML
  11. Frameworks

Java y XML

¿Por qué aprender XML?, es necesario en algunas configuraciones (hibernate.cfg.xml), para obtener datos de un sitio web, de un repositorio, etc. XML tiene la fama de ser dificil (en algunos casos lo parece) de aprender y usar. Sin embargo no se puede dejar de lado si quieres dedicarte a programar.

XML en la vida real

El usuario tiene la culpa

No importa el tiempo que invertiste en revisar cada línea de código, las pruebas unitarias, las horas de desvelo y la frustración para que tu proyecto funcione correctamente. El usuario siempre se encargará de hallarle un problema.

Te preguntas ¿qué hice mal y/o qué pude haber omitido?. Vuelves a revisar el código, realizas varias pruebas más. Todo parece funcionar bien.

De pronto el usuario aparece de la nada y te dice que hay un nuevo problema. No puede llenar los formularios por que el sistema le marca un error. Le preguntas que datos trato de introducir, el responde que solo siguio las instrucciones que le dijeron.

"... me marca error al introducir los datos en el formulario"

De nueva cuenta te desvelas tratando de hallar la causa de los problema, realizas más pruebas y de nuevo todo parece funcionar bien. ¿Qué estaré haciendo mal?

Herramientas que todos deberíamos usar

Esta es una lista de lo que (según yo) deberíamos usar para comenzar un proyecto.

1. Git / Subversion

Tener un repositorio como Github (u otros más), para poder compartir nuestro código. Hay muchos código útiles con los que podemos aprender y aportar un poco. Algunas empresan antes de contratar gente les preguntan si tienen una cuenta y que proyectos han hecho.

2. Servicios en la nube

Muchas veces herramientas como evernote y/o dropbox te salvan la vida. Cuando no cuentas con tu máquina y es necesario un archivo es recomendable guardar una copia.

  1. SaaS, servicios como gmail, dropbox, drive,etc
  2. PaaS, google app engine, etc.
  3. IaaS, servicios como los de amazon, etc.

Existen muchas herramientas para generar notas, mapas mentales, probar código sin necesidad de instalar un servidor, etc.

3. Aplicaciones portables

Un vistazo a Griffon

Tuve la curiosidad de usar este framework al leer este post Aqui y como soy medio lento en aprender haber como me va.

¿Donde lo descargo?

http://griffon.codehaus.org/Download

¿Cómo crear un API Java?

Hola a todos, tengo varias dudas de como crear un API para el análisis de documentos PDF. Ya se que existen librerías como iText o PDFBox, pero no me sirven para realizar el análisis.

¿Cuál es el problema?

No existe (o no conozco) un API en Java para el análisis de documentos PDF. Existen varias alternativas, pero están hechas en Python.

¿Qué quiere decir "análisis de documentos PDF"?

Leer la "estructura" del documento PDF, mostrar esa estructura y comprobar si cumple con los estandares (estar bien formado).

Para ver esta estructura basta que abras cualquier PDF con el bloc de notas.
Estructura de un PDF

%PDF-1.1

/*falta más, solo puse una parte*/
trailer
<<
 /Size 8
 /Root 1 0 R
>>
startxref
642
%%EOF

¿Qué es lo que se debe hacer?

El usuario tiene un documento PDF y quiere subirlo al servidor para luego ser procesado.

Eclipse Juno

Eclipse Juno

Lista la nueva versión de Eclipse, ya tiene algo de tiempo que salió por si alguin no estaba enterado.

Habra que probarlo para ver que es lo nuevo que trae.

Sitio de descarga Eclipse Juno

BrainLeg ... o cómo buscar las "famosas" excepciones en Java


Navegando encontré es te sitio http://www.brainleg.com/cdata/index.html

Es algo así como un Motor de búsqueda de excepciones Java.

BrainLeg is a new way for java developers to find and share solutions for java exceptions—a search engine that actually understands differences in packages and source lines, nesting of exceptions, and more.

La verdad ¿quien no ha encontrado una excepción "media extraña" que no nos deja dormir en paz?, no importa si tu código esta "bien" escrito, siempre aparecen a la hora de ejecutar tu programa (en la compilación todo parece funcionar muy bien).

  • Se puede instalar un plugin para IntelliJIDEA
  • En tu sitio web
  • Además puedes instalar una extensión para Mozilla Firefox y Chrome

Aprendiendo Java en "serio" ... [009]

Temario muy básico de Java

  1. Compilar y ejecutar programas Java: java, javac,etc.
  2. Arreglos: vectores y matrices
  3. Introducir datos en Java: Scanner, BufferedReader, JOptionPane, etc.
  4. Uso de Collections: List, HashMap, etc.
  5. Java Swing básico
  6. Proyecto sencillo no.1
  7. IDEs: Eclipse y NetBeans
  8. Java y las base de datos
  9. Proyecto sencillo no.2
  10. Java y XML
  11. Frameworks

Java y las bases de datos

Al desarrollar una aplicación (web o de escritorio) muchas veces es necesario contar con una base de datos para tener un control de la información que se almacena, modifica o se elimina. Java permite utilizar SQL dentro de nuestras aplicaciones. JDBC era una buena alternativa para aplicaciones pequeñas, así que fueron apareciendo Framework ORM (para el mapeo objeto-relacional) como Hibernate para hacer esto más sencillo.

Sistemas de bases de datos

¿Asesino serial o inventor de lenguaje de programación?

Vía Twitter encontré este link http://www.malevole.com/mv/misc/killerquiz/

Es un test que muestra la foto de una persona y debes elegir si se trata de un asesino serial o un inventor de lenguaje de programación (no es nada malo).

Me pareció interesante y lo comparto con ustedes.

Distribuir contenido

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">