GeistHaus
log in · sign up
84 pages link to this URL
QCon London: Asynchronous Event Architectures with or without Actors

Synchronous request-response communication in microservices systems can be really complicated. Fortunately, asynchronous event-based architectures can be used to avoid this, Yaroslav Tkachenko claimed in a presentation at QCon London 2018, where he described his experiences with event-driven architectures and how Actors can be used in systems built on this architecture.

0 inbound links website en asynchronous event architecturesDevelopmentArchitecture & DesignDomain-Driven DesignDomain Driven DesignEvent Driven ArchitectureActor ModelDistributed SystemsQCon London 2018
DIP in the Wild

Some practical examples of how the Dependency Inversion Principle (DIP) can help you simplify your code.

4 inbound links article en object collaboration designapplication architecture
It's Going to Get Weird

I was a front-end engineer before the iPhone existed. As apps increased in use, a thought occurred to me: what if websites just… disappear? What does that mean for my job? My gut reaction was I …

0 inbound links article en
GitLab Communication

We're an all-remote company that allows people to work from almost anywhere in the world. It's important for us to practice clear communication in ways that help us stay connected and work more efficiently.

1 inbound link website en
TDD: What Went Wrong…Or Did It?

In this post I'll analyze common misconceptions about TDD that lead to vast disappointments in the methodology, and discuss a number of reassessments that can solve the issues developers experience with TDD.

1 inbound link website en TDDtdd2TDD 2.0tddisdead
Introducing Domain-Oriented Microservice Architecture

Recently there has been substantial discussion around the downsides of service oriented architectures and microservice architectures in particular. While only a few years ago, many people readily adopted microservice architectures due to the numerous benefits they provide such as flexibility in the form of independent deployments, clear ownership, improvements in system stability, and better separation of concerns, in recent years people have begun to decry microservices for their tendency to greatly increase complexity, sometimes making even trivial features difficult to build.

3 inbound links website en
Cheat-Sheets.org

All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page.

0 inbound links website en cheat sheetround-upquick referencquick reference cardquick reference guidequick reference sheetmantldr
How to use Event Storming to introduce Domain Driven Design

Although incredibly effective, DDD is overlooked by developers because of its abstractness. Here is a set of hacks to introduce DDD during an Event Storming workshop. Ex: Alternatives to convoluted DDD names, Group activities to pass a concept through, Presentation material for tricky notions

2 inbound links article en
Are SCM check-out's contemporary?

My VCS story began with Microsoft Visual Source Safe. I was happy… I had my files versioned. I could view differences in file versions. I could …

0 inbound links website en ☖ Article☖ Project☖ Tools☖ Life☖ ALM ZgotmplZ
CQRS+Event Sourcing Messaging Patterns

Designing a decoupled, message based, system based on the CQRS pattern together with event sourcing require some thought. Since I've been thinking about it for a while now, I thought I'd share some thoughts so far.

0 inbound links article en posts blogdeveloperstaff engineeringpersonalCQRSEvent SourcingDistributed Architecture
Python’s True Superpower

Python appears to be everywhere nowadays! How did it happen, that a language that almost died in the Python 2 to 3 process is now the lingua franca a default choice when people talk about programming? There must be some secret superpower and I think I found it!

1 inbound link article en
Clean Architecture Review

This is my review of Clean Architecture by Uncle Bob. The book is undoubtedly a classic and I feel bad for not having read it earlier. I think it might have ...

Clean Architecture with Xamarin Forms

In this post, we'll look at how to apply the principles of The Clean Architecture to build a Xamarin.Forms Android app. This app will be based on a robust architecture that is loosely coupled and cleanly separates the important business or domain logic from other details and infrastructure like databases, UI frameworks, and network communications.

GitLab Communication

We're an all-remote company that allows people to work from almost anywhere in the world. It's important for us to practice clear communication in ways that help us stay connected and work more efficiently.

8 inbound links website en
Data sovereignty per microservice - .NET

