Начнем с функции combinations: она позволяет составлять комбинации элементов из итерируемых объектов без повторений. Первый аргумент это сам объект, а второй — длина комбинации.
Для того, чтобы составить комбинацию с повторениями, используют функцию combinations_with_replacement. Делает она абсолютно все то же самое что и предыдущая, с одним исключением – теперь в комбинации могут быть повторы.
Ну и в заключение, рассмотрим функцию compress, применяющую "маску" из второго аргумента функции к первому. То есть, если в маске на этом месте стоит единица, то в исходном массиве элемент остается нетронутым, и наоборот.
🌎 Effective C: An Introduction to Professional C Programming, 2nd Edition. Robert C. Seacord. No Starch Press (2024)
❔ Чему вы научитесь:
🔵 владеть базой языка: типы, объявления, выражения, управление потоком;
🔵 разбираться в работе с памятью: указатели, динамическое выделение, время жизни объектов;
🔵 корректно обрабатывать строки и символы, избегая типичных переполнений;
🔵 применять дисциплину обработки ошибок и проверять граничные условия;
🔵 понимать неопределённое поведение и писать переносимый код по стандарту C17/C23;
🔵 закладывать безопасность на уровне кода — область экспертизы автора.
"Effective C" — современное введение в C от эксперта по безопасному программированию из CERT: язык подаётся сразу с упором на корректность и защищённость кода, а не только на синтаксис. Рассчитана на тех, кто уже программирует и берётся за C всерьёз. Второе издание обновлено под стандарт C23. Книга учит не просто «чтобы работало», а чтобы не ломалось на граничных случаях.
✅Основам и особенностям языка Python
✅Работать с переменными разных типов, структурами данных и их методами
✅Работать с функциями и классами, приёмам функционального программирования и ООП
✅Всему необходимому для сбора меньшего количества граблей в начале пути
✅Работать с популярными форматами файлов txt, json, csv, xml
✅Публиковать свои проекты на github
▬▬▬▬▬▬▬▬
🌎 GameMaker Programming Challenges: Programming Challenges to Improve Your GML Knowledge (2025)
❔ Чему вы научитесь:
🔵 решать разнообразные задачи на GML и закреплять язык через практику;
🔵 работать с движением, коллизиями и управлением объектами в GameMaker;
🔵 реализовывать типовые игровые механики от условия к рабочему коду;
🔵 обрабатывать ввод, состояние игры и взаимодействие сущностей;
🔵 структурировать код так, чтобы его можно было расширять;
🔵 отлаживать собственные решения и улучшать их.
"GameMaker Programming Challenges" — сборник задач, а не учебник: язык GML и сам движок нужно уже знать на базовом уровне, книга их не вводит. Формат — тренажёр для закрепления через практику, подойдёт тем, кто прошёл вводный курс по GameMaker и хочет набить руку.
🌎 Mastering WooCommerce: Build, customize, and launch a complete e-commerce website with WooCommerce from scratch, 2nd Edition (2024)
❔ Чему вы научитесь:
🔵 разворачивать магазин на WordPress и WooCommerce с нуля;
🔵 настраивать каталог: товары, вариации, категории, атрибуты;
🔵 подключать оплату, доставку и расчёт налогов;
🔵 кастомизировать витрину темами и хуками, дорабатывать шаблоны;
🔵 расширять функциональность плагинами и собственным кодом;
🔵 оптимизировать производительность, безопасность и базовое SEO магазина.
"Mastering WooCommerce" — руководство по сборке интернет-магазина на связке WordPress и WooCommerce, от установки до запуска. Рассчитана на владельцев бизнеса, веб-разработчиков и фрилансеров; часть про доработку темами и хуками предполагает базовое знание PHP, базовые же настройки доступны и без кода.
🌎 3D Data Science with Python: Building Accurate Digital Environments with 3D Point Cloud Workflows (2025)
❔ Чему вы научитесь:
🔵 работать с облаками точек: загрузка, форматы, структуры данных для 3D;
🔵 фильтровать, прореживать и регистрировать облака, совмещая несколько сканов;
🔵 строить пространственные индексы — kd-дерево, воксельная сетка — для быстрого поиска;
🔵 сегментировать и классифицировать точки, в том числе методами машинного обучения;
🔵 восстанавливать поверхности и строить меши из облаков точек;
🔵 визуализировать 3D-данные и собирать воспроизводимый конвейер на Python.
"3D Data Science with Python" — книга о прикладной работе с трёхмерными данными: лидарные сканы, фотограмметрия, цифровые двойники пространств. Рассчитана на инженеров и аналитиков с опытом Python, выходящих за пределы табличных и плоских данных; геометрическая база желательна.
🌎 Container Security: Fundamental Technology Concepts That Protect Cloud Native Applications, 2nd Edition. Liz Rice. O'Reilly (2025)
❔ Чему вы научитесь:
🔵 понимать, из чего собрана изоляция контейнера: namespaces, cgroups, capabilities;
🔵 разбираться, почему контейнер — это не виртуальная машина, и где проходит граница доверия;
🔵 строить минимальные образы и снижать поверхность атаки;
🔵 настраивать неroot-контейнеры, seccomp и ограничение привилегий;
🔵 защищать цепочку поставки: сканирование образов, подписи, доверенные реестры;
🔵 разбираться в сетевой изоляции подов и безопасности рантайма.
"Container Security" — книга объясняет механику изоляции на уровне ядра Linux, а не перечисляет настройки: после неё понятно, от чего именно защищает каждая мера. Рассчитана на инженеров и DevOps, работающих с контейнерами и Kubernetes; базовое знакомство с Linux предполагается.