Что случится, если equals() считает два объекта равными, а их hashCode() различаются? Контракт equals/hashCode нарушается Hash-based коллекции (HashMap, HashSet) начинают работать некорректно Равные объекты могут…
Почему context.Background() не следует передавать вглубь бизнес-логики и как правильно работать с контекстами context.Background() представляет собой корневой пустой контекст: его нельзя отменить, и в нём нет значений…
горутины — лёгкие, однако они всё же расходуют память и CPU создание без ограничений → увеличение потребления RAM и расходы на планирование способно вызвать истощение ресурсов и привести к остановке приложения для…
структуры данных Python, предназначенные для хранения элементов список (list) является изменяемым, а кортеж (tuple) — неизменяемым для list доступны методы добавления, удаления, изменения элементов tuple требует…
Паттерны fan-in и fan-out в конкурентности Go Конкурентность в Go ⬇️ Fan-out — одновременная обработка задач несколькими горутинами Fan-in — объединение результатов работы нескольких горутин в одном канале Fan-out…
Поведение REST-вызова внутри Spring-транзакции Spring-транзакция охватывает только операции с БД и локальными ресурсами REST-вызов представляет собой внешний HTTP-запрос, который транзакция не контролирует при…
понятие из области реляционных баз данных совокупность свойств для надежного выполнения транзакций Atomicity — транзакция выполняется целиком либо не выполняется Consistency — после завершения транзакции данные…
Что представляет собой GIL? понятие из интерпретатора CPython Global Interpreter Lock — глобальная блокировка интерпретатора разрешает доступ к Python-байткоду одновременно только одному потоку ограничивает…
NoSQL базы данных и сценарии применения, включая ClickHouse NoSQL — класс БД без жёсткой реляционной схемы и с гибкой организацией данных Включает различные модели: документные, колоночные, графовые и ключ-значение…
Что представляет собой Singleton? паттерн проектирования, входящий в состав GOF (Gang of Four) обеспечивает наличие в приложении единственного экземпляра класса открывает доступ к нему через глобальную точку доступа…
Назначение и возможности cProfile встроенный в Python профилировщик показывает время выполнения функций формирует статистику вызовов, общего времени и времени отдельного вызова работает с небольшими накладными…