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

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

Периферийные устройства. Интерфейсы, схемотехника, программирование — В. А. Авдеев

Книга «Периферийные устройства. Интерфейсы, схемотехника, программирование» — это издание энциклопедически-справочного характера, снабженное множеством рисунков, таблиц и схем, которые прекрасно иллюстрируют подаваемый материал. В число обсуждаемых тем входят персональный компьютер и его периферийные устройства, компьютерные шины PCI, PCI Express, SATA, SCSI, USB, IEEE 1394, SAS, I2C, интерфейсная схемотехника. Рассматриваются различные виды жестких дисков, CD- и DVD-дисководов, печатающих устройств, интерактивных устройств ввода данных, сканеров, модемов, преобразователей информации и т.п. Далее описываются способы обмена данными, мониторы, видеоадаптеры, а также способы защиты информации от ошибок, включая коды Хэмминга, Боуза-Чоудхури-Хоквингема (БЧХ) и Рида-Соломона. Большое внимание уделяется вопросам построения пространственных интерфейсов ввода-вывода на микросхемах разных коммутационных устройств. Приведены примеры программирования избранных периферийных устройств на регистровом уровне, а варианты программных заданий представлены в виде функциональных графов. Кроме того, на поясняющих рисунках изображаются отдельные динамические модели шин и периферийных устройств. Большая часть глав данной книги структурирована по единому принципу: изложение начинается со знакомства читателя с основной терминологией и важнейшими определениями по теме. Далее следует описание классификационных признаков рассматриваемого предмета (функциональных, аппаратных, параметрических), после чего идет дополнительная справочная часть, а затем – контрольные вопросы и задания. Завершает изложение список литературы по тематике каждой главы. Книга рекомендуется работникам инженерно-технических профилей, преподавателям информатики и программирования, студентам средних и высших учебных заведений, специализирующимся в компьютерной технике и информационных технологиях.

Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем — Эрик Эванс

Книга «Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем» представляет собой издание справочного характера, посвященное самым общим вопросам объектно-ориентированного программирования. Рассмотрены, в частности, основополагающие принципы использования типовых архитектурных шаблонов и применения крупномасштабных структур в качестве базы для организации программ. Обсуждаются предметные области знаний, даются правила их анализа и методы структурирования, приводятся примеры построения моделей предметных областей с проведением их стандартного анализа. Разбираются вопросы, которые обычно возникают в процессе проектирования программных объектов и связаны с качеством взаимодействия последних между собой, а также со способами передачи логической структуры знания. Описываются принципы выработки стратегии и возможные средства решения проблем коммуникации в группах. Основной принцип подхода автора ко всем поставленным задачам заключается в динамичном рефакторинге соответствующих моделей и постоянном анализе полученных знаний. Таким образом, появляется возможность достигнуть сбалансированного соответствия между логикой рассматриваемого предмета или области знаний и определенным программным кодом. Программная архитектура приобретает своеобразную гибкость, что вносит значительные удобства в последующие процессы реинжиниринга программного обеспечения. Известно, что одним из важнейших разделов проектирования ПО является моделирование предметных областей. Для этих областей задумываются функции и программы различной сложности, после чего они реализуются в заданном условиями виде. Условия соответствуют потребностям и запросам пользователей. Для того чтобы успешно решать поставленные в этой сфере программирования задачи, необходимо систематизированное изучение существующих технологий и их предметно-ориентированный анализ. Автор книги разработал именно такой подход к проблеме и делится своими приемами и методиками с читателем. Книга содержит множество практических примеров, иллюстрирующих применение сформулированных автором стратегических принципов по реализации состоявшихся программных проектов, связанных с особо сложными предметными областями знаний. Специально выделяются шаблоны, используемые при анализе и работе с проблемами нахождения общего языка, встречающимися в группах разработчиков. Особое место отведено рефакторингу кода и лежащей в его основе модели, а также итерационной agile-методике. Сочетание этих двух приемов значительно повышает качество взаимодействия между группами различного вида специалистов и программистами, поскольку способствует лучшему анализу и пониманию задействованных предметных областей. Книга рекомендуется всем, кто интересуется моделями, устройством и структурированием организаций и систем в контексте предметно-ориентированного проектирования и программирования.

Методика решения задач по информатике. Международные олимпиады — В. М. Кирюхин, С. М. Окулов

