¿Te atreves a soñar?

Este vídeo que recomiendo enormemente, refleja una gran verdad en cualquier ser humano: el miedo al cambio.
Cuántas y cuántas personas se van a sentir totalmente identificadas con este vídeo.
Sólo los más valientes dan el paso… y tú, ¿te animarías a salir de la zona de aprendizaje?

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Objetivos principales de la certificación java 6 SCJP6-OCJP6

El temario principalmente contiene los mismos objetivos ordenados por temas. Lo podéis encontrar también en la página oficial de Oracle.

Sección 1: Declaraciones, inicialización y ámbito
Desarrollar código que declare clases (incluidas clases abstractas y todos las formas de clases anidadas), interfaces y enums, y que incluya el uso apropiado de instrucciones package e import (incluidas importaciones estáticas).
Desarrollar código que declare una interfaz. Desarrollar código que implemente o amplíe una o más interfaces. Desarrollar código que declare una clase abstracta. Desarrollar código que amplíe una clase abstracta.
Desarrollar código que declare, inicialice y use primitivas, arreglos, enums y objetos como variables estáticas, de instancia y locales. Asimismo, utilizar identificadores válidos para los nombres de variable.
Desarrollar código que declare métodos tanto estáticos como no estáticos y, si resulta adecuado, que utilice nombres de método con nomenclatura de JavaBeans. Además, desarrollar código que declare y utilice una lista de argumentos de longitud variable.
Con un ejemplo de código dado, determinar si un método está sobrescribiendo o sobrecargando correctamente otro mètodo e identificar valores de retorno válidos (incluidos valores de retorno covariantes) para el método.
A partir de una serie de clases y superclases, desarrollar constructores para una o varias clases. Con una declaración de clase dada, determinar si se creará un constructor predeterminado y, en caso afirmativo, determinar su comportamiento. Con una lista de clases anidadas y no anidadas, escribir código para crear instancias de la clase.

Sección 2: Control de flujo
Desarrollar código que implemente una instrucción if o switch e identificar tipos de argumentos válidos para estas instrucciones.
Desarrollar código que implemente todas las formas de ciclos e iteradores, incluidos el uso de for, el ciclo mejorado (for-each), do, while, labels, break y continue. Indicar los valores que adoptan las variables de control del ciclo durante y después de la ejecución del ciclo.
Escribir código que utilice afirmaciones y distinga entre el uso apropiado e inapropiado de las afirmaciones.
Desarrollar código que utilice excepciones y cláusulas de manejo de excepciones (try, catch, finally), y declarar métodos y sobreescribir métodos que generen excepciones.
Reconocer el efecto que produce una excepción que se genera en un punto dado de un fragmento de código. Puede ser una excepción runtime, una excepción comprobada (checked) o un error.
Se han de identificar también las situaciones en las que se generará alguna de las siguientes exceptions: ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError o NoClassDefFoundError. Saber cuáles genera la máquina virtual y en qué situaciones deberían generarse programáticamente otras exceptions.

Sección 3: Contenido del API
Desarrollar código que utilice las clases wrapper primitivas (como booleno, carácter, doble, entero, etc.) y/o autoboxing y unboxing. Describir las diferencias entre las clases String, StringBuilder y StringBuffer.
En una situación en la que se requiera desplazarse por los file systems, leer archivos o escribir en archivos, desarrollar la solución adecuada mediante el uso de las siguientes clases (o una combinación de ellas) del paquete java.io: BufferedReader,BufferedWriter, File, FileReader, FileWriter y PrintWriter.
Desarrollar código que serialice y/o deserialice objetos mediante el uso de las siguientes API de java.io: DataInputStream, DataOutputStream, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream y Serializable.
Utilizar API de J2SE estándar del paquete java.text para asignar formato y analizar correctamente fechas, números y valores de moneda de una configuración regional específica. En una situación dada, determinar los métodos que se deben utilizar si se desea emplear la configuración regional predeterminada u otra específica. Describir el objetivo y la utilidad de la clase java.util.Locale.
Escribir código que utilice API de J2SE estándar de los paquetes java.util y java.util.regex para asignar formato o analizar cadenas o secuencias. Para cadenas, escribir código que utilice las clases Pattern y Matcher y el método String.split. Reconocer y utilizar patrones de expresión regulares para establecer la coincidencia (limitado a: . (punto), * (asterisco), + (signo más), ?, \d, \s, \w, [], ()). El uso de *, + y ? se limitará a cuantificadores greedy y el operador de paréntesis sólo se empleará como mecanismo de agrupación, en lugar de para capturar contenido durante la coincidencia. Para secuencias, escribir código utilizando las clases Formatter y Scanner y los métodos PrintWriter.format/printf. Reconocer y utilizar los parámetros de formato (limitado a: %b, %c, %d, %f, %s) en cadenas de formato.

