"How to build a breakthrough" — Java Software Engineering Weekly Newsletter

"How to build a breakthrough" — Java Software Engineering Weekly Newsletter

Oleksandr Stefanovskyi

Hello from Lviv and welcome to another newsletter!

From Engineer to Designer — Amit Assaraf will inspire you to play and consider learning new skills. A few more tips I'm using to add to Amit's list: (1) Which companies are doing great work in that space? (2) Who in these companies should I follow (on Twitter) to learn from them and the resources they share?

How to build a breakthrough — Mike Maples with a helpful framework to help you come up with products and movements to shape the future. The power of inversion thinking can help you to promote your ideas, managing risks, and above all - build a narrative you want to chase after. It doesn't mean you'll be right, but it will work on a muscle worth developing.



👉 Web Architecture 101

Java

  1. Updates to Spring Versions — The Spring team is adopting Semantic Versioning for project modules, and Calendar Versioning for release trains.
  2. Java Feature Spotlight: Text Blocks — A comprehensive look at text blocks, scheduled to become a permanent language feature in Java SE 15.
  3. What is JDBC? — And a great primer on JDBC, covering drivers, connections, queries, and connection pooling.
  4. Spring MVC: Building Web Sites & RESTful services — 7,500 words of concentrated material

Engineering

  1. You Don't Hate Mocks; You Hate Side-Effects — And when tests rely more on side-effects and less on expectations, maybe it's time to refactor.
  2. KeystoneInterface — How to integrate faster without showing the half-developed feature.
  3. Assessing projects' sustainability on GitHub — the checklist with steps to detect is the project maintainable or not.

Databased

  1. The Best Medium-Hard Data Analyst SQL Interview Questions — This article begins with a quote: “The first 70% of SQL is pretty straightforward but the remaining 30% can be pretty tricky.” True! This article focuses on the tricky ‘medium-hard’ area that few tutorials venture into.
  2. Using AWS API Gateway to Run Database Queries — API Gateway is commonly used to hook up HTTP endpoints to AWS Lambda functions but did you know it can directly connect to DynamoDB? (Or any AWS service that lets you query over the AWS API, so not RDS.)
  3. TileDB 2.0 and the Future of Data Science — TileDB is an embeddable storage engine focused on working with dense and sparse multi-dimensional arrays. It’s a C++ library with official Python, R, Java and Go integrations, but it can integrate with other database systems too. 2.0 introduces dataframe support, a new API for R, and support for Google Cloud Storage and Azure Blob Storage.
  4. Time-Series Compression Algorithms, Explained — Delta-delta encoding, Simple-8b, XOR-based compression, and more - these algorithms aren’t magic, but combined they can save over 90% of storage costs and speed up queries. Here’s how they work.
  5. The Big Cloud Data Boom Gets Even Bigger, Thanks to COVID-19? — It’s not like the cloud was doing badly beforehand, but the pandemic is apparently encouraging companies to virtualize as much of their operations as possible.
  6. Speeding Up count(*): Why Not Use max(id) - min(id)? — A warning tale in case you decide to take this shortcut. While you might be able to estimate or fudge a number that’s close, you can’t guarantee sequences will give you an exact, correct answer here.

Tools

  1. pgModeler: A Postgres Database Modeler — An easy way to create and edit database models in a visual way. It’s packaged up as a paid product but is also open source so you can build your own.
  2. mssql-cli, a CLI Tool to Manage SQL Server, Now on macOS and Linux — mssql-cli is a tool for working with SQL Server from the command line, complete with Intellisense, syntax highlighting, and paging.
  3. Caddy 2 is a fresh new server experience. Some things might take getting used to, like having every site served over HTTPS unless you specify http

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