martes, 18 de noviembre de 2014

Html5, AngularJS, Groovy, Java and MongoDB all together – what could go wrong? (24/11)

Hello again JUGgers!

Ready for another great talk? We hope so, because next monday 24th at 7pm again, in the auditorium (Building B6) at the Faculty of Computer Science of Barcelona (FIB), we will host an incredible talk, if you do not believe it, look at the name: Html5, AngularJS, Groovy, Java and MongoDB all together – what could go wrong? by Trisha Gee.

We must say that it seems to have been a common theme amongst startups to create the MVP (Minimum Viable Product) in a language that facilitates rapid prototyping (for example Ruby), and then migrate to the JVM when the application has proved itself and requires more in terms of stability and performance.

Trisha will demonstrate us that it’s possible to use a static, boiler-plate-heavy language like Java to create a web application in under an hour, in front of your very eyes. The JVM is a true polyglot platform, and she will show us how to use the correct tools for each part of your application, including: AngularJS, Bootstrap, HTML 5, Web Services, Java-the-language, MongoDB and Groovy - a fully buzz-word-compliant application. While she won’t go into every technology in depth, she will demonstrate the role of each tool and how they interact. 

At the end of the talk we will have a fully working mobile-and-browser-friendly application, without compromising on design or good practice... It’s even going to have tests!

Yes, live coding, with all attendant danger. 

So it seems to be a great talk, don't you think so? ;-)

For any of you who do not know anything about Trisha, let us say  that she has developed Java applications for a range of industries, including finance, manufacturing and non-profit, for companies of all sizes. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and right now is getting to grips with working in an Open Source fashion as a developer for MongoDB Inc, where she contributes to the Java driver and Morphia. Trisha blogs regularly on subjects that she thinks developers and other humans should care about, she’s a leader of the Sevilla Java & MongoDB User Groups, a key member of the London Java Community and a Java Champion - she believes we shouldn't all have to make the same mistakes again and again.

That's all folks, come and join us next monday at FIB!

domingo, 16 de noviembre de 2014

Intro to Couchbase + workshop (21 & 22/11)

Hi JUGgers!

Ready to attend to some nice events? We hope so, because are some of you may know, we are organizing a few those days. So, here we are!

This week we will have the pleasure to receive the visit of the Couchbase team. 

And because of that we have organized a talk this friday 21th, at 7pm at in the auditorium (Building B6) at the Faculty of Computer Science of Barcelona (FIB) and the next, as usual, we will host a workshop in La Fontana on saturday, starting at 10'15am.

The talk on friday will be a general introduction to Couchbase. You know you need a NoSQL database. You might not know why right now, but deep down you know you need one. While hype might be a common factor for choosing NoSQL, there are also some very good reasons too :) So we'll try to wrap our head around this. In this talk we'll see where Couchbase comes from and how it fits in the NoSQL ecosystem. Then we'll go through its architecture and newest features like Couchbase Mobile and N1QL.

Next day, the saturday we will host a workshop, when we will be playing on Couchbase Server with the Java SDK 2.0Couchbase recently released the 2.0 version of its Java SDK. It provides functionality to store and retrieve your documents to and from a Couchbase Server cluster through synchronous and asynchronous (reactive) interfaces - and it even has support for Java 8.

In this workshop we will build a simple Java app making use of this cool reactive API. Ah! Remember to bring your laptop for the workshop (of course, with a Java dev environment + Couchbase Server 3.0).

In fact Laurent Doguin will be driven both sessions. Laurent is a Paris based Developer Advocate where he focuses on helping Java developers and the French community. He writes code in Java and blog post in Markdown. Prior to joining Couchbase he was Nuxeo's community liaison where he devoted his time and expertise to helping the entire Nuxeo Community become more active and efficient.

That's all folks! Remember to RSVPed for both days (talk and workshop).

Enjoy playing with noSQL!

jueves, 30 de octubre de 2014

Reflection Madness (4/11)

Hi JUGgers!

¡Al loro! ¡que organizamos otra charla a las 19h para el próximo martes 4/11 en el Punt Multimedia! Aprovechando que David Gomez Garcia, estará la semana que viene por la ciudad condal, nos hemos liado la manta a la cabeza y le hemos intentado convencer de que comparta su saber a través de un charla... ¡y nos ha dicho que sí! ;-)

