View on GitHub

Methodics of GNU/Linux application software development

Practical materials for learning application software development on Linux

Курс, разработанный при поддержке компании «BaseALT СПО», читает Георгий Курячий, ведущий разработчик компании, член ALT Linux Team, преподаватель ВМК МГУ.

Курс читается в качестве дополнителького на кафедре АСВК, однако команда очень приветствует и поддерживает внешних вольных слушателей.

Данный курс предполагает некоторое наличие базовых/примитивных знаний у слушателей, исключительно по причине того, что каждая из нижеуказанных тем может быть развёрнута (или уже развёрнута) в отдельные курсы, проходимые так или иначе в рамках обучения на ВМК. Здесь мы добавим ссылки на хорошие материалы по темам и/или быстрые подсказки, которых может с лихвой хватить для общего понимания и изучения тех навыков, которые понадобятся в процессе прохождения курса.

Для начала, упомянем логичную очевидную вещь: так как курс про разработку под Linux, нам таки понадобится Linux. В целом, вы можете выбрать для себя абсолютно любую Linux-систему, на которую вы сможете устанавливать произвольное ПО из репозиториев. Также можно обратиться непосредственно к Георгию для получения доступа на сервер с машинами, на которых можно будет спокойно проходить обучение.

Итак, в рамках курса подробно описываться НЕ будут, но знания по этим темам будут необходимы:

Как администрировать свою Linux-систему

Как работать в консольном текстовом редакторе

Почти наверное все наши задания будут исключительного текстового вида. Также для изучения некоторых особенностей разработки мы будем пользоваться удалённым сервером, подключение к которому проводится через ssh, на котором никаких GUI-шных (GUI - Graphical User Interface - Графический интерфейс приложения) редакторов нет. А даже если и есть, мы через консольный поток ввода-вывода кнопочки и поле для курсора мышки не передадим.

Все примеры и описания будут делаться через vim, но мы никого не обязываем пользоваться исключительно им. Главное, чтобы везде, где нам не придётся оказаться, была возможность куда-то как-то в файлики писать.

Что такое командная строка и как в ней работать

Как программировать на Си

Так как курс преподаётся для студентов ВМК, в первую очередь, мы по умолчанию считаем, что программировать на Си вы умеете. Как минимум, не испугаетесь кода, сможете его прочитать и разобраться в общих чертах в его работе. И сами что-то вразумительно написать с какой-то библиотечкой сможете

Как работать с Git

Отчётом по курсу является решение задачек, которые вы выгружаете на зарегистрированный на курсе публичный репозиторий git-а. Отдельно это обсуждать мы не будем, но вот вам чуть-чуть ссылок на изучение базовых команд и картиночек для понимания, как эта страшная, на первый неопытный взгляд, машина работает.
Что вообще такое git - Система Контроля Версий

Как работать с secure shell

“Сверху - ноги, снизу - ноги, что за зверь?” (с)м/с “Гора самоцветов”` ssh нам понадобится для подключения на удалённые машины. А кто-то из вас вообще всю деятельность будет вести чисто через ssh, при желании