Architecture

Clean Architecture - PART II - Starting with the Bricks: Programming Paradigms

Clean Architecture - PART II - Starting with the Bricks: Programming Paradigms

Translations: RU

The book club of our company has chosen a new wonderful book for reading:

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

The book is superficial so far. Here’s an overview of the second part:

There are three programming paradigms:

  • Structured programming - is discipline imposed upon direct transfer of control.
  • Object-oriented programming - is discipline imposed upon indirect transfer of control.
  • Functional programming - is discipline imposed upon variable assignment

All three paradigms are about what NOT TO DO.

Clean Architecture - PART I - Introduction

Clean Architecture - PART I - Introduction

Translations: RU

The book club of our company has chosen a new wonderful book for reading:

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Here’s an overview of the first part:

  • The goal of software architecture
    • to minimize the human resources required to build and maintain the required system.
  • Two values of software
    • Behaviour (function) - to satisfy stakeholders’ requirements
    • Structure (architecture) - difficulty of making change should be proportional to the scope, not to the “shape” of the change
  • Ease of change is more important!
    • Software Developer should fight 🤺 for it with other stakeholders!
Part I - Introduction

Download full mind map (PDF)

Python call async from sync

Python call async from sync

Translations: RU

There is a known issue in Python - you have to choose between sync and async code models.

And if you are using async code you can call sync code but from that code you CAN’T call async code again.

Why does this problem occur? The event loop used by the async code is already stuck waiting for the result from the sync code. And if you want to call async code now, you cannot reuse the same event loop.