Nikita Sobolev

Nikita Sobolev @sobolevn

Location:
Moscow, Russia
Joined:
Jul 9, 2017

Nikita Sobolev
articles - 34 total

Typeclasses in Python

Typeclasses is a new (but familiar) idea of how you can organize behavior around your types

Learn More 26 4Jul 8 '21

Make tests a part of your app

Tests can be generated, tests can be shipped by library authors directly to end-users, tests can be encoded into the body of your app. Let's follow this path!

Learn More 17 6Mar 10 '21

Higher Kinded Types in Python

This post will guide newcomers through the high waters of Higher Kinded Types and explain how they work and how they can be used.

Learn More 44 5Nov 3 '20

How async should have been

Your sync and async code can be identical, but still, can work differently. It is a matter of right abstractions. In this article, I will show how one can write sync code to run async programs in Python.

Learn More 16 0Jun 16 '20

9 best open-source findings, March 2020

Hello, everyone! Let me introduce a list of the best open-source findings for March 2020. If you wa...

Learn More 119 4Apr 7 '20

Do not log

A lot of developers consider logging as a silver bullet to fix all things at once. And they don't realize how hard it actually is to work with logging properly.

Learn More 63 0Mar 25 '20

Cover the tricky parts of your code!

Sometimes your code has to take different paths based on the external environment. Make sure that your coverage follows it smoothly.

Learn More 15 0Mar 5 '20

Typed functional Dependency Injection in Python

Originally published in my blog: https://sobolevn.me/2020/02/typed-functional-dependency-injection D...

Learn More 34 0Feb 17 '20

9 best open-source findings, November 2019

Hello, everyone! Let me introduce a list of the best open-source findings for November 2019. If you...

Learn More 187 12Dec 18 '19

Testing Django Migrations

Originally published in my blog: https://sobolevn.me/2019/10/testing-django-migrations Dear internet...

Learn More 9 0Dec 2 '19

9 best open-source findings, October 2019

Hello, everyone! Let me introduce a list of the best open-source findings for October 2019. If you...

Learn More 183 6Nov 11 '19

Complexity Waterfall

Originally published in my blog: https://sobolevn.me/2019/10/complexity-waterfall When talking about...

Learn More 100 6Oct 28 '19

9 best open-source findings, September 2019

Happy #Hactoberfest, everyone! 🎃 Let me introduce a list of the best open-source findings for Septem...

Learn More 95 0Oct 7 '19

Testing mypy stubs, plugins, and types

Originally published in my blog: https://sobolevn.me/2019/08/testing-mypy-types Have you ever tried...

Learn More 7 0Sep 16 '19

9 best open-source findings, August 2019

Happy autumn, everyone! 🎃 Let me introduce a list of the best open-source findings for August 2019....

Learn More 184 2Sep 4 '19

Typechecking Django internals and querysets

Originally published in my blog: https://sobolevn.me/2019/08/typechecking-django-and-drf As you have...

Learn More 17 2Sep 2 '19

6 mac apps that fit everyone

You often can see lists of awesome apps that you are not going to use or ones that just do not fit you. This one is different. This list contains simple, yet very powerful productivity boosters that totally fits everyone.

Learn More 191 21Jul 19 '19

Really typing Vue

This is not another "setting up" a new project with Vue and TypeScript tutorial. Let's do some deep dive into more complex topics!

Learn More 78 5Jul 8 '19

From Flow to Typescript. Why?

We have moved wemake-vue-template from Flow to TypeScript. Everyone, jump on the hype train!

Learn More 63 8Apr 2 '19

Engineering guide to writing correct User Stories

Agile people are obsessed with writing user stories. And it a very powerful instrument indeed. But, from my practice a lot of people are doing it wrong. Let's learn how to do it correctly. Including proper verification and mapping to the source code.

Learn More 434 19Mar 26 '19

Enforcing Single Responsibility Principle in Python

Single Responsibility Principle (or SRP) is one of the most important concepts in software development. The main idea of this concept is: all pieces of software must have only a single responsibility.

Learn More 115 1Mar 11 '19

Announcing docker-image-size-limit: keep an eye on your docker image size

Limit your docker image size, prevent it from growing too big

Learn More 36 3Mar 4 '19

Python exceptions considered an anti-pattern

You might be wondering how do exceptions are an anti-pattern and how does this relate to typing at all? Well, let's find out!

Learn More 93 26Feb 11 '19

Simple dependent types in Python

Python typing just got a new shiny feature: Literal types. Let's dive in a get familiar with it.

Learn More 103 5Jan 31 '19

Best engineering practices: how to fix a bug?

The important thing is: how do you respond to the bugs you and other people have created? What do you do to prevent them from happening in the future? How do you even know that this buggy situation even exist?

Learn More 65 0Jan 21 '19

Managing Django’s settings

Managing Django’s settings might be tricky. There are severals issues which are encountered by any Django developer along the way.

Learn More 37 1Jan 18 '19

Are software titles inflating during the years?

I have heard a lot of rants about inflation of terms like "junior", "middle", and "senior" developers. So, I have decided to conduct a small and simple case study on these titles for the last 20 years. I would also like to invite you to express your opinion in the comments.

Learn More 15 4Jan 16 '19

Announcing dotenv-linter: a tool to lint your .env files

Simple linter for `.env` files. While `.env` files are very simple it is required to keep them consistent. This tool offers a wide range of consistency rules and best practices. And it integrates perfectly into any existing workflow.

Learn More 40 6Jan 10 '19

Building blameless working environment

Blaming people does not work. Let's stop to do that. And find alternative ways to work

Learn More 127 9Dec 13 '18

1-minute guide to real constants in Python

How to use `final` types to make your API better

Learn More 93 11Oct 21 '18