Перейти на главную страницу
РАЗРАБОТКА WEB-ПРИЛОЖЕНИЙ
НА РНР и MySQL
Краткое
Часть 1. Использование РНР 25
Глава 1. Краткий обзор РНР 26
Глава 2. Хранение и получение данных 59
Глава 3. Использование массивов 75
Глава 4. Манипулирование строками и регулярные выражения 95
Глава 5. Повторное использование кода и создание функций 115
Глава 6. Объектно-ориентированное программирование на РНР 139
Часть 2. Использование MySQL 157
Глава 7. Проектирование Web-баз данных 158
Глава 8. Создание Web-базы данных 168
Глава 9. Работа с базой данных MySQL 187
Глава 10. Доступ к базе данных MySQL из Web с помощью РНР 203
Глава 11. Дополнительные возможности MySQL 216
Глава 12. Эксплуатация сайта электронной коммерции 233
Глава 13. Вопросы безопасности в электронной коммерции 245
Глава 14. Аутентификация с помощью РНР и MySQL 265
Глава 15. Реализация безопасных транзакций в РНР и MySQL 283
Часть 4. Усложненные технологии применения РНР 301
Глава 16. Взаимодействие с файловой системой и сервером 302
Глава 17. Использование функций работы с сетью и протоколами ..316
Глава 18. Управление датой и временем 333
Глава 19. Создание изображений 340
Глава 20. Управление сеансами в РНР 361
Глава 21. Другие полезные свойства РНР 374
Часть 5. Разработка практических приложений
на РНР и MySQL 380
Глава 22. Применение РНР и MySQL при разработке
крупных проектов 381
Глава 23. Отладка 396
Глава 24. Аутентификация и персонализация пользователей 411
Глава 25. Создание покупательской тележки 441
Глава 26. Построение системы управления содержимым 477
Глава 27. Построение почтовой службы, основанной на Web 500
Глава 28. Создание менеджера списков рассылки 529
Глава 29. Создание Web-форумов 571
Глава 30. Генерация персонифицированных документов
в формате переносимых документов (PDF) 596
Приложение А. Инсталляция РНР 4 и MySQL 627
Приложение В. Ресурсы Internet 645
Предметный указатель 648
Часть 1. Использование РНР 25
Глава 1. Краткий обзор РНР 26
Использование РНР 27
Пример приложения: Bob's Auto Parts 27
Форма заказа 27
Обработка формы 29
Встраивание РНР в HTML 29
Использование PHP-дескрипторов 30
Стили PHP-дескрипторов 30
PHP-операторы 31
Пробелы 31
Комментарии 32
Добавление динамического содержимого... 33
Вызов функций 33
Функция date() 33
Доступ к переменным формы 34
Переменные формы 34
Конкатенация строк 35
Переменные и литералы 35
Идентификаторы 36
Переменные, объявляемые пользователем.. 36
Присвоение значений переменным 36
Типы переменных 36
Типы данных РНР 37
Преимущества типов 37
Приведение типов 37
Переменные переменных 38
Константы :.... 38
Область действия переменных 39
Знаки операций 39
Арифметические операции 39
Строковые операции 40
Операции присваивания 40
Операции сравнения 43
Логические операции 44
Поразрядные операции 44
Другие операции 45
Использование операций:
вычисление итога по форме 46
Приоритет и ассоциативность:
вычисление выражений 47
Функции для работы с переменными 48
Проверка и установка типов переменных 48
Проверка состояния переменных 49
Повторная интерпретация переменных 50
Управляющие структуры 50
Принятие решений с помощью
условных операторов 50
Операторы if 50
Блоки кода 51
Примечание: выравнивание кода
при помощи отступов 51
Операторы else 51
Операторы elseif 52
Операторы switch 52
Сравнение различных условных операторов. 54
Итерация: повторение действий 54
Циклы while 55
Циклы for 56
Циклы do..while 57
Выход из управляющей структуры
или сценария 58
Глава 2. Хранение и
получение данных 59
Сохранение данных с целью дальнейшего
использования 60
Сохранение и получение заказов
в компании Боба 60
Обзор обработки файлов 61
Открытие файла 61
Режимы файлов 61
Использование функции fopenf)
для открытия файла 61
Открытие удаленных файлов через FTP
или НИР.... 63
8
Проблемы, возникающие
Запись в файл 65
Параметры функции fwrite() 65
Форматы файлов 65
Закрытие файла 66
Считывание из файла 67
Открытие файла для чтения: fopenQ 68
Определение конца файла: feof() 68
Построчное считывание:
fgets(), fgetss() и fgetcsvf) 68
Считывание всего файла:
readfileO, fpassthruf), file() 69
Считывание символа: fgetc() 70
Считывание строк произвольной длины:
fread() 70
Другие полезные файловые функции 70
Проверка существования файла: file_exists() 70
Выяснение размера файла: filesizeQ 71
Удаление файла unlinkQ 71
Перемещение внутри файла:
rewindf), fseek и ftellQ 71
Блокирование файлов 72
Более рациональный способ обработки:
системы управления базами данных 73
Проблемы, связанные с использованием
двумерных файлов 73
Как эти проблемы решаются
с помощью СУРБД 74
Что такое массив 76
Численно индексированные массивы 76
Инициализация численно индексированных
массивов 76
Доступ к содержимому массива 77
Использование циклов для доступа к массиву 78
Ассоциативные массивы 78
Инициализация ассоциативного массива 78
Доступ к элементам массива 78
Организация циклов с использованием
еасп() и list() 79
Многомерные массивы 80
Сортировка массивов 83
Использование функции sortf) 83
Использование функций asort() и ksort()
для сортировки ассоциативных массивов 83
Сортировка в обратном порядке 83
Сортировка многомерных массивов 84
Определяемые пользователем функции
сортировки 84
Определяемые пользователем функции
сортировки в обратном порядке 85
Изменение порядка следования
элементов в массивах 86
Использование функции shuffle() 86
Использование функции array_reverse() 87
Загрузка массивов из файлов 88
Другие манипуляции с массивами 90
Перемещение внутри массива:
функции each, current!), reset)),
end(), next(), pos() и prev() 90
Применение любой функции к каждому
элементу массива: array_walk() 91
Подсчет элементов в массиве: функции
count(), sizeoff) и array_count_values() 92
Преобразование массивов в скалярные
переменные: функция extract!) 93
Пример приложения: Smart Form Mail 95
Форматирование строк 97
Усечение строк:
функции chop(), ltrim() и trim() 97
Форматирование строк для представления... 98
Форматирование строк для хранения:
функции AddSlashesQ и StripSlashes() 100
Объединение и разделение строк
с помощью строковых функций 101
Использование функций
explode)), implodef) и join() 102
Использование функции strtok() 102
Использование функции substr() 103
Сравнение строк 104
Упорядочение строк: функции strcmp(),
strcasecmp() и strnatcmpQ 104
Проверка длины строки с помощью
функции strlen() 104
Сопоставление и замена подстрок с
помощью строковых функций 105
Поиск строк в строках: функции strstr)),
strchr(), strrchrf), stristr() 105
Определение позиции подстроки:
функции strposf), strrposf) 106
Замена подстрок; str_replace(),
substrjeplace() 107
Введение в регулярные выражения 108
Наборы символов и классы 108
Повторение 110
Подвыражения 110
Подсчитываемые подвыражения 110
Привязка к началу или концу строки 110
Ветвление 111
Сопоставление с литеральными
значениями специальных символов 111
Краткое описание специальных символов .111
Использование регулярных выражений
в приложении Smart Form 111
Поиск подстрок с помощью
регулярных выражений 112
Замена подстрок с помощью
регулярных выражений 113
Разделение строк с помощью
регулярных выражений 113
Сравнение строковых функций и
функций регулярных выражений 114
Глава 5. Повторное использование
кода и создание функций 115
Для чего требуется повторное
использование кода? 116
Стоимость 116
Надежность 116
Единообразие '. 116
Использование операторов
require)) и include)) 116
Использование оператора required 117
Расширения имен файлов и
оператор require)) 118
PHP-дескрипторы и оператор required 118
Использование оператора require))
для шаблонов Web-сайта 118
Использование директив
auto_prependjile и auto_append_file 122
Использование оператора include)) 123
Использование функций в РНР 125
Вызов функций 125
Обращение к неопределенной функции 126
Регистр и имена функций 127
Для чего нужно определять
собственные функции? 127
Базовая структура функции 128
Именование функций 128
Параметры 129
Область действия 131
Передача по ссылке и передача
по значению 133
Возврат из функций 134
Возврат значений из функций 135
Блоки кода 136
Рекурсия 137
Глава 6. Объектно-ориентированное
программирование на РНР 139
Концепции объектно-ориентированного
программирования 139
Классы и объекты 140
Полиморфизм 141
Наследование 141
Создание классов, атрибутов и
операций в РНР 142
Структура класса 142
Конструкторы 142
Создание экземпляров класса 143
Использование атрибутов класса 143
Вызов операций класса 145
Реализация наследования в РНР 146
Перекрытие 146
Множественное наследование 148
Разработка классов 148
Написание кода класса 149
Часть 2. Использование MySQL.. 157
Глава 7.Проектирование
Web-баз данных 158
Общее представление о реляционных
базах данных 159
Таблицы 159
Столбцы 159
Строки 159
Значения 160
Ключи 160
Схемы 161
Отношения 161
Как спроектировать собственную
Web-базу данных 162
Подумайте о реальных объектах,
которые вы моделируете 162
Избегайте хранения избыточной информации 163
Используйте атомарные значения столбцов . 164
Выбирайте подходящие ключи 164
Подумайте над вопросами, которые
потребуется задать базе данных 165
Избегайте проектов с большим
количеством пустых атрибутов 165
Типы таблиц 165
Архитектура Web-баз данных 166
Архитектура 166
Глава 8. Создание
Web-базы данных 168
Замечания к использованию
монитора MySQL 169
Вход в систему MySQL 170
Создание баз данных и
подключение пользователей 171
Создание базы данных 171
Пользователи и привилегии 171
Знакомство с системами
привилегий MySQL 171
Принцип наименьших привилегий 172
Установка пользователей: команда GRANT. 172
Типы и уровни привилегий 173
Команда REVOKE... ..175
Установка пользователя для
доступа из Web 176
Выход из системы пользователя root 176
Использование требуемой базы данных... 176
Создание таблиц баз данных 177
Что означают другие ключевые слова 178
Что означают типы столбцов 178
Просмотр базы данных с помощью
команд SHOW и DESCRIBE 180
Идентификаторы MySQL 181
Типы данных столбцов 182
Числовые типы 182
Глава 9. Работа с базой данных
MySQL 187
Что такое SQL? '... 187
Вставка данных в базу данных 188
Извлечение данных из базы данных 189
Извлечение данных по определенному
критерию 191
Извлечение данных из нескольких таблиц.. 192
Использование других имен таблиц:
псевдонимы 196
Извлечение данных в определенном порядке 197
Группировка и агрегирование данных 198
Выбор количества отображаемый строк 199
Обновление записей в базе данных 200
Изменение таблиц после создания 200
Удаление записей из базы данных 202
Удаление таблиц 202
Удаление целой базы данных 202
Глава 10. Доступ к базе данных
MySQL из Web с помощью РНР 203
Как работает архитектура Web-баз данных. 204
Основные шаги выполнения запросов
к базе данных через Web 206
Проверка и фильтрация данных,
исходящих от пользователя 207
Установка соединения 207
Выбор базы данных 209
Выполнение запроса к базе данных 209
Получение результатов запроса 210
Отсоединение от базы данных 211
Внесение новой информации
в базу данных 211
Прочие полезные функции PHP-MySQL.... 214
Освобождение ресурсов 214
Создание и удаление баз данных 214
Другие интерфейсы PHP-баз данных 214
Глава 11. Дополнительные
возможности MySQL 216
Детальное описание системы привилегий 216
Таблица user 217
Таблицы db и host 218
Таблицы tables_priv и columns_priv 219
Управление доступом: как MySQL
использует таблицы привилегий 220
Обновление привилегий: когда изменения
вступают в силу? 221
Обеспечение безопасности
баз данных MySQL , 221
MySQL с точки зрения операционной
системы 221
Пароли 222
Привилегии пользователей 222
Тонкости Web 223
Получение дополнительной информации
о базах данных 223
Получение информации с помощью SHOW 223
Получение информации о столбцах
с помощью DESCRIBE 225
Как запросы работают с EXPLAIN 225
Ускорение использования базы данных
при помощи индексов 229
Советы по оптимизации 229
Оптимизация проектирования 229
Права доступа 229
Оптимизация таблиц 229
Применение индексов 230
Использование значений, принятых
по умолчанию 230
Применяйте постоянные соединения 230
Другие советы 230
Различные типы таблиц 230
Загрузка данных из файла 231
Часть 3. Системы электронной
торговли и безопасность 232
Глава 12. Эксплуатация сайта
электронной коммерции 233
Преследуемые цели 233
Типы коммерческих Web-сайтов 234
Сетевые брошюры 234
Прием заказов на товары и услуги 237
Предоставление услуг и цифровой продукции 240
Дополнительные товары и услуги 241
Снижение расходов 241
Риски и угрозы 242
Взломщики 242
Невозможность привлечения компаньонов. 243
Отказы оборудования 243
Сбои питания, коммуникационных линий
или сети, отказы службы доставки 243
Интенсивная конкуренция 243
Сбои программного обеспечения 244
Изменения в политике и налогообложении. 244
Ограниченная пропускная
способность системы , 244
Глава 13. Вопросы безопасности
в электронной коммерции 245
Насколь важна ваша информация? 246
Угрозы безопасности 246
Вскрытие конфиденциальных данных 247
Потеря или разрушение данных 248
Изменение данных 249
Отказ в обслуживании 250
Ошибки программного обеспечения 251
Отказ от обязательств 252
Достижение баланса между
практичностью, производительностью,
стоимостью и защитой 253
Разработка стратегии защиты 254
Принципы аутентификации 254
Использование аутентификации 255
Основы шифрования 256
Шифрование с закрытым ключом 257
Шифрование с открытым ключом 258
Цифровые подписи 258
Цифровые сертификаты 259
Безопасные Web-серверы 260
Аудит и регистрация 262
Брандмауэры 262
Резервное копирование данных 263
Резервное копирование общих файлов 263
Резервное копирование и восстановление
баз данных MySQL 263
Физическая безопасность 264
Глава 14. Аутентификация
с помощью РНР и MySQL 265
Идентификация пользователей 265
Реализация контроля доступа 266
Хранение паролей 268
Шифрование паролей 270
Защита множества страниц 271
Базовая аутентификация 272
Использование базовой
аутентификации в РНР 273
Использование базовой аутентификации при
помощи файлов .htaccess сервера Apache .. 274
Использование базовой
аутентификации в IIS 277
Использование аутентификации через
модуль mod_auth_mysql 279
Установка модуля mod_auth_mysql 279
Заработало? 280
Использование модуля mod_auth_mysql 281
Создание собственного метода
аутентификации 281
Глава 15. Реализация безопасных
транзакций в РНР и MySQL 283
Обеспечение безопасности транзакций 283
Пользовательская машина 284
Internet 285
Ваша система ... 286
Использование слоя безопасных сокетов.287
Проверка данных, вводимых пользователем.. 290
Обеспечение безопасного хранения данных.291
Зачем хранить номера кредитных карточек? 292
Использование шифрования в РНР 292
Инсталляция GPG 293
Тестирование GPG 295
Часть 4. Усложненные технологии
применения РНР 301
Глава 16. Взаимодействие с
файловой системой и сервером ...302
Основы загрузки файлов на сервер 302
HTML-код загрузки файлов на сервер 303
Реализация PHP-кода для работы с файлом 304
Часто возникающие затруднения 307
Использование функций работы
с каталогами 307
Считывание из каталогов 307
Получение сведений о текущем каталоге... 309
Создание и удаление каталогов 309
Взаимодействие с файловой системой 310
Считывание информации из файла 310
Изменение свойств файла 312
Создание, перемещение и
удаление файлов 312
Функции запуска программ 313
Взаимодействие со средой:
getenv() и putenv() 314
Глава 17. Использование функций
работы с сетью и протоколами 316
Обзор доступных протоколов 316
•Отправка и получение почты 317
Использование других Web-служб
через NTTP 317
Применение функций сетевого поиска 320
Использование FTP 323
Использование FTP для создания
резервной или зеркальной копии файла 323
Загрузка файлов на сервер 329
Как избежать тайм-аутов 329
Другие функции работы с RP 329
Использование общих сетевых соединений
с помощью библиотеки cURL 330
Получение даты и времени
средствами РНР 333
Использование функции date() 333
Работа с метками времени UNIX 335
Использование функции getdatef) 335
Проверка правильности дат 336
Преобразования даты в форматах
РНР и MySQL 336
Операции над датами 338
Использование календарных функций 338
Глава 19. Создание изображений .340
Настройка поддержки изображений в РНР . 340
Форматы изображений 341
JPEG 341
WBMP 342
Создание изображений 343
Создание холста 344
Рисование или вывод текста
в изображение 344
Вывод окончательного рисунка 346
Освобождение ресурсов 347
Использование автоматически создаваемых
изображений на других страницах 347
Использование текста и шрифтов при
создании изображений 347
Настройка холста 350
Подбор размера текста на кнопке 350
Позиционирование текста 352
Вывод текста на кнопку 353
Заключительные действия 353
Рисование фигур и построение графиков 353
Другие функции обработки изображений 359
Что такое управление сеансом 361
Основные функциональные средства
управления сеансом 362
Что такое cookie-набор? 362
Установка cookie-наборов из РНР 363
Использование cookie-наборов в сеансах.. 363
Сохранение идентификатора сеанса 364
Реализация управления простым сеансом 364
Запуск сеанса 364
Регистрация переменных сеанса 365
Использование переменных сеанса 365
Отмена регистрации переменных
и завершение сеанса 365
Пример простого сеанса 366
Конфигурирование управления сеанса 368
Выполнение аутентификации пользователей
средствами управления сеансом 368
Использование магических кавычек 374
Выполнение команд, содержащихся
в строке, - функция eval() 375
Прерывание выполнения: die и exit 376
Сериализация 376
Получение информации о рабочей
среде РНР 377
Определение загруженных расширений 377
Определение владельца сценария 378
Определение даты последнего
изменения сценария 378
Динамическая загрузка расширений 378
Временное изменение среды исполнения 378
Выделение элементов исходного кода 379
14
Применение методов проектирования
программного обеспечения при разработке
Web-приложений 382
Планирование и сопровождение
проекта Web-приложения 382
Повторное использование кода 383
Написание удобного для
сопровождения кода 384
Стандарты написания кода 384
Фрагментирование кода 387
Использование стандартной
структуры каталогов 387
Документирование и распределение
функций собственной разработки 387
Управление версиями 388
Выбор среды разработки 389
Документирование проектов 390
Создание прототипов 391
Разделение логики и содержимого 392
Оптимизация кода 392
Использование простой оптимизации 392
Использование продуктов компании Zend... 393
Тестирование 394
Дополнительная информация 395
Что дальше 395
Программные ошибки 396
Синтаксические ошибки 397
Ошибки времени выполнения 398
Логические ошибки 402
Вспомогательное средство отладки
переменных 404
Уровни сообщений об ошибках 405
Изменение настроек сообщений
об ошибках 406
Генерация собственных ошибок 408
Эффективная обработка ошибок 408
Удаленная отладка 410
Глава 24. Аутентификация и
персонализация пользователей 411
Задача 411
Компоненты решения 412
Идентификация и персонализация
пользователей 412
Хранение закладок 413
Рекомендация закладок 413
Обзор проекта 413
Реализация базы данных 415
Реализация основы сайта 416
Аутентификация пользователей 418
Регистрация 418
Вход в систему 423
Выход из системы 426
Смена паролей 427
Переустановка забытых паролей 428
Хранение и извлечение закладок 432
Добавление закладок 432
Отображение закладок 434
Удаление закладок 434
Выработка рекомендаций 436
Заключение и возможные расширения 440
Задача 442
Компоненты решения 442
Построение интерактивного каталога 442
Отслеживание выбираемого товара 442
Платежи 443
Интерфейс администрирования 443
Обзор решения 443
Реализация базы данных 447
Реализация интерактивного каталога 449
Список категорий 451
Список книг в категории 453
Отображение информации о книгах 454
Реализация покупательской тележки 455
Использование сценария show_cart.php 456
Просмотр содержимого тележки 458
Добавление элементов в тележку 460
Сохранение изменений содержимого
тележки 462
Печать итоговых данных в строке
заголовка 462
Выполнение расчета 463
Реализация платежа 467
Реализация интерфейса
администрирования 469
Расширение проекта 475
Использование существующей системы .... 476
Глава 26. Построение системы
управления содержимым 477
Задача 477
Требования к проекту 478
Редактирование содержимого 478
Ввод содержимого в систему 478
FTP 478
файлами для хранения содержимого 479
Структура документов 479
Использование метаданных 480
Форматирование вывода 480
Управление изображениями 481
Обзор проекта 483
Создание базы данных 484
Реализация 486
Интерфейсная часть 486
Прикладная часть 488
Поиск статей 495
Окно редактора 498
Расширение проекта 499
Глава 27. Построение почтовой
службы, основанной на Web 500
Задача 500
Компоненты решения '.. 501
Обзор проекта 502
Создание базы данных 503
Архитектура сценария 505
Вход и выход из системы 509
Создание учетных записей 511
Создание новой учетной записи 513
Изменение существующей учетной записи 515
Удаление учетной записи 515
Чтение почтовых сообщений 516
Выбор учетной записи 516
Просмотр содержимого почтового ящика... 518
Чтение почтовых сообщений 521
Просмотр заголовков сообщений 523
Удаление почтовых сообщений 524
Отправка почты 525
Отправка нового сообщения 525
Ответ на сообщение или его переадресация 527
Расширение проекта 528
Глава 28. Создание менеджера
списков рассылки 529
Задача 530
Компоненты решения 530
Определение базы данных списков и
подписчиков 530
Загрузка файлов 531
Отправка сообщений электронной
почты с присоединениями 531
Обзор решения 531
Создание базы данных 533
Архитектура сценария 535
Реализация регистрации 542
Создание новой учетной записи 542
Регистрация 544
Реализация функций пользователя 547
Просмотр списков рассылки 547
Просмотр сведений о списке рассылки 551
Просмотр архивов списков рассылки 553
Подписка и отмена подписки 554
Изменение параметров настройки
учетной записи 555
Изменение паролей 555
Выход из системы 557
Реализация функций администратора 557
Создание нового списка рассылки 558
Загрузка нового информационного бюллетеня.. 559
Выполнение загрузки нескольких файлов... 562
Предварительный просмотр
информационного бюллетеня 565
Отправка сообщения 566
Расширение проекта 570
Глава 29. Создание Web-форумов 571
Компоненты решения 572
Обзор решения 573
Разработка базы данных 575
Просмотр дерева статей 577
.Раскрытие и свертывание 579
Отображение статей 581
Использование класса treenode 582
Просмотр отдельных статей 588
Добавление новых статей 589
Расширение проекта 595
Использование существующих систем 595
Глава 30. Генерация
персонифицированных
документов в формате
переносимых документов (PDF).... 596
Задача 596
Оценка форматов документов 597
Бумажный документ 597
ASCII 598
HTML 598
Форматы текстовых процессоров 598
Расширенный текстовый формат 599
PostScript 600
Переносимый формат документов 600
Компоненты решения 601
Система вопросов и ответов 601
Программное обеспечение для
генерации документов 602
Обзор решения 604
Задание вопросов 605
Оценка ответов 606
Генерация RTF-сертификата 608
Генерация PDF-сертификата из шаблона... 611
Генерация PDF-документа с
использованием PDFlib 614
Сценарий Hello World для PDFlib 614
Генерация сертификата с помощью PDFlib 618
Проблемы, связанные с заголовками 624
Расширение проекта 625
Часть 6. Приложения 626
Приложение А. Инсталляция
РНР 4 и MySQL 627
Запуск РНР в качестве интерпретатора
CGI или модуля 628
Установка Apache, PHP и MySQL под UNIX. 629
Apache и mod_SSL 632
Фрагменты файла httpd.conf 634
Работает ли поддержка РНР? 635
Работает ли SSL? 635
Установка Apache, PHP и MySQL
под Windows 636
Установка MySQL под Windows 637
Установка Apache под Windows 638
Различия между версиями Apache
для Windows и UNIX 640
Установка РНР под Windows 641
Заметки по инсталляции для Microsoft IIS . 643
Замечания по инсталляции для Microsoft PWS . 644
Другие конфигурации 644
Приложение В. Ресурсы Internet ...645
Ресурсы, посвященные РНР 645
Ресурсы, посвященные MySQL и SQI 647
Ресурсы, посвященные Apache 647
Манипулирование строками и регулярные выражения 95 Глава Повторное использование кода и создание функций 115
13 10 2014
1 стр.
Мгу; глава 10 В. М. Кульков, д э н., проф мгу; Глава 11 А. И. Московский, к э н., доц мгу; глава 12 Е. В. Красникова, к э н., доц мгу; глава 13 Т. В. Гудкова, к э н., м н с мгу; гл
18 12 2014
17 стр.
Е. В. Красникова к э н., доц., Мгу; глава 14 Л. М. Ипполитов, к э н., доц., Мос гум ун-т; глава 15 В. А. Бирюков, к э н.,доц., с н с., Мгу; глава 16 Н. Ф. Эйсен, к э н., с н с., То
18 12 2014
19 стр.
Ренан: Главным событием всемирной истории является тот переворот, при посредстве которого благороднейшие расы человечества перешли от древних религий, известных под общим неопредел
26 09 2014
1 стр.
А все начинается с того, что в некоторый неизвестный (нам) момент времени кому-то в голову приходит некоторая идея: "А что, если ". Дальнейшие варианты различны
12 10 2014
22 стр.
Большой вальс (третья часть трилогии, состоящей из книг: «бегущая в зеркалах» «Поцелуй небес» и «Большой вальс»)
11 10 2014
14 стр.
13 10 2014
12 стр.
Охватывают период от финального мезолита до энеолита
10 09 2014
1 стр.