Общая информация
Об этом руководстве
Соглашения, используемые в данном руководстве
О русском переводе руководства
Что представляет собой MySQL?
История MySQL
Основные возможности MySQL
Насколько стабильным является MySQL?
Насколько большими могут быть таблицы
Вопросы, связанные с Проблемой-2000
Что представляет собой компания MySQL AB?
Бизнес-модель и услуги MySQL AB
Поддержка
Обучение и сертификация
Консультации
Коммерческие лицензии
О нашей программе партнерства
О рекламе
Как с нами связаться
Лицензии и поддержка MySQL
Поддержка, предлагаемая компанией MySQL AB
Авторские права и лицензии на MySQL
Лицензии на ПО MySQL
ПО MySQL под коммерческой лицензией
Бесплатное MySQL по лицензии GPL
Логотипы и торговые марки MySQL AB
Оригинальный логотип MySQL
Логотипы MySQL без письменного разрешения
Bспользования логотипов c разрешением
Партнерские логотипы MySQL AB
MySQL в текстовых документах и презентациях
MySQL в названиях компаний и продуктов
Кратко о MySQL 4.x
Поэтапный выпуск
Можно использовать уже прямо сейчас
строенный MySQL
Другие функции, доступные в MySQL 4.0
Функции MySQL 4.x, которые будут добавлены
MySQL 4.1, следующая ветка в разработке
Источники информации по MySQL
Списки рассылки MySQL
Списки рассылки MySQL
Как задавать вопросы об ошибках
Как отправлять отчеты об ошибках или проблемах
Рекомендации по ответам на вопросы
Пользователи MySQL на IRC
Насколько MySQL соответствует стандартам?
Каким стандартам соответствует MySQL ?
Запуск MySQL в режиме ANSI
Расширения MySQL к ANSI SQL92
Отличия MySQL от ANSI SQL92
Вложенные SELECTы
Оператор SELECT INTO TABLE
Транзакции и атомарные операции
Хранимые процедуры и триггеры
Внешние ключи
Представления
Символы `--' как начало комментария
Известные ошибки и недостатки проектирования
MySQL и будущее (что предстоит сделать)
Что планируется реализовать в версии в 4.0
Things That Should be in 4.1
Что планируется реализовать в версии 5.0
Что должно быть сделано в ближайшем будущем
То, что надо сделать когда-нибудь
То, чего не планируется делать
Сравнение MySQL с другими СУБД
Сравнение MySQL и mSQL
Как конвертировать mSQL в MySQL
Различия в кпротоколах mSQL и MySQL
Различия в синтаксисе mSQL 2.0 и MySQL
Сравнение MySQL c PostgreSQL
Стратегии развития MySQL и PostgreSQL
Сравнение возможностей MySQL и PostgreSQL
Тестирование скорости MySQL и PostgreSQL
Установка MySQL
Быстрая стандартная установка MySQL
Установка MySQL на Linux
Установка MySQL на Windows
Установка бинарного кода
Подготовка конфигурации MySQL для Windows
Первый запуск сервера
Общие вопросы инсталляции
Как получить MySQL
Проверка целостности пакетов MD5 Checksums
Операционные системы, поддерживаемые MySQL
Какую версию MySQL использовать
Схемы установки
Как и когда выпускаются обновления
Бинарные коды MySQL из MySQL AB
Установка бинарного дистрибутива MySQL
Установка исходного дистрибутива MySQL
Обзор быстрой установки
Применение патчей
Типичные опции configure
Экспериментальный набор исходных кодов
Проблемы с компиляцией?
Замечания по потокам MIT-pthreads
Дистрибутив исходного кода для Windows
Послеустановочные настройка и тестирование
Проблемы при запуске mysql_install_db
Проблемы при запуске сервера MySQL
Автоматический запуск и остановка MySQL
Апгрейд/даунгрейд MySQL
Модернизация с версии 4.0
Модернизация с версии 3.23 до версии 4.0
Модернизация с версии 3.22 до версии 3.23
Модернизация с версии 3.21 до версии 3.22
Модернизация с версии 3.20 до версии 3.21
Модернизация к иной архитектуре
Заметки по операционным системам
Примечания к Linux (Все версии Linux)
Примечания к бинарным дистрибутивам Linux
Заметки по поводу Linux x86
Примечания к Linux SPARC
Примечания к Linux Alpha
Примечания к Linux PowerPC
Примечания к Linux MIPS
Примечания к Linux IA64
Примечания к Windows
Запуск MySQL на Windows 95, 98 или Me
Запуск MySQL на Windows NT, 2000 или XP
Работа MySQL в среде Windows
Соединение с MySQL на удаленной машине
Распределение данных в Windows между дисками
Компиляция MySQL-клиентов в среде Windows
Характеристики MySQL под Windows и под Unix
Примечания к Solaris
Примечания к Solaris 2.7/2.8
Примечания к Solaris x86
Примечания к BSD
Примечания к FreeBSD
Примечания к NetBSD
Примечания к OpenBSD 2.5
Примечания к OpenBSD 2.8
Примечания к BSD/OS версий 2.x
Примечания к BSD/OS версий 3.x
Примечания к BSD/OS версий 4.x
Примечания к Mac OS X
Общедоступная бета-версия Mac OS X
Сервер Mac OS X
Примечания к другим Unix-системам
Примечания к бинарному дистрибутиву HP-UX
Примечания к HP-UX версии 10.20
Примечания к HP-UX версий 11.x
Примечания к IBM-AIX
Примечания к SunOS 4
Примечания к Alpha-DEC-UNIX (Tru64)
Примечания к Alpha-DEC-OSF/1
Примечания к SGI Irix
Примечания к Caldera (SCO)
Примечания к Caldera (SCO) Unixware Version 7.0
Примечания к OS/2
Примечания к BeOS
Примечания к Novell NetWare
Замечания по установке Perl
Установка Perl на Unix
Установка ActiveState Perl на Windows
Установка Perl для MySQL на Windows
Проблемы интерфейса Perl DBI/DBD
Учебное пособие по MySQL
Подсоединение к серверу и отсоединение от него
Ввод запросов
Создание и использование базы данных
Создание и выбор базы данных
Создание таблицы
Загрузка данных в таблицу
Выборка информации из таблицы
Выборка всех данных
Выборка определенных строк
Выборка определенных столбцов
Сортировка строк
Вычисление дат
Работа с значениями NULL
Сравнение по шаблонам
Подсчет строк
Использование нескольких таблиц
Получение информации о БД и таблицах
Примеры стандартных запросов
Максимальное значение столбца
Строка, содержащая максимальное значение
Максимальное значение столбца для группы
Строка, содержащая максимальное значение
Использование пользовательских переменных
Использование внешних ключей
Поиск по двум ключам
Подсчет посещений за день
Использование атрибута AUTO_INCREMENT
Использование mysql в пакетном режиме
Запросы проекта "Близнецы.html" (Twin Project)
Поиск нераспределенных близнецов
Вывод таблицы состояний пар близнецов
Использование MySQL совместно с Apache
Администрирование баз данных
Конфигурирование MySQL
Параметры командной строки mysqld
Файлы параметров `my.cnf'
Несколько серверов на один компьютер
Запуск серверов MySQL на одном компьютере
Система привилегий доступа MySQL
Общие принципы обеспечения безопасности
Как обезопасить MySQL от хакеров
Опции запуска mysqld - безопасность
Вопросы безопасности - LOAD DATA LOCAL
Функции, выполняемые системой привилегий
Как работает система привилегий
Привилегии, предоставляемые MySQL
Соединение с сервером MySQL
Верификация подсоединения
Верификация запросов
Причины появления ошибок Access denied
Управление учетными записями пользователей
Синтаксис команд GRANT и REVOKE
Имена пользователей MySQL и пароли
Когда изменения в привилегиях вступают в силу
Задание изначальных привилегий MySQL
Добавление новых пользователей в MySQL
Ограничение ресурсов пользователя
Задание паролей
Обеспечение безопасности своего пароля
Использование безопасных соединений
Основные сведения
Требования
Параметры команды GRANT
Предотвращение катастроф и восстановление
Резервное копирование баз данных
Синтаксис BACKUP TABLE
Синтаксис RESTORE TABLE
Синтаксис CHECK TABLE
Синтаксис REPAIR TABLE
myisamchk для профилактики таблиц
Синтаксис запуска myisamchk
Общие опции для myisamchk
Проверочные опции для myisamchk
Опции исправления для myisamchk
Другие опции для myisamchk
Использование памяти утилитой myisamchk
myisamchk для послеаварийного восстановления
Как проверять таблицы на ошибки
Как ремонтировать таблицы
Оптимизация таблиц
Настройка режима профилактики таблиц
Получение информации о таблице
Язык администрирования баз данных
Синтаксис команды OPTIMIZE TABLE
Синтаксис команды ANALYZE TABLE
Синтаксис команды FLUSH
Синтаксис команды RESET
Синтаксис команды KILL
Синтаксис команды SHOW
Получение информации по базам данных
SHOW TABLE STATUS
SHOW STATUS
SHOW VARIABLES
SHOW LOGS
SHOW PROCESSLIST
SHOW GRANTS
SHOW CREATE TABLE
Локализация MySQL и национальные алфавиты
Набор символов для записи данных и сортировки
Набор символов немецкого алфавита
Сообщения об ошибках на языках
Добавление набора символов
Массивы определения символов
Поддержка упорядочивания строк
Поддержка многобайтовых символов
Проблемы с наборами символов
Серверные сценарии и утилиты MySQL
Обзор серверных сценариев и утилит
safe_mysqld, оболочка mysqld
Mysqld_multi управление множеством серверов
myisampack, MySQL-генератор сжатых таблиц
mysqld-max, расширенный сервер mysqld
Клиентские сценарии и утилиты MySQL
Обзор клиентских сценариев и утилит
mysql, Утилита командной строки
mysqladmin, Администрирование MySQL-сервера.
mysqlcheck для сопровождения таблиц.
mysqldump, Получение дампов данных
mysqlhotcopy, Копирование баз данных MySQL
mysqlimport, импорт данных из текстовых файлов
Просмотр баз данных, таблиц и столбцов
perror, разъяснение кодов ошибок
Как запускать SQL-команды из текстового файла
Файлы журналов MySQL
Журнал ошибок
Общий журнал запросов
Журнал обновлений (update)
Бинарный журнал обновлений
Журнал медленных запросов
Обслуживание файлов журналов
Репликация в MySQL
Введение
Как реализована репликация: обзор
Как настроить репликацию
Возможности репликации и известные проблемы
Опции репликации в файле `my.cnf'
SQL-команды, относящиеся к репликации
Часто задаваемые вопросы по репликации
Поиск неисправностей репликации
Оптимизация в MySQL
Oбзор оптимизации
Конструктивные ограничения MySQL
Вопросы переносимости
Для чего мы использовали MySQL?
Набор тестов MySQL
Использование собственных тестов
Оптимизация SELECT и других запросов
Синтаксис оператора EXPLAIN
Оценка производительности запроса
Скорость выполнения запросов SELECT
Как MySQL оптимизирует выражения WHERE
Как MySQL оптимизирует DISTINCT
Как MySQL оптимизирует LEFT JOIN и RIGHT JOIN
Как MySQL оптимизирует ORDER BY
Как MySQL оптимизирует LIMIT
Скорость выполнения запросов INSERT
Скорость выполнения запросов UPDATE
Скорость выполнения запросов DELETE
Другие советы по оптимизации
Вопросы блокировок
Как MySQL блокирует таблицы
Вопросы блокирования таблиц
Оптимизация структуры базы данных
Конструктивные особенности MySQL
Сделайте объем данных как можно меньше
Индексы столбцов
Многостолбцовые индексы
Почему так много открытых таблиц?
Открытие и закрытие таблиц в MySQL
Недостатки создания множества таблиц
Оптимизация сервера MySQL
Настройка параметров системы, компляции
Настройка параметров сервера
Как компиляция влияет на скорость MySQL
Как MySQL использует память
Как MySQL использует DNS
Синтаксис команды SET
Вопросы, относящиеся к диску
Использование символических ссылок
Использование ссылок для баз данных
Использование символических ссылок для таблиц
Справочник по языку MySQL
Структура языка
Литералы: представление строк и чисел
Cтроки
Числа
Шестнадцатеричные величины
Значения NULL
Имена баз данных, таблиц, столбцов
Чувствительность имен к регистру
Переменные пользователя
Синтаксис комментариев
MySQL и зарезервированные слова
Типы данных столбцов
Числовые типы данных
Типы данных даты и времени
Проблема 2000 года и типы данных
Типы данных DATETIME, DATE и TIMESTAMP
Тип данных TIME
Тип данных YEAR
Символьные типы данных
Типы данных CHAR и VARCHAR
Типы данных BLOB и TEXT
Тип перечисления ENUM
Тип множества SET
Выбор правильного типа данных в столбце
Использование типов столбцов из других БД
Память для различных типов столбцов
Функции в операторах SELECT и WHERE
Операторы и функции общего назначения
Круглые скобки
Операторы сравнения
Логические операторы
Функции потока управления программой
Строковые функции
Функции сравнения строк
Чувствительность к регистру
Числовые функции
Арифметические операции
Математические функции
Функции даты и времени
Функции приведения типов
Другие функции
Битовые функции
Разные функции
Функции, используемые в операторах GROUP BY
Обработка данных: SELECT, INSERT, UPDATE
Синтаксис оператора SELECT
Синтаксис оператора JOIN
Синтаксис оператора UNION
Синтаксис оператора HANDLER
Синтаксис оператора INSERT
Синтаксис оператора INSERT ... SELECT
Синтаксис оператора INSERT DELAYED
Синтаксис оператора UPDATE
Синтаксис оператора DELETE
Синтаксис оператора TRUNCATE
Синтаксис оператора REPLACE
Синтаксис оператора LOAD DATA INFILE
Синтаксис оператора DO
Определение данных: CREATE, DROP, ALTER
Синтаксис оператора CREATE DATABASE
Синтаксис оператора DROP DATABASE
Синтаксис оператора CREATE TABLE
Молчаливые изменения определений столбцов
Синтаксис оператора ALTER TABLE
Синтаксис оператора RENAME TABLE
Синтаксис оператора DROP TABLE
Синтаксис оператора CREATE INDEX
Синтаксис оператора DROP INDEX
Основные команды программ MySQL
Синтаксис команды USE
Синтаксис команды DESCRIBE
Команды управления транзакциями в MySQL
Синтаксис команд BEGIN/COMMIT/ROLLBACK
Синтаксис команд LOCK TABLES
Синтаксис команды SET TRANSACTION
Полнотекстовый поиск в MySQL
Ограничения для полнотекстового поиска
Тонкая настройка поиска в MySQL
Доработки по полнотекстовому поиску
Кэш запросов в MySQL
Как работает кэширование запросов
Конфигурация кэша запросов
Параметры кэша запросов в запросе SELECT
Статус и поддержка кэша запросов
Типы таблиц MySQL
Таблицы MyISAM
Пространство, необходимое для ключей
Форматы таблиц MyISAM
Характеристики статической таблицы
Характеристики динамических таблиц
Характеристики сжатых таблиц
Проблемы с таблицами MyISAM.
Повреждения таблиц MyISAM
Clients is using or hasn't closed the table properly
Таблицы MERGE
Проблемы при работе с таблицами MERGE
Таблицы ISAM
Таблицы HEAP
Таблицы InnoDB
Обзор таблиц InnoDB
Параметры запуска InnoDB
Создание табличной области InnoDB
Если во время создания БД что-то не так
Создание таблиц InnoDB
Преобразование таблиц MyISAM в формат InnoDB
Ограничения внешнего ключа
Добавление и удаление файлов данных
Создание резервных копий и восстановление баз
Контрольные точки
Перенесение БД InnoDB на другой компьютер
Транзакционная модель InnoDB
Согласованное чтение
Чтение с блокировкой
Кстранение проблемы с фантомом
Блокировка в SQL и InnoDB
Обнаружение и откат взаимоблокировки
Пример работы согласованного чтения в InnoDB
Увеличение производительности
InnoDB Monitor
Реализация многовариантности
Структуры таблиц и индексов
Физическая структура индекса
Буферизация вставок
Адаптивный хешированный индекс
Физическая структура записи
Автоинкрементные столбцы в InnoDB
Управление файловым пространством
Дисковый ввод/вывод
Управление файловым пространством
Дефрагментация таблицы
Обработка ошибок
Ограничения для таблиц InnoDB
Получение данных по InnoDB
Таблицы BDB или Berkeley_DB
Обзор таблиц BDB
Установка BDB
Параметры запуска BDB
Характеристики таблиц BDB
Что нам нужно исправить в BDB
Операционные системы, поддерживаемые BDB
Ограничения таблиц BDB
Ошибки при использовании таблиц BDB
Интерфейсы для MySQL
Интерфейс PHP API для MySQL
Общие проблемы MySQL и PHP
Интерфейс Perl API для MySQL
DBI с помощью DBD::mysql
Интерфейс DBI
Больше информации по DBI/DBD
Поддержка ODBC в MySQL
Как установить MyODBC
Как заполнять поля в Администраторе ODBC
Параметры подключения для MyODBC
Как сообщать о проблемах с MyODBC
Программы, работающие с MyODBC
Как получить AUTO_INCREMENT в ODBC
Составление отчетов о проблемах с MyODBC
Интерфейс C для MySQL
Типы данных C API
Обзор функций интерфейса C
Описание функций интерфейса C
mysql_affected_rows()
mysql_change_user()
mysql_character_set_name()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_debug()
mysql_drop_db()
mysql_dump_debug_info()
mysql_eof()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_field()
mysql_fetch_field_direct()
mysql_fetch_fields()
mysql_fetch_lengths()
mysql_fetch_row()
mysql_field_count()
mysql_field_seek()
mysql_field_tell()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_init()
mysql_insert_id()
mysql_kill()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_options()
mysql_ping()
mysql_query()
mysql_real_connect()
mysql_real_escape_string()
mysql_real_query()
mysql_reload()
mysql_row_seek()
mysql_row_tell()
mysql_select_db()
mysql_shutdown()
mysql_stat()
mysql_store_result()
mysql_thread_id()
mysql_use_result()
Описания функций C с потоками
my_init()
mysql_thread_init()
mysql_thread_end()
mysql_thread_safe()
Функции C, доступных во встраиваемом сервере
mysql_server_init()
mysql_server_end()
Вопросы в использовании интерфейса C
Почему возвращается NULL?
Какие результаты можно получить из запроса?
Как получить уникальный идентификатор?
Проблемы линкования с интерфейсом C
Сборка клиентских программ
Как создать клиентскую программу с потоками
ibmysqld, встраиваемая библиотека MySQL
Обзор библиотеки встраиваемого сервера MySQL
Компиляция программ с libmysqld
Ограничения встраиваемого сервера MySQL
Файлы опций с встраиваемым сервером
Что осталось сделать по TODO
Пример простого встраиваемого сервера
Лицензирование встраиваемого сервера
Интерфейсы C++
Интерфейс Borland C++
Взаимодействие MySQL и Java (JDBC)
Интерфейсы Python API для MySQL
Интерфейсы Tcl API для MySQL
Оболочка Eiffel для MySQL
Расширение MySQL
Внутреннее устройство MySQL
Потоки MySQL
Пакет тестирования MySQL
Выполнение тестового пакета MySQL
Расширение тестового пакета MySQL
Отчет об ошибках в тестовом пакете MySQL
Добавление новых функций в MySQL
Синтаксис CREATE FUNCTION/DROP FUNCTION
Добавление новой определяемой функции
Вызов UDF для простых функций
Вызов UDF для агрегатных функций
Обработка аргументов
Возвращаемые значения и обработка ошибок
Компиляция и установка функций
Добавление новых родных функции
Добавление новой процедуры в MySQL
Процедура Analyse
Написание процедуры
Проблемы и распространенные ошибки
Как определить, чем вызваны проблемы
Распространенные ошибки с MySQL
Ошибка Access denied
Ошибка MySQL server has gone away
Ошибка Can't connect to [local] MySQL server
Ошибка Host '...' is blocked
Ошибка Too many connections
Ошибка Some non-transactional changed tables
Ошибка Out of memory
Ошибка Packet too large
Коммуникационные ошибки
Ошибка The table is full
Ошибка Can't create/write to file
Ошибка в клиенте Commands out of sync
Ошибка Ignoring user
Ошибка Table 'xxx' doesn't exist
Ошибка Can't initialize character set xxx
Не найден файл (File not found)
Вопросы, связанные с инсталляцией
Проблемы при линковании с MySQL
Запуск MySQL от обычного пользователем
Проблемы с правами доступа к файлам
Вопросы, связанные с администрированием
Работа MySQL сопровождается сбоями
Как переустановить пароль пользователя root
Как MySQL реагирует на переполнение диска
Где MySQL хранит временные файлы
Как защитить сокет-файл MySQL `/tmp/mysql.sock'
Проблемы с часовыми поясами
Проблемы, относящиеся к запросам
Чувствительность к регистру при поиске
Проблемы с использованием столбцов типа DATE
Проблемы со значением NULL
Проблемы с alias
Удаление строк из взаимосвязанных таблиц
Решение проблем с отсутствием строк поиска
Сравнение чисел с плавающей точкой
Вопросы, связанные с определением таблиц
Проблемы с ALTER TABLE
Как изменить порядок столбцов в таблице
Проблемы, относящиеся к временным таблицам
Привнесенные программы
Интерфейсы (API)
Клиенты
Веб-инструменты
Средства тестирования производительности
Средства аутентификации
Конверторы
Использование MySQL с другим ПО
Утилиты
RPM общих инструментальных программ
Полезные функции
Программы для Windows
Не вошедшие в категории
Перенос на другие системы
Отладка сервера MySQL
Компиляция MySQL для отладки
Создание трассировочных файлов
Отладка mysqld при помощи gdb
Использование трассировки стека
Журналы ошибок в mysqld
Контрольный пример при повреждении таблиц
Отладка клиента MySQL
Пакет DBUG
Методы блокировки
Замечания по потокам RTS
Различия между разными потоковыми пакетами
Переменные окружения
Регулярные выражения в MySQL
GNU General Public License
Preamble
Terms and conditions for copying, distribution
How to Apply These Terms to Your New Programs
I GNU Lesser General Public License
Preamble
Terms and conditions for modification
How to Apply These Terms to Your New Libraries
Команды SQL, функциональное оглавление
Концептуальное оглавление
Язык запросов SQL
Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих на самых разных аппаратных платформах. Различия между этими инструментами могут быть очень существенными, но все они имеют одну общую черту — доступ к данным и их обработка выполняются с помощью SQL. Зная SQL, вы можете создавать реляционные базы данных и получать из них полезную информацию.
Системы управления базами данных играют жизненно важную роль во многих организациях. Люди часто думают, что создание и поддержание этих систем — очень сложное занятие, удел "жрецов" баз данных, которым открыта истина, недоступная простым смертным. Эта книга напрочь отметает мистику, связанную с базами данных.
Цель книги состоит в том, чтобы научить вас создавать реляционные базы данных и извлекать из них ценную информацию с помощью SQL — международного стандартного языка, используемого во всем мире для создания и поддержки реляционных баз данных. В пятом издании книги рассказывается о последней версии этого языка, SQL:2003.
В книге речь идет не о том, как проектировать базу данных, поскольку на эту тему написано много хороших книг. Предполагается, что уже существует подходящий проект базы. Здесь будет показано, как реализовать этот проект с помощью SQL. Если же у вас есть подозрение, что имеющийся проект не очень хорош, то исправьте его во что бы то ни стало, пока еще не начали создавать саму базу данных. Чем раньше вы обнаружите и исправите недостатки разработанного проекта, тем дешевле вам обойдутся те исправления, которые все-таки придется делать.
Если вам надо хранить данные в СУБД или получать их оттуда, то практическое знание SQL поможет вам делать свою работу намного лучше. Чтобы использовать SQL, не нужно быть программистом и знать программные языки, такие как COBOL, С или Basic. Синтаксис языка SQL основан на упрощенном синтаксисе английского.
А если вы все-таки программист, то сможете использовать SQL в своих программах. С его помощью у обычных языков программирования появляется мощный аппарат обработки данных. В настоящей книге рассказывается, что именно нужно знать, чтобы реализовать в своих программах богатый набор возможностей, предоставляемых SQL.
Введение
Основы реляционных баз данных
Основы SQL
Компоненты SQL
Создание и поддержка простой базы данных
Создание многотабличной реляционной базы данных
Манипуляции данными из базы
Определение значений
Сложные выражения со значением
Пристрелка к нужным данным
Реляционные операторы
Использование вложенных запросов
Рекурсивные запросы
Обеспечение безопасности базы данных
Защита данных
Использование SQL в приложениях
ODBC и JDBC
SQL 2003 и XML
MySQL & mSQL
В мире программирования 1990-е годы можно по праву назвать десятилетием программного обеспечения с открытым кодом (Open Source software). Движение Open Source оставило свой след практически в каждом уголке технологий - от Linux до Perl и от карманных компьютеров до мэйнфреймов. Это влияние особенно сильно в области серверных приложений среднего масштаба, в которых часто нуждаются некоммерческие организации и малые предприятия и которыми пренебрегают нацеленные на коммерческий успех производители.
В первые два десятилетия компьютерного века серверы среднего масштаба встречались достаточно редко. Компьютеры были дорогими изделиями, имевшимися в больших учреждениях, таких как банки и университеты. Громадные серверы, работавшие в режиме разделения времени, обеспечивали вычислительными мощностями целые корпорации. Большая использовавшегося на этих системах программного обеспечения была такой же грандиозной, как сами серверы. Поскольку единственный компьютер обслуживал нужды нескольких подразделений, если не всей организации, ему приходилось удовлетворять запросы всех пользователей.
Предисловие
Что такое база данных?
Проектирование баз данных
Установка
Проект
Архитектура
Основы SQL
Другие СУБД среднего масштаба
Архитектура клиент/сервер
Что такое CGI?
Пример приложения, использующего DBI
Основы подключения к базам данных
Альтернативные методы создания динамического содержания Web
Два API
Что такое JDBC?
MySQL SQL
Системные переменные MySQL
Утилиты MySQL
PHP
MySQL С API
Модуль: MySQL
Установка
Справочник по JDBC
Введение в СУБД MySQL
В наши дни люди часто говорят о базах данных. Компьютеры составляют неотъемлемую современного общества, поэтому нередко можно услышать фразы вроде "Я поищу твою запись в базе данных". И речь идет не о больших ящиках, где хранятся груды папок, а о компьютерных системах, предназначенных для ускоренного поиска информации.
Компьютеры так прочно вошли в нашу жизнь, потому что их можно запрограммировать на выполнение утомительных, повторяющихся операций и решение задач, которые нам самим было бы не под силу решить без их вычислительной скорости и емкости информационных носителей. Помещение информации на бумагу и разработка схемы хранения бумаг в папках и картотеках — достаточно четко отработанный процесс, но многие вздохнули с облегчением, когда задача свелась к перемещению электронных документов в папки на жестком диске.
Одной из функций баз данных является упорядочение и индексация информации. Как и в библиотечной картотеке, не нужно просматривать половину архива, чтобы найти нужную запись. Все выполняется гораздо быстрее.
Не все базы данных создаются на основе одних и тех же принципов, но традиционно в них применяется идея организации данных в виде записей. Каждая запись имеет фиксированный набор полей. Записи помещаются в таблицы, а совокупность таблиц формирует базу данных.
Компьютерные системы хранения
Загрузка MySQL
Создание базы данных в Windows
Числовые типы данных
Запись данных в таблицы
Упорядочивание данных
Поиск минимального и максимального значений
Математические функции MySQL
Работа с датой
Строковые функции
Битовые функции
Вывод данных из базы данных
Пример приложения, использующего DBI
SQL1
Типы данных, распознаваемые с помощью ANSI, состоят из символов и различных типов чисел, которые могут классифицироваться как точные числа и приблизительные числа.
Точные числовые типы это числа с десятичной точкой или без десятичной точки. Приблизительные числовые типы это числа в показательной (экспоненциальной по основанию 10) записи.
Для всех прочих типов отличия слишком малы чтобы их как-то классифицировать.
Иногда типы данных используют аргумент, который называют размером аргумента, чей точный формат и значение меняется в зависимости от конкретного типа.
Типы данных в SQL
Специальные операторы ANY или SOME
Типичный каталог системы
Основы SQL
SQL (произносится обычно "СЭКВЭЛ" (или, более англообразно - СКЬЮЭЛ)) означает Структурированный Язык Запросов.
Это язык, который дает возможность создавать реляционные базы данных (и работать с ними), которые представляют собой наборы связанной информации, сохраняемой в таблицах.
Мир БД становится всё более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться для функционирования в большом количестве различных видов компьютерных сред. Стандартный язык даст возможность пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию, независимо от того, где идёт работа: на персональном компьютере, сетевой рабочей станции или на универсальной ЭВМ.
Что такое "Реляционная база данных"?
Использование UNION С ORDER BY
Извлечение значений переменных
Зарождение криптографии
О важности сохранения информации в тайне знали уже в древние времена, когда с появлением письменности появилась и опасность прочтения ее нежелательными лицами.
Существовали три основных способа защиты информации. Один из них предполагал защиту ее чисто силовыми методами: охрана документа - носителя информации - физическими лицами, передача его специальным курьером и т.д. Второй способ получил название "стеганография" латино-греческое сочетание слов, означающих в совокупности "тайнопись"). Он заключался в сокрытии самого факта наличия информации. В данном случае использовались так называемые симпатические чернила. При соответствующем "проявлении" бумаги текст становится видимым. Один из примеров сокрытия информации приведен в трудах древнегреческого историка Геродота. На голове раба, которая брилась наголо, записывалось нужное сообщение. И когда волосы его достаточно отрастали, раба отправляли к адресату, который снова брил его голову и считывал полученное сообщение.
Словарь Терминов по Безопасности и Криптографии
Средневековая криптография
Атака на аппаратуру
Зарождение криптографии
Краткий исторический очерк развития криптографии
Самоучитель по Kylix
Для начала, небольшой исторический экскурс в историю языка Pascal.
Исторически первый, недоступный широкой аудитории технический отчет языка Pascal был сделан Швейцарским федеральным технологическим институтом ЕТН (Eidgenoessische Technische Hochschule) в ноябре 1970 года. Официальной же датой рождения языка считается начало 1971 года, когда вышеупомянутый отчет был перепечатан в первом номере журнала Acta In-formatica. Автором языка является швейцарский профессор Никлаус Вирт (Niklaus К. Wirth).
Во время активного использования языка наблюдалось острая конкуренция с языком С. Большую роль в массовом распространении языка Pascal сыграла компания Borland, создавшая версию Тurbo Раsсаl. После этого уже стали появляться многочисленные модификации: в версии 3.0 появилась возможность работы со встроенной графикой, в версии 4.0 — модули, в версии 5.5 — возможность работы с объектами. Версия 7.0 поменяла название и стала называться Borland Pascal. Наконец, при появлении Delphi язык стал называться Object Pascal. Среда Kylix также использует язык Object Pascal.
Общий обзор языка
Примеры создания приложений баз данных
Параметры и аргументы
Окно сообщения
Пиктограмма Console Application
Свойства сгруппированные по категориям
Элемент управления считывает свое состояние
Ключи для компиляции пакета из командной строки
Flash 4 для чайников
Теперь у нас есть в запасе 50 шагов для отступления и чтобы выделить несколько объектов (когда их станет несколько) нужно будет удерживать кнопку Shift (мне кажется что так удобнее, хотя возможно это просто дурацкая привычка :) Если вам уж очень хочется узнать назначение остальных пунктов этого диалога, а почитать хелп все-таки лень - спросите у меня мылом :)
Теперь давайте отключим "Магнит" (пока нам дискретность перемещения объектов не нужна) и легкими нажатиями на стрелки клавиатуры выровняем нижний край букв по линии сетки как на рисунку сверху.
Пора подвигать мышкой
Уроки Macromedia Flash 4. Анимация
Для начала следует понять: в чем секрет такой компактности роликов, созданных в Macromedia Flash? Основная причина состоит в том, что технология Flash реализует анимацию векторных объектов. На практике это означает, что для создания элементарного ролика нам нужно один раз создать анимируемый объект и в дальнейшем манипулировать только его атрибутами и формой. Технология так же позволяет использовать и растровые объекты.
Введение
Flash анимация
Технология Flash основана на использовании векторной графики в формате Shockwave Flash (SWF). Хотя это далеко не первый векторный формат, создателям SWF удалось найти наиболее удачное сочетание между изобразительными возможностями графики, инструментальными средствами для работы с ней, и механизмом включения результата в Web-страницы. Дополнительным преимуществом SWF является его переносимость, то есть этот формат может использоваться на любой аппаратно-программной платформе (в частности, на компьютерах Macintosh, работающих под управлением операционной системы MacOS, и на компьютерах IBM с ОС Windows). И еще одна особенность SWF: созданные на его основе изображения не только могут быть анимированы, но также дополнены интерактивными элементами и звуковым сопровождением.
Переносимость и возможность создания интерактивных мультимедийных приложений обусловили быстрый рост популярности формата SWF среди Web-дизайнеров. Поэтому почти одновременно с появлением самого формата фирмой Macromedia были созданы встраиваемые компоненты (Plug-In) для двух основных броузеров Сети: Internet Explorer и Netscape Communicator. А это, в свою очередь, способствовало еще более широкому распространению SWF на просторах Всемирной Паутины. В результате разработчики этих броузеров объявили о намерении включить поддержку SWF непосредственно в ядро своих продуктов. Поддержали подобный подход и другие ведущие производители программного обеспечения (в частности, фирма Adobe).
И все-таки повторим еще раз: вряд ли формат SWF завоевал бы так много поклонников, если бы Macromedia не сопроводила его достаточно простыми и удобными инструментами. Необходимо отметить, что в настоящее время существует целый набор таких инструментов.
Одни из них ориентированы на создание мультимедийных презентаций (Macromedia Director Shockwave Studio), другие предназначены для подготовки графических изображений (Macromedia FreeHand и Macromedia Fireworks), третьи обеспечивают создание интерактивных обучающих курсов (Macromedia Authorware и Macromedia CourseBuilder). Однако среди разработчиков Web-публикаций наибольшей популярностью пользуется Macromedia Flash, поскольку именно этот продукт позволяет создавать законченные Web-страницы, которые способны обеспечить популярность любому сайту.
Новые возможности Flash
Введение в технологию Flash
Работа с отдельными объектами
Рисование
Работа с текстом
Слои
Создание интерактивных фильмов
Рисование в FLASH
Flash — это компьютерная программа, в которой все элементы являются объектами (с точки зрения объектно-ориентированного программирования). Объекты характеризуются свойствами. Мало знать имя (название) объекта, хотя нередко в имени видна попытка отразить его сущность. Только изучив свойства объекта, мы можем понять, чем является тот или иной объект. Например, в математической теории множеств не дается определение понятия «множество» с математической точки зрения. Конечно, там есть слова, призванные направить нашу интуицию » должное русло, но все они в совокупности не являются математическим определением. Добавим: многие, даже профессора, продолжают считать, что задача какой-либо теории состоит в том, чтобы дать определение предмета исследования. Поэтому они предпринимают неимоверные усилия, скорее в лингвистической, чем в предметной области, чтобы дать исчерпывающее, на все времена, словесное определение. На наш взгляд, все эти труды напрасны, поскольку не ведут к цели: уяснению того, что с чем связано. Названия могут быть удачными или нет, но не они формируют наши понятия в конечном счете. Впрочем, главная задача математики — не в создании строгих определений, а в построении моделей действительности. Так, например, мы постигаем идею множества, изучив его математические свойства, выраженные в виде теорем, а не житейские метафоры. Все сказанное выше является лишь преамбулой к последующему изложению, понимание которой желательно, но совсем необязательно для дальнейшего чтения.
Произведения статической графики, созданные в Flash, можно потом использовать в более грандиозных проектах, таких как мультфильмы. Кроме того, их можно экспортировать в файлы других форматов векторной и растровой графики. Часто бывает удобно нарисовать что-нибудь от руки именно в векторном редакторе, а затем экспортировать результат в файл растрового формата, чтобы открыть его потом, например, в Photoshop для окончательной редакции. Например, подготовку обложки книги часто делают в векторном редакторе (заливки цветом определенных участков, тексты, авторские дорисовки). При этом живописные элементы (репродукции картин, фотографии и т. п.) предварительно обрабатывают в растровом редакторе, а затем импортируют в векторный редактор, чтобы составить общую и окончательную композицию. Изображения в векторном формате 5WF, созданные в Flash, можно публиковать на Web-страницах. Пока это един-ггвенный векторный формат, пригодный для публикации в Web.
В главном окне Flash нас будут интересовать в основном панель инструментов, политры настройки параметров и список слоев. Такой специфический инструмент, как временная шкала, расположенный на видном месте, нужен при создании анимационной графики. Мы отложим его рассмотрение до следующей главы. Так что пока забудьте о нем.
Рисование во FLASH
Инструменты
Привязка к объектам
Анимация во Flash
Публикация мультфильмов
Горячие клавиши Photoshop
Macromedia Flash 5
Macromedia Flash 5 поможет реализовать все ваши идеи и профессиональное мастерство в интерактивных фильмах. Изучив возможности этой программы, вы сможете создавать уникальные Web-сайты, анимированные логотипы, используя практически весь существующий на сегодняшний день инструментарий в рабочей среде Flash 5. Внимательно прочитав эту книгу, вы будете приятно удивлены богатыми возможностями программы и усвоите основные навыки работы в ней.
Введение
Интерактивные уроки
Рисование
Слои
Создание интерактивных фильмов
Что нового во Flash 5
Поддержка импорта FreeHand и Fireworks PNG файлов позволяет импортировать эти файлы во Flash, как доступную для редактирования графику, с сохранением слоев, текста и других элементов. См. Размещение графики во Flash.
Расширенная интеграция с Macromedia Generator позволяет создавать быстро обновляемый динамический контент. См. О Generator и Flash.
Расширенная интеграция с Macromedia Fireworks позволяет легко запускать Fireworks для редактирования растровой графики, импортированной во Flash. См. Редактирование растровых рисунков.
Путеводитель по учебным приложениям
Использование команд для вывода результата
Символы и экземпляры
Корректировка сегментов
Изменение цветовых палитр
Разрыв (Breaking apart) отдельного растрового рисунка
Использование MP3 компрессии
О копировании графики через Буфер обмена
Установка параметров динамического текста
Изменение цвета и прозрачности экземпляра
Воспроизведение и остановка клипов
О публикации клипа с печатаемыми кадрами
Публикация JPEG-файлов
Процесс
Помощь по Macromedia Flash 5 (2)
Представьте, что однажды был создан вебсайт магазина бумажных змеев. Покупатели приходили бы на этот сайт, чтобы посмотреть на статические изображения различных змеев и выбрать то, что им понравится. Честно говоря, большинство заказчиков ушло бы неудовлетворенным, такой сайт не привлек бы их внимание.
Теперь представьте, что Вы можете добавить Flash на этот сайт. В этом учебнике Вы будете автором веб-страницы для магазина бумажных змеев "Orbit Kites" - интерактивного сайта, который позволяет пользователям просматривать и конструировать своих собственных змеев. После выбора змея, заказчик нажимает на кнопку и видит его стоимость и анимацию этого змея в полете.
По окончанию учебной программы, Вы сможете пользоваться теми возможностями и преимуществами, которые предоставляет Flash и будете знать больше о создании Flash-клипов. Вы изучите следующие темы:
Изменение свойств Flash-клипа
Импорт, создание и модификация содержания, показываемого в Вашем клипе
Озвучивание кнопок
Использование Сцены (Stage) и Монтажной линейки (Timeline) для монтажа клипа
Создание анимации движений (motion-tweening) и форм (shape-tweening)
Использование команд для повышения интерактивности и облегчения работы
Тестирование клипа для проверки эффективности загрузки
Экспорт клипа для использования в сети
Краткий обзор
Обзор рисования
Добавление звука
Обзор Использования текста
Создание интерактивных клипов
Публикация и экспорт
Анимация с Flash MX
Простая и понятная нумерация версий Flash вдруг прервалась: очередная версия пакета получила условное наименование MX. Что обозначают сии буквы, можно только догадываться, поскольку даже в пресс-релизе компании Macromedia по этому поводу не сказано ни слова. По всей видимости, аббревиатура должна ассоциироваться у пользователей со словосочетанием Multiextended (дословно — «много расширенный»).
А возможно, и с одним словом — Mixed (смешанный), поскольку разработчики Flash обращают внимание пользователей на то, что интерфейс (рабочая среда) пакета
может быть настроен индивидуально для любой категории пользователей: дизайнеров, программистов, проектировщиков и т. д. Кроме того, в новой версии значительно
расширены возможности по работе с цветом: различные оттенки можно смешивать самым произвольным образом. Так или иначе, введя новое обозначение, создатели пакета ясно дают понять: приобретая Flash MX, вы получаете в свое распоряжение существенно обновленный инструмент. Ну что же, в значительной степени они правы. Судите сами.
Новые возможности Flash
Введение в технологию Flash
Основы работы с Flash MX
Работа с отдельными объектами
Рисование
Работа с цветом
Работа с текстом
Анимация
Слои
Создание и редактирование символов
Создание интерактивных фильмов
Публикация фильма
Самоучитель по Flash MX
Простая и понятная нумерация версий Flash вдруг прервалась: очередная версия пакета получила условное наименование MX. Что обозначают сии буквы, можно только догадываться, поскольку даже в пресс-релизе компании Macromedia по этому поводу не сказано ни слова. По всей видимости, аббревиатура должна ассоциироваться у пользователей со словосочетанием Multiextended (дословно — «много расширенный»). А возможно, и с одним словом — Mixed (смешанный), поскольку разработчики Flash обращают внимание пользователей на то, что интерфейс (рабочая среда) пакета может быть настроен индивидуально для любой категории пользователей: дизайнеров, программистов, проектировщиков и т. д.
Общая схема создания Flash-фильмов
Поворот объекта
Анимирование маски
Введение во flash-технологии
Flash-технологии, или, как их еще называют, технологии интерактивной вебанимации, были разработаны компанией Macromedia и объединили в себе множество мощных технологических решений в области мультимедийного представления информации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. При этом размер получающихся программ минимален и результат их работы не зависит от разрешения экрана у пользователя - а это одни из основных требований, предъявляемых к интернет-проектам.
Установка редактора Macromedia Flash
Головоломки Flash
Иногда эту игру называют "Simon", потому что именно так называлось популярное электронное устройство, которое позволяло в нее играть. В игре имеется четыре разных фрагмента, которые проигрываются в произвольном порядке. Вы можете это увидеть, запустив файл Memory.fla. При проигрывании фрагмента загорается световое табло и воспроизводится звуковой сигнал. Элементами этой игры являются четыре птицы, сидящие на ветке
Игра на развитие памяти
Игровой автомат
Космический бой
Выполнение и оптимизация
Книга для чайников по технологии Flash
Итак, давайте, наконец, прекратим пустую болтовню и запустим Flash. То, что появляется на экране после запуска должно слегка напоминать вот эту вот картинку.
На этом месте в разных буржуйских мануалах начинается томительное описание элементов интерфейса и пунктов меню с последующим рисованием дурацких треугольничков и линий. Тут вы этого не дождетесь - нефига сразу же забивать голову массой непонятных вещей :) Как люди считающие, что читать мануалы это неспортивно, давайте-ка лучше сходу сделаем что-нибудь дельное, например вот эту вот менюшку для навигации по своей личной страничке.(и между делом попробуйте понять по какому принципу некоторые слова в этом тексте выделены цветом :)
Широко открытые глаза
Инженерная графика
Общие сведения о способах проецирования. Проецирование точки, прямой. Прямые частного положения. Взаимное положение точки и прямой. Взаимное положение двух прямых. Проецирование плоских углов. Плоскость. Точка и прямая в плоскости. Взаимное положение плоскостей. Многогранники. Сечение многогранников проецирующей плоскостью. Пирамида с вырезом. Тела вращения. Сечение тел вращения проецирующей плоскостью. Тела вращения с вырезом.
Инженерная графика
Создание Flash-игр
Это практическое руководство по изучению ActionScript, а не книга для тупиц или идиотов. Следовательно, я не веду читателя за руку по всем этапам проекта, описываемого в главе. Если какой-то прием объяснялся ранее, я не буду повторяться. Вместо этого я расскажу о более сложных вещах и других приемах, таким образом, вы всегда будете изучать что-нибудь новое. материал требует обдуманного изучения. Если вы не поняли что-то с первого раза, попробуйте перечитать объяснения еше раз, поэкспериментируйте с данным приемом в Flash, прежде чем двигаться дальше. Это поможет вам более глубоко понять принципы функционирования ActionScript и его применения в других проектах.
Инструменты Flash, используемые для создания игр.
Введение в ActionScript.
Элементы ActionScript для создания игр.
Процесс создания игр.
Создание визуальных эффектов.
Игрушки и безделушки.
Игрушки-конструкторы.
Игры типа "Найди и нажми".
Игры типа "Поймай или пропусти".
Игры типа "Прицелься и выстрели".
Игры с мячом и битой.
Викторины и загадки со словами.
Мозаика.
Головоломки.
Казино и карточные игры.
Аркады.
Сложные приемы.
Создание слоев в Macromedia Flash
Слои можно представить в виде наложенных друг на друга кинолент, кадры которых точно совмещены, а сквозь незаполненные области верхних кадров просвечивает содержание нижних- В каждом новом фильме ПаыП изначально есть только один слой, но можно увеличить их количество и разместить в различных слоях графику, звук и иные элементы создаваемого фильма. Можно перетаскивать и редактировать объекты на одном слое, не затрагивая объекты, расположенные на другом слое, но при этом они будут ясно видны. Сквозь незаполненные области одного слоя видны слои, находящиеся ниже. Возможное количество слоев ограничено только ресурсами (памятью) компьютера, причем слои не увеличивают объем конечного файла фильма. Слои можно скрывать, блокировать или показывать их содержание в контурах, а также изменять порядок слоев.
Создание слоев
Вложенные шрифты и шрифты устройств
Справочник по Macromedia Flash
Flash Player предназначен для воспроизведения фильмов Flash и может быть установлен как отдельная программа. Для работы Flash Player необходимо следующее:
Microsoft Windows 95/NT 4 и выше или PowerPC с OS 8,1 и выше;
если вы работаете с Netscape (для Windows или Macintosh), - подключаемый модуль (plugin) для Netscape 3 и выше;
если вы работаете с Microsoft Internet Explorer 3 и выше (для Windows 95/98/NT), - элемент управления ActiveX для Internet Explorer 3 и выше;
для Flash Player Java Edition необходим браузер, поддерживающий Java.
Окно программы Flash с описанием компонентов
Основы Flash
Команда Help
Импортированная графика
Создание символов
Использование панели Actions
Тестирование загрузки фильма
Интуитивно понятная временная диаграмма
Flash - статьи
Начнем с совместимости. Вместе с новым Flash был выпущен и новый Flash Player 6 (примочка для браузеров, позволяющая проигрывать Flash-мультики). Он понадобится, чтобы наблюдать творения, созданные во Flash MX. Однако, как и в предыдущих версиях, вы спокойно можете экспортировать вашу анимацию для любой версии Flash Player-а, при этом будут использованы только возможности указанной версии. Формат авторских .fla файлов тоже изменился. Но есть возможность сохранять файлы в формате Flash 5. В случае, если вы использовали какие-то возможности Flash MX, программа выдаст вам список использованных новых "фич" и предупредит, что все они будут потеряны, если файл будет сохранен в формате Flash 5. В любом случае, никто не мешает для работы использовать Flash MX, а экспортировать во Flash 5. Большинство дизайнеров будут так поступать еще некоторое время, пока новый plug-in не получит достаточного распространения.
Или еще один шаг в развитии Flash-технологии
Flash ActionScript и странные аттракторы
Учебник по Flash'у
Оперативная память
Оперативная память (ОЗУ, RAM) является одним из важнейших ресурсов персонального компьютера. В англоязычной технической литературе вы можете встретить три термина, характеризующие тип памяти, а именно: conventional memory, extended memory И expanded memory. У современных ПК они относятся к разным частям одного физического устройства и являются характеристиками способа доступа к этим частям. Различие способов доступа к отдельным частям памяти является специфической особенностью (родимым пятном) и одним из существенных недостатков семейства IBM PC. В чем именно оно заключается, описано в данном приложении.
Предельно допустимый объем памяти зависит от системной (материнской) платы ПК, точнее от набора микросхем (chip set), на базе которого она собрана. Реально существующий объем выводится на экран монитора в процессе загрузки ПК, когда BIOS проверяет (тестирует) память. В процессе работы ПК можно с помощью специальных задач узнать объем и текущее распределение пространства ОЗУ. Например, в состав DOS входит задача mem.exe, а в состав Norton Commander— sysinfo.exe. Прикладные задачи, нуждающиеся в больших объемах памяти, должны самостоятельно определять размер ее доступного пространства.
Оперативная память (ОЗУ RAM)
Оформление подпрограмм
Работа с расширенной памятью
Классификация подпрограмм
Память
Транзакционная память
Динамическая память набирает обороты
Цвет в компьютере - какой он бывает
Одна из наиболее важных мыслей, которую необходимо помнить, говоря о цвете, заключается в том, что некоторые предметы мы видим потому, что они излучают свет, а другие — потому, что они его отражают. Когда предметы излучают свет они приобретают тот цвет, который мы видим. Когда они отражают свет (бумага, например), их цвет определяется цветом падающего на них света и цветом, который эти объекты отражают.
Таким образом, излучаемый свет — это свет, выходящий из активного источника: солнца, лампочки, экрана монитора; отраженный свет — это свет, "отскочивший" от поверхности объекта. Именно его вы видите, когда смотрите на какой-либо предмет, не излучающий собственного света.
Излучаемый свет может содержать все цвета (белый свет), любую их комбинацию или только один цвет. Излучаемый свет, идущий непосредственно из источника к вашему глазу, сохраняет в себе все цвета, из которых он был создан. Некоторые волны излученного света поглощаются объектом, поэтому доходят до нас и воспринимаются глазом только непоглощенные, отраженные волны.
Команды графического редактора P-CAD Pattern Editor
Команды графического редактора Schematic Editor
Команды графического редактора Symbol Editor
Пакет Vstudio7
Вы узнаете, как управлять координатными пространствами Windows, как осуществлять взаимодействие нескольких представлений одного документа, как добиваться эффективности и реалистичности изображений OpenGL, как использоватьShell API для управления файловым деревом, как разрабатывать СОМ-серверы и СОМ-контейнеры, как синхронизировать множество элементов управления в рамках диалога, как создавать свои собственные нестандартные окна, как использовать контейнеры и алгоритмы стандартной библиотеки C++ (STL), как строить графики функций в трехмерном пространстве и, наконец, как решать простейшие краевые задачи с демонстрацией результатов в виде аккуратных графиков. Кроме того, в последней главе вы найдете информацию об архитектуре Windows, с точки зрения разработчика программного обеспечения.
При изложении материала я не стараюсь подробно рассматривать все технические детали использования какого-либо класса, функции или типа данных, так как, на мой взгляд, нецелесообразно ставить себе задачу запоминать детали. Во-первых, их очень много даже в рамках одной технологии, во-вторых, MSDN (Microsoft Developer Network) для того и существует, чтобы при необходимости быстро прийти на помощь, в-третьих, я верю в принцип: чем чаще используете, тем вероятней, что запомните. Вместо этого ставится задача показать, какие преимущества вы получаете, используя новую сущность или новый технологический прием, а главное, как их использовать.
Начало работы с Visual Studio.Net
Режимы отображения координат
Традиционное Windows-приложение
Анализатор кодов ошибок
Управление файловым деревом
Графика OpenGL
Трехмерные графики функций
От сырых COM API к проекту ATL
Трехмерная графика в проекте ATL
Из жизни студентов
Решаем краевую задачу
Некоторые сведения об архитектуре Windows
Основы трехмерной графики в среде Blitz3D
Ни для кого не секрет сколь важны компьютеры в современном мире. На заре компьютерной эры компьютеры занимали целые комнаты и возможности их были очень ограничены. Такие вычислительные центры были доступны лишь крупным фирмам. Но производительность компьютеров, благодаря новым технологиям, стремительно возрастала, а стоимость снижалась и теперь компьютер стал вполне доступен даже для людей с средним достатком. Мало того, сфера его применения значительно расширилась, от сырых математических вычислений до управления космическими аппаратами. Вообще, применение компьютеров - обработка информации, но так как человек по сути тоже существо, накапливающее и перерабатывающее информацию, то компьютер способен заменить человека там, где требуется большая точность и быстрота реакции, компьютер не устает и работает круглые сутки. Но творческие задачи, все-таки остаются за человеком, компьютер здесь выступает в роли помощника, инструмента. Для эффективного творческого процесса человеку необходимо проделать массу рутинной однообразной работы. Это с успехом и быстро может сделать компьютер. Мало того, компьютер по первому запросу выдает человеку нужную информацию в нужном виде. Один из самых наглядных методов - моделирование событий реального мира. Но тут мы сталкиваемся с задачей: как представить трехмерную реальность на двумерном экране компьютера? Изображение трехмерных объектов на экране называется трехмерной графикой. Цель данной дипломной работы - разработка курса обучения школьников и студентов базовым знаниям о системе, выдающей трехмерную графику на экран и основам программирования приложений, использующих трехмерную графику на языке Blitz3D.
Понятие трехмерной графики и сфера ее применения
Самоучитель по Digital Graphics
Более чем десятилетний опыт преподавания дисциплин, связанных с компьютерными технологиями в области графики и дизайна, сталкивал нас с самыми различными аудиториями (от коллег до тех, кто впервые слышит о цифровой графике). И естественное стремление быть понятым в любой из этих аудиторий постоянно подталкивало нас к максимальному упрощению материала, а также к поискам сравнений, метафор, аналогий. Таким образом формировался синтез элементов точных наук и элементов искусства — образные модели.
В конце концов оказалось, что все это можно объединить в некую систему метафор, пусть и не слишком строгую с точки зрения системного подхода, предъявляющего свои требования, например, к техническим системам (как, скажем, настольная издательская система, описанная в данной книге), но вместе с тем доказавшую свою жизненность в практическом преподавании.
Стимулирующим толчком к "придумыванию" метафор и образов является следующее соображение, которое нам представляется весьма достоверным.
Для людей, мало подготовленных в технических вопросах или программировании, не так-то легко представить логику работы аппаратного устройства или функций программы в форме "научной" логики (технических, физических, химико-технологических законов и процессов) без специального экскурса в вузовскую, а чаще всего в школьную программу.
Правда, как показывает опыт, и экскурс не всегда спасает, поскольку он требует дальнейшего углубления, а задачи преподавания другие, да и временные рамки не позволяют подробно связать теоретические курсы с технической или программной реализацией того или иного закона. Кроме того, различный уровень подготовки и способностей одной и той же аудитории делает экскурс не столь полезным: так, одним это скучно (и "не по делу"), а другим — сложно (и, следовательно, тоже "не по делу").
Графический планшет
Особенности графической информации и способы ее кодирования
Преобразование аналогового сигнала в цифровые коды
Разрешение пиксельной графики
Объем файла пиксельной графики
Трансформирование пиксельной графики
Аппаратная независимость
Контраст
Прочие команды коррекции
Самодельные электронные устройства в быту
Степень цивилизованности общества во многом определяется тем временем, которое оно предоставляет человеку для культурного досуга. Можно сократить продолжительность рабочего дня, но не подумать о быте — и тогда домашние дела «съедят» все свободное время.
Социалистическое государство стремится как можно полнее удовлетворять потребности народа. Создана широкая сеть предприятий бытового обслуживания. Кроме того, целая отрасль промышленности занята производством электрических и электронных бытовых приборов и устройств, позволяющих облегчить ручной труд.
Когда есть свободное время, появляется возможность заняться любимым делом. Для многих — это радиолюбительство. С одной стороны, радиолюбители, обладающие определенными знаниями и навыками, легче справляются с ремонтом приборов, с другой — сами создают новые устройства или усовершенствуют старые.
Следует особо подчеркнуть, что работа с электронными и электрическими приборами, а также вмешательство в их конструкцию, требуют знания техники безопасности. В электрических приборах опасность создается не только напряжением сети, но и механическими передачами и нагревательными элементами.
Поэтому человеку, делающему первые шаги в радиолюбительстве, нужно начинать с конструирования приборов с низковольтным питанием, осуществляемым через трансформатор от сети или от батареи. В несложных сигнальных устройствах устанавливаются электромагниты и двигатели, работающие также от батарей. Их использование в домашнем хозяйстве (от электронного дверного звонка до средств сигнализации, устанавливаемых на кухне, в подвале или детской комнате) имеет целый ряд преимуществ.
MIDI-клавиатура на PIC16F84
Простой регулятор мощности
Простые электромузыкальные инструменты
Музотрон
Абсолютный музыкальный слух
Абсолютным слухом называют способность узнавать и определять, используя названия нот, отдельные звуки, не сравнивая их с другими, известными.
Умение узнавать музыкальные звуки, по-видимому, с давних пор привлекало музыкантов. Одним из свидетельств этому является, например, рекомендация Аристида Квинтилиана (I в. н. э.) для узнавания высоты звука пользоваться сравнением положения гортани при пении этого звука с положением ее при пении самого низкого звука голоса.
Но абсолютный слух, в современном его понимании, у музыкантов прошлого не обнаруживался. Еще не были установлены нормативы камертонной настройки музыкальных инструментов, названия нот не были закреплены за определенными высотами звуков. «Тем специфическим функциям абсолютного слуха, которые проявляются у современного музыканта в его деятельности, невозможно было найти применения. <…> Абсолютный слух исключался, относительный был господствующим», - отмечал Е. В. Назайкинский.
Собственно история абсолютного слуха начинается с XVII в. с введения 12-ступенного равномерно-темперированного музыкального строя и фиксированного эталона музыкальной высоты. Первое свидетельство способности узнавать музыкальные звуки, то есть обладания абсолютным слухом, установлено в отношении В. А. Моцарта в середине XVIII в. В объявлении о его концерте говорилось: «Кроме того, он будет самым точным образом узнавать издали, по отдельности и в аккордах все звуки, которые только можно воспроизвести на фортепиано или на любых других инструментах: колоколах, стеклянных сосудах, часах и т. д.». Понятия «абсолютный слух» еще не существовало. Слух В. А. Моцарта называли «превосходным», «идеальным», «феноменальным», «истинным».
Сущность абсолютного слуха
Американская гармоника
Самоучитель аккомпанемента на 6-струнной гитаре
Играйте на хомусе
Хомус – инструмент широко распространённый по всему миру. Только в одних странах его можно найти только в музеях, а в других его музыкальная судьба продолжается, получая новое современное звучание, новую жизнь, превращая его в любимый всеми инструмент.
С виду неприметный, хомус таит в себе необыкновенные возможности, ибо способен извлечь из себя все многообразие естественных звуков, как бы рождённых самой матерью-природой.
Однако хомус – не самозвучащий инструмент. Без того, чтобы человек буквально не вдохнул в него жизнь, он не зазвучит. Таинство его и состоит в том, что он представляет единое целое со всем дыхательно-голосовым аппаратом человека. Поэтому, когда хомусист сольётся с хомусом в музыкальный инструмент, взволнуется вместе с ним, волшебная музыка хомуса способна удвоить человеческую радость, разогнать, развеять печаль, исцелить от болезней.
Продолжение
APE для чайников
Я, конечно же, не журналист, но попытаюсь на пальцах обьяснить, что такое АРЕ и почему стоит с этим связываться. Здесь я опишу свой личный опыт и моё мнение на этот счёт. Также обьясню что делать, если вы скачали АРЕ файл.
Итак вы ословод, у вас есть комп с CD-R и вы любите музыку. Все вы, наверное, знаете что такое МР3, а те кто не знает, ну и не надо. Я не буду вдаваться в подробности МР3, поскольку мы рассматриваем кодирование музыки с помощью Monkey's Audio, которая и перецифровывает музыку со сжатием без потерь, чего не скажешь об МР3.
Когда вы копируете диск с помощью компьютера у вас получается промежуточный WAV файл. Вот его то и жмёт Mакака (Monkey's Audio) так, чтобы качество не терялось и никто не пострадал :) (на выходе мы получаем файл *.АРЕ). То есть получается как будто вы копируете диск и этот промежуточный файл от вас переписали на другой комп и тоже сделали себе копию точно такого же диска.
Продолжение
|