Sección 4: Concurrencia
Escribir código para definir, instanciar e iniciar nuevos threads utilizando java.lang.Thread y java.lang.Runnable.
Reconocer los estados en los que puede existir un thread, e identificar condiciones en las que puede pasar de un estado a otro.
En una situación dada, escribir código que utilice correctamente el bloqueo de objetos para proteger las variables estáticas o de instancia de los problemas de acceso concurrente.
En una situación dada, escribir código que utilice correctamente wait, notify o notifyAll.

Sección 5: Conceptos de la programación OO
Es un tema sencillo una vez que se han comprendido los conceptos. Se ha de saber desarrollar código que implemente encapsulación estricta, emparejamiento ligero y gran cohesión en las clases, y describir las ventajas que ofrece.
En una situación dada, desarrollar código que demuestre el uso del polimorfismo. También determinar cuándo se va a necesitar la conversión de tipos y distinguir los errores del compilador de los errores de tiempo de ejecución relacionados con la conversión de referencias de objeto.
Explicar el efecto de los modificadores en la herencia en lo que se refiere a constructores, variables de instancia o estáticas y métodos de instancia o estáticos.
En una situación dada, desarrollar código que declare y/o llame a métodos sobrescritos o sobrecargados y código que declare y/o llame a constructores de superclase, sobrescritos o sobrecargados.
Desarrollar código que implemente relaciones “is-a” y/o “has-a”.

Sección 6: Colecciones / Genéricos
Siempre tuve la asignatura pendiente en las colecciones y en los genéricos porque muchas veces no te paras a pensar en utilizar el más óptimo sino el que primero se te viene a la mente y varía mucho!
Se deberá determinar, en una situación de diseño dada, las clases o interfaces de colección que deberían utilizarse para implementar ese diseño de forma adecuada, incluido el uso de la interfaz Comparable.
Distinguir entre los valores de reemplazo correctos e incorrectos de los métodos hashCode y equals correspondientes, y explicar la diferencia entre == y el método equals.
Escribir código que utilice las versiones genéricas de las colecciones del API, en particular las interfaces Set, List y Map y las clases de implementación. Identificar las limitaciones de las colecciones API no genéricas y cómo refactorizar código para utilizar versiones genéricas. Escribir código que use las interfacces NavigableSet y NavigableMap.
Desarrollar código que utilice correctamente los parámetros de tipo en las declaraciones de clase/interfaz, las variables de instancia, los argumentos de métodos y los tipos de retorno. Escribir métodos genéricos o métodos que utilicen comodines y comprender las similitudes y diferencias entre estos dos métodos.
Utilizar las funciones del paquete java.util para escribir código destinado a manipular una lista para ordenarla, realizando un búsqueda binaria o convirtiéndola en un arreglo. Utilizar las funciones del paquete java.util para escribir código destinado a manipular un arreglo ordenándolo, realizando un búsqueda binaria o convirtiéndolo en una lista. Utilizar las interfaces java.util.Comparator y java.lang.Comparable para afectar la clasificación de las listas y los arreglos. Además, conocer el efecto que produce la “ordenación natural” de las clases primitivas wrapper y java.lang.String al ordenar.

Sección 7: Aspectos básicos
Dado un ejemplo de código y una situación, escribir código que utilice los modificadores de acceso, las declaraciones package y las instrucciones import adecuadas para interactuar (a través de acceso o herencia) con el código del ejemplo.
Con un ejemplo de una clase y una línea de comandos, determinar el comportamiento previsto del tiempo de ejecución.
Determinar cómo afectan laa referencias de objeto y valores primitivos cuando son pasados a métodos que realizan asignaciones u otras modificaciones en los parámetros.
Con un ejemplo de código reconocer el momento en el que un objeto se convierte en elegible del garbage collection, determinar que está y que no está garantizado por el sistema del garbage collection y reconocer los comportamientos del mètodo Object.finalize().
Con el nombre completo de una clase que se implementa dentro y/o fuera de un archivo JAR, construir la estructura de directorios adecuada a dicha clase. Con un ejemplo de código y una ruta de clase dados, determinar si la ruta de clase permite que el código se compile correctamente.
Escribir código que aplique correctamente los operadores adecuados para obtener el resultado deseado, incluidos los operadores de asignación (limitados a: =, +=, -=), los operadores aritméticos (limitado a: +, -, *, /, %, ++, –), los operadores relacionales (limitado a: <, <=, >, >=, ==, !=), el operador instanceof, los operadores lógicos (limitado a: &, |, ^, !, &&, ||) y el operador condicional ( ? : ), para producir un resultado deseado. Escribir código que determine la igualdad de dos objetos o dos primitivas.

