Pull to refresh
VK
Building the Internet

Технокнига, часть 3: литература по проектированию высоконагруженных систем, по безопасности веб-приложений, по обеспечению качества разработки и по мобильной разработке

Reading time 8 min
Views 37K


Для тех, кто хочет погрызть гранит IT-науки, мы продолжаем публиковать список камней повкуснее и пополезнее. Предлагаем вашему вниманию следующую часть списка рекомендуемой литературы, рассчитанной для студентов 3 семестра Технопарка.

Предыдущие части: первая, вторая.

Проектирование высоконагруженных систем




Книга: «Искусство планирования мощностей»
Автор: Джон Оллспоу

Джон имеет богатый опыт разработки инженерных систем. Занимался созданием команд по управлению сетевой инфраструктурой, планированием развития СХД для крупномасштабных проектов, обеспечением высокой доступности, а также вопросами восстановления данных после сбоев.

Книга посвящена практическому планированию и управлению мощностями интернет-проектов. Вы научитесь использовать реальные инструменты и адаптироваться к изменениям нагрузки на веб-сайт, которая будет со временем возрастать. В книге рассмотрены процессы планирования мощностей для развивающихся веб-сайтов, включая сбор данных, закупку и развертывание компонентов, а также некоторые популярные и проверенные временем средства и методы измерений.

Как масштабируется back-end? Сколько посетителей может обслужить система за час? Что делать при увеличении числа посетителей вдвое? Когда нужно закупать серверы, сколько их нужно и какими они должны быть? Как обосновать расходы на оборудование? Все эти вопросы неминуемо возникают, когда интернет-проект набирает популярность. В качестве примеров в книге описываются практические решения, применяемые во Flickr. Основы планирования мощностей, приведенные здесь, — универсальные и подходят для любых интернет-ресурсов.



Книга: «Искусство программирования для Unix»
Автор: Эрик Реймонд

Эрик Реймонд широко известен в кругах сообщества Open Source как один из его идеологов. Также он довольно популярен в хакерских кругах. Является автором ряда книг по разработке ПО. Участвовал в создании многих известных приложений и библиотек под UNIX и Linux. Один из основателей фонда Open Source Initiative.

В книге описывается хороший стиль Unix-программирования, многообразие доступных языков, их преимущества и недостатки, различные IPC-методики и инструменты разработки. Автор анализирует философию Unix, культуру и основные традиции сформированного вокруг нее сообщества. В книге объясняются наилучшие практические приемы проектирования и разработки программ в Unix. Описанные модели и принципы будут полезны также и Windows-разработчикам. Особо рассматриваются стили пользовательских интерфейсов Unix-программ и инструменты для их разработки. Отдельная глава посвящена описанию принципов и инструментов для создания хорошей документации.



Книга: «UNIX. Профессиональное программирование»
Авторы: Стивен А. Раго, Уильям Ричард Стивенс

Ричард Стивенс — автор первого издания книги. Имеет диплом инженера авиакосмических систем, степень доктора по системному инжинирингу. Работал программистом, с 1982 по 1990 г. — вице-президент по обслуживанию вычислительных систем в компании Health Systems International. Стивен Раго — один из разработчиков в Bell Laboratories, создатель UNIX System V Release 4. Был техническим обозревателем первого издания Advanced Programming in the UNIX Environment. Сейчас работает в исследовательской команде Storage Systems Group в NEC Laboratories America.

Данная книга является подробнейшим справочным руководством, на протяжении 20 лет помогающим профессиональным программистам писать на языке С исключительно эффективный и надежный код. Издание охватывает современные ведущие платформы, отражает новейшие технические достижения и передовую практику, соответствует 4-й версии Single UNIX Specification.

Помимо основ (файлы, каталоги, процессы) рассматриваются более сложные темы: обработка сигналов и терминальный ввод/вывод, многопоточная модель выполнения и межпроцессное взаимодействие с применением сокетов. В книге описаны свыше 70 новых интерфейсов, включая функции POSIX асинхронного ввода/вывода, циклические блокировки, барьеры и семафоры POSIX. Описания более 400 системных вызовов и функций сопровождаются короткими примерами законченных программ, которые наглядно демонстрируют порядок их применения, входные аргументы и возвращаемые значения.



