Last week I attended Craft Conference in Budapest, Hungary. Here’s the description of the event:
CRAFT is about software craftsmanship, presenting which tools, methods, practices should be part of the toolbox of a modern developer and company, and serving as compass on new technologies, trends. You can learn from the best speakers and practitioners in our community.
It was definitely one of the best conferences I’ve ever been so far and I’m happy to share some highlights!
Recently I’ve watched a technical talk about some tool, let’s call it X. This tool is written in Java. Presenter was really excited and energetic and he obviously knew his stuff. And then, there were two questions after the presentation:
Are there any similar solutions in languages other than Java?
I think the event was truly successful and I’d like to share my thoughts and notes below for the most interesting talks I attended.
The conference is dedicated to Microservices, as you can guess from its name. It’s not new – originally started in 2015, it’s been attracting top presenters from all around the world, including recognized experts like Sam Newman and Fred George.
Pretty much every web developer has built HTTP APIs. How does it usually happen? If you have good practices established in your team you probably start with a whiteboarding session. Good one-hour exercise with your colleagues produces something that we call “API spec”. It might look like this:
Great job everyone! Although, we forgot a few “minor” things:
Error messages and error HTTP codes
Authorization and authentication
Schema for the entities
And the most important, does it actually satisfy consumers (like front-end apps or other systems)?
Multiply that by number of years you’re going to maintain that (∞) and the rate of adding new features… Looks really depressing. Our beautifully designed “API spec” quickly becomes a pile of unmaintainable mess. Is there a better way to do it?
As you probably know, I’m a big fan of Akka. Akka Cluster is a great low-level mechanism for building reliable distributed systems. It’s shipped with powerful abstractions like Sharding and Singleton.
If you want to start using it you should solve cluster bootstrapping first. Almost every tutorial on the internet (including the official one) tells you to use seed nodes. It looks something like this:
RSS is not dead. At least not for me :) I use NewsBlur to track and read 50+ various feeds – tech, travel, personal blogs. Today I want to share a list of software engineering blogs that I find very helpful and keep in my list for a long time.