Joshua Bloch covers some highlights from the third edition of “Effective Java”, concentrating on streams and lambdas. If you do not have time to read the book or you only need to upgrade your Java 8 skills then this article is for you!
#java #architecture #junior #middle
https://www.infoq.com/presentations/effective-java-third-edition?useSponsorshipSuggestions=true&utm_source=presentations_about_java&utm_medium=link&utm_campaign=java
#java #architecture #junior #middle
https://www.infoq.com/presentations/effective-java-third-edition?useSponsorshipSuggestions=true&utm_source=presentations_about_java&utm_medium=link&utm_campaign=java
InfoQ
Effective Java, Third Edition - Keepin' it Effective
Joshua Bloch covers some highlights from the third edition of “Effective Java”, concentrating on streams and lambdas. The recently released edition of Effective Java contains one new chapter, fourteen new items, and numerous changes to existing items.
In this amazing article you will find a list of shared architecture principles that everyone agrees. Understanding them will help you shape the design of your applications.
#architecture #junior #middle #senior
https://dzone.com/articles/30-shared-principles-for-discussing-software-archi-1
#architecture #junior #middle #senior
https://dzone.com/articles/30-shared-principles-for-discussing-software-archi-1
dzone.com
30 Shared Principles for Discussing Software Architectures - DZone Microservices
Better understand the basic principles of software architecture and distributed systems to shape your applications for better design and user experience.
Logging to files and analyzing them by hand is not the way to go anymore. This article explains the reasons why a log server is the way to go for collecting and analyzing log data.
#logging #architecture #middle #senior
https://reflectoring.io/log-server/
#logging #architecture #middle #senior
https://reflectoring.io/log-server/
reflectoring.io
5 Good Reasons to Use a Log Server
Logging to files and analyzing them by hand is not the way to go anymore. This article explains the reasons why a log server is the way to go for collecting and analyzing log data.
Want to learn more about using the null object pattern in Java? Check out this tutorial to learn how to use the null object pattern with the optional class!
#java #architecture #junior #middle
https://dzone.com/articles/null-object-pattern-in-java
#java #architecture #junior #middle
https://dzone.com/articles/null-object-pattern-in-java
DZone
Null Object Pattern in Java
In this tutorial, we demonstrate how to use the null object pattern in Java, which depends on the Factory class and Optional class to represent non-null values.
Although the concept of the Test Pyramid has been around for a while, teams still struggle to put it into practice properly. This article revisits the original concept of the Test Pyramid and shows how you can put this into practice. Check it out!
#testing #architecture #middle #senior
https://martinfowler.com/articles/practical-test-pyramid.html
#testing #architecture #middle #senior
https://martinfowler.com/articles/practical-test-pyramid.html
martinfowler.com
The Practical Test Pyramid
Find out what kinds of automated tests you should implement for your application and learn by examples what these tests could look like.
When breaking monoliths into smaller services, the hardest part is actually breaking up the data that lives in the database of the monolith. To extract a data-rich service, it is useful to follow a series of steps which retain a single write-copy of the data at all times.
#architecture #middle #senior
https://martinfowler.com/articles/extract-data-rich-service.html
#architecture #middle #senior
https://martinfowler.com/articles/extract-data-rich-service.html
martinfowler.com
How to extract a data-rich service from a monolith
A series of steps for separating part of a monolithic application, with its data store, to an independent service
There is probably a bunch of Java libraries and frameworks in your list when starting a microservice architecture implementation. With this tutorial you will go through the most popular and battle-tested ones that can certainly suit your specific needs.
#java #architecture #microservices #middle #senior
https://www.javacodegeeks.com/2018/09/microservices-java-developers-java-jvm-landscape.html
#java #architecture #microservices #middle #senior
https://www.javacodegeeks.com/2018/09/microservices-java-developers-java-jvm-landscape.html
Java Code Geeks
Microservices for Java Developers: The Java / JVM Landscape | Java Code Geeks - 2020
Interested to learn more about Microservices? Then check out our detailed Tutorial on Java / JVM Landscape!
Microservices architecture (MSA) has become very popular. However, one common problem is how to manage distributed transactions across multiple microservices. In this post you will find the problem explained and discover possible patterns that could solve it.
#architecture #microservices #middle #senior
https://developers.redhat.com/blog/2018/10/01/patterns-for-distributed-transactions-within-a-microservices-architecture/
#architecture #microservices #middle #senior
https://developers.redhat.com/blog/2018/10/01/patterns-for-distributed-transactions-within-a-microservices-architecture/
Red Hat Developer
Patterns for distributed transactions within a microservices architecture | Red Hat Developer
Microservices architecture has become very popular. However, one common problem is how to manage distributed transactions across multiple microservices. In this post, I will share my experience from
You probably face some key challenges around microservices architecture testing. The selection of the right tools is one of the elements that help us deal with the issues related to those challenges. Let's explore a testing stack for microservices applications, comprised of the Hoverfly, Pact, and Gatling tools and frameworks.
#java #architecture #microservices #tools #senior
https://dzone.com/articles/testing-microservices-tools-and-frameworks
#java #architecture #microservices #tools #senior
https://dzone.com/articles/testing-microservices-tools-and-frameworks
DZone
Testing Microservices: Tools and Frameworks
See how Hoverfly, Pact, and Gatling form a complete testing stack for microservices applications in this tutorial for performance and other types of tests.
Ktor is a framework for building asynchronous applications on the server and client side fully written in Kotlin. Here you will see the features of Ktor framework by the example of a simple microservices based system.
#kotlin #architecture #microservices #ktor #middle #senior
https://piotrminkowski.wordpress.com/2018/10/09/kotlin-microservices-with-ktor/
#kotlin #architecture #microservices #ktor #middle #senior
https://piotrminkowski.wordpress.com/2018/10/09/kotlin-microservices-with-ktor/
Piotr's TechBlog
Kotlin Microservices with Ktor
Ktor is a framework for building asynchronous applications on the server and client side. It is fully written in Kotlin. The main goal of Ktor is to provide an end-to-end multiplatform application …
Nowadays Java is used mainly for developing back-end web services. Throughout the years, the industry has established many good practices on Web API Design. Don’t miss this amazing series on the topic!
#java #web #architecture
Tech and UX
https://howtotrainyourjava.com/2017/12/12/web-api-design-tech-and-ux/
The Origins of REST
https://howtotrainyourjava.com/2018/01/14/web-api-design-part-two-the-origins-of-rest/
Core Concepts
https://howtotrainyourjava.com/2018/02/08/web-api-design-part-three-core-concepts/
Collections
https://howtotrainyourjava.com/2018/03/28/web-api-design-part-four-collections/
Status and Error Handling
https://howtotrainyourjava.com/2018/04/22/web-api-design-part-five-status-and-error-handling/
Cache
https://howtotrainyourjava.com/2018/05/20/web-api-design-part-six-cache/
Security
https://howtotrainyourjava.com/2018/06/27/web-api-design-part-seven-security/
HATEOAS
https://howtotrainyourjava.com/2018/08/08/web-api-design-part-eight-hateoas/
Versioning
https://howtotrainyourjava.com/2018/09/30/web-api-design-part-nine-versioning/
#java #web #architecture
Tech and UX
https://howtotrainyourjava.com/2017/12/12/web-api-design-tech-and-ux/
The Origins of REST
https://howtotrainyourjava.com/2018/01/14/web-api-design-part-two-the-origins-of-rest/
Core Concepts
https://howtotrainyourjava.com/2018/02/08/web-api-design-part-three-core-concepts/
Collections
https://howtotrainyourjava.com/2018/03/28/web-api-design-part-four-collections/
Status and Error Handling
https://howtotrainyourjava.com/2018/04/22/web-api-design-part-five-status-and-error-handling/
Cache
https://howtotrainyourjava.com/2018/05/20/web-api-design-part-six-cache/
Security
https://howtotrainyourjava.com/2018/06/27/web-api-design-part-seven-security/
HATEOAS
https://howtotrainyourjava.com/2018/08/08/web-api-design-part-eight-hateoas/
Versioning
https://howtotrainyourjava.com/2018/09/30/web-api-design-part-nine-versioning/
How To Train Your Java
Web API Design Part One: Tech and UX
Episode 86 When it comes to creating a piece of software, we need to ask ourselves three important questions. Why are we doing this? What are we doing? How are we going to do that? Software develop…
Serverless computing, or more simply Serverless, is a hot topic in the software architecture world. Serverless architectures may benefit from significantly reduced operational cost and complexity at a cost of increased reliance on vendor dependencies and supporting services.
Check this amazing and detailed article to discover what is Serverless in and what are the tradeoffs worth considering to decide whether and how to use it.
#architecture #middle #senior
https://martinfowler.com/articles/serverless.html
Check this amazing and detailed article to discover what is Serverless in and what are the tradeoffs worth considering to decide whether and how to use it.
#architecture #middle #senior
https://martinfowler.com/articles/serverless.html
martinfowler.com
Serverless Architectures
Serverless architectures replace a managed server with a collection of third party services and FaaS
You have different choices when it comes to implementing the communication of your microservices. In this article, you will see how Apache Kafka improves upon the historical HTTP REST API/message queuing architectures used in microservices and how it further extends their capabilities and aims to solve their problems.
#kafka #microservices #architecture #middle #senior
https://dzone.com/articles/how-kafka-solves-common-microservice-communication
#kafka #microservices #architecture #middle #senior
https://dzone.com/articles/how-kafka-solves-common-microservice-communication
Load balancing is one of the core concepts required for building reliable distributed systems.
However, there is a lot of confusion on what it really is and most of the related information is not up-to-date. Take a look at this article to get a great overview about all the related concepts!
#architecture #middle #senior
https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236
However, there is a lot of confusion on what it really is and most of the related information is not up-to-date. Take a look at this article to get a great overview about all the related concepts!
#architecture #middle #senior
https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236
Medium
Introduction to modern network load balancing and proxying
It was brought to my attention recently that there is a dearth of introductory educational material available about modern network load…
Microservices for Java Developers: Performance and Load Testing
These days numerous frameworks and libraries make it is pretty easy to get from literally nothing to a full-fledged running application or service in a matter of hours. However, the decisions which frameworks make on your behalf (often called “sensitive defaults”) are far from being optimal (or even sufficient) in the context of the specific application or service.
In this tutorial you will get a great overview about performance and load testing, focusing on the tools to help you with achieving your goals and also highlight the typical areas of the application to tune.
#performance #testing #microservices #architecture #tools #middle #senior
https://www.javacodegeeks.com/2019/02/microservices-for-java-developers-performance-and-load-testing.html
These days numerous frameworks and libraries make it is pretty easy to get from literally nothing to a full-fledged running application or service in a matter of hours. However, the decisions which frameworks make on your behalf (often called “sensitive defaults”) are far from being optimal (or even sufficient) in the context of the specific application or service.
In this tutorial you will get a great overview about performance and load testing, focusing on the tools to help you with achieving your goals and also highlight the typical areas of the application to tune.
#performance #testing #microservices #architecture #tools #middle #senior
https://www.javacodegeeks.com/2019/02/microservices-for-java-developers-performance-and-load-testing.html
Java Code Geeks
Microservices for Java Developers: Performance and Load Testing - Java Code Geeks - 2022
Interested to learn more about Microservices? Then check out our detailed example on Microservices for Java Developers: Performance and Load Testing!
How Do We Handle Failures in Microservices?
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
#microservices #architecture #redis #spring #hazelcast #middle #senior
https://www.infoq.com/presentations/failure-cache-redis-pcc-hazelcast
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
#microservices #architecture #redis #spring #hazelcast #middle #senior
https://www.infoq.com/presentations/failure-cache-redis-pcc-hazelcast
InfoQ
Enterprise Systems Built with Microservices are Designed to Expect Failures, But Then What? How Do We Handle Failures?
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
The Open-Closed Principle at an Architectural Level
If you are familiar with the SOLID principles for class design in OOP and if you have ever wondered if you can use them, for example the Open-Closed Principle, when designing the architecture of a system. The Open-Closed Principle, with microservices? Madness! Well, maybe not. Let's dive into it and check it out.
#architecture #middle #senior
https://dzone.com/articles/the-open-closed-principle-at-an-architectural-leve
If you are familiar with the SOLID principles for class design in OOP and if you have ever wondered if you can use them, for example the Open-Closed Principle, when designing the architecture of a system. The Open-Closed Principle, with microservices? Madness! Well, maybe not. Let's dive into it and check it out.
#architecture #middle #senior
https://dzone.com/articles/the-open-closed-principle-at-an-architectural-leve
DZone
The Open-Closed Principle at an Architectural Level
An architect gives a tutorial on how devs and architects can work with the Open-Closed Principle when designing the architecture of microservices-based system.
Designing Event Driven Services
This is an amazing series of articles on how to deal with consistency in distributed systems, the right way. Don’t miss it.
Part 1: The Data Dichotomy: Rethinking the Way We Treat Data and Services
Part 2: Build Services on a Backbone of Events
Part 3: Using Apache Kafka for Service Architectures
Part 4: Chain Services with Exactly Once Guarantees
Part 5: Messaging as the Single Source of Truth
Part 6: Leveraging the Power of a Database Unbundled
Part 7: Building a Microservices Ecosystem with Kafka Streams and KSQL
#java #architecture #senior
This is an amazing series of articles on how to deal with consistency in distributed systems, the right way. Don’t miss it.
Part 1: The Data Dichotomy: Rethinking the Way We Treat Data and Services
Part 2: Build Services on a Backbone of Events
Part 3: Using Apache Kafka for Service Architectures
Part 4: Chain Services with Exactly Once Guarantees
Part 5: Messaging as the Single Source of Truth
Part 6: Leveraging the Power of a Database Unbundled
Part 7: Building a Microservices Ecosystem with Kafka Streams and KSQL
#java #architecture #senior
Confluent
Microservices: Rethinking the Way We Treat Data and Services | Confluent
For microservices, there is a tension between how we build services and how we approach the data that flows between them. Apache Kafka can help.
Microservices Anti-Patterns
In this post, a developer talks about the microservices antipatterns that he's seen while working with clients of all sizes.
https://dzone.com/articles/microservices-anti-patterns
#microservices #architecture #senior
In this post, a developer talks about the microservices antipatterns that he's seen while working with clients of all sizes.
https://dzone.com/articles/microservices-anti-patterns
#microservices #architecture #senior
DZone
Microservices Anti-Patterns
An experienced developer discusses microservices anti-patterns and faux-pas he's witnessed working with clients over the course of his career.
Immutable Collections In Java – Not Now, Not Ever
In JDK terminology, immutable and unmodifiable have shifted over the last few years. At first, the term immutable was used for the collections returned by Java 9’s collection factory methods. But will a method that prints all elements in an immutable collection always have the same output? Yes? No? What’s An Immutable Collection? Is immutability a feature? Can Unmodifiable And Immutable Collections Be Retrofitted? Find out now!
#java #jvm #jdk #architecture #middle
https://blog.codefx.org/java/immutable-collections-in-java/
In JDK terminology, immutable and unmodifiable have shifted over the last few years. At first, the term immutable was used for the collections returned by Java 9’s collection factory methods. But will a method that prints all elements in an immutable collection always have the same output? Yes? No? What’s An Immutable Collection? Is immutability a feature? Can Unmodifiable And Immutable Collections Be Retrofitted? Find out now!
#java #jvm #jdk #architecture #middle
https://blog.codefx.org/java/immutable-collections-in-java/
nipafx // You. Me. Java.
Immutable Collections In Java - Not Now, Not Ever // nipafx
The JDK contains immutable collections, but no type ImmutableCollection. Here's why that's so and why it won't change.