Книга: «High Performance Web Sites»
Автор: Стив Судерс

Стив Судерс работает в Google, участвует в проектах, связанных с Open Source и с повышением производительности в веб. Автор расширения YSlow для Firefox, предназначенного для анализа производительности. Выступает на многочисленных конференциях: OSCON, Rich Web Experience, Web 2.0 Expo и The Ajax Experience. Ранее работал в Yahoo! директором по производительности. Принимал участие в создании многих продуктов компании, основал два стартапа.

В книге описаны 14 правил, которые помогут снизить на 25—50% время отклика для ваших сайтов. Здесь рассказывается о способах оптимизации Ajax, CSS, JavaScript, Flash и изображений, уже внедренных в сайт. Каждое правило подкрепляется соответствующими примерами и частями кода.



Книга: «Even Faster Web Sites»
Автор: Стив Судерс

Производительность критически важна для успешности сетевых проектов. И современные веб-приложения предъявляют жесткие требования в условиях увеличения объема контента и широкого использования Ajax. В книге описаны полезные методики по оптимизации производительности веб-проектов.

Безопасность интернет-приложений




Книга: «The Web Application Hacker's Handbook»
Авторы: Дафидд Стюттард, Маркус Пинто

Дафидд Стюттард — консультант по безопасности компании Next Generation Security Software. Обладает внушительным опытом тестирования на проникновение в техническую инфраструктуру и приложения. Специализируется на исследованиях надежности проектов, разработанных по заказу, является автором ряда инструментов для тестирования.

Маркус Пинто более пяти лет является техническим консультантом, сотрудничая с британским Министерством обороны, крупными банками и финансовыми организациями, телекоммуникационными компаниями, а также операторами важной национальной инфраструктуры.

Веб-приложения — «входная дверь», «витрина» многих организаций. В то же время это главная цель для атак с целью хищения важной информации, осуществления мошеннических транзакций или компрометации пользователей. В данной книге пошагово рассматриваются методики атак и защиты всевозможных веб-приложений. Особое внимание уделяется клиентской части.

Обеспечение качества в разработке ПО




Книга: «Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений»
Авторы: Сэм Канер, Джек Фолк, Енг Нгуен

Сэм Канер — преподаватель программного инжиниринга во Флоридском технологическом институте, директор Флоридского центра обучения и исследования тестирования ПО. Тестированием занимается с 1983 г. — был тестировщиком, программистом, техническим автором, руководителем разработки ПО, независимым консультантом. Джек Фолк — консультант в области управления качеством ПО и программного инжиниринга, вице-президент Santa Clara Valley Software Quality Association, активный участник мастер-классов Los Altos Workshops по тестированию ПО. Енг Нгуен — основатель и президент Soft Gear Technology. Имеет большой опыт разработки ПО и оборудования, занимал управляющие должности по инжинирингу, обеспечению качества, тестированию, разработкам, также работал непосредственно программистом-тестировщиком.

Книга является исчерпывающим учебником по одному из наиболее важных и нетривиальных аспектов в рамках процесса создания сложных программных систем — тестированию. В ней рассматриваются виды тестов, типы ошибок, методики локализации ошибок и разработки документации. Основное внимание уделяется организации взаимодействия между членами команды тестировщиков.

В книге подробно рассматриваются следующие вопросы:
  • как быстро отыскать критические ошибки;
  • как подготовить качественное описание ошибок;
  • как разработать план тестирования;
  • как создавать и использовать систему отслеживания ошибок;
  • как правильно определить момент начала тестирования;
  • как тестировать локализованные продукты;
  • как тестировать продукты на совместимость с аппаратными средствами;
  • какое влияние на качество программного обеспечения оказывает законодательная база.



Книга: «A Practitioner's Guide to Software Test Design»
Автор: Ли Коплэнд

Ли Коплэнд обладает более чем 30-летним опытом работы в качестве специалиста по информационным системам. Занимал управляющие должности по разработке ПО, тестированию и улучшению. Разработал ряд обучающих курсов по разработке и тестированию, является организатором различных IT-конференций в США и за рубежом.

