Архив рубрики: Книги по технологии программирования

Книги по технологии программирования

Объектно-ориентированный анализ и проектирование с примерами приложений — Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон

Книга «Объектно-ориентированный анализ и проектирование с примерами приложений» группы авторов – переиздание известного справочника Гради Буча по объектно-ориентированному анализу и проектированию. Содержит практически полную информацию по объектным методам решения проблем, которые возникают в процессе разработки программного обеспечения.

Материал дополнен множеством примеров, наглядно иллюстрирующих принципы объектно-ориентированной идеологии в контексте разработки различных видов систем, в число которых входят системы управления, сбора данных, а также те, что имеют непосредственное отношение к искусственному интеллекту. Книга насыщена рекомендациями, касающимися оптимизации процессов, связанных с управлением проектами, их анализа, проектирования и собственно реализации. Предназначается преподавателям и студентам вузов, программистам, архитекторам, специалистам по системному анализу и экспертам в сфере информационных технологий.

Программирование в сетях Microsoft Windows — Э. Джонс, Д. Оланд

Как следует из названия, книга «Программирование в сетях Microsoft Windows» посвящена операционным системам семейства Windows и их сетевым функциям. Рассмотрены особенности работы с программными интерфейсами NetBIOS и WinLock и наиболее известными протоколами на платформе Win32 применительно к сетевому программированию и разработке приложений. Материал снабжен практическими примерами, в которых детально обсуждается множество вопросов, возникающих в ходе настройки и реализации различных видов сетевого взаимодействия — например, в рамках модели клиент-сервер. Кроме того, объясняется, как устанавливать соединение, передавать данные, регистрировать и разрешать имена, работать с настройками удаленного доступа, сетевого широковещания и т.д. Особое внимание уделяется Windows 2000, Active Directory, QoS и ATM. Книга состоит из пятнадцати глав, трех приложений и предметного указателя. В числе приложений – справочник команд NetBIOS с входными и выходными параметрами, информация о кодах ошибок WinSock, описание новых функций IP Helper, а также компакт-диск с примерами упомянутых в книге программ. Издание предназначено для программистов, а также для тех, кто делает свои первые шаги в сфере сетевого программирования.

Тактика защиты и нападения на Web-приложения — Марсель Низамутдинов

«Тактика защиты и нападения на Web-приложения» представляет собой справочник по вопросам уязвимости программного кода Web-приложений. Исследуются способы обнаружения и устранения таких уязвимостей в процессе эксплуатации, определяются основные принципы создания защищенного кода, рассмотрены различные методы защиты баз данных от уязвимостей, возникающих при недостаточной проверке данных и известных как SQL инъекции. Подробно объясняется, как можно построить безопасную систему авторизации, а также обсуждаются возможности написания безопасного кода с использованием межсайтингового скриптинга (XSS) в тех случаях, когда требуется создать форум, чат, доступа к электронной почте через Web-интерфейс и т.п. Не обходятся вниманием вопросы защиты сайтов, размещенных на различного вида серверах хостинговых компаний. Значительное место отведено обсуждению вируса, который способен размножаться только через уязвимости в программном коде Web-приложений. Книга насыщена примерами из реальной практики. К изданию прилагается компакт-диск с примерами программных скриптов, упомянутых в книге, а также необходимое для их запуска обеспечение. Кроме того, на диске можно найти полезные упражнения по проникновению в специальные тестовые сайты, используя уязвимости в их программном коде.

Многоядерное программирование — Шамим Эхтер, Джейсон Робертс

Книга «Многоядерное программирование» Ш. Эхтера и Дж. Робертса посвящена многоядерной архитектуре и системам, базирующимся на ее основе. В ней рассказывается, как создавать приложения на основе многоядерной архитектуры Intel с использованием многопоточности. Все описания снабжены примерами исходного кода, которые позволяют опробовать описываемые методы на практике. С помощью этой книги можно научиться программировать, используя API и интерфейс OpenMP, решать разнообразные задачи параллельного программирования, отлаживать и тестировать многопоточные приложения, а также вплотную ознакомиться с инструментами, необходимыми для разработки различных приложений. Книга рекомендуется разработчикам программного обеспечения, студентам и аспирантам, которые изучают многоядерную архитектуру и построенные на ее основе системы.

Как стать создателем компьютерных игр. Краткое руководство — В. В. Касихин

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

Разработка средств безопасности и эксплойтов — Джеймс К. Фостер, Винсент Лю

Книга «Разработка средств безопасности и эксплойтов» — это полезное практическое руководство по созданию средств безопасности ПО. Здесь Вы найдете многочисленные примеры употребления разных видов уязвимостей компьютерных систем, а также детальный анализ разнообразных техник взлома.

В данной книге описывается:

  • разработка надежных шелл-кодов
  • применение переполнений буфера
  • методы обработки кучи и результаты ее переполнения
  • использование обратных шелл-кодов
  • появление уязвимости форматной строки в процессе передачи внешних информационных данных функциям семейства printf
  • использование системы шелл-кодов Meterpreter
  • программирование для Ethereal и Nessus
  • уязвимые целочисленные ошибки
  • применение ситуаций конкуренции в локальных атаках
  • встроенная среда разработки Metasploit Framework

Следует отметить, что описываемая книга предназначена для работников в сфере программирования.

Обнаружение хакерских атак. Для профессионалов — Джон Чирилло

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

Объектно-ориентированный анализ: моделирование мира в состояниях — С. Шлеер, С. Меллор

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

Рефакторинг с использованием шаблонов — Джошуа Кериевски

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

Лучшие примеры разработки ПО — Джоэл Х. Спольски

Книга «Лучшие примеры разработки ПО» написана Джоэлом Спольски, который является ветераном индустрии ПО. Его журнал «Joel on Software» стал одним из наиболее популярных независимых электронных изданий среди программистов. Данная книга — это не учебник, не набор методик, не документация и/либо практик. Это поистине классное чтиво для разработчика с опытом и мозгами. Это яркие иллюстрации того, как можно относиться к тому, что делаешь, а также что делается вокруг тебя. Это уникальный набор поистине сумасшедших идей, которые могут использоваться и в жизни.