На странице собраны вопросы по Git — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: git, backend, database.
Работа с системами контроля версий Git Git представляет собой распределённую систему контроля версий каждое изменение кода сохраняется как коммит и пополняет историю проекта отдельные задачи выполняются в ветках…
Корутина — лёгкая функция, которую можно приостанавливать и возобновлять; она реализует кооперативную многозадачность Таск (Task) — абстракция работы, способной выполняться асинхронно; для этого он часто использует…
Подходы к переиспользованию методов одного класса в другом Наследование: производный класс получает публичные и защищённые методы родителя, а затем может расширять или переопределять их поведение. Композиция: один…
Как работает asyncio.gather? функция стандартной библиотеки asyncio для Python получает несколько корутин либо awaitable-объектов выполняет их конкурентно, не блокируя основной поток формирует одну корутину, ожидающую…
Что означает вытесняющая многозадачность? способ планирования процессов в ОС операционная система самостоятельно переключает задачи текущая задача прерывается по таймеру или с учетом приоритета обеспечивает…
Git rebase — операция, которая позволяет переместить ветку Она переносит коммиты поверх другой базовой ветки Изменения последовательно применяются заново, коммит за коммитом В результате сохраняется чистая, линейная…
Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…
Аналитика и оптимизация запросов Подбирать подходящие индексы — B-tree, GIN или GiST — для ускорения выборок Использовать партиционирование для таблиц с диапазонными и временными данными Применять материализованные…
Как устроен рабочий процесс Gitflow? модель ветвления в Git две базовые ветки: master (релизы) и develop (разработка) отдельные feature-ветки для новых функций создаются от develop release-ветки используются для…
Способы организации конкурентного выполнения в Python Потоки (threading): обеспечивают выполнение на уровне потоков ОС и особенно полезны в задачах с большим объёмом I/O; однако GIL ограничивает их эффективность при…
Наследование и композиция: что обеспечивает большую гибкость кода? наследование: тесная связь и фиксированная иерархия композиция: гибкое объединение объектов из отдельных компонентов наследование трудно изменять…
Чем отличаются git rebase и git merge Git merge объединяет ветки и создаёт merge commit Git rebase перестраивает историю, перенося коммиты на новую базу Merge оставляет всю историю ветвления Rebase формирует линейную…