Los objetivos son en principio sencillos y conocidos a priori por cualquier persona que tenga unos conocimientos mínimos de java. El problema es que el más mínimo despiste, puede convertir a una pregunta en errónea. ¡Hay que prepararse para ser un compilador humano!

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Temario e idioma de la certificación java

El temario se puede encontrar en bastantes sitios de descargas de internet. El libro recomendado para estudiar el examen por excelencia es:

http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060/ref=sr_1_1?s=books&ie=UTF8&qid=1328175515&sr=1-1

No quiere decir que sea el único disponible, pero es el más aconsejado.
Al finalizar cada tema, se proponen una serie de preguntas cuyas respuestas, están situadas al final del libro. Vienen muy bien para practicar porque cada respuesta correcta es justificada de por qué lo es y por qué el resto no.

Idioma: el inglés no es un idioma que tenga en el olvido porque siempre me ha gustado mucho y se me ha dado bastante bien, pero el no practicarlo, es un asunto muy malo, porque se olvida muy rápido! :(

Tras darle muchas vueltas, me animé a hacerlo en inglés por varios motivos: busqué opiniones en muchos foros y la conclusión que obtuve es que hoy en día, el inglés es un idioma universal. Siempre que necesitas buscar algo, raro es el problema que no se resuelve en una página escrita en este idioma y centrándonos en la certificación, el temario no conseguí tampoco encontrarlo en otro idioma. En el examen se puede elegir si lo quieres en inglés o en español, pero por partes:
1.- Si se estudia en inglés, hay una gran cantidad de exámenes, temario e información disponible en la red.
2.- Es poco lógico estudiarlo en inglés y cambiar el idioma el día del examen puesto que habrá expresiones con las que uno ya está familiarizado que al traducirlas no suenan igual.
3.- La traducción del examen no es de muy buena calidad. Algunas preguntas pueden resultar más confusas que aclaratorias.
Mi consejo al 100% por tanto, es estudiarlo y examinarse en inglés.

El día del examen la verdad que vas como un flan! (yo al menos…). Te meten en un habitáculo de unos 2 metros cuadrados donde dejas tus cosas (bolso, abrigo, etc) en una cajonera que cierran con llave. Como material para escribir o realizar apuntes, te dan una pizarra plastificada y un edding donde no puedes borrar ABSOLUTAMENTE NADA. Deberás entregarlo con todos los apuntes realizados. Y uno se plantea, el borrar y escribir todas las veces que quiera porque en dos metros cuadrados, poca gente cabe para vigilar. ¡Pues no! La gracia llega cuando ves una webcam y te informan de que estará grabando todo el transcurso del examen, así que, ¡ponéos guapos! :P

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Cómo obtener la certificación Java para programadores, SCJP6 nueva OCJP6

Hace casi un par de años decidí prepararme la certificación de Java Sun SCJP6. Me pareció buena idea porque es algo que podría aplicar directamente a mi trabajo diario y aunque cada vez la tiene más gente, es algo específico que no estaba muy extendido ni era muy conocido por la gente.

En los siguientes post iré poniendo algunos de los resúmenes de los temas y en especial, principales problemas que me encontré, que satisfactoriamente, todos fueron solventados puesto que aprobé con un 85% de resultado y, por supuesto, ¡muy satisfecha con el gran esfuerzo que realicé!

Lo primero que hice fue entrar en la página de Sun, ahora ya de Oracle, donde ya está disponible la versión 7. Os paso el enlace de la página oficial por aquí, donde encontraréis todo el listado de certificaciones que ofertan. Se pueden clasificar por roles:

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=457&get_params=pillar_id:6

Si no tenéis muy claro cómo se ha clasificado el que os interesa, en este enlace se encuentra el listado al completo:
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=632

Una vez escogida la certificación, se paga por un voucher, que es un código con el cual se podrá realizar posteriormente el examen.
Para realizar el examen se ha de concretar cita con una de las academias Prometic dándole el voucher pagado a Oracle.

Cuando yo la hice, la fecha de vencimiento de este voucher (no es infinito!) era de un año, por lo que hay que andarse con ojo y no dejar para mañana lo que puedas hacer hoy :-)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Indignada con los indignados

