Skip to main content

Hyperskill

I had a great chance to visit Hyperskill presentation last month, which is a new MOOC (?) provider for Java and Kotlin (at the moment of writing). Few days ago I also finished the first Java project there and want to quickly write my impression.

Read more…

Custom Language Highlighting in PyCharm

It is a quite common request to support new programming and config languages in PyCharm. While some of them like (e.g. Markdown, JavaScript) are supported from the box and for some (e.g. Makefile) you can install a third party plugin, others have no support at all at the moment. Of course, you can write a new plugin by yourself, but it is too time consuming in many cases, so I present you a different approach, a bit harsh and not so feature-rich but quite useful in many cases (I use it myself) - Custom File Types.

Read more…

Runtime bytecode manipulations

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!

Read more…

Linters and PyCharm

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.

Read more…

Завершен курс "Python основы и применение"

Завершил курс "Python - Основы и применение" от Stepic.org. Несмотря на название курс оказался весьма интересным и не таким уж и базовым - полные новички в Python могут столкнуться с проблемами. Мне очень понравилось, что были разобраны некоторые традиционно пропускаемые вопросы (пресловутый Method Resolution Order), которые как раз очень любят спрашивать на собеседованиях. Чуть подробнее о плюсах и минусах, а также краткое содержание внутри.

Read more…

Перевод книги "Intermediate Python"

Не так давно я закончил перевод небольшой книги от разработчика из Пакистана - Yasoob Khalid - "Intermediate Python". Не уверен как лучше перевести Intermediate в данном контексте, но смысл в том что книга для уже освоивших базовый Python программистов. Её основная идея дать читателю краткий обзор нюансов языка, которые остаются за кадром базовых курсов/книг/руководств, ведь в Python при всей его интуитивности и простоте есть немало сложных, специфических, да и просто традиционных решений, как впрочем и в любом другом языке.

Read more…

First FreeCodeCamp project is complete

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.

Read more…

OSS University Path

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".

Read more…