Go, память и инициализация make инициализирует срезы, карты и каналы создаёт внутреннюю структуру, не возвращая указатель на неё new выделяет память для любого типа и возвращает указатель на его нулевое значение make…
Различия между producer и consumer в RabbitMQ RabbitMQ — брокер сообщений (message broker), работающий с очередями Producer — компонент, который отправляет, то есть публикует, сообщения в очередь Consumer — компонент,…
Разница между runtime.Goexit() и os.Exit() и случаи применения runtime.Goexit(): прекращает работу текущей goroutine, не затрагивая остальные os.Exit(): сразу завершает весь процесс, не выполняя defer Goexit()…
Что характерно для бэкенд-разработки отвечает за серверную логику и данные работает с БД, API и аутентификацией реализует бизнес-правила и обрабатывает запросы поддерживает безопасность и масштабируемость обменивается…
Чем горутины отличаются от потоков ОС и как работает планировщик Go? горутина — легковесный поток, которым управляет runtime Go, а не операционная система создание и завершение горутин требуют минимальных ресурсов:…
Разница между интерфейсом и абстрактным классом ООП, абстракция и наследование Интерфейс содержит только объявления методов: методов с телом нет, а все методы по умолчанию являются публичными и абстрактными…
Чем отличаются интерфейсы Go и абстрактные классы C#? интерфейс Go описывает только наблюдаемые методы и не содержит реализации абстрактный класс может включать реализацию методов и состояние в Go действует утиный…
Отличие zero value слайса от zero value мапы Слайс и мапа как контейнеры в Go Zero value слайса — это nil-срез с длиной и ёмкостью 0, который указывает на nil Чтение разрешено, однако запись невозможна без…
Откат транзакций в Postgres и MS SQL: версионность или физические операции? В PostgreSQL ROLLBACK основан на механизме MVCC (многоверсионной конкуренции) MVCC сохраняет предыдущие версии строк, чтобы обеспечить чтение…
Синхронность и асинхронность: различия и области применения область: параллелизм, выполнение кода синхронность — операции выполняются последовательно, а поток блокируется до их завершения асинхронность — операции…
Ключевые различия Dispose и Finalize в C# Dispose — метод интерфейса IDisposable, предназначенный для явного освобождения неуправляемых ресурсов. Его можно вызвать вручную либо использовать конструкцию using, чтобы…
Чем отличаются WHERE и HAVING в SQL-запросах SQL-запросы и фильтрация данных WHERE отбирает строки до агрегации применяется непосредственно к строкам таблицы HAVING используется после агрегации (GROUP BY) проверяет…