На прошлой неделе я проводил вебинар по данной теме. В ЖЖ его не анонсировал, только на сайте easyelectronics . Хотя группа была ограничена, ажиотаж вокруг вебинара оказался очень большим. Поэтому было принято решение провести новый вебинар! С 22 по 25 августа!
В данном вебинаре будет охватываться основное API разработчика в пространстве пользователя.
Ознакомление с процессом сборки ПО и специфики компилятора C из состава GCC
Разработка и использование разделяемых библиотек
Отладка программ
Изучение механизмов низкоуровнего файлового ввода-вывода
Изучение механизмов обеспечения многозадачности и межпроцессного взаимодействия
Применение файловых и сетевых сокетов
Изучение и применение механизма сигналов
Изучение процессов, потоков их различие, использование многопоточности, изучение механизмов синхронизации потоков и их проблем
Создание демонов, изучение различия между демонами и прикладным ПО
Изучение особенностей консольного ввода-вывода
Применение отображаемых в память файлов и их использование
Дата и время проведения данного вебинара: с 22 по 25 августа, с 11:00 по 17:00 (время Московское!), с перерывами (время ориентировочное, быть может будет и быстрее). Стоимость вебинара 2 000 российских рублей. География участников не имеет значения. Видеозапись будет обязательно!!! Для тех кто пропустил или не может быть, запись будет!
Требования к участникам мастер-класса: Знание языка си, на уровне книги Б.В. Керниган,Д.М. Ричи «ЯЗЫК С».
Запись ведётся по электронной почте dlinyj@gmail.com (. Для записи необходимо ваше имя (ф.и.о. по желанию) и контактные данные (номер телефона и почта). Желательно описать цели посещения этого вебинара, уровень подготовки и род занятий.
Для примера, видео одной из тем с прошлого вебинара:
Подробная программа курса:
Модуль 1. Введение
Ведущий курса: Долин Сергей aka dlinyj. В прошлом автор и редактор рубрики в журнале "Хакер". Электронщик, разработчик ПО linux (прикладное, тестового ПО для железа, драйвера). Разработчик ПО для встраиваемых систем. Программист linux с 2011 года. Работал в ОАО «НИЦЭВТ», АО «Концерн «Системпром», ООО «ПРОСОФТ» (в дочерней компании «Доламант»).
В данном вебинаре будет охватываться основное API разработчика в пространстве пользователя.
Дата и время проведения данного вебинара: с 22 по 25 августа, с 11:00 по 17:00 (время Московское!), с перерывами (время ориентировочное, быть может будет и быстрее). Стоимость вебинара 2 000 российских рублей. География участников не имеет значения. Видеозапись будет обязательно!!! Для тех кто пропустил или не может быть, запись будет!
Требования к участникам мастер-класса: Знание языка си, на уровне книги Б.В. Керниган,Д.М. Ричи «ЯЗЫК С».
Запись ведётся по электронной почте dlinyj@gmail.com (. Для записи необходимо ваше имя (ф.и.о. по желанию) и контактные данные (номер телефона и почта). Желательно описать цели посещения этого вебинара, уровень подготовки и род занятий.
Для примера, видео одной из тем с прошлого вебинара:
Подробная программа курса:
Модуль 1. Введение
- Ознакомление со спецификой сборки ПО в GNU/Linux
- Ознакомление с консольными текстовыми редакторами (vi,nano,mcedit)
- Работа с отладчиком gdb
- Ручная и автоматическая сборка ПО (Makefile)
- Работа с отладчиком gdb
- Модель Клиент-Интерфейс-Сервер (КИС)
- Статическая сборка библиотек
- Совместно используемые библиотеки
- Работа с переменными окружения
- Обзор механизмов ввода-вывода в Linux (Ubuntu)
- Файловые дескрипторы
- Системные вызовы: open, close, write, read и lseek
- Типы файлов
- Индексные дескрипторы и жесткие ссылки
- Права доступа к файлу
- Файловая система proc
- Два способа прочесть содержимое директории
- Разреженные файлы и специфика их применения
- Блокировка областей файла
- Механизмы межпроцессного взаимодействия Linux (Ubuntu)
- Неименованные каналы (pipes)
- Именованные каналы (named pipes)
- Сообщения (message queue)
- Разделяемая память (shared memory)
- Семафоры (semaphores)
- Сокеты в файловом пространстве имен (UNIX-сокеты)
- Парные сокеты (pair sockets)
- Сетевые сокеты (sockets)
- Знакомство с сигналами (signals)
- Отличие сигналов от других механизмов межпроцессного взаимодействия
- Специфика обработки сигналов (signal handling)
- Модуль 6. Процессы
- Клонирование процессов — fork()
- Замена исполняемого процесса — exec()
- Зомби (zombies) — причины возникновения и способы их устранения
- Потоки и процессы
- Специфика построения многопоточных приложений (multithreading)
- Досрочное завершение потока
- Создание обработчика завершения потока
- Средства синхронизации потоков (synchronize primitives)
- Атрибуты потоков
- Отличие демона от консольной утилиты
- Специфика разработки демонов (daemons)
- Создание демона использующего сетевые сокеты
- Специфика разработки консольных приложений
- Предотвращение перенаправления вывода
- Управление терминалом
- Сокрытие пароля пользователя при аутентификации
- Управление терминалом с помощью ESC-последовательностей
- Отображение обычного файла
- Совместный доступ к файлу
- Частные отображения
- Другие применения mmap
- Специфика разработки 64-битных приложений
- Использование библиотеки ncurses
Ведущий курса: Долин Сергей aka dlinyj. В прошлом автор и редактор рубрики в журнале "Хакер". Электронщик, разработчик ПО linux (прикладное, тестового ПО для железа, драйвера). Разработчик ПО для встраиваемых систем. Программист linux с 2011 года. Работал в ОАО «НИЦЭВТ», АО «Концерн «Системпром», ООО «ПРОСОФТ» (в дочерней компании «Доламант»).