Para quienes no conozcáis a David, comentaros que es un desarrollador Software con más de 14 años de experiencia en Java. Ha desarrollado y lideardo proyectos de integración bancaria, Gestión de tráfico marítimo y terrestre (AVE) y proyectos de defensa y guerra electrónica. Actualmente es consultor Tecnológico en Autentia y además es Instructor certificado de JavaSpecialists y Spring y uno de los sospechosos habituales de MadridJUG.
Así pues David nos charlará sobre Reflection, uno de esos grandes (y para algunos desconocidos) mecanismos que de serie lleva nuestra querido lenguaje. Como se dice en algunos lugares, Reflection es como el opio: quizá demasiado fuerte para un uso diario, pero puede solucionar un problema en momentos puntuales ;-)

En esta charla mostraremos algunas aplicaciones útiles de la reflexión como el cálculo del tamaño en un objeto en memoria, la identificación del objeto que invoca un determinado método (muy útil para la configuración de Loggers), cómo modificar enumerados dinámicamente y modificar sentencias Switch para ser aplicados en pruebas unitarias. Veremos también cómo construir un objeto sin invocar ninguno de sus constructores definidos (por ejemplo durante la serializacion/deserialización de objetos). Por último aprenderemos a utilizar el interfaz Externalizable para acceder y mejorar la serialización de atributos privados. También veremos algunos usos "No recomendados" de la Reflexión en Java. Para mostrar los peligros a los que podemos llegar (basados en hechos reales) si no dosificamos bien nuestra adicción.

En definitiva, haremos un recorrido por las utilidades de la reflexión sin caer en el peligro de convertirnos en adictos.... Que podamos decir orgullosos.... "Yo controlo" :-P

Nada más, os animamos que vengáis porque la charla merecerá la pena -seguro- y sobretodo, no os olvidéis de reservar plaza, que esta vez los sitios están más que limitados! ;-)

Nos vemos en Punt Multimedia el martes!