Data sovereignty per microservice is one of the key points of microservices. Each microservice must be the sole owner of its database, sharing it with no other. Of course all instances of a microservice connect to the same high availability database.

1 inbound link website en
Microservices as an Evolutionary Architecture

The microservice architectural style is taking the world by storm. Last March, O'Reilly hosted their first Software Architecture Conference, and a huge percentage of the abstracts the program committee received touched on some aspect of microservices. Why is this architectural style suddenly all the rage?

2 inbound links Article en
Live demo for Hesperides!

Today I finally took the time to put up a live demo website for Hesperides! https://hesperides.herokuapp.com Hesperides is an open source tool dedicated to configuration management: it stores applications properties and mustache templates for configurations files. It is strongly hierarchized based on few main concepts: modules, applications …

0 inbound links article en prog
DevOpsDays London 2018 · Jamie Tanna | Software Engineer

My writeup of my first DevOpsDays conference, and the awesome talks and conversations I was part of.

1 inbound link article en devopsdaysawsclouddevopscapital-onecloud-custodiandashboardseventsbashmonolithserverlessmanagementagiletestingmicroservices
gpk blog

My ramblings about emacs, the internet and everything

Digraphs, Dags, and Trees in Java

Graphs are a collection of nodes connected by edges. Programmers run into graphs fairly regularly because almost any collection of things with binary relationships can be viewed as a graph. As prac…

1 inbound link article en
Event Sourcing With Elixir - Part 2 :: Bruno Antunes — Thoughts, rants, ideas

Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Introduction to new concepts Before we get the ball rolling on our BankAPI project, there are some concepts we need to be acquainted with. In traditional web projects following the MVC paradigm, you have Models, Views and Controllers. The MVC paradigm from MSDN Controllers handle requests from the user, interact with Models to query or modify the database, and use the result of those interactions to populate Views that are rendered back to the user.

