وبلاگ بلیان

Идеальная архитектура. Ведущие специалисты о красоте программных архитектур

معرفی کتاب «Идеальная архитектура. Ведущие специалисты о красоте программных архитектур» نوشتهٔ Диомидис Спинеллис и Георгиос Гусиос; [пер. с англ. Е. Матвеева]، منتشرشده توسط نشر Символ-Плюс; Символ-Плюс در سال 2010. این کتاب در فرمت pdf، زبان ru ارائه شده است.

Перевод Е. Матвеева. Из каких компонентов строятся надежные, элегантные, гибкие, удобные в сопровождении программные архитектуры? Книга отвечает на этот вопрос серией очерков, написанных ведущими программными архитекторами и проектировщиками современности. В каждом очерке авторы представляют какую-либо выдающую программную архитектуру, анализируют ее отличия от других архитектур и объясняют, почему она идеально подходит для своей цели. Из книги вы узнаете, как на основе архитектуры Facebook была построена экосистема приложений, ориентированных на работу с данными; как новаторская архитектура Xen повлияла на будущее операционных систем; как процессы в сообществе проекта KDE способствовали превращению программной архитектуры из предварительного проекта в элегантную систему; как «ползучая функциональность» помогла GNU Emacs выйти за пределы изначально запланированных возможностей; как устроена высокооптимизированная виртуальная машина Jikes RVM; какие сходства и различия существуют между объектно-ориентированными и функциональными архитектурными школами; как архитектуры влияют на эволюцию программных продуктов и труд разработчиков. Оглавление Предисловие Об архитектуре Что такое архитектура? Введение Роль архитектора Роль программного архитектора Из чего складывается программная архитектура? Архитектура и композиция системы Создание программной архитектуры Архитектурные структуры Структуры сокрытия информации Структуры «использует» Структуры «обработка» Структуры доступа к данным Сводка структур Хорошие архитектуры Красивые архитектуры Благодарности Библиография Повесть о двух системах: сказка для современных программистов Беспорядочный мегаполис Фиаско Где он теперь? Открытка из Мегаполиса Архитектурный городок Первые шаги в Архитектурный городок История продолжается Где он теперь? Что дальше? Ваш ход Библиография Архитектура корпоративных приложений Масштабирование Введение Контекст Первая цель Игровой мир Задержка – главный враг Архитектура Макроструктура Основные службы Коммуникационные службы Портируемость задач Размышления об архитектуре Параллелизм и задержка Ставка на будущее Упрощение работы программиста Фото на память Возможности и ограничения Технологический процесс Архитектурные грани Модули и программа Launcher Графический интерфейс в стиле «киоск» Пользовательский интерфейс и его модель Взаимозаменяемые рабочие станции Миграция баз данных Неизменность данных и коды GUID Система визуализации Реакция пользователей Заключение Библиография Ресурсноориентированные архитектуры, жизнь в WWW Введение Традиционные вебслужбы WWW Ресурсноориентированные архитектуры Приложения, управляемые данными Практическое применение ресурсноориентированных архитектур Заключение Архитектура Facebook Platform Введение Основные данные внешнего приложения Основные данные Facebook Платформа приложений Facebook Создание социальной веб-службы Данные: создание вебслужбы XML Аутентификация простой веб-службы Создание социальной службы запросов данных Пакетная обработка вызовов FQL Создание социального веб-портала: FBML Приложения на Facebook: прямая генерация HTML, CSS и JS Приложения на Facebook: iframe Приложения на Facebook: язык разметки FBML Архитектура FBML Поддержка функциональности системы Платформенные сookies FBJS Сводка усовершенствований Итоги Системная архитектура Xen и красота виртуализации Введение Xenoservers Проблемы виртуализации Паравиртуализация Изменяющаяся конфигурация Xen Изменения в оборудовании – изменения в Xen Уроки Xen Паравиртуализация Разработка с открытым кодом Библиография Guardian: отказоустойчивая операционная система Tandem/16: когда-нибудь все компьютеры будут такими Оборудование Диагностика Восстановление Механическое строение Архитектура процессора Адресация памяти Вызовы процедур Действие команд PCAL и SCAL Межпроцессорная шина Ввод/вывод Структура процессов Парные процессы Система сообщений Снова о парных процессах Синхронизация Сети: EXPAND и FOX Файловая система Имена файлов Асинхронный ввод/вывод Межпроцессные взаимодействия Системные сообщения Ввод/вывод Безопасность Безопасность доступа к файлам Фольклор Недостатки Быстродействие Аппаратные ограничения Упущенные возможности Проблема «двуглавия» Последующие поколения Библиография JPC: эмулятор x86 PC на языке Java Введение Проверка концепции Тестирование потенциального быстродействия процессора Архитектура PC Быстродействие в Java Накладные расходы Опасности защищенного режима Безнадежное дело Микрокод: когда «меньше» означает «больше», и наоборот Берем JVM под контроль Компиляция: как изобрести велосипед Загрузка и выгрузка классов в больших масштабах Максимальная гибкость Гибкость мобильного доступа к данным Гибкость аудита и поддержки Гибкость мобильных вычислений Максимальная безопасность Переработка архитектуры Метациклические виртуальные машины: Jikes RVM Предыстория Мифы, связанные со средами времени выполнения Компиляторы времени выполнения должны работать быстро, поэтому они должны быть простыми Неограниченный анализ в статическом компиляторе непременно обеспечивает лучшее быстродействие Анализ времени выполнения расходует слишком много ресурсов Динамическая загрузка классов снижает быстродействие Уборка мусора работает медленнее ручного управления памятью Резюме Краткая история Jikes RVM Инициализация самодостаточной среды времени выполнения Структура объектов Структура памяти среды времени выполнения Компиляция первичных классов и заполнение JTOC Исполнитель загрузочного образа и VM.boot Компоненты времени выполнения Базовая модель выполнения Система адаптивной оптимизации Оптимизирующая компиляция Модель исключений Волшебство и аннотации Потоковая модель Внешний интерфейс Загрузчики классов и рефлексия Уборка мусора Выводы Библиография Архитектуры пользовательских приложений GNU Emacs: сила ползучей функциональности Emacs в работе Архитектура Emacs Модель: буферы Представление: подсистема перерисовки Контроллер: Emacs Lisp Ползучая функциональность Ползучая функциональность и сложность пользовательского интерфейса Ползучая функциональность и сопровождение кода Две другие архитектуры Eclipse Firefox Когда базар строит собор Введение История и структура проекта KDE Akonadi История Эволюция Akonadi Архитектура Akonadi Первая версия и дальнейшая история ThreadWeaver Знакомство с ThreadWeaver, или насколько сложной бывает загрузка файла? Основные концепции и возможности Декларативная многопоточность на примере просмотра миниатюр От параллелизма к планированию: как систематически реализовать ожидаемое поведение Безумная идея Языки и архитектура Программные архитектуры: объектноориентированные и функциональные Обзор Примеры Оценка модульности функциональных решений Критерии расширяемости Оценка функциональной методологии Уровни модульности Преимущества функционального подхода Проблема состояния Объектно-ориентированное представление Комбинаторы – хорошо, а типы лучше Программные контракты и параметризация Политика деления на модули Наследование Полиморфизм, полиморфные контейнеры и динамическая привязка Отложенные классы и методы Оценка и улучшение модульности в объектно-ориентированных архитектурах Повторное использование операций Расширяемость: добавление типов Расширяемость: добавление операций Агенты: упаковка операций в объектах Механизм агентов Область применения агентов Агентская библиотека для замены паттерна «Посетитель» Оценка Благодарности Библиография Перечитывая классику Объекты и только объекты Неявное определение типов Проблемы Архитектура в камне Библиография Послесловие Соавторы Алфавитный указатель
دانلود کتاب Идеальная архитектура. Ведущие специалисты о красоте программных архитектур