Первый сайт на Perl
Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.Предисловие
Введение в мир Perl
Структура программы
Типы данных
Операции и выражения
Операторы
Операции ввода/вывода
Работа с файлами
Форматы
Ссылки
Работа со строками
Подпрограммы и функции
Пакеты, библиотеки, модули
Объектно-ориентированное программирование в языке Perl
Запуск интерпретатора и режим отладки
Язык Perl и CGI-программирование
Ресурсы Perl
Создание серверных приложений на языке PERL
Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.Постраничный вывод новостей с разбиением по датам
Вывод хеша в порядке вставки с использованием Tie::IxHash
От простого к сложному
Массивы и списочные данные
Apache
Библиотеки и модули
СGІ-программирование
Упражнения
PERL: Библиотека программиста
Итак, поваренная книга не готовит пищу за вас (она этого не умеет) и даже не учит вас готовить (хотя и помогает в этом). Она лишь передает различные культурные фрагменты, которые оказались полезными, и, возможно, отфильтровывает другие «культуры», которые выросли в холодильнике по беспечности хозяев. В свою очередь, вы поделитесь этими идеями с другими людьми, пропустите их через собственный опыт и личные вкусы, ваше творческое мышление и дисциплину. У вас появятся собственные рецепты, которые вы передадите собственным дестям. Не удивляйтесь, когда они придумают что-то свое и спросят, что вы об этом думаете. Постарайтесь не корчить недовольную гримасу.Строки
Поиск по шаблону
Подпрограммы
Использование termios
Сохранение формы в файле
Язык программирования Perl
Язык программирования Perl создал американский программист Ларри Уолл (Larry Wall) в 1987 году, когда он работал системным программистом в компании Unisys. Цели, которые преследовал Ларри при разработке нового языка программирования, отражены в его названии - PERL, которое позднее стало расшифровываться как Practical Extraction and Report Language, то есть "практический язык извлечения "данных" и "создания" отчетов". (Нетрудно заметить, что первые буквы всех слов названия составляют слово PEARL - "жемчуг". Одна из легенд о происхождении Perl гласит, что в то время уже существовал язык с таким названием, поэтому Ларри сократил название на одну букву, не изменив произношения. По иронии судьбы, сегодня тот язык не помнит никто, кроме историков, а Perl известен всему миру. Хотя, по другой версии, Ларри назвал созданный им язык по имени своей невесты.Создание Perl
Литералы
Выражения
Термы и простые предложения
Списки и списочные литералы
Ассоциации и хэши
Текст и строки
Регулярные выражения
Потоки ввода-вывода
Отчеты
Ссылки
Определение подпрограмм
Библиотеки
Объектно-ориентированная терминология
Базы данных
Многозадачность
Сетевое программирование
Всемирная Паутина и программирование
Perl для системного администрирования
По мере роста сложности рассматриваемой информации растет и важность служб каталогов, которые мы используем для доступа к этой информации. Хорошо, если системные администраторы будут не просто использовать эти службы, но и создавать собственные инструменты для работы с ними. В этой главе рассказано о некоторых из наиболее популярных служб, таких как LDAP и ADSI, а также показано, как с ними работать при помощи Perl.Структура раздела
Системное администрирование - это ремесло
Perl приходит на помощь
Информация о пользователях в Unix
Управление процессами в MacOS
Файлы узлов
Что такое каталог?
Взаимодействие с SQL-сервером из Perl
Отправка почты
Текстовые журналы
Обращаем внимание на неожиданные или несанкционированные изменения
Ссылки на подробную информацию
Организация данных в LDAP
XML - это язык разметки
Создание/удаление баз данных и таблиц
Perl практика
Практические примеры применения различных свойств языкаСписок и массив
Модификаторы выражений
Простейшая CGI-программа
Блоки операторов
Доступ к каталогам
Открытие и закрытие дескрипторов файлов
Определение пользовательской функции
Что такое хеш
Ввод из STDIN
Программа Hello
Основные понятия
Скалярные типы данных
Основы компьютерной музыки
В результате колебания какого-нибудь упругого тела, например струны, металлического листа, деревянной пластины и т. п., возникает волнообразное распространение продольных колебаний воздушной среды, которые называются звуковыми волнами. Звуковые волны распространяются во всех направлениях и с одинаковой скоростью. Эти звуковые волны (колебания) улавливаются нашим слуховым аппаратом и передаются по нервной системе в головной мозг, возбуждая ощущения звука.Человек воспринимает достаточно большой звуковой спектр. Этот спектр можно разделить на два вида: звуки шумовой природы и музыкальные звуки, хотя это разделение несколько условно, т. к. в современной музыке равноправно используются и те и другие.
Характер звука определяется четырьмя основными свойствами: высота, громкость, тембр, длительность.
Высота звука зависит от частоты колеблющегося тела (источника звука): чем чаще колебания, тем выше звук, и наоборот. Громкость зависит от размаха колебательных движений источника звука: чем больше размах колебаний (амплитуда), тем громче звук, и наоборот.
Основы гармонии и теории музыки
Инструмент сведение и аранжировка
Программа Band-in-a-Box 3.1
Профессиональная виртуальная студия Cubase VST
Работа с музыкальным материалом в программе Cubase
Работа в аудиоредакторах
Виртуальные встраиваемые модули
Приложение
Язык скриптования сайтов Parser 3
Пути к файлам и каталогам, работа с HTTP-серверамиДля доступа к файлам и каталогам в Parser можно использовать абсолютный или относительный путь.
Абсолютный путь начинается слешем, а файл ищется от корня веб-пространства. Файл по относительному пути ищется от каталога, в котором находится запрошенный документ.
Пример абсолютного пути:
/news/archive/20020127/sport.html
App1pathclass
Mailclass
Xdoctransform
Stringformat
Анализ криптографических протоколов
До сих пор предполагалось, что участники протокола честно выполняют протокол (нарушителей нет), а противник пассивен, т.е. он только перехватывает все сообщения в канале связи, пытаясь извлечь из них максимум информации, но не вмешиваясь в протокол. Такой противник является четвертым неявным участником протокола, состояние которого также должно учитываться и анализироваться с точки зрения безопасности протокола.Если же противник активен, то он становится четвертым несанкционированным участником протокола, скрытым для санкционированных участников А, В и S. Такой противник не обязан соблюдать протокол. Он должен только поддерживать видимость нормального хода протокола. Противник Е в протоколе может попеременно играть роль А, В и S (соответствующие обозначения: Ea, Eb, Es). Он может подставлять вместо сообщений, передаваемых санкционированными участниками, сообщения, переданные в предыдущих запусках протокола, в текущем запуске, или, наконец, он может инициировать от имени А или В новый запуск протокола до окончания текущего и воспользоваться сообщениями этого параллельного протокола. Еще более сильным противником является такой, который обладает ключом (ключами), действующим или выведенным из действия, причем участники протокола об этом могут не знать, по крайней мере, в течение некоторого времени.
Анализ криптографических протоколов
Криптографические протоколы
Криптографические протоколы распределения ключей для групп
Анализ методов криптографической защиты речевой информации
Квантовый криптоанализ
Методы криптоанализа классических шифров
Алгоритм шифрования RSA - описание и общие вопросы
RSA – криптографическая система открытого ключа, обеспечивающая такие механизмы защиты как шифрование и цифровая подпись (аутентификация – установление подлинности). Криптосистема RSA разработана в 1977 году и названа в честь ее разработчиков Ronald Rivest, Adi Shamir и Leonard Adleman.Алгоритм RSA работает следующим образом: берутся два достаточно больших простых числа p и q и вычисляется их произведение n = p*q; n называется модулем. Затем выбирается число e, удовлетворяющее условию
1< e < (p - 1)*(q - 1) и не имеющее общих делителей кроме 1 (взаимно простое) с числом (p - 1)*(q - 1).
Затем вычисляется число d таким образом, что (e*d - 1) делится на (p - 1)*(q – 1).
* e – открытый (public) показатель
* d – частный (private) показатель.
* (n; e) – открытый (public) ключ
* (n; d). – частный (private) ключ.
Делители (факторы) p и q можно либо уничтожить либо сохранить вместе с частным (private) ключом.
Введение в криптографию
Криптографические алгоритмы
Перспективы развития и использования асимметричных алгоритмов
Практическая криптография алгоритмы и их программирование
Шифры перестановки
Дискретная математика и криптология
Как построить случайные функции
О современной криптографии
Режимы шифрования
Криптография с открытым ключом
Криптосистема шифрования данных RSA
Основные тенденции развития открытой криптографии
Основы современной криптографии
Пpоблемы и пеpспективы кpиптогpафических систем
Подводные камни безопасности в криптографии
Почему криптосистемы ненадежны
Рядом с криптографией
Гидравлика. Конспект лекций
Часть механики жидких сред, которая рассматривает движение жидкости, а также силовое взаимодействие между жидкостью и обтекаемыми ею телами или ограничивающими ее поверхностями, называется гидромеханикой.Раздел механики, в котором изучают движение газов и жидкостей и обтекание ими тел, называют аэромеханикой.
Прикладную часть гидромеханики, для которой характерен определенный круг технических вопросов, задач и методов их решения, называют технической механикой жидкости, или гидравликой.
Обычно гидравлику определяют как науку о законах равновесия и движения жидкостей и о способах приложения этих законов к решению практических задач. В гидравлике рассматриваются главным образом потоки жидкости, ограниченные и направленные твердыми стенками, т. е. течения в открытых и закрытых руслах (каналах). Можно сказать, таким образом, что в гидравлике изучают внутренние течения жидкостей и решают так называемую «внутреннюю» задачу в отличие от «внешней» задачи, связанной с внешним обтеканием тел сплошной средой, которое имеет место при движении твердого тела в жидкости или газе (воздухе). «Внешнюю» задачу рассматривают в собственно гидромеханике или аэрогидромеханике. Этот раздел в основном связан с потребностями авиации и судостроения.
Водоснабжение и водоотведение
Водоснабжение и канализация жилого здания
Вода и ее применение в современных технологиях
Очистка сточных вод
Устройство и эксплуатация водозаборов
Загадки простой воды
Энергия воды для самопознания и исцеления
Зачем гидравлика в машиностроении?
Постепенное расширение потока
Гидромеханические и тепловые процессы
История западноевропейской музыки до 1789 года
В 1940 году вышел из печати учебник «История западноевропейской музыки до 1789 года», в основе которого лежал курс, читавшийся мною для студентов историко-теоретического факультета Московской государственной консерватории. За сорок лет, прошедших с тех пор, в науке о музыке накопилось много новых данных, требующих исправлений, уточнений и частичного пересмотра того, что писалось еще в предвоенные годы. Поскольку учебником продолжают пользоваться читатели, целесообразно было пересмотреть его в соответствии с современным состоянием музыкознания.Настоящая книга (XVIII век) является вторым томом учебника, полностью обновленного автором. По возможности учтены новые публикации и исследования, появившиеся за рубежом по проблемам истории музыки XVIII века и предшествующих эпох. В последние годы проблематика XVIII века получила во многом новое освещение также в работах советских музыковедов, что, разумеется, всецело принято во внимание. Из числа исследований и публикаций, осуществленных в СССР по общим проблемам, рассматриваемым в учебнике, наибольшее значение для автора имели книги В. В. Протопопова «История полифонии в ее важнейших явлениях. Западноевропейская классика XVIII — XIX веков» (М., 1965) и «Форма рондо в инструментальных произведениях Моцарта» (М., 1978). Использованы также работы Н. А. Горюхиной «Эволюция сонатной формы» (Киев, 1970), В. Дж. Конен «Театр и симфония» (М., 1968), Л. А. Мазеля «Проблемы классической гармонии» (М., 1972), С. С. Скребкова «Художественные принципы музыкальных стилей» (М., 1973), сборник «Музыкальная эстетика Западной Европы XVII — XVIII веков» (М., 1971). По отдельным темам автор учитывал данные ряда
Главы
Массовые музыкальные жанры XX века
Проблема вовлеченности подрастающего поколения в сферу массовой музыкальной культуры является одной из центральных в музыкальной педагогике. Средства массовой коммуникации (СМК) — радио, телевидение, сеть звукозаписи, видео, периодическая печать — оказывают огромное влияние на многомиллионную аудиторию, тиражируя различные образцы массовой музыкальной культуры и распространяя информацию о них. Данная продукция далеко не всегда отличается высоким эстетическим качеством, а зачастую культивирует такие явления, как потребительское отношение к жизни, человеконенавистничество, моральная и половая распущенность. Наиболее беззащитными перед низкопробной музыкальной продукцией являются дети, которые оказываются не в состоянии понять и оценить достоинства и недостатки массовой музыкальной культуры, ее возможности по утолению духовного голода. С одной стороны, сами произведения массовой музыкальной культуры хорошо знакомы старшеклассникам, с другой — они зачастую лишены способности отличать высокохудожественные образцы от поделок сомнительного эстетического качества.Продолжение
Образцы музыкальных форм от григорианского хорала до Баха
Русская музыкальная культура с древних времен до конца XVIII века
Эпоха XVII века в истории музыкального искусства
XVII век - бесспорно одна из интереснейших эпох в истории музыкального искусства. Строго говоря, ее границы не вполне совпадают с рамками собственно столетия, поскольку она простирается между эпохой Возрождения и эпохой Просвещения в Европе и, тем самым, отчасти захватывает конец XVI и начало XVIII века.Художественная культура XVII века представлена многими блестящими именами, среди которых Шекспир и Мильтон, Сервантес и Лопе де Вега, Корнель, Расин и Мольер, Караваджо, Бернини, Пуссен, Веласкес, Рубенс, Рембрандт. И все же творческие достижения современных им представителей музыкального искусства Монтеверди и Фрескобальди, Люлли и Куперенов, Шюца и Пёрселла нисколько не меркнут перед величием литературы и изобразительных искусств. Можно утверждать даже, что музыка в XVII столетии двигалась вперед с наибольшим напряжением и прошла от XVI к XVIII веку особенно большой путь. Она ведь получила от эпохи Возрождения прекрасное, но все же не столь богатое наследие, как, например, живопись и скульптура; ей предстояло многое преодолеть и многое завоевать в эволюции светских музыкальных жанров с характерными для них системой образов, тематикой и особенностями формообразования. XVII век стал временем неустанных творческих исканий, новых композиторских решений, порой настоящих открытий, поразительных по их непредсказуемости.
Опера И Крупные Вокальные Жанры В Италии
Кантата И Оратория
Основы компьютерной музыки
В результате колебания какого-нибудь упругого тела, например струны, металлического листа, деревянной пластины и т. п., возникает волнообразное распространение продольных колебаний воздушной среды, которые называются звуковыми волнами. Звуковые волны распространяются во всех направлениях и с одинаковой скоростью. Эти звуковые волны (колебания) улавливаются нашим слуховым аппаратом и передаются по нервной системе в головной мозг, возбуждая ощущения звука.Человек воспринимает достаточно большой звуковой спектр. Этот спектр можно разделить на два вида: звуки шумовой природы и музыкальные звуки, хотя это разделение несколько условно, т. к. в современной музыке равноправно используются и те и другие.
Характер звука определяется четырьмя основными свойствами: высота, громкость, тембр, длительность.
Высота звука зависит от частоты колеблющегося тела (источника звука): чем чаще колебания, тем выше звук, и наоборот. Громкость зависит от размаха колебательных движений источника звука: чем больше размах колебаний (амплитуда), тем громче звук, и наоборот.
Длительность звука зависит от продолжительности колебаний источника.
Тембром называется качественная характеристика звука, т. е. его окраска. Именно благодаря этой характеристике мы различаем огромное количество музыкальных инструментов, голоса и даже шумовые звуки. Тембр звука зависит от наличия в нем "частичных" тонов или, иначе говоря, обертонов (гармоник), а также от их соотношения по громкости и присутствию или отсутствию в спектре звучания основного тона.
Инструмент сведение и аранжировка
Программа Band-in-a-Box 3.1
Профессиональная виртуальная студия Cubase VST
Работа с музыкальным материалом в программе Cubase
Работа в аудиоредакторах
Решение задач динамики
Циклическая нагрузка будет приводить к гармонической реакции механических систем. Гармонический анализ используется для нахождения установившейся реакции линейных систем, нагруженных синусоидальными силами. Расчет выполняется нахождением реакции системы на нескольких частотах и строится график амплитудно-частотной характеристики. Максимум реакции, найденный по графику будет соответствовать и максимуму напряжения в конструкции. Гармонический анализ предназначен для отыскания максимального значения уровней установившейся вибрации. Переходные процессы не оцениваются в этом виде анализа.Гармонический анализ является линейным анализом. Некоторые нелинейности, такие как пластичность, контактные явления, или зазоры будут игнорироваться, даже если они определены в системе. Гармонический анализ может применяться в преднапряженных конструкциях, таких как скрипичная струна (при предположении, что напряжение от гармонической нагрузки существенно меньше, чем от предварительного напряжения).
Математическое моделирование процессов резания
Математическое моделирование
Математическое моделирование течений вязкой жидкости
Математическая теория формальных языков
Цель этого курса - познакомить читателя с некоторыми основополагающими моделями и результатами, используемыми в теоретической информатике. Неудивительно, что они относятся к математике, а не к какой-либо другой области знаний - ведь в науке о компьютерах именно математические абстракции являются самыми плодотворными.Рассматриваемые здесь идеи и результаты принадлежат теории формальных языков, грамматик и автоматов. По существу, эта теория описывает некоторые ограниченные абстрактные машины, способные выполнять определенные операции со строками. Например, конечный автомат может выяснить, содержит ли некоторый файл определенное слово, а автомат с магазинной памятью способен определить, правильна ли система вложенных круглых, квадратных и фигурных скобок.
Конечные автоматы
Проблемы программного обеспечения компьютерной безопасности
FreeBSD глазами администратора
Содержание дистрибутива FreeBSD
"Реальные" FS
Machine "i386"
Файл конфигурации
Добавление компонент из дистрибутива "вручную"
Options INET #Internet communications protocols
Установка дополнительных программ из "пакетов" (packages)
Установка "портов" (ports)
Перегенерация ядра
Добавление из дистрибутива с помощью программы sysinstall
Администрирование пользователей (юзеров)
Работа в системе LaTeX
Система компьютерной верстки TeX (произносится "тех") была создана выдающимся американским математиком и программистом Дональдом Кнутом в конце 70-х годов XX века; издательские системы на ее базе по сию пору широко используются и сдавать позиции не собираются. Чем объясняется столь редкое в компьютерном мире долголетие?На первый взгляд, все свидетельствует против TeX'а. В самом деле, в отличие, допустим, от популярного ныне Microsoft Word'а, TeX не является системой типа WYSIWYG (What You See Is What You Get): чтобы посмотреть, как будет выглядеть на печати набираемый текст, надо запустить отдельную программу. И по структуре файлов TeX несовместим с Word'ом (что не удивительно: эта структура мало изменилась с начала 1980-х годов, когда никакого Word'а не было и в помине, а форматы Word-файлов меняются чуть ли не ежегодно). Наконец, чтобы работать в TeX'е, надо потратить определенное время на его изучение: трудно представить себе книгу под названием "TeX for dummies" ("TeX для болванов").
Как набирать формулы
Специальные типографские знаки
Оформление текста в целом
Создание новых команд
Модификация стандартных классов
Гарнитуры
Пакет Xy-pic
Стохастические генераторы псевдослучайных последовательностей
В глубь языка Python
Эта книга не предназначена для новичков. Подразумевается, что:Вы уже знакомы хотябы с одним объектно-ориентированным языком, таким как Java, C++, или Delphi.
Вы знаете хотя бы один скриптовой язык, например, Perl, Visual Basic, или JavaScript.
Вы уже установили Python версии 2.0 или выше (рекомендуется Python 2.2)
Если вы только начали изучать программирование, это не значит, что вы не можете изучать Python. Python — один из самых простых языков для обучения, но для начинающих предназначены совсем другие книги.
Объединяем все вместе
Язык программирования Python
Python - интерпретируемый, объектно-ориентированный высокоуровневый язык программирования с динамической семантикой. Встроенные высокоуровневые структуры данных в сочетании с динамическими типизацией и связыванием делают язык привлекательным для быстрой разработки приложений (RAD, Rapid Application Development). Кроме того, его можно использовать в качестве сценарного языка для связи программных компонентов. Синтаксис Python прост в изучении, в нем придается особое значение читаемости кода, а это сокращает затраты на сопровождение программных продуктов. Python поддерживает модули и пакеты, поощряя модульность и повторное использование кода. Интерпретатор Python и большая стандартная библиотека доступны бесплатно в виде исходных и исполняемых кодов для всех основных платформ и могут свободно распространяться.Что такое Python?
Понятие модуля
Метаклассы
Формат CSV
О потоках управления
OFSA Основные принципы
Введение в язык Питон
Если вы знакомы с английским языком, то легко поймёте, что слово if переводится как “если”. Этот оператор выполняет блок кода, следующий после него с отступами, только в случае, если выражение в его заголовке не нуль(т.е. верно).>>> x = int(raw_input("Введите целое число: ")) >>> if x < 0: ... x = 0 ... print 'Отрицательное число стало нулём' ... elif x == 0: ... print 'Это число - нуль' ... elif x == 1: ... print 'Это число - 1' ... else: ... print `Это число больше единицы' ...
Далее могут быть ещё операторы elif(аналог case в Си). Оператору if, как видно, сопутствуют операторы else(“иначе” - блок кода выполняется если условие в заголовке if приняло нулевое значение, т.е стало ложным) и elif(“иначе если” - блок кода выполняется если условие в заголовке if приняло нулевое значение, т.е стало ложным, а значение в заголовке данного оператора стало ненулевым, т.е истинным).
Программирование метаклассов на Python
Когда объявлять
Что такое полиморфизм?
Практика
Справочник по Python
В действительности есть несколько модулей Python, предоставляющих доступ к базам данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой главе приводятся спецификации API для двух наиболее часто используемых модулей. Однако важно указать на приближающуюся унификацию разных API для баз данных в едином API, специфицированном Python Database SIG. В настоящее время mSQL не поддерживает этот API.Модуль: MySQL
Справочник по JDBC
Методы объекта
Основы многопоточного и распределенного программирования
Параллельное программирование возникло в 1962 г. с изобретением каналов — независимых аппаратных контроллеров, позволявших центральному процессору выполнять новую прикладную программу одновременно с операциями ввода-вывода других (приостановленных) программ. Параллельное программирование (слово параллельное в данном случае означает "происходящее одновременно"') первоначально было уделом разработчиков операционных систем. В конце 60-х годов были созданы многопроцессорные машины. В результате не только были поставлены новые задачи разработчикам операционных систем, но и появились новые возможности у прикладных программистов.Первой важной задачей параллельного программирования стало решение проблемы так называемой критической секции. Эта и сопутствующие ей задачи ("обедающих философов", "читателей и писателей" и т.д.) привели к появлению в 60-е годы огромного числа научных работ. Для решения данной проблемы и упрощения работы программиста были разработаны такие элементы синхронизации, как семафоры и мониторы. К середине 70-х годов стало ясно, что для преодоления сложности, присущей параллельным программам, необходимо использовать формальные методы.
Обзор области параллельных вычислений
Семафоры
Нотация совместно используемых примитивов
Матричные вычисления