0 inbound links article en blog
Event Sourcing With Elixir - Part 0 :: Bruno Antunes — Thoughts, rants, ideas

Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 I’ve been writing software for a long time, albeit professionally only for about 10 years now. Starting off with .NET (C#), I then had a period of fire-fighting at different projects in Perl and PHP and more C# until discovering Ruby. Ruby is great. Ruby is super expressive and friendly.

0 inbound links article en blog
Ivory Jenga - How organizations struggle with granularity

Building distributed systems is easier said than done. Putting aside the technical complexity and challenges that come with designing, developing and maintaining distributed systems, organizations need to figure out how to coordinate the efforts of their engineering teams, so that the results are delivered in finite time, at an acceptable cost, and make at least some sense for the business. This is easier said than done, and there is a reason why Conway’s Law is one of the more popular terms in the microservices world. Time and again, reality proves the outcomes of an organization’s efforts reflect its internal structure’s efficiency - or deficiency.

0 inbound links article en
E033 - Redesigning the API: Improving the internal architecture - ASPF02O

In this episode, we’ll take a look at redesigning an API that has been developed in a traditional layered way, moving to a more interesting onion/hexagonal/ports and adapters architecture (which is apparently very fashionable right now in .NET land).

0 inbound links article en posts dotnetaspnetcoreonion architecturehexagonal architectureports and adaptersclean architecture
Intro To RAML 1.0 | sap1ens.com

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 Versioning … >_< 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?

0 inbound links article en
DDD with Symfony2: Folder Structure And Code First

Domain Driven Design also known as DDD is an approach to develop software for complex needs by connecting the implementation to an evolving model. It is a way of thinking and a set of priorities, aimed at accelerating software projects that have to deal with complicated domains.

0 inbound links article en CC BY-SA 4.0
DDD with Symfony2: Making Things Clear

Domain Driven Design also known as DDD is an approach to develop software for complex needs by connecting the implementation to an evolving model. It is a way of thinking and a set of priorities, aimed at accelerating software projects that have to deal with complicated domains.

0 inbound links article en CC BY-SA 4.0
Ruby on Rails Model Anti-patterns and Patterns

If you're struggling with models, this blog post is for you. We will quickly go through the process of putting your models on a diet and finish strongly with some things to avoid when writing migrations.

0 inbound links website en
From Functional Silos to Stream-Aligned Success - Yaniv Preiss

It seems highly logical to split teams by function, like backend and frontend. But the downside is too great to ignore. How are stream-aligned teams more valuable?

0 inbound links article en LeadershipTech Stream-AlignedProduct EngineerTeam TopologiesCross-Functional EngineeringSilos
LiDo - Structuring Application Code Well

Discover Lido, a lightweight alternative to DDD for structuring your application. Learn how to organize your codebase with domain-based packages, clear file responsibilities, and effective testing strategies.

0 inbound links website en
Building a Custom Domain Events Dispatcher in .NET

Learn how to build a lightweight, in-process domain events dispatcher in .NET without external dependencies. We'll explore the trade-offs between immediate consistency and coupling while implementing a strongly-typed solution from scratch.

0 inbound links website en
We need to talk about interactors

I’ve noticed a bit of a trend within the Ruby community in recent years that worries me: every other codebase is now attempting to use interactors. That’s not inherently bad, but as we’ll discuss in this article, it has some unforeseen consequences. Luckily I haven’t seen much of this bleed into libraries but, on application code, it has been surprisingly common. Interestingly enough the first time I saw it my reaction was not negative at all: it looked like a very clean way to organize procedures (or commands) keeping things relatively interchangeable.

0 inbound links article en
Modelling Is Everything

I’m often asked, “What is the best way to learn about building high-performance systems”? There are many perfectly valid answers to this qu...

Skills and Expertise

My name is Luciano Nooijen, freelance software engineer and lifelong learner

0 inbound links en luciano nooijenlucianonooijen
Events: Fat or Thin

When it comes to the events, the big debate is about the contents of its body. Martin Fowler has written a great post on this topic. Some devs argue that events should carry the complete load with …

1 inbound link article en
SE Radio 720: Martin Dilger on Understanding Eventsourcing
0 inbound links en agileaiapiarchitecturec#cloudcompilersconcurrencydatabasedatabasesdesigndevopsdistributed systemsDockerdomain-driven designgarbage collectionIEEE Computer SocietyieeecsinfrastructureInterviewjavaJavaScriptkuberneteslanguagesmachine learningmicroservicesmonitoringnetworkingopen sourcepatternsperformancepodcastprocessesprogramming languagespythonrubyRustscalabilitySE-RadiosecuritySE RadioSQLTechnology/GuestTechnology Talktesting
SE Radio 638: Nick Tune and Jean-Georges Perrin on Architecture Modernization
0 inbound links en agileaiapiarchitecturec#cloudcompilersconcurrencydatabasedatabasesdesigndevopsdistributed systemsDockerdomain-driven designgarbage collectionIEEE Computer SocietyieeecsinfrastructureInterviewjavaJavaScriptkuberneteslanguagesmachine learningmicroservicesmonitoringnetworkingopen sourcepatternsperformancepodcastprocessesprogramming languagespythonrubyRustscalabilitySE-RadiosecuritySE RadioSQLTechnology/GuestTechnology Talktesting
Events: Fat or Thin

When it comes to the events, the big debate is about the contents of its body. Martin Fowler has written a great post on this topic. Some devs argue that events should carry the complete load with …

1 inbound link article en
How we make websites

Designing and building data driven dynamic web applications the one web, domain driven, RESTful, open, linked data way For the past few months I've been touting a presentation around the...

Platforms to support Product Oriented Teams

For a dev team to be fully product-oriented with sprints delivering only business value, there must be a supporting platform to manage more technical requirements. What would this platform look like?

0 inbound links article en CloudPlatformsProduct CentricOpen Source
The Practical Test Pyramid

Find out what kinds of automated tests you should implement for your application and learn by examples what these tests could look like.

35 inbound links article en testing