Перейти к содержанию

О чём этот раздел?

О программировании. Паттерны, сниппеты, обзоры библиотек и так далее. Можно использовать для подготовки к собесам.

Ссылки

Базовые определения

Интроспекция

Интроспекция - это возможность запросить тип и данные о его внутренней структуре

Область видимости переменных

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

Процесс

Процесс - это такая сущность, которая создается ОС для выполнения программы. Процесс имеет собственное адресное пространство, дескрипторы и так далее.
1. В Python процессы это копии интерпретатора.

Поток

Поток - это объект внутри процесса, который что-то выполняет. Поток использует все доступные процессу ресурсы (адресное пространство и т.д.)

Класс (в ООП)

Класс, это такая логическая структура которая содержит данные и функции, которые отражают какое либо поведение или моделируют какую либо сущность. Класс описывает устройство объекта.

Метакласс

Метакласс - это класс, который управляет созданием класса в рантайме.

Inversion of Control

IoC (Inversion of Control, Инверсия контроля) - это паттерн, предназначенный для передачи вызова какого либо компонента внешнему обработчику.

Пример - работа web-фреимворка. Программист здесь должен разместить свой код в определенных точках выполнения (подключить свои обработчики) и запустить главную функцию фреимворка, которая обеспечит выполнение его функций (при попадании данных на обработчик, обработчики написанные программистом выполнятся).

Dependency Injection

Dependency Injection (DI, инъекция зависимостей) - это одна из форм IoC. Обработчики должны передаваться в объект через конструкторы, параметры, сеттеры, а не создаваться напрямую в самом объекте, который использует их.