Курс, разработанный при поддержке компании «BaseALT СПО», читает Георгий Курячий, ведущий разработчик компании, член ALT Linux Team, преподаватель ВМК МГУ.
Курс читается в качестве дополнителького на кафедре АСВК, однако команда очень приветствует и поддерживает внешних вольных слушателей.
Данный курс предполагает некоторое наличие базовых/примитивных знаний у слушателей, исключительно по причине того, что каждая из нижеуказанных тем может быть развёрнута (или уже развёрнута) в отдельные курсы, проходимые так или иначе в рамках обучения на ВМК. Здесь мы добавим ссылки на хорошие материалы по темам и/или быстрые подсказки, которых может с лихвой хватить для общего понимания и изучения тех навыков, которые понадобятся в процессе прохождения курса.
Для начала, упомянем логичную очевидную вещь: так как курс про разработку под Linux, нам таки понадобится Linux. В целом, вы можете выбрать для себя абсолютно любую Linux-систему, на которую вы сможете устанавливать произвольное ПО из репозиториев. Также можно обратиться непосредственно к Георгию для получения доступа на сервер с машинами, на которых можно будет спокойно проходить обучение.
Итак, в рамках курса подробно описываться НЕ будут, но знания по этим темам будут необходимы:
Как администрировать свою Linux-систему
-
Как ставить/удалять/обновлять пакеты
Весь курс заточен на работу с различными пакетами, которые мы будем ставить, трогать ручками, смотреть им под капот итд. Поэтому так или иначе умение эти самые пакеты устанавливать (на всякий случай, хорошо бы уметь разными способами), обновлять для проверки новых версий, а также удалять после использования (если вы не автор этой методички, который копит все теоретические и практические знания, с радостью показывая и рассказывая их работу) нам понадобится
-
Как эти пакеты называются в разных дистрибутивах
В разных дистрибутивах пакеты так или иначе могут отличаться в именовании. Мы в методичке будем придерживаться названий пакетов по ALTу, а вы - не бойтесь разных имён, Миледи же не боялась.
-
Как настраивать какие-то службы
Возможно, вам самим захочется настроить какие-то службы для более удобной работы в своей Linux-машине. Так вот, флаг вам в руки, мы это очень поддерживаем, но каждый наводит комфорт для себя сам.
Как работать в консольном текстовом редакторе
Почти наверное все наши задания будут исключительного текстового вида. Также для изучения некоторых особенностей разработки мы будем пользоваться удалённым сервером, подключение к которому проводится через ssh, на котором никаких GUI-шных (GUI - Graphical User Interface - Графический интерфейс приложения) редакторов нет. А даже если и есть, мы через консольный поток ввода-вывода кнопочки и поле для курсора мышки не передадим.
Все примеры и описания будут делаться через vim, но мы никого не обязываем пользоваться исключительно им. Главное, чтобы везде, где нам не придётся оказаться, была возможность куда-то как-то в файлики писать.
Что такое командная строка и как в ней работать
-
Где найти и как запустить эмулятор терминала
Везде и всё мы будем делать через командную строку терминала. Где-то это единственный способ получения и передачи информации, где-то это тупо проще и приятее для работы.
-
Терминал как управляющее устройство (Ctrl+C, Ctrl+S и т. п.)
Отчасти, в одной из наших лекций мы всё же обсудим, что из себя представляет терминальное устройство, как с ним чуть более углублённо работать. Но иметь представление, что происходит при вводе той или иной управляющей команды, это несомненный плюс в карму.
-
Опыт работы с (произвольной) командной строкой
“Если вы когда-то увидели командную строку, ужаснулись и забыли её, как страшный сон, вы точно пришли не туда”
(с) FrBrGeorge feat. Mandella's effect -
Знакомство с bash / zsh
-
- Немножко подробного Bash-а для начинающих
-
- Множко и неподробно в mind-map с консольными командами
-
- 100500 bash-скриптов на все случаи жизни. Особенно на те, которые никогда не произойдут
-
-
Управление процессами в Linux (kill)
- Общее понимание работы процессов в Linux, как и следует любой уважающей себя теме, описано на Хабре
Как программировать на Си
Так как курс преподаётся для студентов ВМК, в первую очередь, мы по умолчанию считаем, что программировать на Си вы умеете. Как минимум, не испугаетесь кода, сможете его прочитать и разобраться в общих чертах в его работе. И сами что-то вразумительно написать с какой-то библиотечкой сможете
Как работать с Git
Отчётом по курсу является решение задачек, которые вы выгружаете на зарегистрированный на курсе публичный репозиторий git-а. Отдельно это обсуждать мы не будем, но вот вам чуть-чуть ссылок на изучение базовых команд и картиночек для понимания, как эта страшная, на первый неопытный взгляд, машина работает.
Что вообще такое git - Система Контроля Версий
-
Базовые команды git
- Читаем любимые Хабры для чайников
- Коротко о главном
-
Как сопровождать простой публичный репозиторий
Как работать с secure shell
“Сверху - ноги, снизу - ноги, что за зверь?”
(с)м/с “Гора самоцветов”`
ssh нам понадобится для подключения на удалённые машины. А кто-то из вас вообще всю деятельность будет вести чисто через ssh, при желании