Данная книга — практическое руководство для начинающих тестировщиков. Здесь представлены все важные методики тестирования. Информация подается в простом и понятном виде. Вы узнаете:
  • как выбрать наилучший способ тестирования;
  • как быстро и с наименьшими усилиями искать баги;
  • как разрабатывать оптимальные стратегии;
  • как снижать «стоимость» ошибок;
  • как оценивать объем ресурсов, необходимых для качественного тестирования;
  • и многое другое.



Книга: «Основы тестирования программного обеспечения»
Авторы: Всеволод Котляров, Татьяна Коликова

Всеволод Котляров — кандидат технических наук, профессор Санкт-Петербургского политехнического университета.

В этом учебном курсе, созданном для Интернет-университета информационных технологий, рассказывается об основах проблем контроля качества разработки программного обеспечения.

Книга состоит из следующих разделов:
  • основные понятия тестирования: терминология, фазы, проблемы;
  • критерии выбора тестов;
  • разновидности тестирования;
  • особенности процесса индустриального тестирования;
  • регресссионное тестирование;
  • терминологический словарь.



Книга: «Как тестируют в Google»
Авторы: Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло

Джеймс Уиттакер — специалист по программному инжинирингу. Работал в государственных, академических и коммерческих организациях, основал несколько успешных стартапов. Участвовал в создании ряда известных продуктов IBM, Microsoft и Google. Опубликовал несколько исследовательских работ, является соавтором пяти книг.

Джейсон Арбон принимал участие в создании таких проектов, как Google+, Chrome Browser, Chrome OS, Google Desktop и Google Talk; в Microsoft — Search Relevance, Live QnA, WinFS, BizTalk Server, MSN, Windows CE и Exchange Server. Занимался разработкой, тестированием и управлением продуктами в целом ряде компаний.

Джефф Каролло — программный инженер, ответственный за тестирование таких продуктов, как Google Voice, Toolbar, Chrome и Chrome OS. Консультирует многие команды разработчиков в корпорации, помогая улучшить качество кода.

В книге описано тестирование программных продуктов в Google:
  • как устроены процессы;
  • как организованы команды;
  • какие техники используются;
  • кто ответственен за качество.

Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием.



Книга: «The Art of Unit Testing. With Examples in .NET»
Автор: Рой Ошеров

Рой Ошеров — программист и разработчик, автор двух книг. Консультирует по вопросам Agile-разработки, автоматизации, TDD и другим темам.

Правильно выполненное модульное тестирование может отличать успешный проект от провального; удобную в поддержке кодовую базу от такой, к которой страшно прикоснуться; ухода домой в два часа ночи от ухода в 18:00, еще до дедлайна.

Шаг за шагом книга проведет вас от простого к сложному в сфере модульного тестирования. Вы узнаете о продвинутых схемах и об организации тестирования, о работе с legacy-кодом (даже неподдающимся тестированию). В книге рассмотрены инструменты, необходимые для тестирования БД, и прочие технологии. Написана она для .NET-разработчиков, но будет полезна и всем остальным.

Мобильная разработка




Книга: «The Busy Coder's Guide to Android Development»
Автор: Марк Мёрфи

Марк Мёрфи уже более 25 лет занимается разработкой ПО. Является основателем компании CommonsWare, автором ряда книг по разработке под Android. Активно поддерживает сообщество разработчиков, отвечает на вопросы на сайте Stack Overflow, публикует примеры кода и многократно используемых компонентов под лицензией Open Source.

Данная книга — отличное руководство для начинающих разработчиков под Android, гораздо более удобное для восприятия, чем официальный гайд от Google. Здесь рассказывается о настройке среды программирования, об инструментах, о создании интерфейса, о загрузке данных из БД или интернета, о работе со смартфонами и планшетами разных форм-факторов. В конце книги имеются дополнения, предназначенные для более опытных разработчиков, желающих глубже изучить различные аспекты создания ПО под Android.

Официальный гайд по разработке под Android
Tags:
Hubs:
+25
Comments 3
Comments Comments 3

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен