Скачать [ИнженеркаТех] Разработка на C под Linux [Системный разработчик]. Тариф Самостоятельный [Игорь Седых, Глеб Коробейников]

  • Гость, подпишитесь сейчас

    📥 Наш адрес сайта меняется, чтобы быть в курсе актуального адреса, подпишитесь на телеграм канал «Перейти»

Описание складчины

Независимо от выбранного языка разработки, [ИнженеркаТех] Разработка на C под Linux [Системный разработчик]. Тариф Самостоятельный [Игорь Седых, Глеб Коробейников] станет полезной основой для профессионального роста. Купить курс через складчину — практичное решение для изучения современных технологий.

Информация
Цена: 90 РУБ
Организатор: Kail Kail
Скачать
Kail
Kail
Организатор
Организатор
Регистрация
09.04.2020
Сообщения
462 757
Реакции
45 700
Монеты
1 191
Оплачено
0
Баллы
0
  • #SkladchinaVip
  • #1
[ИнженеркаТех] Разработка на C под Linux [Системный разработчик]. Тариф Самостоятельный [Игорь Седых, Глеб Коробейников]
Ссылка на картинку
Файл в Linux можно отобразить в память и организовать совместный доступ к нему. На курсе вы разберётесь, как применять этот механизм в программах на C и управлять системными ресурсами.

Курс охватывает ключевые аспекты разработки под Linux, в том числе компиляцию, работу с файловой системой, межпроцессное взаимодействие, многопоточность, сигналы, сокеты и создание демонов. Студенты научатся разрабатывать эффективные и безопасные приложения для Linux, используя системные вызовы и механизмы ОС.

Для кого курс разработки на C под Linux и чем он будет полезен?

  1. Разработчики C/C++
    До курса.
    Имеют базовые знания о Linux и C/C++, но не владеют техниками оптимизации, взаимодействия процессов и потоков, работы с памятью.
    После курса.
    Способны разрабатывать эффективные и оптимизированные сервисы, управлять ресурсами системы, использовать сокеты, отображаемую память и синхронизацию потоков
  2. Инженеры встраиваемых и высоконагруженных систем
    До курса.
    Умеют писать код на C/C++, но не понимают, как работают системные вызовы и потоки, как происходит взаимодействие процессов и управление памятью в Linux.
    После курса.
    Уверенно пишут системные приложения, используют межпроцессное взаимодействие, многопоточность и сигналы, работают с файловой системой и могут разрабатывать демоны
  3. Программисты, изучающие системные механизмы и взаимодействие процессов в Linux
    До курса.
    Знают базовые команды Linux, но не понимают, как устроены механизмы работы с файлами, процессами, сигналами и IPC.
    После курса.
    Разбираются в низкоуровневом взаимодействии с ОС, могут писать сложные серверные приложения и разрабатывать производительные многопоточные программы
Как проходит обучение?

  • В формате видеолекций в записи с преподавателем и домашними заданиями
  • Записи лекции с расшифровкой
В каждом курсе –живые примеры, реальный опыт авторов и немного самоиронии.
Объясняют просто, учат на кейсах, делают обучение понятным и интересным.

Бесплатная часть:

Основы разработки в Linux:

В этом уроке узнаете:

  • Как устроена компиляция и сборка проектов
  • Познакомитесь с редакторами и инструментами Linux
  • Напишете и собрете проект из одного и двух C-файлов
  • Разберетесь с Makefile и объектными файлами
  • Узнатете, как анализировать бинарники через nm и cat
+ домашнее задание

Статические и динамические библиотеки в Linux:

В этом уроке узнаете:

  • Модель KISS (клиент-интерфейс-сервер) и роль заголовочных файлов как интерфейса между main и библиотеками
  • Научитесь собирать статические библиотеки с помощью утилиты ar и подключать их через Makefile
  • Разберетесьь с назначением флага -fPIC и сборкой динамических библиотек (.so)
  • Выясните, как работает линковка и зачем нужны ключи -l, -L, -Wl,rpath
  • Сравните плюсы и минусы статической и динамической компоновки: автономность, объем, производительность, необходимость пересборки
  • Освоите навык оформления заголовочных файлов с защитой от повторного подключения (ifndef, define, endif)
+ домашнее задание

Переменные окружения и низкоуровневый ввод-вывод:

На этом занятии вы разберете, как в Linux работают переменные окружения и низкоуровневый ввод-вывод:

  • Изучите переменные окружения: environ, getenv, setenv, putenv, unsetenv
  • Научитесь читать и записывать данные через системные вызовы open, read, write, close, lseek
  • Познакомитесь с файловыми дескрипторами и стандартными потоками (0, 1, 2)
  • Сравните поэффективности побайтовое и блочное чтение

Спойлер: Часто задаваемые вопросы
1. Сколько длится обучение?

Среднее время прохождения курса составляет 3 месяца.

Программа:

Основы разработки в Linux:

  • Компиляция и сборка программ в Linux, ручная и автоматическая сборка с использованием Makefile
  • Модель "Клиент-Интерфейс-Сервер"
  • Статическая сборка библиотек
  • Совместно используемые библиотеки (динамические библиотеки в Linux)
  • Работа с переменными окружения
Межпроцессное взаимодействие:

  • Клонирование процессов
  • Замена исполняемого процесса
  • Неименованные каналы
  • Именованные каналы
  • Очереди сообщений
  • Совместно используемая память
  • Семафоры
Сокеты:

  • Сокеты в файловом пространстве имен (UNIX-сокеты)
  • Парные сокеты
  • Сетевые сокеты
Сигналы:

  • Устройство и применение сигналов в Linux
  • Отличие сигналов от других механизмов межпроцессного взаимодействия
  • Обработка сигналов
  • Зомби-процессы, причины возникновения и способы их устранения
Потоки:

  • Потоки и процессы
  • Специфика построения многопоточных приложений
  • Досрочное завершение потока
  • Создание обработчика завершения потока
  • Средства синхронизации потоков, мьютексы
  • Атрибуты потоков
Демоны:

  • Отличие демона от консольной утилиты
  • Специфика разработки демонов
  • Создание демона, использующего сетевые сокеты
Консольный ввод-вывод и GTK:

  • Специфика разработки консольных приложений
  • Предотвращение перенаправления вывода
  • Управление терминалом
  • Сокрытие пароля пользователя при аутентификации
Отображаемая память:

  • Отображение обычного файла
  • Совместный доступ к файлу
  • Частные отображения
  • Другие применения mmap
Что получите:

  • Видеозаписи и домашние задания
  • Расшифровки лекций
Для самостоятельной отработки материала

Авторы:

Игорь Седых

  • Старший преподаватель института интеллектуальных кибернетических систем НИЯУ МИФИ
  • Профессионально преподает с 2010 года
  • Имеет большой опыт коммерческой разработки инженерного программного обеспечения в области нанотехнологий, включая проекты для корпорации LSI
  • Автор множества специализированных программ для работы с компьютерной графикой и базами данных
  • Преподает разработку и направления, связанные с Linux, и обучил более 6000 студентов
  • Среди его выпускников сотрудники таких известных организаций, как ОАО «Концерн ПВО «Алмаз – Антей», ОАО «Московский вертолетный завод им. М. Л. Миля», Департамент культурного наследия города Москвы, ОАО «Компания «Сухой» и других
  • Автор методических пособий, включая курс «Основы программирования и баз данных»
Глеб Коробейников

  • Senior Разработчик под Linux, AstraLinux
  • Более 5 лет разработчик ядра Linux
  • Работал в компаниях: Raidix, yadro, sbertech
  • Контрибьютор в ядро Linux
  • Teхстек: C, bash и инструменты для отладки ядерного кода таких как kmemleak, Kasan, kgdb, ftrace, eBPF
  • Опыт с архитектурой amd64, архитектурой современных операционных систем
Тариф Самостоятельный

  • Видеолекции в записи
  • Домашние задания
  • Расшифровки лекций
Старт 13 ноября
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть контент.
linux unix глеб коробейников игорь седых инженеркатех многопоточность низкоуровневое программирование
Похожие складчины
Kail
Ответы
0
Просмотры
31
Kail
Kail
Kail
Ответы
0
Просмотры
132
Java
Kail
Kail
Kail
Ответы
0
Просмотры
233
Kail
Kail
Kail
Ответы
0
Просмотры
51
Kail
Kail
Kail
Ответы
0
Просмотры
583
Java
Kail
Kail
Показать больше складчин

Войдите или зарегистрируйтесь

Вы должны быть авторизованны для просмотра материала

Создать аккаунт

Создать учетную запись займет не больше минуты!

Войти

Уже зарегистрированы? Просто войдите.