> Лекция девятая -- Какое ПО использовано в лектории? Рассматривается ПО, использованное для подготовки и проведения данного лектория. получившийся список проедставляет собой ``вертикальный'' обзор цепочки инструментов, задействованных для решения сложной задачи. > Сборка CD >> Начнём с конца... Что такое LiveCD? . Файловая система с установленными туда пакетами (@^chroot^||su -;;demochroot;;ls -R /tmp/r;;chroot /tmp/r find /@, ^hasher^) . Дополнительные настройки: @autologin||cat /etc/sysconfig/autologin@, настройки пакетов и прочее . @Наполнение||ls /home/*@ (файлы, не входящие ни в один пакет) . Монолитный файл -- образ этой ФС (@^squashfs^||mksquashfs /tmp/r /tmp/fs -noappend >/dev/null;;file /tmp/fs;;mount -o loop -t squashfs /tmp/fs /mnt/floppy;;ls /mnt/floppy;;date > /mnt/floppy/nowrite@) . Загрузчик, способный найти и смонтировать файл с образом (@^isolinux^||ls /image;;ls -lh /image/altlinux;;ls /image/isolinux@) . ``Двуслойное'' монтирование каталогов на запись (@^unionfs^||ls /tmp/r/bin /mnt/floppy;;echo /tmp/r/bin + /mnt/floppy = /mnt/cdrom;;mount -t unionfs -o dirs=/tmp/r/bin=rw:/mnt/floppy=ro unionfs /mnt/cdrom;;date > /mnt/cdrom/write;;ls /mnt/cdrom;;umount /mnt/cdrom;;ls /tmp/r/bin@) В ALT Linux этот процесс автоматизирован с помощью пакета ^spt3^. > Пользовательский интерфейс >> ...продолжим очевидным! . Командный интерпретатор: ^bash^ . Графическая среда: ^X.Org^ . Окновод: ^IceWM^ . Иконки рабочего стола: ^iDesk^ . Навигатор и просмотр слайдов: ^FireFox^ . Выполнение примеров: расширение ^MozEx^ @90% работы достигается установкой пакетов||exit@. > Слайды >> Лень -- двигатель прогресса Простота создания или простота обработки . Сбалансированный вариаент: пакет @^pylize^|http://www.chrisarndt.de/en/software/pylize@ (@HTML| all.html@ ^->^ слайды) .. @Создать шаблон слайда||mkdir /tmp/ex; cd /tmp/ex; pylize -l ru create;;ls@ .. @Отредактировать шаблон||sed -i~ /Example/d /tmp/ex/all.html@ -- @чистый html| /tmp/ex/all.html@ .. @Собрать||cd /tmp/ex; pylize@ -- @готовые слайды| /tmp/ex/index.html@ . Простой формат, сложная обработка: пакет ^ALDConvert^ (@формат ^m-k^||cd; showfile texts/OLL/09_Soft.m-k@ ^->^ HTML) .. Дополнительная обработка: @преобразование ссылок типа ^RUN://^||showfile texts/OLL/mkmk@ и т. п. .. Общая сборка: @GNU Make||showfile texts/OLL/Makefile@ Редакторы HTML: @vim|http://vim.org@, @BlueFish|http://bluefish.openoffice.nl/index.html@, @SeaMonkey|http://www.mozilla.ru/products/seamonkey@... > Примеры в слайдах >> Робот своими руками . MozEx: @обработка _произвольных_ URL||grep -i mozex .mozilla/firefox/*/prefs.js@ . Ссылки вида "run://..." обрабатываются @сценарием ^demoscreen^||showfile bin/demoscreen@: 11 Запуск ^xterm^ + ^screen^ и перемещение на экран ``Work'' 11 Переключение окновода на ``Work'' 11 Отображение команды в строке состояния 11 Имитация ``ввода с клавиатуры'' команды @Здравствуйте, вирусы?||( sleep 3; demoscreen ls ) & ps w@ > О знаниях и умениях >> Что потребовалось знать для создания лектория? Типичный объём знаний Linux-програмиста: . Базовые знания по Linux .. архитектура системы .. пакетная база . Понятие о графической оболочке, терминале и screen . Умение программировать .. понятие о сборке программ (GNU Make) .. знание ``классических'' UNIX-утилит: shell, sed . Программирование на высокоуровневом языке (python) . Собственноручно изобретённый велосипед (разметка ^m-k^) Последние два пункта <необязательны>! > О Python >> Универсальный язык программирования? @Сайт Pytnon|http://python.org@: . Свободный, кроссплатформенный (Linux/POSIX, Windows, MacOS, ...) . @Интерпретатор с удобной командной строкой||python;;1+2+3;;'QQ '*6;;range(7);;import sys;;sys.exit()@ . Простая среда разработки: ^idle^, более мощные -- ^eric^, ^KDevelop^, ... . Можно программировать: .. @как на Паскале||showfile src/Pascal.py"@ (@выполнить||python src/Pascal.py@) .. @используя списки||showfile src/Modern.py"@ (@выполнить||python src/Modern.py@) .. @как на Лиспе||showfile src/Functional.py"@ (@выполнить||python src/Functional.py@) .. используя современную объектную модель . Множество модулей: сеть, графика, математика, @регулярные выражения||showfile src/Regexp.py@ (@выполнить||python src/Regexp.py@), ... . Чёткий синтаксис, @полная документация| /usr/share/doc/python-doc-2.4.4/index.html@ и @учебник| /usr/share/doc/python-doc-2.4.4/tut/index.html@ @Pytnon|http://python.org@ подходит для обучения программированию на любом уровне. > О Wiki >> Построим башню вместе! Вавилоняне. Wiki -- гипертекстовая среда (обычно веб-сайт) для сбора и структурирования письменных сведений. . Многократное редактирование в навигаторе . Простой (проще HTML) язык разметки . Появление изменений сразу после их внесения . Разделение содержимого на именованные страницы . Учёт изменений текста: сравнение и восстановление редакций . Множество авторов: разрушение сложнее созидания Особое ПО -- ``движок вики''. > Пример Wiki: MoinMoin >> Вы знаете фризский? Особенности @MoinMoin|http://moinmoin.wikiwikiweb.de@: . Свободная и кроссплатформенная . Написана на Python . @Установить очень просто||su -;;moin-instance-setup site;;sleep 10;;exit@ . @Содержит в себе документацию|http://localhost/site/HelpContents@ и @работает сразу||cp src/test.moin /tmp/pushmoin.moin;;EDITOR=pushmoin editmoin http://localhost/site/NewPage@ (@отредактировать вручную|http://localhost/site/NewPage?action=edit@) . Сборно-разборная: @настройка=программирование на Python||showfile /var/www/wiki/site/cgi-bin/wikiconfig.py@! . Возможности: работа с другими форматами, ACL, макросы, темы, ``ферма'', ... . Упрощённый вариант вариант -- @Moin Desktop|http://moinmoin.wikiwikiweb.de/DesktopEdition@ (сам себе HTTP-сервер) Пример: @Образовательные проекты ALT Linux|http://heap.altlinux.ru/engine/Edu@ > Linux-конструктор +2 Make everything as simple as possible, but not simpler. +3 _Albert Einstein_.