Рассматривается ПО, использованное для подготовки и проведения данного лектория. получившийся список проедставляет собой «вертикальный» обзор цепочки инструментов, задействованных для решения сложной задачи.
Сборка CD
Начнём с конца...
Что такое LiveCD?
- Файловая система с установленными туда пакетами (
chroot
, hasher
)
- Дополнительные настройки: autologin, настройки пакетов и прочее
- Наполнение (файлы, не входящие ни в один пакет)
- Монолитный файл — образ этой ФС (
squashfs
)
- Загрузчик, способный найти и смонтировать файл с образом (
isolinux
)
- «Двуслойное» монтирование каталогов на запись (
unionfs
)
В ALT Linux этот процесс автоматизирован с помощью пакета spt3
.
Пользовательский интерфейс
... продолжим очевидным!
- Командный интерпретатор:
bash
- Графическая среда:
X.Org
- Окновод:
IceWM
- Иконки рабочего стола:
iDesk
- Навигатор и просмотр слайдов:
FireFox
- Выполнение примеров: расширение
MozEx
90% работы достигается установкой пакетов.
Слайды
Лень — двигатель прогресса
Простота создания или простота обработки
- Сбалансированный вариаент: пакет
pylize
(HTML ->
слайды)
- Простой формат, сложная обработка: пакет
ALDConvert
(формат m-k
->
HTML)
Редакторы HTML: vim, BlueFish, SeaMonkey...
Примеры в слайдах
Робот своими руками
- MozEx: обработка произвольных URL
- Ссылки вида “
...
” обрабатываются сценарием demoscreen
:
- Запуск
xterm
+ screen
и перемещение на экран «Work»
- Переключение окновода на «Work»
- Отображение команды в строке состояния
- Имитация «ввода с клавиатуры» команды
Здравствуйте, вирусы?
О знаниях и умениях
Что потребовалось знать для создания лектория?
Типичный объём знаний Linux-програмиста:
- Базовые знания по Linux
- архитектура системы
- пакетная база
- Понятие о графической оболочке, терминале и screen
- Умение программировать
- понятие о сборке программ (GNU Make)
- знание «классических» UNIX-утилит: shell, sed
- Программирование на высокоуровневом языке (python)
- Собственноручно изобретённый велосипед (разметка
m-k
)
Последние два пункта необязательны!
О Python
Универсальный язык программирования?
Сайт Pytnon:
- Свободный, кроссплатформенный (Linux/POSIX, Windows, MacOS,...)
- Интерпретатор с удобной командной строкой
- Простая среда разработки:
idle
, более мощные — eric
, KDevelop
,...
- Можно программировать:
- Множество модулей: сеть, графика, математика, регулярные выражения (выполнить),...
- Чёткий синтаксис, полная документация и учебник
Pytnon подходит для обучения программированию на любом уровне.
О Wiki
Построим башню вместе! Вавилоняне.
Wiki — гипертекстовая среда (обычно веб-сайт) для сбора и структурирования письменных сведений.
- Многократное редактирование в навигаторе
- Простой (проще HTML) язык разметки
- Появление изменений сразу после их внесения
- Разделение содержимого на именованные страницы
- Учёт изменений текста: сравнение и восстановление редакций
- Множество авторов: разрушение сложнее созидания
Особое ПО — «движок вики».
Пример Wiki: MoinMoin
Вы знаете фризский?
Особенности MoinMoin:
Пример: Образовательные проекты ALT Linux
Linux-конструктор
Make everything as simple as possible, but not simpler.
Albert Einstein.