![Barcelona Jug](/img/default-banner.jpg)
- 316
- 131 694
Barcelona Jug
Spain
Приєднався 28 жов 2011
Hello!
We are a group of geeks from Barcelona who share experiences and knowledge related to the computer world and particularly around Java technologies that brings us as many joys as headaches ;-)
We chat, debate and also organize workshops to practice and test new technologies. In short, we share experiences related to technology, especially with everything around the JVM, but not only with this language.
You are more than welcome if you like to give your opinion, share, ask questions, everything fits here and we are open to as many suggestions as you want to make us.
Welcome and we hope you will enjoy our content!
We are a group of geeks from Barcelona who share experiences and knowledge related to the computer world and particularly around Java technologies that brings us as many joys as headaches ;-)
We chat, debate and also organize workshops to practice and test new technologies. In short, we share experiences related to technology, especially with everything around the JVM, but not only with this language.
You are more than welcome if you like to give your opinion, share, ask questions, everything fits here and we are open to as many suggestions as you want to make us.
Welcome and we hope you will enjoy our content!
Відео
JBCNConf 2022 - Summary
Переглядів 159Рік тому
Summary of the last edition of JBCNConf, held in July 2022.
Julien Viet - Real-world HTTP performance benchmarking, lessons learned
Переглядів 158Рік тому
✔️ Real-world HTTP performance benchmarking, lessons learned The TechEmpower Framework Benchmark is a public comparison of more than 400 web frameworks in different languages. The competition is fierce and everyone wants to be ranked in the top! Eclipse Vert.x is a popular reactive stack for the JVM, designed for highly scalable applications, and has taken part in this competition for several y...
Thomas Segismont - Reactive Relational DB Access: why do we care?
Переглядів 119Рік тому
✔️ Reactive Relational DB Access: why do we care? Asynchronous and non-blocking programming allows us to make the most out of the available hardware, thus increasing density of deployment and reducing costs and waste of resources. The benefits are prominent in Microservices Architecture when combining different sources of data transiting over the network. In their toolbox, many Java developers ...
Javier Lopez - “Why Hexagonal?”
Переглядів 450Рік тому
✔️ Javier Lopez - “Why Hexagonal?” Hexagonal architecture has become a very popular layered architecture in the last few years. I will explore the principles of this architecture and how to understand it. But we will do it through coding, TDD will help us to understand some whys. @javikata81
Refactoring organisations - DDD in practice at scale
Переглядів 295Рік тому
✔️ Wojtek Ptak - “Refactoring organisations - DDD in practice at scale.” We’re all guilty of trying to reinvent the wheel, from time to time. We look for new silver bullets to solve problems: aligning strategy, teams, architectural, and data processing decisions. Furthermore, we’ve all been there: from hundreds of microservices, introducing AI anywhere possible, to vast Data Lakes swallowing al...
Sven Ruppert - Supply Chain Security for Open-Source Projects
Переглядів 43Рік тому
Sven Ruppert's talk el pasado 15 de noviembre dentro del BarcelonaJUG Attacks on the open-source value chain (OS supply chain) are becoming more sophisticated, and we, as software developers, are becoming the focus of these attacks. So, what are the essential first steps, and what should you focus on in the beginning? This, of course, raises the question of suitable methods and tools. At the sa...
CompletableFuture and its Quirks and the future of Hazelcast by Grzegorz Piwowarek
Переглядів 207Рік тому
BarcelonaJug Meetup at Dynatrace offices on October 7th.
Why You Cant Buy Cloud Native
Переглядів 99Рік тому
The virtual shelves are filled to bursting with cloud-native technologies; containers, runtimes, CI pipelines, and observability tools. The more an organization buys, the more cloud-native it is, right? And the more network communication an app involves, the more cloud-native it is, right? Well, not so much. It turns out cloud native is about how you deliver software, not the tools you use. Thi...
Now is the time from Java 11 to 17
Переглядів 172Рік тому
Now is the time: From Java 11 to 17 Java 17 has come almost a year ago, but many happily run production on Java 11. Some are afraid to migrate forward due to fear, and memories of a difficult migration from Java 8. Others don’t see a significant value and lack the motivation to invest in the migration forward. The talk will cover, why staying on Java 11 is an additional risk and additional cost...
CompletableFuture and its Quirks
Переглядів 883Рік тому
CompletableFuture revolutionized asynchronous processing in Java. Unfortunately, it’s full of quirks, traps, and surprises… during this live coding session, we’ll have a look at things like thread pools backing task execution, exception propagation, cancellations, and unintuitive methods from the public API. Presentation slides: pivovarit.github.io/talks/completable-future-quirks Speaker Grzego...
Diagrams as code 2 0
Переглядів 7 тис.Рік тому
Diagrams as code 2.0 Diagrams as code are becoming a popular way to diagram software architecture, particularly for long-lived high-level documentation - write the diagram source in a text-based domain-specific language (e.g. PlantUML or Mermaid) or a programming language, and render diagrams using web-based or command line tooling. The benefits are well understood - writing the diagram source ...
Java next from Amber to Loom, from Panama to Valhalla
Переглядів 92Рік тому
Java's four big projects are entering the home stretch: Amber and Panama have already incubated, previewed, and even finalized some features, and Loom and Valhalla are on track to follow soon. Time to take a closer look at how... * Project Amber makes the language more expressive and ready for today's and tomorrow's problems * Project Panama cuts through the isthmus separating Java from native ...
Live diagramming of knative core concepts
Переглядів 142Рік тому
Although Knative has been community-maintained since 2018, there has been a buzz around the project lately because Google has recently submitted Knative to the CNCF for consideration as an incubating project. Cool! But what is Knative, exactly? Simply put, Knative is a technology that streamlines and enhances the way that applications run on Kubernetes. This talk is for people who are excited a...
Immutability Against the Machine
Переглядів 95Рік тому
Immutability has taken over the software world. Programmers are using immutable values to make their products more maintainable. They are able to focus on higher-level architectural problems instead of hard-to-debug accidental mutations. However, the software we write often needs to run on a real machine. It needs state, it needs to do many things at once using multiple threads, and it needs to...
Event streaming for the best of all worlds
Переглядів 71Рік тому
When it comes to distributed, event-driven messaging systems, we usually see them supporting either one of two types of semantics: streaming, or queueing, and rarely do we find a platform that supports both. In this presentation, we’ll first get an introduction and some clarifications of event-driven versus message-driven systems, event streams, and stream processing. We’ll then take a look at ...
Muy buna explicación! Qué pena que la calidad del video sea tan baja y no se aprecie muchas veces el código.
Very inspiring
For reference you can afford have a much smaller picture window and still be in the frame instead of overlapping the text.
Can anyone help me find Jakarta 10 documentation for its API's? In the eclipse project page it redirects to 9.1. Can't find where to learn it.
jakarta has a website with the list of specs and pdf documents.
give a look at tomEE documentation is really Great
Awesome Presentation
49:08 > _"when i'm doing upfront design, I still going to use whiteboard & paper"_ nice, thanks
2:33 to 3:38 - C4, and maps wow, nice
bad sound, not clear picture
Awesome presentation!
That's a good one. Thank you!
hubiera sido que lo hubieran hecho en espannol, pq no es por criticar pero el ingles esta bien malo!!!, asi que en espanish puro hubiera sido mejor al 100%, yo hablo ingles y en verdad no entendi casi nada!!!
😀 promosm
To answer a couple of the audience questions at the end. If multiple mutations are enabled at once this creates what the literature calls a "higher order mutant". These can be interesting, in that it is possible that the mutant will be harder to detect than if just a single mutation had been made. Most likely, the mutant will be easier to detect however (killed by any test that would kill any of the individual mutants). Finding the interesting higher order mutants is an even more expensive process than standard mutation testing, as the number of possibilities explodes. Enabling all the mutation in a class at once has exactly the issue the speaker describes, if the higher order mutant is killed, you have no idea which of the mutations would be detected individually. Trying to reduce computation time by selecting a random sample of mutants as one of the audience suggested is a well established idea. Most early mutation testing systems did this as they were too slow to be workable any other way. This isn't very useful however. If the selection is random (and not reproducable) it is hard for a developer to know if they have fixed identified issues. If the selection is reproducable (eg by supplying a seed), the situation is better, but it still gives much less confidence in the code. All modern system I'm aware either do not support random sampling, or disable it by default. Like pitest, they perform a lot of optimisations which keep analysis times managable, and do not blindly run all the tests against each mutant. As another member of the audience pointed out, this is a development technique. Mutation testing produces information which is useful for developers as they're coding. I wrote up how I recomend using pitest here blog.pitest.org/dont-let-your-code-dry/ A key element for scaling it out to larger codebases and larger teams, is the git integration discussed there.
why do you afraid to mutate? :D
ᎮᏒᎧᎷᎧᏕᎷ 🌷
tremendo video!!
Este video, solamente para oir el vocabulario del programador español, vale 1 millon de views!
Really great presentation! Good job, Burr Sutter! Please do more stuff on vert.x!
???????
👍
Que buen contenido, excelente trabajo !!!
Very informative presentation, thanks for publishing!
Thank you!
Billy Korando presentation links - Slides github.com/wkorando/to-java-17-and-beyond Recommended Books - Effective Java by Joshua Bloch - Release It! By Michael NyGard - Continuous Delivery Jez Humble and David Farley
A must! David está mas joven cada día. El CQRS con DDD rejuvenece.
sound problem :(
Thanks for the presentation. I watched the FizzBuzz TDD example and it seems to be misleading and teaching the incorrect approach. The main issue is the test naming. A test needs to describe a behaviour, serve as a specification, tell a requirement. When a test is called like "for 1 return 1" it doesn't describe the requirement that for numbers not divisible by 3 or 5 we return the same number. Same for other example tests you created. It's also better to start with special cases and name a test like "for a number divisible by 3 return Fizz". So the requirement is clear. Then a second test will be like "for a number divisible by 5 return Buzz". Then for other 2 cases. So in total there should be 4 tests. You can give more input values as you did with parameterized final test but in each test separately. This way you can have a clear list of requirements of what the rules are. No need to remove any of the previous tests. Actually, after all tests were combined into 1 it still was confusing because a description like "return expected number" doesn't tell anything, no explanation of what is expected and a reader has to guess the rules. Another thing is the refactoring should be done after each test and not in the end for everything altogether. You also don't need many hardcoded values in production code. There's a principle saying that tests and implementation diverge, as more specific your tests get - more generic your production code becomes. Having 2 hardcoded examples is enough to generalise code.
How to run kotlin script in Intellij?
Where can we find the BDD project demonstrated. Is there any github repo? Thanks!
very enlightning talk, I just want to do programming
Muchas gracias por el material, muy bueno, tengo una consulta, tengo unos microservicios construidos con Java spring boot y que luego los deployo en WebLogic 12, mi consulta es si trabajo los Microservicios con QUarkus podre deployarlos en Weblogic o es solo para Kubernetes? gracias
Thanks. It was a pleasant feeling to see you guys keeping things interesting for us. Love from Pakistan 🇵🇰
Just in case you are searching for github repo here it is. :) github.com/victorrentea/clean-lambdas-jbcnconf
Thank you very much
13:43 I love that. Do you love me? 😍💋 💝💖❤️
Aside from the awesome content, can we please talk about how Victor did an absolut excellent job of actually delivering the information? This is some serious skill in teaching, great job!
0:11autoprofitsystem codz2019.blogspot.com/2019/11/blog-post.html
Thanks Nacho!
You are more than welcome! Thank you for watching and commenting Rafa! 👍😃
Share the code please
Very nycc stuff, following from quite a time jst one doubt in last Template Pattern. What we have multiple methods to fill in Email in future ? Were we passing all those methods reference in parameter ?? (Same doubt with passing Runnable in previous example)
Great talk. Clean architecture is a must for serious apps.
Great talk! I enjoyed the content and QA. Good job!!
Sehr guter Vortrag ... Ich programmiere (denke) ähnlich. Aber es ist recht schwierig sowas im Team abzustimmen ... manch einer programmiert halt eher "locker" und dann hast Du immer das Gefühl die Putze zu sein ;)
Maybe you are working with the wrong team ;)
Ha first
Any advices to a junior? Who's seniors and colleges are writing legacy code and "clean code" is considered as "the code which presents no bugs at the time it is written". I will appreciate any suggestions.
there is no no bugs code! that is why we write test and we have continuous integration....no bugs... hilarious!
Amazon really sticking it to Oracle
Would be good to record the speaker's own mike instead of the camera mike. ;-)
Man it sux , when so many vulnerabilities exist, we as developer must fight for allowance to write unit test, i know for the fact that some big companys dont test their code WTF!
One thing about 22:50 that I have problem with, and I see it a lot in my production code, is naming function based on single context. In this case function is named hasDeliveryDateBeforeWarning and date which is passed is named warningDate. But if variable would be named f.e. discountDate, it would look ridiculous if reused anywhere, because that implies that only warning date can be passed to it, just in this context. To make it more reusable and not wonder about what function does on the inside (what is warning date in different context?) just name it hasDeliveryDateBefore(LocalDate targetDate) which would make predicate more reusable in arbitrary contexts. Thats all for clean code nazi, great presentation as always :)
Can we use rest assured api for micro services? kindly advice.
Best!!