Разработка программного обеспечения для GNU/Linux
Лектор: Георгий Курячий
Время и место проведения: по пятницам в 18:00, аудитория П-14
Первая лекция: 28 сентября 2012 г.
Лицам, не имеющим пропуск на факультет ВМК МГУ, рекомендуется на первую лекцию принести одну матовую фотографию 3×4 и паспортные данные для оформления пропуска.
Экзамен
Для сдачи надо заранее (не менее, чем за день до экзамена) записаться, написав письмо с темой «Экзамен дата ФИО» по адресу <frbrgeorge@gmail.com>.
Внимание: от количества записавшихся зависит количество приглашённых экзаменаторов, и, соответственно, сдающих экзамен.
- Первая итерация экзамена пройдёт 21 декабря 2012 года в аудитории П-14, начало в 16:00.
 Вторая итерация экзамена — 25 января 2013 года в 12 часов, сбор около ауд 762 (если запишется много народу, закажем аудиторию).
см. также замечание о методах сдачи-приёмки экзамена
Аннотация
- Название: Разработка программного обеспечения для GNU/Linux
 - Title: GNU/Linux application software development
 
В курсе рассматривается жизненный цикл создания программного продукта на примере практик, используемых при разработке приложений для ОС семейства GNU/Linux.
Освещены следующие темы:
- Дисциплина оформления исходного кода
 - Документирование
 - Совместная разработка и контроль версий
 - Повторное использование кода, в том числе сторонне разработанного
 - Сборка сложного продукта и определение сборочных зависимостей
 - Отладка и тестирование
 - Перевод и интернационализация
 - Конечная установка и распространение программного продукта
 
По каждой теме предполагается осветить теоретические основы, необходимые для её понимания, дать обзор используемых инструментов и показать процесс применения одного из таких инструментов для самостоятельного решения практических задач.
Курс ориентирован на слушателей, имеющих практический опыт работы в командной строке UNIX-систем, представление об архитектуре операционной системы на базе GNU/Linux и опыт программирования (предпочтительно на Си).
Материалы
№  | 
  Тема  | 
  Лектор  | 
  Дата  | 
  Конспект  | 
  Аудио  | 
  Видео  | 
0  | 
  Установочная лекция. Определение и ограничение круга рассматриваемых тем. Связь с темами предыдущих семестров  | 
  2012-09-28  | 
  
  | 
  
  | 
  
  | 
|
Сборочное окружение. «Доисторическая» сборка  | 
  2012-10-05  | 
  
  | 
  
  | 
  
  | 
||
Сборочные зависимости и инструменты работы с ними  | 
  2012-10-12  | 
  
  | 
  
  | 
|||
Отладка и трассировка  | 
  2012-10-19  | 
  
  | 
  
  | 
|||
Работа с исходным текстом  | 
  2012-10-26  | 
  
  | 
  
  | 
|||
Дисциплина оформления и ведения исходного текста  | 
  2012-11-02  | 
  
  | 
  
  | 
|||
Информационное пространство дерева исходных текстов  | 
  2012-11-09  | 
  
  | 
  
  | 
  
  | 
||
Контроль качества  | 
  2012-11-16  | 
  
  | 
  
  | 
|||
Инструментарии  | 
  2012-11-23  | 
  
  | 
  
  | 
|||
Интернационализация  | 
  2012-11-30  | 
  
  | 
  
  | 
|||
Специфика программирования под Linux в сравнении с другими POSIX-системами  | 
  2012-12-07  | 
  
  | 
  
  | 
|||
Информационное-технологическое обеспечение разработки  | 
  2012-12-14  | 
  
  | 
  
  | 
Практические занятия
Для работы на сервере практикума надо создать ssh-ключ и отправить его открытую часть по адресу frbrgeorge@gmail.com с темой "Практикум" (не забудьте представиться и указать курс и группу).
Решённые домашние задания располагаются в домашнем каталоге пользователя examples (~examples/), в подкаталогах вида "год-номер_недели". Процесс решения домашних заданий фиксируется в хранящихся в подкаталоге scripts typescript-файлах вида "год-номер_недели-номер_попытки.*" (публикуются тут)
Для просмотра необходимо два typescript-файла (что-то.typescript и что-то.timing):
$ scriptreplay что-то.timing что-то.typescript
Запускать в xterm-е размером 80x25, в кодировке ru_RU.UTF-8. У scriptreplay есть необязательный третий параметр — скорость просмотра :).
Как самому сделать typescript? Нет ничего проще! Запустить xterm ( 
 если PuTTY, надо смотреть, какие настройки подойдут) размером 80x25 
$ script -tфайл_с_таймингами.timing файл-с-буковками.script Скрипт запущен, файл - файл-с-буковками.script $ всякие команды. они уже записываются! … $ exit Скрипт выполнен, файл - файл-с-буковками.script $ готово, можно использовать
Полученные два файла можно назвать содержательными именами и послать FrBrGeorge.
Для передачи любых файлов на сервер практикума и обратно пользуйтесь scp (или pscp / Winscp 
 ). 
См. создание ключа.
