Как ThreadLocal передаёт параметры, связанные с конкретным потоком? хранит данные отдельно для каждого потока гарантирует, что каждый поток получает собственное независимое значение позволяет обращаться к данным…
Как устроена работа gRPC поверх HTTP/2? gRPC — фреймворк для RPC, использующий HTTP/2 HTTP/2 предоставляет двунаправленное мультиплексирование потоков для компактной передачи gRPC применяет кодирование в Protocol…
Как в Go сократить число аллокаций при работе с рунами и слайсами? При работе со слайсами следует контролировать capacity, чтобы не допускать перераспределения памяти. Заранее задавайте capacity с помощью функции…
Как в Go обрабатываются nil и вызовы методов на nil-ресивере nil в Go служит нулевым значением для указателей, интерфейсов, слайсов, карт, каналов и функций У метода может быть ресивер-указатель, значение которого в…
В Go отдельного стандартного типа Set нет множество обычно представляют как map[T]struct{} ключи выступают элементами, а значения почти не используют память добавление, удаление и проверка выполняются примерно за O(1)…
Чем статическая типизация Go отличается от утиной В Go: применяется строгая статическая типизация тип переменной определяется при её объявлении ошибки, связанные с типами, компилятор обнаруживает до запуска программы…
Слайс представляет собой структуру поверх массива, содержащую указатель, длину и capacity Когда length становится равен capacity, для слайса выделяется новый массив Чтобы не выполнять копирование при каждом…
Работа со слайсами (Go slices) Удаление элемента по индексу Для этого объединяют два подслайса: s = append(s[:i], s[i+1:]...) В результате формируется новый слайс без элемента с индексом i, а его длина уменьшается.…
** контролируйте длительность операций в Go через context, задавая таймаут и отмену с помощью context.WithTimeout и Done(). Это позволяет ограничивать время выполнения и корректно освобождать ресурсы.
контекст: устройство словаря (dict) в CPython применяется метод открытой адресации с двойным хешированием при совпадении хешей новая позиция определяется с помощью вторичного хеша непредсказуемый шаг поиска помогает…
динамический массив, использующий динамическое выделение памяти перед добавлением проверяется наличие свободной ёмкости если свободного места недостаточно — резервируется дополнительная память (примерно в 2 раза…
интеграция с помощью REST API: синхронный подход, удобный для вызовов и хорошо подходящий для сценария запрос-ответ браузеры и внешние клиенты преимущественно взаимодействовали через REST для асинхронного обмена и…