PD: Esta charla incluye contenidos extraídos del JavaSpecialists Master Course ( y material relacionado creados ambos por el Java Champion Dr. Heinz Kabutz. Contamos con su permiso explícito para su uso en esta reunión

miércoles, 29 de octubre de 2014

Java EE 7 Batch Processing and World Of Warcraft (5/11)

Hi JUGers!!

Ready for the next online session? In this case we are going to learn a newcomer API, Java EE 7 Batch Processing. Wednesday 5th at 19:00 (CET time) we will have Roberto Cortez speaking about Java EE 7 Batch Processing and how it can be used into a real system like WoW.

This talk will explore one of the newest API for Java EE 7, the JSR 352, Batch Applications for the Java Platform. Batch processing is found in nearly every industry when you need to execute a non-interactive, bulk-oriented and long running operation task. A few examples are: financial transactions, billing, inventory management, report generation and so on. The JSR 352 specifies a common set of requirements that every batch application usually needs like: checkpointing, parallelization, splitting and logging. It also provides you with a job specification language and several interfaces that allow you to implement your business logic and interact with the batch container. By the end of the session, attendees should be able to understand the use cases of the JSR 352, when to apply it and how to develop a full Java EE Batch Application.

About Roberto:

Freelancer, Speaker, RebelLabs Author, Blogger, Passionate Developer

My name is Roberto Cortez and I was born in Venezuela, but I have spent most of my life in Coimbra – Portugal, where I currently live. I am a professional Java Developer working in the software development industry, with more than 8 years of experience in business areas like Finance, Insurance and Government. I work with many Java based technologies like JavaEE, Spring, Hibernate, GWT, JBoss AS and Maven just to name a few, always relying on my favorite IDE: IntelliJ IDEA.

The direct contact with the Java community made me want to become an active member in the community itself. For that reason, I have created the Coimbra Java User Group, started to contribute to Open Source on Github and launched my own blog (, so I can share some of the knowledge that I gained over the years.

This session will be given  online from our youtube channel starting at 19:00. So remember Wednesday 5th to connect to BarcelonaJUG Youtube channel and be ready to learn how to process batches using Java EE 7.

See you there!

domingo, 19 de octubre de 2014

What Makes Groovy groovy (23/10)

Hi JUGers!

Ready to learn something about polyglot programming? This thursday 23 at 19:00 (Spanish time zone) we will have Guillaume Laforge talking about Groovy and What's make Groovy groovy.

Groovy is not a newcomer to the arena of alternative languages for the JVM. With over 1.7 million downloads a year, it's clearly ahead of the pack. But what makes it a great choice for your projects?
  • a flat learning curve for Java developers
  • a malleable & concise syntax fit for Domain-Specific Languages
  • an interesting take on type safety
  • its seamless Java integration where you can mix & mash Groovy & Java together
  • its rich ecosystem of projects: Grails, Gradle, GPars, Spock, Griffon, Geb...
In this session, we'll see how this all fits together in the big Groovy picture, when and where you can use Groovy, and how you can take advantage of Groovy in boosting your productivity!

The session will be driven by Guillaume Laforge. He is the project lead of the Groovy project, a dynamic language for the JVM. He works for Pivotal. Guillaume co-authored the Groovy in Action book, and he's speaking regularly at conferences around the world on Groovy, Gaelyk, Domain-Specific Languages and any Groovy-related topic.

This session will be given  online from our youtube channel starting at 19:00. So remember, this Thursday to connect to BarcelonaJUG Youtube channel and be ready to learn not only basic concepts but advanced concepts of Groovy.

See you there!

viernes, 10 de octubre de 2014

Discount for JUGgers - GOTO Berlin 2014 (5-7/11)

Hi members!

We have good news: a great conference comes again to Berlin next 5-7 of November, and we have a little present for you: a 20% discount to all the tickets if you want to attend.

GOTO Berlin 2013 was a real success and the organizers will go on with it at GOTO Berlin 2014. We would like you to be part of this and that’s why we have this special offer for all of you, members of the Barcelona Java Users Group. 

The GOTO Berlin Conference takes place in the first week of November at Kosmos. The GOTO Berlin program is created “by developers, for developers” where the emphasis is placed on presenting latest developments as they become relevant and interesting for the software development community. Some of the industry’s best speakers, practitioners and trainers (Martin Fowler, Stefan Tilkov, Trisha Gee, Kasper Lund are some of thosewill be at GOTO Berlin to present and train on a variety of topic areas. 

GOTO Berlin begins with a Training Workshop Day led by leading practitioners and authors on various subjects and is followed by 2 Conference days with over 40 of the best speakers in the field. With a 360 degree perspective, they will present new technology and trends in a non-vendor forum to give attendees inspiration, energy and desire to learn. 

Just like the other GOTO Conferences, GOTO Berlin will give attendees a high quality conference experience which is staged in an intimate environment with the best food and comforts needed to support as much learning and networking as possible.

Finally, the organizers told us that they will be very happy to welcome us (again) in November at GOTO Berlin ;-)

That's it! Check the inbox of your MeetUp account, you should have received the discount code or contact with us if you do not have it. 

jueves, 9 de octubre de 2014

Coding Dojo, kata de iniciación (17/10)

Hola JUGers!

Estamos encantados de presentaros nuestro siguiente evento: un Coding Dojo con una kata de iniciación el viernes 17 de Octubre a las 19h en La Fontana.

Realizaremos el taller conjuntamente con los compañeros del Barcelona Software Craftsmanship. El coding dojo será facilitado conjuntamente por Nacho Cougil  y Manuel Rivero, organizadores del BarcelonaJUG y el Barcelona Software Craftsmanship respectivamente.

La kata escogida para la realización del coding dojo, será una kata introductoria para poder conocer que es coding dojo, como aplicar TDD y buenas prácticas. Seguro que más de uno ya conoce o ha oído hablar de clean code, TDD, solid, etc, pero que mejor que ponerlo en práctica y probar de aplicarlo con un problema pequeño.

La kata que realizaremos será la siguiente:

Números racionales
Hacer una clase que sirva para construir objetos que modelen a números racionales e implementar sobre ella las operaciones suma y resta.
Las fracciones deben estar siempre reducidas.

Para poder aprovechar el taller, recordad de traer portátil con un entorno de desarrollo y un framework de testing instalado, el que cada uno prefiera y este familiarizado. 

Por último, no olvidéis reservar vuestra plaza en MeetUpAl ser un taller práctico, el número de plazas disponibles es más reducido de lo habitual, si reserváis plaza y a última hora no podéis venir, por favor, liberad la plaza para algún compañero.

Esperamos que os animéis a participar  ;-) 

Nos vemos!