Robot
Складчик
- #1
[Cubit] Основы программирования для Linux. Тариф Стандарт. 2022 [Кирилл Кринкин, Марк Заславский]
- Ссылка на картинку
Напиши первый рабочий проект для Linux уже к концу курса
Почему именно Linux?
Операционные системы Linux очень распространены на серверах, а также в сфере web-разработки, облачных решениях, дата-центрах, встраиваемых системах и при работе с мобильными устройствами.
Умение программировать для ОС Linux будет преимуществом при трудоустройстве на такие вакансии, как DevOps engineer, QA-engineer, Backend developer, системный администратор и другие.
Чему вы научитесь
Я уверенно могу:
Введение в разработку для Linux
Кирилл Кринкин - Руководитель программы
КТН, заведующий кафедрой МОЭВМ СПбГЭТУ «ЛЭТИ», руководитель Лаборатории алгоритмов мобильных роботов компании JetBrains Research
СЕО Международного инновационного института искусственного интеллекта, кибербезопасности и коммуникаций им. А.С. Попова, СПбГЭТУ “ЛЭТИ”
Марк Заславский - Преподаватель-консультант
КТН, преподаватель СПбГЭТУ «ЛЭТИ», координатор учебных проектов в Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Татьяна Берленко - Преподаватель-консультант
Преподаватель СПбГЭТУ «ЛЭТИ», программист-исследователь в лаборатории Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Константин Чайка - Преподаватель-консультант
Преподаватель СПбГЭТУ «ЛЭТИ», программист-исследователь в лаборатории Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Валерия Допира - Учебный ассистент
Аспирант СПбГЭТУ «ЛЭТИ», программист-исследователь в Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Почему именно Linux?
- Linux - это бесплатно
Большинство дистрибутивов лежат в открытом доступе, что делает процесс разработки ОС прозрачным: каждое изменение зафиксировано и видно всем. - Работа с терминалом
Вы научитесь работать в терминале, - Простота
Если вам нужно развернуть какой-нибудь сервер или организовать удаленный доступ, на Linux это будет сделать значительно проще. - Экономия сил и времени
Вы забудете, что такое долгое обновление Windows и вирусы. Устанавливать программы в Linux проще, чем в Windows. Для этого нужен лишь менеджер пакетов, обновлять ОС можно через него же. - ОС не собирает ваши данные
На самом деле вы сами можете контролировать этот процесс. - Персонализация
Linux дает пользователю больше возможностей настроить и расширить ОС под себя, включая шорткаты, интерфейс приложений. Можно самостоятельно поменять что-то в системе, перекомпилировав ее и переустановив.
Операционные системы Linux очень распространены на серверах, а также в сфере web-разработки, облачных решениях, дата-центрах, встраиваемых системах и при работе с мобильными устройствами.
Умение программировать для ОС Linux будет преимуществом при трудоустройстве на такие вакансии, как DevOps engineer, QA-engineer, Backend developer, системный администратор и другие.
Чему вы научитесь
- Разрабатывать программы для настольной и серверной ОС Linux
- Программно управлять процессами операционной системы
- Работать с элементами файловой системы, в том числе со ссылками
- Организовывать межпроцессное и сетевое взаимодействие приложений
- Создавать и подключать динамические библиотеки
- Выполнять многопоточные вычисления
- Работать с разделяемой памятью
Я уверенно могу:
- Программировать утилиты командной строки Linux
- Использовать различные способы межпроцессного взаимодействия в Linux, в том числе с помощью разделяемой памяти
- Управлять запуском и работой процессов
- Создавать приложения-демоны
- Организовывать сетевое взаимодействие программ в Linux
- Отлаживать приложения с помощью GDB
Введение в разработку для Linux
- Основной инструментарий разработчика Linux
- Динамические библиотеки и линковка
- Runtime линковка. Libdl
- Базовые функции работы с файлами
- Работа с каталогами и путями
- Ссылки
- Файловая система /proc. Построение дерева процессов
- Отладка программ в Linux
- Жизненный цикл процесса в Linux
- Создание процессов fork/exec
- Атрибуты создаваемого процесса. Системный вызов clone
- Процессы-демоны
- Задачи на программирование
- Виды межпроцессного взаимодействия в Linux
- Каналы
- Сигналы
- Разделяемая память
- Мультиплексирование ввода-вывода.
- Задачи на программирование
- Введение
- Принципы организации IP сетей
- Понятие сокета
- Разрешение имен
- Сокеты дейтаграм. Протокол UDP
- Сокеты ориентированные на соединения. Протокол TCP
- Задачи на программирование
- Финальный урок
- Дополнительные материалы
- Обработка параметров командной строки. Getopt
Кирилл Кринкин - Руководитель программы
КТН, заведующий кафедрой МОЭВМ СПбГЭТУ «ЛЭТИ», руководитель Лаборатории алгоритмов мобильных роботов компании JetBrains Research
СЕО Международного инновационного института искусственного интеллекта, кибербезопасности и коммуникаций им. А.С. Попова, СПбГЭТУ “ЛЭТИ”
Марк Заславский - Преподаватель-консультант
КТН, преподаватель СПбГЭТУ «ЛЭТИ», координатор учебных проектов в Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Татьяна Берленко - Преподаватель-консультант
Преподаватель СПбГЭТУ «ЛЭТИ», программист-исследователь в лаборатории Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Константин Чайка - Преподаватель-консультант
Преподаватель СПбГЭТУ «ЛЭТИ», программист-исследователь в лаборатории Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Валерия Допира - Учебный ассистент
Аспирант СПбГЭТУ «ЛЭТИ», программист-исследователь в Лаборатории алгоритмов мобильных роботов компании JetBrains Research
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.