Посты
OTUS глазами выпускника: Валерий Капранчик о курсе «Разработчик Python»

Python_Deep_24.12_site-5020-5a3d66.png

Мы продолжаем проводить опросы среди студентов проекта OTUS, чтобы выяснить, оправдались ли их ожидания от обучения. Накануне мы поговорили с Валерием Капранчиком — инженером-программистом с колоссальным стажем и бывшим студентом курса «Разработчик Python».

WRex — проектная работа выпускника курса «Разработчик Python»

Python_Deep_19.12_site-5020-bae8bb.png

Ситуация такая. Я работаю в компании, которая выпускает шлюзы сетевой безопасности. И нам, помимо тестирования работоспособности кода, нужно ещё тестировать эксплуатационные характеристики продукта.

Словарь в Python: что, где, зачем

Python_Deep_17.12_site-5020-3cd240.png

Словарь в Python является фундаментальным типом хотя бы потому, что используется для хранения атрибутов объектов любого класса. Внутри словарь реализован как хеш-таблица с открытой адресацией, где коллизии разрешаются методом квадратичного пробинга, таблица расширяется при заполнении более чем на ⅔.

О компиляции и (полу)компиляции в CPython

Python_Deep_10.12_site-5020-79682c.png

Всем известно, что Python — интерпретируемый язык программирования. Но это не совсем точно, конечно. Чтобы употреблять такие слова, нужно говорить о какой-то конкретной имплементации языка.Что же, давайте попробуем начать сначала.

Вскрываем Pandas: DataFrame + ndarray

Python_Deep_15-5020-c517ff.10_site.png

Pandas сегодня является чуть ли не go-to инструментом для решения аналитических задач. Он предоставляет удобный и понятный широкому кругу исследователей интерфейс манипуляции массивами данных. Давай те же посмотрим, что «под капотом» этой библиотеки и за счёт чего происходит такая эффективная работа с данными?

Как проще всего избежать ограничений GIL?

Python_Deep_8-5020-a10ed2.10_site.png

Многие из вас знают, что в Python есть GILGlobal Interpreter Lock, тот самый, который не даёт запускать несколько потоков и нагружать ядра процессора. Отчасти это так, но за GIL в Python скрывается очень много всего.

Генераторы в Python: как они это делают?

Python_Deep_24-5020-f0d538.09_site.png

Все мы знаем и любим генераторы в Python. По сути, генератор – это итератор, который можно использовать в цикле, как обычно. Но генератор дополнительно содержит внутри ключевое слово yield.

Как ускорить Python с помощью C ?

Python_Deep_21-5020-d5ad86.09_site.png

Безусловно, Python хорош всем. Но иногда всё же хочется немножко побыстрее. Сначала совершаются попытки изменить алгоритмический подход. Но если и этого не хватает, то дело серьёзное, пора засучивать рукава и расчехлять С-компилятор.