Nunca me ha gustado la política. De hecho diría que es el tema del que más odio hablar porque crea conflictos entre amigos, compañeros de trabajo, familiares… pero tristemente la política marca nuestro futuro en un porcentaje bastante alto como para que nos pongamos una venda en los ojos y no queramos saber nada de lo que sucede ahí afuera.

Ay INDIGNADOS!! que comenzasteis vuestro movimiento con todo mi apoyo y un objetivo claro: no apoyar ninguno de los proyectos que los partidos políticos promulgaban a los cuatro vientos. Pero, ¿en qué os habéis convertido después? Qué pena!! siempre los que tienen agallas para decir las cosas son los mismos y lo hacen con la misma función.
Una situación penosa en la que han dejado nuestro país una panda de sinvergüenzas y se lo hacéis pagar a los pobres comerciantes de Sol… más hubiera valido que hubierais reivindicado donde teníais que reivindicar, pero claro, no os interesa porque quizá no seáis tan apolíticos como alardeáis.

¿Y qué pasa ahora con Valencia? No dejo de escuchar y leer noticias sobre agresión policial brutal y pienso: “Pues vaya jefes de policía que nos ha dejado el señor Rubalcaba, otra perlita más de herencia”. Pero no… resulta que encima de que critican al jefe de policía que ellos mismos dejaron asignado, resulta que los malos no eran tan malos ni los buenos eran tan buenos.

Ninguno de los 43 detenidos el lunes era alumno del famoso instituto Luis Vives.
De los 43 detenidos solo 8 eran menores y 35 mayores de edad que a su vez ya tenian antecedentes por hechos similares.
De los 16 heridos 11 son policías. Dos de estos últimos, atendidos por mordeduras humanas en el dedo y hasta en los testículos.
¿Quiénes salieron a manifestarse? ¿Personas o animales? ¿Y por qué? Por avisarles de que uno no puede llegar y manifestarse sin permiso; cortar la calle a los viandantes que quieren pasear tranquilamente por allí; ni tampoco a los currantes que tendrán que inventar un GPS donde cada día se indiquen las calles cortadas por manifestaciones porque vaya ritmazo que lleva esta gente, señores!! Muchas ganas tenían de hablar. Llevan siete años callados y ahora cada día no se van a la cama un sólo día sin salir a la calle.

Vaya con los niños pacíficos con ganas de estudiar, son víctimas de esta sociedad y de la policia fascista. En fin…!!

Pero bueno, por el otro lado… mucho mejor mantenerse al margen y no informar de lo que realmente ha ocurrido, que bastante tenemos con la crisis y el déficit ligeramente superior al que nos habían informado los últimos jefazos. Pero de esto NO SE QUEJAN

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Remedios Cervantes hace perder 5000€ a un salmantino en Atrapa un millón

Hasta ahora no había puesto ningún referente a noticia de internet pero creo que esta cagada de la señorita Remedios Cervantes merece una entrada en el blog… a veces hay que controlar los impulsos, sobre todo si el dinero que te juegas no es tuyo sino de un pobre salmantino que no creo que sepa todavía lo que es una nómina.
A ver si es verdad que le da la pasta que le ha hecho perder, porque desde luego que al menos el disgusto no se lo quita nadie.
salmantino pierde 5000 euros por un impulso de la ex-miss españa Remedios Cervantes

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Internet en nuestras vidas

Esta entrada en mi blog va dedicada a este mundo que cada vez come más y más tiempo en nuestros días: internet.

No creo que jamás nuestros abuelos hubieran imaginado que con un simple tecleo pudiéramos encontrar información absolutamente de todo. Pero no simplemente información sino contacto con personas que creíamos fuera de nuestras vidas. Cada vez más personas se vuelven adictas de las redes sociales, donde puedes compartir alegrías y penas a modo de mensajes o fotos. Pero de vez en cuando, tanto compartir la vida de uno mismo, sobrepasa los límites de la intimidad y la privacidad de cada uno, por ello mucha gente aún se resiste a esta adicción.

Más allá de todo esto, internet se ha convertido en un modo de vida, en una manera ideal de promoción para muchas empresas donde, si no tienes página web, difícilmente te puedes dar a conocer. Por ello surgen grandes profesionales en la materia, informáticos con trato cercano al cliente donde plasman a la perfección los requisitos del cliente que ha de sentirse siempre satisfecho.
Una de las empresas que conozco dedicadas a este estilo de marketing, es http://www.aesinformatica.com que os recomiendo encarecidamente por experiencia personal. No sólo por la larga lista de clientes más que agradecidos con el resultado de sus páginas o programas sino por el gran conocimiento de sus componentes en el campo del posicionamiento de páginas en google porque… cuando tú buscas algo, no te vas a la página 35 de Google!! Te vas a los primeros resultados, y eso… vale mucho hoy en día.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Nochevieja Universitaria 2011

