java

Recursos de programación de java
@thmuch Those who have survived the DTO hell of former J2EE versions, where we had to copy data between all the layers of our enterprise applications, appreciate the ease that Spring and Java EE have brought us more than one decade ago. But if we look closely at our current architectures and design styles like Hexagonal Architecture and DDD, we're in need again for adapters and transfer objects, for example in the anticorruption layer of a DDD bounded context. In other words: We still need to map data between different entity structures. Often, BeanUtils or Dozer are used to map data between entities, DTOs and similar structures. But those mappings can be slow and are error-prone due to missing type safety... Say hello to MapStruct, the fast and type-safe bean mapper, which - as an annotation processor - generates mapping code at compile time and goes without reflection! https://www.autentia.com
@asafmesika "To mock or not to mock" that is the question which has been dividing the developer community for quite a while. The discussion climaxed after the heated debate between DHH, Kent Beck and Martin Fowler - “Is TDD Dead?”. The developers siding with mocks do it primarily due to the difficulty of launching third party components. Some are written in Java - like Kafka or Elasticsearch - which makes it easier to use the real thing - but some are not, which leaves you only with binaries, like MySQL, Redis or Consul. Launching binaries using the shell from Java, being platform agnostic, and taking care of downloading the correct platform binary are just some of the difficulties developers are facing. In this lecture I will show how the existence of Docker transforms the way tests are written. I will introduce you to the innovative library Testcontainers, which provides a complete toolset for controlling Docker in tests. For example, we will take a look at how it enables starting up Consul or MySQL using three lines of code. We will review what the Testing Dichotomy looks like with this power in your hands. At the end of this lecture the audience will know how to test in a pragmatic way making it productively as a result. I believe this approach is mandatory as the world shifts heavily towards team autonomy which means automating your tests on your own - i.e. No QA team dependency. https://www.autentia.com
Kotlin is one of those “new” JVM languages that are currently rocking the boat. Although it’s made a great impact on Android, it’s equally good on the server side. As Domain-Specific Languages are constrained by the language they run on, Kotlin frees developers from Java fluent builders to propose something better. Taking the example of a Vaadin UI DSL, I’ll demo how one could design its own DSL with Kotlin."
Creating objects in Java using `new` keyword was a no brainer for many years! Then IoC / DI questioned the approach and component containers changed the way we think about it! Managing dependencies between artifacts is yet another topic we still tend to think we have sorted out. Maven central has become the de factor standard artifact repository. Yet it's far from perfect as it is still developer's responsibility to know and configure proper dependencies. This easily becomes nightmare with transitive and provided dependencies. So may be it's time to challenge that approach too? What if we move from hardcoded artifacts to artifact discovery based on well defined contracts? This talk will demonstrate how that can be done today, what are the issues and draft a potential roadmap to fully automated dependency management!
The presentation gives an overview of the current status of the Java EE Security API work, part of the upcoming Java EE 8 specification. By starting why there is a need for such a new specification, we will cover the main concepts related to security. Soteria is the reference implementation of the specification. Although the spec is targetted to Java EE8, we can use it in several Application servers already. Various common use cases will be presented in a demo. Developers feedback is important to reach a good specification which can please the developers. At the end, there will be room for questions, remarks, feedback, etc...
This week I did the LegacySecurityManager kata in Java. This is the original version of the code (ported from C# to Java): As you can see, createUser is a really hard to test static function which has too many responsibilities. This is the final version of createUser after a "bit" of refactoring: which is using the CreatingUser class: The before and after code is not so interesting as how we got there. I kept the legacy code interface and tried to use as much as possible only automatic refac...
Dr. Venkat Subramaniam is known for his contagious enthusiasm and passion for software development. As a truly polyglot programmer, he believes in mastering technologies that improve robustness and productivity, irrespective of their source, and putting them to effective use. He is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has mentored tens of thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Test-Driving JavaScript Applications: Rapid, Confident, Maintainable Code. Venkat is a well-recognized person in the software communities. He was once a recipient of the MicroSoft MVP award. He has received JavaOne RockStar award three years in a row and was inducted into the Java Champions program in 2013 for his efforts in motivating and inspiring software developers around the world.
Christian Streibl sudied Medical Informatics in Heidelberg and Heilbronn (Germany) Software Developer at DKFZ Heidelberg – Image and Signal Processing Software Developer at Swarco Traffic Systems GmbH – Traffic Lights to the Cloud Software Developer at codecentric AG - Consulting Andres is a Java/Groovy developer and Java Champion, with more than 14 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Grails and DbUnit, as well as starting his own projects. Founding member and current project lead of the Griffon framework. Sergio del Amo is an experienced web and mobile developer. He likes to create products. Understand them, evolve them. He's been developing Grails Application for the past six years. Like how succinct and powerful Groovy is. He feels empowered by Grails. Since April 2015, he writes Groovy Calamari, a weekly newsletter about the Groovy Ecosystem: Grails, Geb, Gradle, Ratpack, Groovy...
Jochen Theodorou is a Committer to Groovy Core since 2005. Being paid to develop Groovy since 2007 through SpringSource, VMWare, Pivotal and others. Currently working at Canoo. Alexander (Sascha) Klein is branch manager at codecentric AG in Stuttgart, Germany. He works for more than 15 years in the java-ecosystem as developer, architect and trainer. His interests are UI-development and -ergonomy, DSL's and development efficency. He is an avowed opensource and Groovy follower, aswell and especially for enterprise projects, and Griffon commiter. Jennifer “Jenn” Strater is the co-founder of the organization Gr8Ladies. She has also organized Gr8Workshops for developers interested in an overview and crash course in Groovy technologies. She has presented on several Groovy topics at events such as the Grace Hopper Celebration of Women in Computing, Greach, Gr8Conf EU, Gr8Conf US, and Devoxx Belgium. In August 2016, Jenn started in the master’s program at the Technical University of Denmark(DTU). She is studying static analysis and compilers with a focus on Groovy with funding from the Fulbright U.S. Student Program.