Тестування автономних систем
Як довести, що автономний робот поводиться безпечно: сценарії, інваріанти, інжекція відмов і статистика прогонів.
MilTech · за підпискою
Черговий інженер вбудованого Linux: читаємо систему по її текстових слідах
Отримати доступ до курсу
Курс за підпискою · Навчання у власному темпі
Про курс
У дрона аерозйомки зазвичай два «мозки»: мікроконтролер, що тримає апарат у повітрі, і бортовий комп'ютер — невелика плата з Linux, яка пише відео, обробляє знімки, синхронізує логи й обслуговує радіоканал. Такі самі маленькі Linux-системи без монітора стоять у шлюзі наземної станції, у контролері поштомату, у наземному роботі доставки. Коли щось іде не так, у вас є віддалений доступ по SSH (Secure Shell) і текст: /proc/stat, /proc/meminfo, dmesg, журнал systemd, ls -l, df. Цей курс вчить читати ці тексти так, як це робить черговий інженер: швидко, точно і з розумінням, що саме означає кожне число.
Особливість курсу: ми не адмініструємо справжню систему, а пишемо на Python невеликі інструменти, які розбирають знімки її стану. Так ви одночасно розумієте, як влаштований Linux, і отримуєте власні скрипти для моніторингу й діагностики — від розрахунку завантаження CPU до агента стану пристрою.
Аудиторія
Python-розробник без досвіду Linux
Розберетеся у файловій системі, правах, systemd і журналах, пишучи власні скрипти діагностики.
Шлях «QA-інженер у MilTech»
Навчитеся діагностувати бортовий комп'ютер за /proc, dmesg і журналом systemd — по його текстових слідах.
Інженер з безпеки вбудованих систем
Крок однойменного шляху: аудит прав і umask, правила udev, моніторинг диска і агент стану пристрою.
Курс спирається на знання, позначені нижче як обов’язкові.
Потрібно знати
Python на рівні безкоштовного курсу «Основи програмування на Python» — зокрема уроки про рядки, списки, словники, читання багатьох рядків вводу і sorted з ключем.
Не потрібно знати заздалегідь
Усе про Linux — файлову систему, права, ядро, пристрої, служби, журнали.
Встановлювати Linux чи мати плату — код запускається в браузері
Якщо цих знань ще немає — пройдіть курси за порядком:
Результат
орієнтуватися в ієрархії файлової системи і безпечно перевіряти шляхи
перекладати права між rwx і вісімковим записом, рахувати umask, проводити аудит прав
рахувати завантаження CPU з /proc/stat і доступну пам'ять з /proc/meminfo
знаходити в dmesg підключення USB і послідовних портів, «мерехтіння» кабелю і проблеми живлення
зіставляти udev-правила з пристроями і розуміти порядок файлів правил
впорядковувати запуск юнітів systemd, фільтрувати журнал за часом і пріоритетом
рахувати наступний запуск cron, аналізувати systemd-analyze blame і критичний шлях завантаження
стежити за диском і ротацією логів і зібрати все в агент стану пристрою з гістерезисом тривог
Формат
12 модулів. У кожному — теорія з прикладом і 2–3 задачі з автоматичною перевіркою: написати з нуля, знайти помилку або розширити наявний інструмент. Кожне рішення перевіряється на прихованих знімках системи. П'ять тестів і три практичні форми-рішення допоможуть закріпити матеріал.
13 уроків з прикладами
35+ завдань з автоматичною перевіркою
5 тестів для самоперевірки
Онлайн на my.prog.academy, без встановлення програм
AI-помічник
На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.
Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.
Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.
Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.
Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.
Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.
Програма
12 модулів, 35+ практичних завдань з автоматичною перевіркою і 5 тестів. Відкрийте модуль, щоб побачити всі теми.
Де що лежить у Linux, як класифікувати шлях за найдовшим префіксом і як не випустити скрипт очищення за межі каталогу
Читаємо рядок ls -l, рахуємо umask і шукаємо небезпечні права в образі
Лічильники тіків, різниця двох знімків, iowait, steal і guest
MemAvailable проти MemFree, KiB і MiB, старі ядра і процеси, що займають пам'ять
Хто підключився до якого порту, що отримало ttyUSB і ttyACM, і чи винен кабель чи живлення
Стабільні імена для пристроїв: зіставлення атрибутів, glob-шаблони, порядок файлів правил і оператор !=
After=/Before= як граф, топологічне сортування, Requires= і Wants=, що буде, коли юніт не стартував
Фільтр --since/--until і -p, порівняння часу як часу, а не тексту, і цикли перезапуску
Поля розкладу, кроки і діапазони, правило дня місяця і дня тижня, неділя = 0
Розбір тривалостей blame, критичний шлях паралельного запуску і регресії після оновлення
Use% як у df, симуляція logrotate і прогноз заповнення диска
Правила WARN/CRIT для CPU, пам'яті, диска і журналу, загальний стан і тривоги без мерехтіння
Стек
Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.
Застосування
Доступ
Заповніть коротку форму на цій сторінці.
Після заявки оберіть Telegram або Viber — бот надішле подальші інструкції щодо доступу.
Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.
Контакт
Залиште контакти — надішлемо деталі доступу до курсу «Linux для embedded-розробника».
Як довести, що автономний робот поводиться безпечно: сценарії, інваріанти, інжекція відмов і статистика прогонів.
Захист телеметричного каналу й оновлень прошивки: HMAC, HKDF, AEAD, secure boot і підписані маніфести.
Прошивка мікроконтролерів на C++17: регістри, драйвери, переривання, CRC, ШІМ і watchdog на віртуальних платах.
Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.