Wednesday, May 13, 2020

IT links (4.5. - 10.5.2020)


Generate and export database schema based on entities

Two things related to Maven:
And something about duplicate dependencies


A nice short example of user data script on AWS EC2 - for Apache server installation

And two good talks from QCon London 2020:

Monday, May 11, 2020

AI, ML, Robots and Brains (27.4. - 3.5.2020)

Society


Algorithms


Health


Robots


Cars


Brains

Saturday, May 9, 2020

Wednesday, May 6, 2020

AI, ML, Robots and Brains (20. - 26.4.2020)

Algorithms


Health


Robots


Cars


Hardware


Brains

Monday, May 4, 2020

N-Tier Architecture, Good Software Development Practices and Testing

N-tier architecture, also known as multitier architecture, is an architectural pattern in software engineering that physically separates functions responsible for data storage, business logic, presentation, and more.

Splitting an application horizontally into multiple layers, each serving a specific purpose, helps maintain the separation and decoupling of components. This approach also assists in maintaining a general overview of the application.

However, adhering to good software development practices, such as the single responsibility principle, is still dependent on the developer's responsibility. Without proper attention, things can end up badly.

For instance, if business logic spreads from services into controllers and more logic ends up in JSPs, you may soon find yourself in a challenging situation. These things can slow down investigations and make significant architectural changes difficult or even impossible. Or covering things with unit and integration tests retroactively might not make sense in such cases. They might not bring wider code coverage. 

Such things end up covered mainly with expensive, brittle end-to-end tests, slowing down time to deployment. These tests can occasionally randomly fail and might require repeated re-running. Detection of bugs is pushed more into the future, making their fixing more expensive, and failed end-to-end test might not say where a problem is exactly. This makes it harder to figure out what is wrong because you must usually go through multiple layers. It is good to keep things in proper places, where they can be tested cheaply with unit and integration tests. This is also a good reason to start to think in a more Test-Driven Development (TDD) way. It can motivate you to keep logic in places where it is easier to test it.

While N-tier architecture is beneficial, it's essential to maintain good programming practices alongside it.

Sunday, May 3, 2020

Sunday, April 19, 2020

AI, ML, Robots and Brains (6. - 12.4.2020)

Society


Algorithms


Robots


Cars


Brains

Friday, April 17, 2020

IT links (6. - 12.4.2020)

Better NPE messges in JDK 14

Useful functionality for exceptions handling in Google Guava

Sharing run configurations with Intellij Idea

Code migration - three types

Comparison of Kubernetes and OpenShift

Two interesting services from AWS:
AWS DeepComposer - to get in touch with GANs


Thursday, April 9, 2020

Infographic - Unmanned Space Cargo Vehicles (March 2020)

This infographic shows unmanned space cargo vehicles (and their specifications), available on Earth as of March 2020:


Saturday, April 4, 2020

IT links (23. - 29.3.2020)

The new functionality that will be available in JDK 15 is taking shape

Using Docker Compose for Spring Boot application and PostgreSQL

Creating AWS Lambda in Java
When to use AWS S3 as data lake and when not

When to not use Cucumber as part of your automation tests and when it is just a burden?
Software testing trends in 2020 - I especially like spidering AI

And Git cheat sheet