Книга «Методика решения задач по информатике. Международные олимпиады» представляет собой сборник из 18 международных олимпиад по информатике среди учащихся школ за 1989-2006 гг. Книга призвана обучить ученика или студента самостоятельной подготовке к решению олимпиадных задач и делает основной упор на рассмотрение методики решения задач. Книга будет полезной каждому студенту и школьнику, интересующемуся информатикой и желающему профессионально заниматься ей в будущем. Также книгу могут использовать преподаватели, желающие дополнить стандартные образовательные программы олимпиадным материалом.

Эффективная работа с унаследованным кодом — Майкл К. Физерс

Книга «Эффективная работа с унаследованным кодом» научит читателя повышать производительность, надежность, функциональность и сопровождаемость унаследованных систем и извлекать из них максимум пользы. Имея дело с унаследованным кодом, вы далеко не всегда найдете его понятным, а внесенные изменения в код не дадут моментальной ответной реакции, таким образом, вы просто зря тратите усилия и время на разработку. Благодаря книге Майкла Физерса работа с крупными базами нетестированного унаследованного кода станет проще, если использовать стратегические приемы, предлагаемые автором. Майкл Физерс в полном объеме изложил в книге материал, который был изложен им на крупных семинарах компании Object Mentor. Это приемы, которым он обучил сотни специалистов, разработчиков, тестировщиков ПО, технических руководителей и которые призваны подчинить себе непослушные базы унаследованного кода. Чтобы сделать внесение в код изменений более безопасным, автор предлагает 24 варианта разрыва зависимостей, помогающих работать с элементами ПО.
В книге также рассмотрены такие вопросы как:
— механизмы внесения в программное обеспечение изменений, в частности, устранение программных ошибок, ввод новых свойств, оптимизация производительности и улучшение структуры кода;
— создание тестов, не дающих вносить новые ошибки в код;
— перенесение унаследованного кода в средства тестирования;
— определение в коде мест, которые требуют внесения изменений;
— работа с приложениями, не имеющими, на первый взгляд, структуры;
— использование подходящих для любого языка и платформы методов, с примерами кода на языках C, C#, C++ и Java.

Языки персональных компьютеров — Верлань А. Ф., Апатова Н. В., Донской В. И.

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

Криминалистический анализ файловых систем — Брайан Кэрриэ

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

Приемы объектно-ориентированного проектирования. Паттерны проектирования — Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес

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

Алгоритмизация и языки программирования: Pascal, C++, Visual Basic — Ю. А. Аляев, О. А. Козлов

Издание «Алгоритмизация и языки программирования: Pascal, C++, Visual Basic» предназначено в первую очередь для студентов и преподавателей школ и вузов, а также для учащихся специализированных классов гимназий и лицеев. Книга посвящена двум важнейшим разделам информатики — программированию и алгоритмизации. В доступной форме на конкретных примерах рассмотрены основы алгоритмизации, особенности и принципы языков программирования высокого уровня, а также встроенных оболочек Pascal 7.0, C++ и Visual Basic 5.0. Показаны возможности применения языков Pascal и Basic в создании Windows-приложений.

Ремесло программиста. Практика написания хорошего кода — Питер Гудлиф

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

Чистый код. Создание, анализ и рефакторинг — Роберт Мартин

Книгу Р. Мартина «Чистый код. Создание, анализ и рефакторинг» можно назвать настольным руководством по программному коду. Известно, что только «чистый» код будет работать как часы, не отнимая у проекта дополнительные ресурсы на поддержку и исправление. Книга повествует о том, чем плохой код отличается от хорошего, как распознать признаки плохого кода, каким образом писать хороший код и как делать из плохого хороший. Она учит качественному программированию и насыщена практическими примерами хорошего кода. Книга состоит из трех частей, каждая из которых посвящена отдельным аспектам рассматриваемого предмета. В первой части обсуждаются приемы, способы и подходы, применяемые в процессе создания «чистого» кода. Повествование сопровождается множеством примеров. Вторая часть представляет собой набор сценариев, даваемых читателю в порядке увеличения сложности. В этих сценариях решаются практические задачи по очистке кода или уменьшению количества проблем в коде путем его преобразования. Третья часть книги суммирует и систематизирует изложенное ранее. Она содержит список «запахов кода» и разнообразных эвристических правил, которые собираются в процессе анализа, и отражает набор знаний, приобретенный читателем в ходе чтения книги и выполнения всех практических заданий по созданию и очистке кода. Ориентирована на студентов и программистов.