Fail fast — Java Software Engineering Weekly Newsletter

Fail fast — Java Software Engineering Weekly Newsletter

Oleksandr Stefanovskyi

Hello readers!

Andrew Reed started an interesting thread with good points around it. The goal is not to pick a side, but rather to understand the mindset successful entrepreneurs and leaders practice to learn faster.

Twitter Thread worth reading https://twitter.com/andrew__reed/status/1247989369241079809

Do you use Scrum on your project? Most of the teams do but do you do it right? Here are some of Scrum Development Team Anti-Patterns just to make sure you don't do it.

Building trust through effective communication — what could be more important than trust and reliability in our times. The author shows some ways to act politely and how to look reliable in the eyes of your customer or boss.

How to Make Things High-Quality — "If you don’t think a feature is worth the time it takes to make it great, then it is not rational to ship a crappier version simply because you have sunk time into it" - thoughts on The Tradeoff Between Quality and Time.

Interesting article about How Stack Overflow's dark mode was built in reality.

A New Hope by Robert C. Martin - Uncle Bob imagines a father-son conversation 25 years from now about the heroes of the COVID-19 pandemic.

Don't forget to update — new IntelliJ IDEA 2020.1 is out!

Deploys require a careful balance of speed and reliability. Deploys at Slack is not something unusual but here is the way they do it.

Java

  1. Getting Started With RSocket: Spring Boot Channels — A quick intro to bi-directional data streaming with RSocket channels
  2. Java's Missing Features: 5 Years Later — And Ben Evans takes stock in his earlier predictions regarding potential Java language features.
  3. Spring Security: Authentication and Authorization In-Depth — The guide to understand what Spring Security is and how its core features like authentication, authorization or common exploit protection work.
  4. Understanding the Reactive Thread Model: Part 1 — how to work with Reactive threads in Java.
  5. Quick Guide to Spring Cloud Circuit Breaker — Circuit Breakers allow errors to be handled gracefully. Spring Cloud now supports multiple circuit breaker libraries with the same interface.
  6. Difference Between BeanFactory and ApplicationContext — A quick tutorial, we'll understand the significant differences between these two IOC containers with practical examples
  7. Quickly creating URIs with UriBuilder

Technical

  1. Your own Kubernetes controller – Improving and deploying — As the series wraps up, we learn how to build a native executable for our Java-based K8S controller using Graal VM.
  2. Implementing MuleSoft AnyPoint Platform Identity Management Using AWS Cognito Authorization Code — How to use AWS Cognito for MuleSoft AnyPoint Platform Identity Management.
  3. Improving AWS Performance For The Future — The true power of cloud computing lies in the way it can be optimized for maximum performance and efficiency.
  4. A practical guide to writing technical specs — Writing a technical spec increases the chances of having a successful project, service, or feature that all stakeholders involved are satisfied with. It decreases the chances of something going horribly wrong during implementation and even after you’ve launched your product.

Testing

  1. Software Unit Testing: What Is That? Why Is it Important? — One of the basic but effective testing techniques to make sure that your product works properly is called unit testing.
  2. Web Services or Mobile App Testing — The Prioritization Matrices — The output of one software used as an input to another reciprocally and the whole process executed with interface language like XML.
  3. Run Your First Chaos Experiment in 10 Minutes — This 10-minute tutorial will help you quickly get started with Chaos Engineering and run your first chaos experiment.
  4. 3 Performance Testing Metrics Every Tester Should Know — In this post, I want to focus on average, standard deviation and percentiles. We’ll discuss their usefulness when analyzing performance results.
  5. Spring Boot tests with Testcontainers and PostgreSQL, MySQL or MariaDB — Testcontainers is a Java library that allows integrating Docker containers in JUnit tests with ease. In a Containerized World, there is little sense to complicate the tests configuration with embedded databases and services. Instead, use run your services in Docker and let the Testcontainers manage this for you.
  6. Java Unit Testing with JUnit Example

Databases

  1. 10 Things I Hate About PostgreSQL — Just a few weeks ago people said that ‘Postgres is the world’s best database’ but here Rick reminds us that no software is perfect and that even Postgres has flaws
  2. Why You (Probably) Don't Need PostGIS — PostGIS is a popular and very powerful set of geospatial extensions for PostgreSQL but for many geospatial tasks it’s a bit like using “a very large cannon to shoot a tiny bird” and there are simpler alternatives.
  3. Comparing MongoDB vs PostgreSQL over JOINs — An analysis of structuring data in both MongoDB’s NoSQL world and Postgres’s relational world to model a classical employee-department data model. It’s little apples and oranges but makes some reasonable points and when something has a Turing Award winner’s name on it, it’s a must-read.
  4. The Many Flavors of the Arcane SQL MERGE Statement — Lukas really sells this one: “The SQL MERGE statement is a device whose mystery is only exceeded by its power.” Many SQL systems support MERGE at varying levels though, notably, not Postgres or MySQL.
  5. RDS, Redshift, DynamoDB, and Aurora – How Do They Compare? — In this article, take a look at a comparison between RDS, Redshift, DynamoDB, and Aurora.

You could check out previous issues at my site, telegram or twitter.