In 2016, I attempted to go through the Freecodecamp curriculum. Unfortunately, it was not a very successful attempt as I stopped right after the first project. I guess the problem was a lack of motivation to learn Web Development in the first place. Long story short, I am now making a second attempt, and it is much more successful so far.
2019.1 PyCharm version will come with native pytest-xdist support so I spent some time playing with it to discover a bunch of neat features. Some were a bit hard to get working right away so here are some notes for future references.
Let's say you have a class with a method which raises an exception on the first line and prints something on the second. Is it possible to reach print without editing the source code or using pdb? It is indeed, we will do it by patching a method bytecode in the runtime.
Do not try this at home!
Today's topic is linters. Not sure about you but I'm a huge fun of linters in Python. As a PyCharm user I already have great inspections and stuff you may expect from a good IDE but as a code style maniac it's absolutely not enough for me. So my "standard" pack of linters include: pylint, pydocstyle, pycodestyle and mypy. Not sure if one can call mypy a linter but let's live with it for now. I'll briefly describe each one of them, touch PyCharm integration via external tools and provide a live example from one of my repositories on github. Let's go.
Завершил курс "Python - Основы и применение" от Stepic.org. Несмотря на название курс оказался весьма интересным и не таким уж и базовым - полные новички в Python могут столкнуться с проблемами. Мне очень понравилось, что были разобраны некоторые традиционно пропускаемые вопросы (пресловутый Method Resolution Order), которые как раз очень любят спрашивать на собеседованиях. Чуть подробнее о плюсах и минусах, а также краткое содержание внутри.
Не так давно я закончил перевод небольшой книги от разработчика из Пакистана - Yasoob Khalid - "Intermediate Python". Не уверен как лучше перевести Intermediate в данном контексте, но смысл в том что книга для уже освоивших базовый Python программистов. Её основная идея дать читателю краткий обзор нюансов языка, которые остаются за кадром базовых курсов/книг/руководств, ведь в Python при всей его интуитивности и простоте есть немало сложных, специфических, да и просто традиционных решений, как впрочем и в любом другом языке.
Not long ago I have started my FreeCodeCamp path thanks to smartprogress.do to gain a better knowledge of frontend technology stack. I was somewhat sceptical that time about my capabilities in the area ("I am not a designer - I'm an engineer") and I did no like front end altogether. All that billions of JS-related technologies and HTML with CSS on top of the cake, gosh! Time has passed and I have catch myself today enjoining of frontend development. So, what is happened to me? Not much in reality.
Sadly I have no solid background in CS. There were few CS-related courses in the University (C++, Optimisation, math and so on), but the major part of my expertise comes from the experience. My field knowledge is pretty broad, but it is shallow in some places (in a lot of places) and has big holes here and there. That is why I really hope Open Source Society University initiative will help me build vast and complete CS "base".