Практическое применение скриптовых языков
Цель курса: изучение
современных методов управления информацией.
Предметы изучения (малый набор): Операционная
система Linux, Оболочка Midnight Commander,Текстовый редактор vi,
Утилиты для установки пакетов dpkg и rpm, Системы управления пакетами
нового поколения dselect, База данных
PostgreSQL и пользовательский интерфейс pgaccess, Web сервер
Appache, Броузер и Composer (редактор) Mozilla, Специализированные
прикладные
пакеты (по выбору).
Предметы
изучения (большой набор):
- Qt - библиотека классов графических интерфейсов пользователя,
- vi - текстовый редактор,
- make - программа управления компиляцией,
- gtk - свободная библиотека класс графических интерфейсов
пользователя,
- perl - язык программирования,
- python - язык программирования,
- tcl - язык графической оконной оболочки,
- PostgreSQL - современная база данных нового поколения,
- vim-perl - редактор для создания программ на perl,
- vim-python - редактор для создания программ на python,
- UML и dia - графический редактор для языков уровня алгоритмических
схем,
- doxygen - система документирования исходного кода,
- kdevelop, kdestudio - среда разработки для C++ и Java,
- perl-mod и apache - выполнение информационных запросов на стороне
сервера,
- Pg - управление базой данных с помощью perl.
Специализированные прикладные пакеты по электронной технике.
- gnucap - пакет для анализа электрических схем.
- electric - редактор для создания элементов БИС, включая
различные конвертеры и анализаторы.
- gpsim, simulpic - эмулятор PIC-контроллеров.
- heyu, x10, xtend, bottlerocket - удаленное управление
устройствами.
- pcb - создание печатных плат.
- savant, tyvis1 - VHDL.
- sdcc - компилятор и симулятор С для микроконтроллеров
Intel MCS51, AVR, Z80.
- tkgate - симулятор цифровых схем, написанный на Tcl.
- verilog - Icarus verilog компилятор.
- vipec - расчет линейных элементов электрических схем.
- suprem - программа по технологии БИС.
Методика подачи материала: Необходимая
информация предоставляется слушателям заранее на CD-диске или через
компьютерную сеть. На семинаре обсуждаются конкретные
вопросы слушателей.
План семинара 1: Современные тенденции свободного программного обеспечения.
Основные сведения о истории возникновения программ (Люди, места, дела).
1. RX-0 (Подарок IBM).
2. PDP-6 (Подарок DEC).
3. Работа над набором команд Assemblera PDP-10 (Подарок
первых Хэкеров DEC и людям).
4. Создание языков программирования. (LISP - подарок Хэкеров
IBM и другим людям).
4. Возникновение первых коммерческих фирм (Продажа подарков).
5. Один против всех (Сталламан).
6. gcc - работа сообщества. (Intel подарила около $1000000
для этой работы).
Создание сервисных центров для поддержки Linux.
1. Гарантия надежной работы только в случае поддержки специалиста.
План семинара 2,3: Операционная система Linux.
В семинар входит:
- Демонстрация установки системы.
- Рассказ об основных моментах настройки ОС.
- Передача копии дистрибутива слушателям.
История дистрибутива Дебиан(Debian) и его отличия от других.
1. Полностью свободный (Лицензия GNU).
2. Все основные пакеты написанные за последние 10 лет.
3. Прекрасная система управления пакетами.
3.1. Система управления пакетами, установленными на машине
- dpkg.
3.2. APT (Advanced Packaging Tool). Обслуживает зависимости
и сохраняет нас-троечные файлы.
3.3. dselect - интерактивная программа для выбора пакетов.
3.4. tasksel - очень простой инструмент пользователя.
Инсталляция операционной системы.
1. Список устройств вашего компьютера.
2. Инсталляция возможна на различные типы компьютеров.
3. Инсталляция возможна с CDROM, NFS, HardDisk, ftp, http.
Первые сведения о выборе пакетов(mc).
1. dselect - общее описание.
2. dselect - основные клавиши управления (i,I,o,O,Q,d,u,+,-)
Назначения основных каталогов(/usr/share/doc/HOWTO).
1. /etc - все конфигурационные файлы системы.
2. /var/log - все диагностические сообщения системы.
3. /usr/share/doc - документация на программы.
4. /usr/src/linux - исходный код ядра системы.
5. /lib/modules - загружаемые модули ядра ("драйвера").
6. /cdrom
7. /mnt - дополнительные файловые системы (NTFS,vfat).
8. ~/bin,/bin,/sbin,/usr/bin,/usr/sbin - каталоги с программами.
Настройка отдельных файлов.
1. /etc/X11/XF86Config.4.
2. /etc/inittab
3. /etc/fstab
4. /etc/modules
5. Команда dpkg -S для определения пакета.
6. Команда dpkg-reconfigure - основной инструмент для настройки
пакетов.
7. Команда dpkg -L для вывода списка файлов пакета.
Выбор дополнительных пакетов (Dia, Electric, Apt-HOWTO-ru).
1.1. Математика.
1.2. Астрономия.
1.3. Управленческие программы (qttudo).
1.4. Информационные базы (PostgreSQL).
1.5. Развлекательные центры (Телевизор, приемник, видео, игры).
1.6. Коммуникационные центры любой конфигурации.
1.7. Центры управления оборудованием жилых помещений.
1.8. Офисный компьютер.
1.9. Химия.
1.10. Биология.
1.11. Рабочее место программиста.
Основные языки программирования (Perl,Piton,Tkl,C,C++,Lisp).
Обзор.
План семинара 4: Архитектура ядра Linux.
Конфигурирование ядра Linux.
1.1. make xconfig
1.2. Компиляция ядра
1.3. lilo
Интересные применения(Подключение периферийных устройств).
- Подключение
звуковой карты.
- Распознавание
голоса.
- TVtuner и FMtuner.
- Удаленное управление бытовыми устройствами.
Поддержка русского языка.
1.Настройка
консолей с FrameBuf и Unicode.
План семинара 5: Программа управления компиляцией - make.
- Формат файла Makefile.
- Функции скрипта ./configure.
- Важные переменные Makefile.
- Особенности Makefile при использовании утилиты automake.
План семинара 6: Самый распространенный скриптовый язык на платформе Linux
- perl.
- Книга Рэндала Шварца и Тома Кристиансена "Изучаем
Perl" и новые Гарри Поттеры.
- Один из самых переносимых языков программирования.
- Является служебным языком системы Linux
- Экономия времени при разработке программ на Perl по сравнению
с C и C++.
- man perl и man perl...
- Назначение языка Perl - страница 26 книги Шварца.
- shell и Perl.
- Компилятор или интерпретатор стр. 29
- $, @, &, % и другие.
- Программа Hello, World стр. 30
План семинара 7: Perl - Скалярные данные ($).
- Числа.
- Строки.
- Скалярные операции и функции стр 69 (Обратите внимание на интерполяцию
стр. 73).
- <STDIN>
- Значение undef (стр. 75).
План семинара 8: Perl - Массивы и списочные данные(@) и хеши (%).
- Список и массив.
- Операции над массивами и функции обработки массивов.
- Скалярный и списочный контексты (стр. 85).
- Хеш-переменные (стр. 97).
- Хеш-функции (стр. 99).
План семинара 9: Perl - Управляющие структуры и средства ввода вывода.
Управление потоком данных и потоком команд ("Книга дракона" А,Ахо, глава
10 "Оптимизация кода")
- {} (стр. 89)
- if/unless
- while/until и do{} while/until.
- for
- foreach
- Базовые средства ввода-вывода (стр.103).
- last (стр. 135)
- next (стр. 137)
- redo
- Метки
- "оператор" if $debug и "оператор" || die (стр. 139)
План семинара 10: Perl - Регулярные выражения (стр. 107, стр. 204).
- Образцы (\d, \w, \s).
- *, +, ?, ".".
- Замена s/x+/boom/ (стр. 111).
- \b - граница слова.
- =~ - операция сопоставления.
- Функции split и join.
План семинара 11: Perl - Функции, классы и модули (стр. 125).
- Определение пользовательской функции.
- Вызов пользовательской функции.
- Локальные и полулокальные переменные (стр. 129).
- http://modules.CPAN.org
План семинара 12: Perl - Доступ и манипулирование каталогами и файлами.
- Дескрипторы файлов и проверка файлов (стр. 143).
- Доступ к каталогам (стр. 167).
- Манипулирование файлами и каталогами (стр. 173).
План семинара 13: Perl - Управление процессами.
- Использование функций system и exec (стр. 183).
- Использование обратных кавычек (стр. 186).
- Использование процессов как дескрипторов файлов (стр. 187).
- Использование функции fork (стр. 189).
- Передача и прием сигналов (стр. 193).
План семинара 14, 15: База данных PostgreSQL.
Реляционные базы данных.
Основные конструкции языка SQL.
Dia и логическая схема БД.
Модуль Pg и DBI/DBD.
Apache и Perl CGI.
План семинара 16: Формат обмена научными вычислительными данными - NetCDF.
- Модули поддержки NetCDF для Perl.
- Дополнительные интерфейсы и библиотеки NetCDF для Python.
- Программа для визуализации физических данных vis5d (полей и потоков).
- Программа для просмотра геометрических данных geomview.
План лабораторной 1: Изучение примеров программирования на Perl.
План лабораторной 2: Написание программ на Perl.
План лабораторной 3: Использование дополнительных модулей в программах на Perl.
Задание: разработать свою собственную программу с использованием модулей
скаченных с Inet.
План лабораторной 4: Организация работы с БД на Perl .