Lo que comenzó con “cuatro gatos” en la plaza mayor, un jueves de juerga universitaria, se ha convertido en uno de los eventos boom del momento. Son muchas las horas que los universitarios pasan juntos al día como para no tener su momento juntos en el comienzo del año.
Cada año, más multitudinario, se reúnen miles de estudiantes para comenzar una fiesta que se alarga durante toda la noche por la fiesta tan conocida de esta ciudad tan juvenil.
Y como buena nochevieja, no pueden faltar las doce campanadas, con la diferencia de que en vez de uvas, se reparten gominolas que realizan perfectamente esta función. Autobuses organizados de toda España acuden cada año a este evento. Este año se hará el día 15 de diciembre… Pamplona tiene sus Sanfermines y Salamanca, su nochevieja universitaria.

Os animo a todos a que algún año os animéis a disfrutar un evento del que estoy segura que terminará haciendo historia!

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Corazón de las arribes

Uno de los mayores orgullos que tengo es mi pueblo! Y se merece como tal una de las primeras entradas en mi blog. Aldeadávila de la Ribera está situado a 100 km de Salamanca, haciendo frontera con Portugal, pero hago también especial mención a Corporario, que es donde vivo realmente cuando voy!

Ante unos parajes áridos y llanos como hay en castilla, resaltan unos paisajes impresionantes y atípicos a la vista en esta zona. Y es que no tendrá edificios tan altos como Nueva York, pero también se podría dedicar una semana entera a visitarlo, sacando cada día fotos y más fotos porque esta zona no tiene desperdicio.

Concretamente merece la pena nombrar miradores como el “Mirador del Fraile” al que se puede acceder en coche y con muy buenas vistas a la presa del Salto de Aldeadávila así como el mirador de “El picón de Felipe” donde algún día, por qué no, postearé la historia que es ante todo curiosa. Este último tiene unas vistas mucho más espectaculares y como el que algo quiere algo le cuesta, tiene por delante también una caminata de unos 20-25 minutos (merece totalmente la pena).

También desde la playa de “El Rostro” de Corporario, se realizan paseos por el Duero en un barco de 100 personas donde en un viaje de aproximadamente una hora y media, se van narrando anécdotas y mostrando nidos de alimoches, cigüeñas negras y diversidad de fauna y flora que los de la capital no solemos estar acostumbrados a ver.

Y como por el día ya está el plan hecho, por la noche, principalmente en Agosto (las fiestas de San Bartolo del 23 al 29) las calles se llenan de las típicas peñas que los grupos de amigos han ido forjando allí cada año. Está asegurada la fiesta y la diversión sin ninguna duda.

Espero que algún día los que leáis este post, podáis comentar y opinar sobre ello, seguramente para darme la razón! jeje.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments

Carril bici Salamanca-Aldeatejada

Llevo mucho tiempo con el blog abierto y sin saber qué escribir en él.
Por fin me he animado y he decidido escribir acerca de algo que cada vez está más de moda en este país, no sin embargo en otros países de los que estamos a años luz porque lo han implantado desde hace ya mucho: el carril bici.
¿Y realmente para qué vale un carril bici? Y algo mucho más curioso, motivo por el que no sé responder a esta pregunta… ¿por qué los ciclistas no lo utilizan?
Trabajo en un pueblo cerca de Salamanca, concretamente Aldeatejada, lo que me obliga en cierta manera a ir en coche, pero el año pasado inauguraron un carril bici que llega hasta allí. Cada tarde cuando me vuelvo y ahora más aún, llegando el buen tiempo, veo cómo multitud de paseantes y de familias salen para hacer uso de él. Pero realmente es triste ver cómo hay gente que aun habiendo carril bici sigue utilizando la carretera como recurso para desplazarse con este vehículo.
Podría llegar a entender que los profesionales de este deporte vean la utilización de este recurso para “los aficionados” pero nos sorprendería conocer el número de personas que son atropelladas por este motivo.

Por todo esto, y por la cantidad de ciclistas que me cruzo cuando regreso de trabajar (no precisamente profesionales), os invito a desplazaros dos metros en paralelo y así utilizar el carril bici, que para algo se ha construido!! Evitaremos muchos disgustos.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS
Read Comments