Table of Contents
In my previous article, we started to look at some Scbcn workshops and things I have underlined from the event. In this article, I would like to continue sharing with you my notes and Software Crafters Barcelona highlights.
As I mentioned in my first article, in September 2018 Apiumhub was honored to become a Platinum sponsor of VI edition of the Software Crafters Barcelona. And Evgeny Predein – CEO & Co-founder of Apiumhub gave a motivation speech there. Also, Albert Parron – Frontend Architect of Apiumhub gave a speech about MVP & FRP for a controlerless architecture.
Let’s look at some talks that captured my attention:
Software Crafters Barcelona highlights
My monolith is so cool by Cristian Cotes
The point of the presentation: you don’t need to start your project thinking in microservices. With some basic rules you can have a code that may be split into microservices in the future if needed.
Rule 1: create user cases
Rule 2: encapsulate your business logic
- create objects with its own behaviour
- initialize them inside user cases
- don’t expose their implementation
Rule 3: hide implementation details
- database implementation, message brokers, frameworks …
Rule 4: create slices (bounded contexts)
/user/
/application
/domain
/infrastructure
Rule 5: extract common code
- it might end up as your own independent libraries
When to break the monolith?
- when the team is too big
- some slices have special requirements
- slices with different non-functional requirements
Towards functional programming through hexagonal architecture by Javier Ferrer and Juan Manuel Serrano
In this talk, Javier talked about the Hexagonal architecture while Juan Manuel did it about the functional programming. They compared the same architecture from the two points of view trying to find the parallelism between them. Very interesting presentation with a high level of explanation that needs to be checked again for a better understanding.
Here you may find the slides.
Reactive microsystems by Ignasi Marimon-Clos
Great talk given by Ignasi about some steps for migrating from monolith to reactive microservices architecture. It gave some interesting points to improve the architecture of a monolith (although you don’t want to reach the microservices):
- Separate stateless from stateful
- Move state to the process (not pushed on DB)
- Separate reads from writes (use different models)
- Denormalise
- Emit state changes
- Complementary log
- Log source of truth
As he said: “microservices is hype, there’s a world between mono and micro”.
Calisthenics – Smells – SOLID – Cohesion / Coupling connecting the dots
by Pedro Moreira Santos
In this session Pedro gave one of his speeches that make you think about. He went through some principles rules like DRY, YAGNI…, through some code smells and finally the SOLID principles. With all this information, he started to find the relationships between these concepts.
For example:
Single responsibility → cohesion
Open -> coupling
We’ll talk more about this exercise in another article.
Conclusion: Software Crafters Barcelona highlights
There were a lot of interesting workshops and conferences that we worth visiting. Every year Software Crafters Barcelona is getting better and better. Can’t wait to attend next edition!
If you would like to know more about Software Crafters Barcelona highlights , I highly recommend you to subscribe to our monthly newsletter by clicking here.
And if you found this article about Software Crafters Barcelona highlights interesting, you might like…
Scala generics I: Scala type bounds
Scala generics II: covariance and contravariance
Scala generics III: Generalized type constraints
F-bound over a generic type in Scala
Microservices vs Monolithic architecture
iOS Objective-C app: sucessful case study
Mobile app development trends of the year
Banco Falabella wearable case study
Viper architecture advantages for iOS apps
Be more functional in Java ith Vavr
Author
-
Experienced Full Stack Engineer with a demonstrated history of working in the information technology and services industry. Skilled in PHP, Spring Boot, Java, Kotlin, Domain-Driven Design (DDD), TDD and Front-end Development. Strong engineering professional with a Engineer's degree focused in Computer Engineering from Universitat Oberta de Catalunya (UOC).
View all posts