Python/Django development on Windows with WSL

Microsoft offers the WSL feature (Windows Subsystem for Linux) for a couple of years now (since 2016 to be precise). This can be perfectly used for setting up your local development environment. It won’t take much longer than Windows native and comes with more comfort especially when you start to integrate other dependencies like MySQL. Setting up MySQL+Python on Windows is really everything else then nice.

Continue reading “Python/Django development on Windows with WSL”

Easy mocking in Angular for container components

Everybody how tried to write some tests for container ccomponents knows the pain of writing the mocks. This can be very time consuming, since you have to write Mock classes for each used components including inputs etc. The possibility of NO_ERRORS_SCHEMA should NOT be used, since it is suppressing ALL error messages concerning the schema. It is just an option to lead testing ad abdsurdum …

BUT I found a nice module which is a very nice solution: ng-mocks. Mocking a component is then a oneliner in the TestBed configuration:

import { MockComponent } from 'ng-mocks';

// ... 

      declarations: [
        TestedComponent,
        MockComponent(DependencyComponent),
      ]

React: initial project setup, structure and architecture

Starting with React is quite easy. You just need to install the npm package and can create your components. However, unlike Angular, React is not providing a whole ecosystem which comes with a architecture and everything necessary like router, module system, components, templates already prepared for immediate start. Angular is a framework, whereas React is a library for creating ui interfaces! This is a huge difference (framework vs. library). In this short article I show an example architecture which you can use, if you don’t know how to structure your app.

Continue reading “React: initial project setup, structure and architecture”

Flaws in OOP practice: use flat composition and interfaces instead of hierarchical inheritance!

OOP is associated with Inheritance, Encapsulation and Polymorphism. These should enable maintainable and re-usable code. Let’s see how this ends up in practice and what are the solutions, so that you REALLY get maintainable and re-usable code. Based on an interesting and entertaining article on medium by Charles Scalfani. This article is a summary. If you need some explanations and examples you should read the original article.

Continue reading “Flaws in OOP practice: use flat composition and interfaces instead of hierarchical inheritance!”