Web developers will, sooner or later, be forced to use a terminal. However not every programmer is aware that being proficient in using a console (and it’s tools) can speed up work A LOT. In this post I will show you the tool for handling multiple command lines with ease. tmux – sessions, windows tmux […]
Every developer has heard terms like loose or tight coupling yet still a lot have problems maintaining coupling in their codebase. Let’s take a look into some code and try to identify where it is tightly coupled and refactor making it more maintainable and testable. Facing a code So here is a class: A purpose […]
When comparing traditional and DDD/CQRS architectures (see my previous article) I said that the goal of DDD model is to decompose complex business domain into manageable pieces taking into account scalability and consistency requirements. What it means is that by bringing concepts like bounded contexts, transaction boundaries and event based communication DDD and CQRS are […]
Android is experiencing a rapid growth. From the device that handled emails, texts and calls it expanded to a device that can do almost all work that computers did. Our everyday work now can be done on almost every portable device – however many of us experienced problems with web application UX on mobile devices. […]
Rich domain model that emerges from application of DDD techniques has many advantages over anemic model but is hard (or even impossible) to deliver when modeled entities need to be stored in relational database. The reason lays deeply in the mismatch between goals of DDD and ORM models. Without going into details, the main difference […]
Umiejętność przygotowania dobrych testów i ich zautomatyzowania, konieczność ciągłej integracji i cyklicznego wdrażania poszczególnych etapów projektu, stała współpraca z klientem oraz efektywne zarządzanie pracą zespołu z naciskiem na rozwijanie talentów jego poszczególnych członków – to kluczowe czynniki wpływające na skuteczne prowadzenie projektów IT. Takie podejście charakteryzuje ideę Agile, która coraz dynamiczniej rozwija się na polskim […]
Once you start learning functional programming (whatever language you choose) sooner or later you will hit on Monad. Your initial understanding of Monad concept, after reading a couple of tutorials (many of them are available in the web), might not be very good and that’s because of The Curse of the Monad: In addition to […]
First of all, I’m not against Spring, IoC frameworks or frameworks in general. Quite the contrary, I’m big fan of many different frameworks. Said that I must admit that sometimes when a framework hides too much magic you risk loosing control of your application. Once you realize that you’ve just created zombie app you are […]
Currently everybody wants to be agile. Agile software development is mainstream and if you’re not agile you’re probably considered to be less productive therefore not as competetive. Everybody labels themself as agile, but not everybody understands, that true agility is not available for all, and by all I mean developers, organizations and clients. Agility is […]
O czym traktuje wpis: CQRS – Command Query Responsibility Segregation DDD – Domain Driven Design ES – Event Sourcing Koncepcja CQRS Podział systemu na dwa obszary: przetwarzanie transakcji obsługa zapytań (widoki) Koncepcja CQRS Architektura systemu, która wyłania się w wyniku zastosowania takiej separacji, jest zasadniczo różna względem typowych architektur bazujących na jednym modelu danych i […]