لینوکس و گو. برنامهنویسی مؤثر در سطح پایین
Linux и Go. Эффективное низкоуровневое программирование.
معرفی کتاب «لینوکس و گو. برنامهنویسی مؤثر در سطح پایین» (با عنوان لاتین Linux и Go. Эффективное низкоуровневое программирование.) نوشتهٔ Олег Цилюрик، منتشرشده توسط نشر 2024 در سال 2024. این کتاب در فرمت pdf، زبان ru ارائه شده است.
Предисловие Предназначение и целевая аудитория Код примеров и замеченные опечатки Замечание о версиях Чего нет в этой книге Соглашения и выделения, принятые в тексте Напоминание Источники информации Часть 1. Инструментарий языка Go Предыстория Go «Отцы-основатели» о целях и мотивации... Применимость: беглый взгляд Go, C, C++, Java, Python, Rust ... Управление памятью и истоки ненадёжности... Источники информации Разворачиваем экосистему Go Создание среды Стандартная инсталляция Версии среды Альтернативы «Самая последняя» версия Смена версий Проверяем: простейшая программа Простейшее приложение Библиотеки статические и динамические Компиляция или интерпретация Выбор: GoLang или GCC ? Инфраструктура GoLang Команды go Переменные окружение Переменная окружения GOPATH Переменная окружения GOTOOLDIR Переменная окружения GOARCH и GOOS Платформы, переносимость и кросс-компиляция Стиль кодирования (автоформатирование — fmt) Сборка приложений (build) Сценарии на языке Go (run) Загрузка проектов из сети (get) Репозиторные системы Установка проектов Утилиты GoLang (tool) Утилиты компиляции Связь с кодом C (Cgo) Сторонний и дополнительный инструментарий Интерактивный отладчик Delve Источники информации Неформально о синтаксисе Go Типы данных Переменные Повторные декларации и переприсвоения Константы Агрегаты данных Массивы и срезы Двухмерные массивы и срезы Структуры Таблицы (хэши) Динамическое создание переменных Конструкторы и составные литералы Операции Функции Вариативные функции Стек процедур завершения Обобщённые функции Функции высших порядков Встроенные функции Объектно ориентированное программирование Методы Множество методов Встраивание и агрегирование Функции как объекты Интерфейсы Именование интерфейсов Контроль интерфейса Обработка ошибочных ситуаций Структура пакетов (библиотек) Go Функция init Импорт для использования побочных эффектов Некоторые полезные и интересные стандартные пакеты Пакет runtime Форматированный ввод-вывод Строки и пакет strings Строчные литералы Большие числа Автоматизированное тестирование Источники информации Новости от последних версий... Модули Дженерики Источники информации Часть 2. Конкурентность и многопроцессорность Процессоры в Linux Процессоры, ядра и гипертриэдинг Загадочная нумерация процессоров Управление процессорами Linux Аффинити маска Как происходит диспетчирование в Linux Приоритеты nice Приоритеты реального времени Источники информации Параллелизм и многопроцессорность Эволюция модели параллелизма Параллельные процессы и fork Потоки ядра и pthread_t POSIX Потоки C++ Сопрограммы — модель Go Параллелизм в Go Сопрограммы — как это выглядит Возврат значений функцией Ретроспектива: сопрограммы в C++ Каналы Функциональные замыкания в сопрограммах Примитивы синхронизации Конкурентность и параллельность Источники информации Масштабирование Планирование активности сопрограмм Испытательный стенд Микрокомпьютеры (Single-Board Computers) Рабочие десктопы Серверы промышленного класса Масштабирование в реальном мире 1-я попытка ... 2-й подход к снаряду... О числе потоков исполнения Источники информации Часть 3. Некоторые примеры и сравнения Осваиваемся в синтаксисе Go Утилита echo Итерационное вычисление вещественного корня Вычисление числа π Вычисления неограниченной точности Случайная последовательность и её моменты Обсчёт параметров 2D выпуклых многоугольников TCP клиент-сервер Тривиальный WEB сервер Порядок итераций для map: сюрприз Источники информации Структуры данных, типы и их методы Массивы и срезы Многомерные срезы и массивы Функции с множественным возвратом Строки, руны и UNICODE Символы, байты и руны Изменение содержимого строк Палиндромы Регулярные выражения Источники информации Элементы функционального программирования Функциональные замыкания Карринг Рекурсия Рекурсия с кэшированием Чистые функции Источники информации Скоростные и другие сравнения языков Алгоритмические задачи для сравнения Некоторые известные алгоритмы Числа Фибоначчи Пузырьковая сортировка Ханойская башня Решето Эратосфена Многопроцессорные параллельные вычисления Скорость активации параллельных ветвей Гонки Защита критических данных Многопроцессорный брутфорс Каналы в сопрограммах Таймеры Тикеры Когда не нужно злоупотреблять многопроцессорностью Источники информации Заключение Об авторе
دانلود کتاب لینوکس و گو. برنامهنویسی مؤثر در سطح پایین