Технологии разработки программного обеспечения - ТОП 50 лучших книг
Юнит-тестирование – это процесс проверки отдельных модулей программы на корректность работы. Правильный подход к тестированию позволит максимизировать качество и скорость разработки проекта. Некачественные тесты, наоборот, могут нанести вред: нарушить работоспособность кода, увеличить количество ошибок, растянуть сроки и затраты. Грамотное внедрение юнит-тестирования – хорошее решение для развития проекта.
Научитесь разрабатывать тесты профессионального уровня, без ошибок автоматизировать процессы тестирования, а также интегрировать тестирование в жизненный цикл приложения. Со временем вы овладеете особым чутьем, присущим специалистам по тестированию. Как ни удивительно, практика написания хороших тестов способствует созданию более качественного кода.
В этой книге: универсальные рекомендации по оценке тестов; тестирование для выявления и исключения антипаттернов; рефакторинг тестов вместе с рабочим кодом; использование интеграционных тестов для проверки всей системы.
После покупки предоставляется дополни…
Основываясь на многолетнем опыте, эксперты Грегор Хоп и Бобби Вульф рекомендуют асинхронный обмен сообщениями в качестве оптимальной стратегии интеграции корпоративных приложений. Вместе с тем создание и развертывание решений, основанных на обмене сообщениями, представляет собой весьма непростую задачу для разработчиков. В книге «Шаблоны интеграции корпоративных приложений» рассматриваются шаблоны проектирования и приводятся практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии.
Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а так же дают практические советы по созданию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния. Если вы хотите научиться управлять системой обмена сообщениями и обеспечивать ее поддержку, а также осуществлять мониторинг, эта книга – для вас.
Существует много замечательных методологий и стандартов проектного управления. В своей книге авторы приводят только реально работающие и проверенные на собственном опыте практики, которые вы сразу же можете использовать в своей компании.
Что такое проектная среда и паттерны формирования проектной среды и управления?
Как выбрать оптимальный набор практик управления и разработки требований к информационным системам?
Как сделать проект управляемым и предсказуемым?
Как выгодно продать себя в качестве мастера управления проектной средой?
Ответы на эти и другие вопросы помогут вам максимально эффективно построить процессы управления и производства.
В издании представлена информация со ссылками на теоретические материалы из разных областей управления разработкой программного обеспечения: анализа, архитектуры, управления проектами, лидерства и управления персоналом – то, что может понадобиться в работе над реальными производственными проектами.
Проанализированы разнообразные кейсы и ситуации, приведены примеры до…
В этом, 7-м, издании книга-бестселлер по MVC обновлена с учетом версии ASP.NET Core MVC 2. Она содержит подробные объяснения функциональности Core MVC, которая позволяет разработчикам выпускать более экономные, оптимизированные под облако и готовые к функционированию на мобильных устройствах приложения для платформы .NET. В книге показано, как поместить ASP.NET Core MVC в контекст разработки, а также глубоко исследованы инструменты и приемы, требуемые для построения современных, оптимизированных под облако, расширяемых веб-приложений. Детально описаны все новые средства MVC и приведены пояснения, как наиболее эффективно применять их к новым и существующим проектам.
Инфраструктура ASP.NET Core MVC Framework – это последнее развитие веб-платформы ASP.NET от Microsoft, построенное на совершенно новом фундаменте. Она представляет основополагающее изменение в том, каким образом Microsoft конструирует и развертывает веб-инфраструктуры, и свободна от наследия более ранних технологий, подобных Web Forms. Инфрастр…
«Scala. Профессиональное программирование» – главная книга по Scala, популярному языку для платформы Java, в котором сочетаются концепции объектно-ориентированного и функционального программирования, благодаря чему он превращается в уникальное и мощное средство разработки.
Этот авторитетный труд, написанный создателями Scala, поможет вам пошагово изучить язык и идеи, лежащие в его основе.
Данное четвертое издание полностью обновлено. Добавлен материал об изменениях, появившихся в Scala 2.13, в том числе:новая иерархия типов коллекций;новые конкретные типы коллекций;новые методы, добавленные к коллекциям;новые способы определять собственные типы коллекций;новые упрощенные представления.
Один из самых креативных и признанных лидеров в индустрии программного обеспечения Кент Бек собрал 77 шаблонов для обслуживания задач ежедневного программирования и написания более читаемого кода. Эта новая коллекция шаблонов предназначена для реализации многих аспектов разработки, включая классы, состояние, поведение, методы, коллекции, инфраструктуры и т.д. Автор использует диаграммы, истории, примеры и эссе для того, чтобы увлечь читателя по ходу освещения шаблонов. Вы обнаружите проверенные решения для управления всем, от именования переменных до проверки исключений.
Эта книга предназначена для программистов всех уровней подготовки, особенно для тех, кто применяет в своей практике шаблоны проектирования и методы быстрой разработки. Книга также окажется неоценимым ресурсом для команд разработчиков, ищущих более эффективные методы совместной работы и построения более управляемого ПО.
Книга освещает практические основы когнитивистики для программистов. Основные темы: осмысление и развитие чужого и собственного кода, изучение новых языков программирования, мнемонические приемы для программистов, поддержка кода в читаемом состоянии. Объяснено, как снижать когнитивную нагрузку при работе программиста, как делать код логичным и понятным для себя и коллег. Рассмотрены приемы именования функций, классов и переменных, подходы к ведению репозиториев, совместной разработке и доработке кода.
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина.
В книге описывается процесс ICONIX – методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на основе прецедентов: моделирование предметной области, моделирование прецедентов, анализ пригодности и построение диаграмм последовательности. Приводится обзор каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, предназначенных для самостоятельного поиска и исправления недочетов.
Авторы показывают на конкретных примерах, как можно избежать типичных ошибок проектирования. Располагая этой информацией, читатель приобретет знания и навыки, необходимые для применения моделирования на основе прецедентов.
С появлением микропроцессоров, обладающих большим числом ядер, понимание конкуренции и параллелизма при разработке программного обеспечения стало еще более важным, чем прежде. В книге вы познакомитесь с преимуществами функционального программирования с точки зрения конкуренции, узнаете, как применять акторы для разработки распределенного программного обеспечения, и исследуете приемы параллельной обработки огромных объемов информации на нескольких процессорах. Эта книга поможет вам приобрести новые навыки в разработке программ, благодаря чему вы будете готовы решать сложные задачи в ближайшие несколько лет.
Автор книги «Наиболее эффективное использование C++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть программы, безупречные во всех отношениях.
Настоящая книга описывает приемы, которые позволяют значительно повысить производительность программ, выбрав оптимальное соотношение затрат времени/памяти на различные операции. Здесь вы найдете примеры обработки исключений и анализ их влияния на структуру и поведение классов и функций C++, а также варианты практического применения новых возможностей языка, таких как тип bool, ключевые слова mutable и explicit, пространства имен, шаблоны функций членов, стандартная библиотека шаблонов и многое другое.
Второе издание знаменитого бестселлера «Unity в действии» было полностью переработано, чтобы познакомить вас с новыми подходами и идеями, позволяющими максимально эффективно использовать Unity для разработки игр. Больше внимания уделено проектированию двумерных игр, фундаментальные концепции которых читатель может применить на практике и построить сложный двумерный платформер. Эту книгу можно смело назвать введением в Unity для профессиональных программистов. Джозеф Хокинг дает людям, имеющим опыт разработки, всю необходимую информацию, которая поможет быстро освоить новый инструмент и приступить к созданию новых игр. А учиться лучше всего на конкретных проектах и практических заданиях.
Unity зачастую представляют как набор компонентов, не требующих программирования, что в корне неверно. Для создания успешной игры необходимо многое: великолепная работа художника, программистские навыки, интересная история, увлекательный геймплей, дружная и слаженная работа команды разработчиков. А еще нельзя забывать про …
Дэвид Фарли, легендарный разработчик и создатель continuous delivery, рассказывает о фундаментальных принципах разработки современного ПО. Пора познакомиться с наиболее эффективными и грамотными методами управления рабочими процессами, которые позволят повысить качество ваших приложений, вашей жизни и жизни ваших коллег.
Ключевые концепции, лежащие в основе эффективной разработки ПО, – это непрерывное обучение и управление сложностью. Дэвид Фарли анализирует их и формулирует принципы, следование которым приведет к улучшению дизайна ПО и качества кода, а также методы и подходы, доказавшие свою эффективность и приводящие к успеху.
Речь идет не об абстракциях, вы освоите реальные приемы, которыми пользуются опытные разработчики ПО. Эти техники эмпирические и итеративные, они основаны на обратной связи и сосредоточены на выполнении кода, то есть соответствуют всем требованиям современной разработки.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Современные программисты должны не только эффективно программировать, но и знать надлежащие инженерные практики, позволяющие сделать кодовую базу стабильной и качественной. В чем же разница между программированием и программной инженерией? Как разработчик может управлять живой кодовой базой, которая развивается и реагирует на меняющиеся требования на всем протяжении своего существования? Основываясь на опыте Google, инженеры-программисты Титус Винтерс и Хайрам Райт вместе с Томом Маншреком делают откровенный и проницательный анализ того, как ведущие мировые практики создают и поддерживают ПО. Речь идет об уникальной инженерной культуре, процессах и инструментах Google, а также о том, как эти аспекты влияют на эффективность разработки. Вы изучите фундаментальные принципы, которые компании разработчиков ПО должны учитывать при проектировании, разработке архитектуры, написании и сопровождении кода.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub
Эта книга поможет Вам создать уютный оазис определенности в жестокой пустыне проектной деятельности.
Палящие лучи неопределенности, выжигающие все живое вокруг, остановятся, когда на их пути возникнут нормальные, понятные, продуманные бизнес-требования к проекту.
Вы внесете в проект атмосферу взаимопонимания и управляемости, если будете руководствоваться изложенными в книге подходами и шаблонами.
Ваши контрагенты будут приятно удивлены и станут стремиться только к Вам, потому как Вы станете тем редким "заказчиком, который точно знает, что он хочет".
Книга поможет вам задать правильные вопросы и найти ответы на старте проекта, заранее, до того, как все сроки прошли, а работа сделана.
И не важно, кто вы - бизнес-специалист или аналитик, в любом случае требования, вышедшие из под Вашего пера после прочтения этой книги будут вызывать диалог по существу, а не ужас в глазах ваших потенциальных исполнителей.
Это дорогого стоит! Добро пожаловать в мир правильных бизнес-требований!
В 1994 году книга «Dessign Patterns» полностью перевернула объектно-ориентированную разработку программного обеспечения, предоставив классические решения повторяющихся задач проектирования. В 1999 году книга «Refactoring» изменила представление о проектировании, показав эффективные способы улучшения кода. В давно ожидаемой книге «Рефакторинг с использованием шаблонов» Джошуа Кериевски кардинально изменил подход к проектированию, объединив шаблоны проектирования с эволюционным процессом рефакторинга.
Книга содержит теоретические сведения и практические инструкции по выполнению рефакторингов, управляемых шаблонами проектирования, а именно последовательности низкоуровневых рефакторингов, позволяющих разработчикам безопасно переходить в своих проектах к реализации шаблонов проектирования, по направлению к ним или выполнять рефакторинг с отказом от шаблонов проектирования. Используя код реальных проектов, Кериевски документирует размышления и действия, имевшие место при реальных рефакторингах более чем двух де…
Эта книга для новичков, а также для тех, кто желает попробовать себя в тестировании. Она поможет вам понять, что ручное тестирование - это не просто поиск ошибок, а важная часть создания качественного продукта. В книге простыми словами объясняется, как тестировщик проверяет продукт с точки зрения пользователя, выявляя не только функциональные проблемы, но и нюансы, которые могут повлиять на удобство использования.
Эта книга станет отличным стартом для тех, кто хочет начать карьеру в тестировании и развить навыки, необходимые для оценки и улучшения пользовательского опыта.
Неважно, каким инструментом вы пользуетесь для программной разработки – Java, .NET, или Ruby on Rails. Написание кода – это еще только полдела. Готовы ли вы к внезапному наплыву ботов на ваш сайт? Предусмотрена ли в вашем ПО «защита от дурака»? Правильно ли вы понимаете юзабилити? Майкл Нейгард утверждает, что большинство проблем в программных продуктах были заложены в них еще на стадии дизайна и проектирования. Вы можете двигаться к идеалу сами – методом проб и ошибок, а можете использовать опыт автора. В этой книге вы найдете множество шаблонов проектирования, помогающих избежать критических ситуаций, и не меньшее количество антишаблонов, иллюстрирующих неправильные подходы с подробным анализом возможных последствий. Любой разработчик, имеющий опыт многопоточного программирования, легко разберется в приведенных примерах на Java, которые подробно поясняются и комментируются.
Стабильность, безопасность и дружественный интерфейс – вот три важнейших слагаемых успеха вашего программного продукта. Если в ваши…
В этой книге, выхода которой с нетерпением ожидало сообщество сторонников гибких методологий разработки программного обеспечения, описывается процесс подготовки требований к разрабатываемой системе, который позволяет экономить время, избавляет от необходимости в переделках и ведет к созданию более совершенных программ.
Лучший способ создать программное обеспечение, максимально полно удовлетворяющее потребностям пользователей, – начать с пользовательских историй. Это простые, понятные и краткие описания функциональности, которая представляет деловую ценность для реальных пользователей. В книге приводятся подробные рекомендации относительно того, как следует писать пользовательские истории и включать их в жизненные циклы разработки проекта.
Вы узнаете, что такое хорошие пользовательские истории и что делает истории плохими. Вы познакомитесь с практическими методами сбора историй, позволяющими добиться хороших результатов даже тогда, когда возможность непосредственного общения с пользователями отсутствует. А…
Создание компьютерных систем – дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся все более трудоемкими, причем затраты труда растут экспоненциально. Как и в любой профессии, прогресс в программировании достигается исключительно путем обучения, причем не только на ошибках, но и на удачах – как своих, так и чужих. Книга дает ответы на трудные вопросы, с которыми приходится сталкиваться всем разработчикам корпоративных систем. Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий базовые принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений. Результат перед вами – незаменимое руководство по архитектуре программных систем для любой корпоративной платформы. Это своеобразное учебное пособие поможет вам не только усвоить информацию, но и передать полученн…
Tестирование программного обеспечения, поставляемого пользователям, часто бывает болезненным, рискованным и длительным процессом. Перед вами книга, представляющая совершенно новую стратегию разработки – набор принципов и практических методик, обеспечивающих быструю инкрементную поставку высококачественного программного обеспечения. Благодаря автоматизации процессов сборки, установки и тестирования и улучшению взаимодействия разработчиков, тестировщиков и администраторов команда проекта получает возможность поставлять изменения и новые средства в течение считанных часов или даже минут, независимо от размера проекта и сложности его кодовой базы.
Авторы начинают с рассмотрения основ процесса быстрой и надежной поставки программного обеспечения с минимальными рисками. Затем они вводят понятие «конвейера развертывания» – автоматизированного процесса, управляющего всеми изменениями проекта, от регистрации изменений до выпуска очередной версии программы. И наконец, в книге обсуждаются способы поддержки непрерывн…
В книге рассмотрена технология создания документации на информационную систему как программный продукт, обрабатывающий информацию, с опорой на существующие в странах СНГ стандарты.
Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы, языка или вида приложений.
Рассмотрены уязвимости на языках C/C++, C#, Java, Visual Basic, Visual Basic .NET, Perl, Python в операционных системах Windows, Unix, Linux, Mac OS, Novell Netware. Авторы издания, Майкл Ховард и Дэвид Лебланк, обучают программистов как писать безопасный код в компании Microsoft. На различных примерах продемонстрированы как сами ошибки, так и способы их исправления и защиты от них.
Если вы – программист, то вам просто необходимо прочесть эту книгу.
Эта книга для всех, кто, не имея специального математического образования, хочет узнать, как применять методы оптимизации для решения практических задач. В ней рассматриваются задачи оптимизации из различных сфер деятельности: экономика, финансы, техника, проектирование, строительство и др., излагаются теоретические основы методов оптимизации (линейное, нелинейное и динамическое программирование). В разделе «Динамическое программирование» опровергаются некоторые устоявшиеся стереотипы и умозаключения; для широкого круга задач предложен новый метод «динамическое программирование на множествах Парето».
По каждому из трех разделов приводятся контрольные вопросы и задачи, на большинство из них в приложениях даны ответы и решения. Приводятся сведения о пяти обучающих компьютерных программах, специально разработанных для изучения методов оптимизации.
Используемый математический аппарат сведен к минимуму и поясняется в тексте, что обеспечивает понимание методов оптимизации при наличии математической подготовки в…
В данной книге рассматривается практическое использование пакета визуального моделирования Rational Rose в соответствии с методологией Rational Unified Process.
Поскольку с каждым годом сложность программного обеспечения возрастает, потребность в средствах визуального моделирования и проектирования, а также людях, знающих и умеющих использовать их на практике, тоже увеличивается. Все больше программистов и разработчиков, которые раньше просто писали программный код, понимают, что для создания серьезного программного обеспечения необходимы строгий системный подход, использование передовых методик и средств разработки крупных проектов.
Именно такую методику (Rational Unified Process, RUP) и программный продукт (Rational Rose), позволяющий в максимальной мере следовать данной методике, предлагает компания Rational.
Книга будет полезна как начинающим проектировщикам, которые сразу хотят приступить к работе с передовыми программными продуктами, так и опытным специалистам, стремящимся повысить качество разрабат…
Книга описывает методы создания событийно-управляемых микросервисов для обработки больших объемов данных и предлагает шаблоны приложений, использующих подобную архитектуру. Рассказано о роли микросервисов в поддержке событийно-управляемых проектов, представлены примеры практических реализаций подобных архитектур как силами сотрудников организации, так и с привлечением сторонних специалистов. Подробно описаны инструменты, необходимые для разработки экосистемы микросервисов. Приведены способы решения возникающих проблем, даны рекомендации по налаживанию взаимодействия команд и отдельных сотрудников в процессе создания событийно-управляемых микросервисных систем.
Для системных архитекторов, разработчиков и ИТ-специалистов.
Scala – современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны программирования компактнее, выразительнее и безопаснее. Scala прекрасно сочетает в себе черты объектно-ориентированных и функциональных языков.
Книга начинается с введения в основы конкурентного программирования в JVM и описания модели памяти в Java, а после демонстрирует основные строительные блоки для реализации конкурентных вычислений, такие как атомарные переменные, пулы потоков и конкурентные структуры данных. Затем рассматриваются разные высокоуровневые абстракции конкуренции, каждая из которых ориентирована на решение определенного класса задач, при этом затрагиваются самые последние достижения в поддержке асинхронного программирования. Также охватываются некоторые полезные шаблоны и способы использования описываемых приемов. В заключение дается краткий обзор применения разных библиотек поддержки конкуренции и демонстрируется возможность их совместного использования.
Издание предназначено разрабо…
Авторами приведено общее описание метода циклического декодирования БЧХ-кода. Представлена структура декодера БЧХ-кода (15, 7, 5), исправляющего двукратные независимые ошибки на основе метода циклического декодирования с применением классического алгоритма деления полиномов и последовательного вычисления синдромов ошибок. Приведена схема классического алгоритма, реализованного на регистрах сдвига с линейной обратной связью. Указаны недостатки приведенной структуры, а также пути их устранения. Представлена структура быстродействующего декодера БЧХ-кода с применением матричного алгоритма деления полиномов и параллельным вычислением синдромов ошибок. Описан принцип матричного деления, применяемого для ускорения вычисления остатков от деления кодового слова на образующий полином. Проведено сравнение быстродействия устройств декодирования, на основе которого можно сделать вывод о преимуществе предлагаемого устройства по скорости декодирования примерно в 1182 раза.
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке C#, но существует аналогичная книга с примерами на языке Java.
Издание предназначено программистам на C#, желающим научиться писать качественный и хорошо поддерживаемый код.
В статье рассмотрены основные аспекты тестирования производительности программных продуктов. Авторами приводится классификация методов тестирования. При этом основное внимание уделяется так называемому нагрузочному тестированию. Нагрузочное тестирование проводится с целью определения степени соответствия системы нефункциональным требованиям, таким как максимальное количество одновременных пользователей, время отклика информационного сервиса и т. п. В работе подробно описаны различные виды нагрузочных тестов, а также представлена методика тестирования для каждого вида, предложен набор показателей для классификации инструментов тестирования, на основе которого приведен сравнительный анализ существующих инструментальных средств для проведения нагрузочного тестирования.
Статья посвящена использованию новых технологий параллелизма, которые появились в современных стандартах Фортрана (Fortran-2003, Fortran-2008). Авторами описаны конвейерные операции и подпрограммы; рассмотрены новые технологии параллелизма: комассивы и автораспараллеливание; представлены результаты тестирования различных технологий параллелизма; проанализированы особенности использования различных компиляторов Фортрана.
В 1994 году книга «Dessign Patterns» полностью перевернула объектно-ориентированную разработку программного обеспечения, предоставив классические решения повторяющихся задач проектирования. В 1999 году книга «Refactoring» изменила представление о проектировании, показав эффективные способы улучшения кода. В давно ожидаемой книге «Рефакторинг с использованием шаблонов» Джошуа Кериевски кардинально изменил подход к проектированию, объединив шаблоны проектирования с эволюционным процессом рефакторинга.
Книга содержит теоретические сведения и практические инструкции по выполнению рефакторингов, управляемых шаблонами проектирования, а именно последовательности низкоуровневых рефакторингов, позволяющих разработчикам безопасно переходить в своих проектах к реализации шаблонов проектирования, по направлению к ним или выполнять рефакторинг с отказом от шаблонов проектирования. Используя код реальных проектов, Кериевски документирует размышления и действия, имевшие место при реальных рефакторингах более чем двух де…
Интервью по System Design (проектированию ИТ-систем) очень популярны у работодателей, на них легко проверить ваши навыки общения и оценить умение решать реальные задачи. Пройти такое собеседование непросто, поскольку в проектировании ИТ-систем не существует единственно правильных решений. Речь идет о самых разнообразных реальных системах, обладающих множеством особенностей. Вам могут предложить выбрать общую архитектуру, а потом пройтись по всем компонентам или, наоборот, сосредоточиться на каком-то одном аспекте. Но в любом случае вы должны продемонстрировать понимание и знание системных требований, ограничений и узких мест.
Правильная стратегия и знания являются ключевыми факторами успешного прохождения интервью!
После покупки дополнительно предоставляется возможность скачать книгу в формате epub.
Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд.
Книга «Объекты. Стильное ООП» познакомит вас с профессиональными техниками написания ОО-кода. Маттиас Нобак раскрывает правила создания объектов, определения методов, изменения и извлечения состояний и многое другое. Все примеры написаны на простом псевдокоде, который легко перевести в любой язык программирования. Кейс за кейсом вы изучите ключевые сценарии и задачи проектирования объектов, а затем шаг за шагом создадите простое веб-приложение, которое покажет, как должны взаимодействовать объекты разных типов.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
В этом, 7-м, издании книга-бестселлер по MVC обновлена с учетом версии ASP.NET Core MVC 2. Она содержит подробные объяснения функциональности Core MVC, которая позволяет разработчикам выпускать более экономные, оптимизированные под облако и готовые к функционированию на мобильных устройствах приложения для платформы .NET. В книге показано, как поместить ASP.NET Core MVC в контекст разработки, а также глубоко исследованы инструменты и приемы, требуемые для построения современных, оптимизированных под облако, расширяемых веб-приложений. Детально описаны все новые средства MVC и приведены пояснения, как наиболее эффективно применять их к новым и существующим проектам.
Инфраструктура ASP.NET Core MVC Framework – это последнее развитие веб-платформы ASP.NET от Microsoft, построенное на совершенно новом фундаменте. Она представляет основополагающее изменение в том, каким образом Microsoft конструирует и развертывает веб-инфраструктуры, и свободна от наследия более ранних технологий, подобных Web Forms. Инфрастр…
В этой книге, выхода которой с нетерпением ожидало сообщество сторонников гибких методологий разработки программного обеспечения, описывается процесс подготовки требований к разрабатываемой системе, который позволяет экономить время, избавляет от необходимости в переделках и ведет к созданию более совершенных программ.
Лучший способ создать программное обеспечение, максимально полно удовлетворяющее потребностям пользователей, – начать с пользовательских историй. Это простые, понятные и краткие описания функциональности, которая представляет деловую ценность для реальных пользователей. В книге приводятся подробные рекомендации относительно того, как следует писать пользовательские истории и включать их в жизненные циклы разработки проекта.
Вы узнаете, что такое хорошие пользовательские истории и что делает истории плохими. Вы познакомитесь с практическими методами сбора историй, позволяющими добиться хороших результатов даже тогда, когда возможность непосредственного общения с пользователями отсутствует. А…
Объектно-ориентированное программирование (ООП) – технология, которую обязан знать, понимать и применять каждый программист.
Печально, но многие программисты не знают, не понимают и не применяют. А многие, что ещё хуже, – находятся в заблуждении, что знают, понимают и применяют.
Из этой книги вы узнаете всё, что надо знать об ООП – и даже немного больше. Кратко, понятно, с примерами. Для умных людей.
В работе показана архитектура модуля обработки данных, используемого в интерпретаторе декларативного языка моделирования BML. В статье дается теоретическое обоснование и рассматривается практическое применение элемента «Block» в рамках языка BML.
В работе также описывается архитектура класса элемента и его дочерних классов, дается детальное обоснование использования паттерна «абстрактная фабрика».
Рассмотрены законы UX-дизайна, основанные на психологии поведения пользователей, которые дизайнеры могут использовать на практике для создания интуитивно понятных, ориентированных на человека продуктов и услуг.
Описаны законы Якоба (о привычном интерфейсе), Фиттса (о времени достижения цели), Хика (о времени, необходимом для принятия решения), Миллера (о кратковременной памяти пользователя), Постеля (о балансе консервативного и либерального), Теслера (о степени сложности системы) и эффект фон Ресторфф (о самом запоминающемся объекте). Обсуждается правило «на пике и в конце», связанное с особенностью выработки суждений. Также рассмотрен эффект восприятия эстетически приятного дизайна как наиболее удобного в использовании.
Создание игр – увлекательное дело, а Unity делает его простым и доступным! Unity возьмет на себя всю тяжелую работу, и вы сможете сосредоточиться на игре, графике и взаимодействии с пользователем. Поддержка C# и огромная экосистема готовых компонентов позволят даже начинающим разработчикам быстро перейти от идеи к реализации. Осваивать и получать практический опыт работы с инструментами Unity и высокотехнологичным механизмом визуализации вы будете на примерах игр в двумерной, трехмерной и виртуальной/дополненной реальности.
Эту книгу можно смело назвать введением в Unity для профессиональных программистов. Джозеф Хокинг дает людям, имеющим опыт разработки, всю необходимую информацию, которая поможет быстро освоить новый инструмент и приступить к реальной работе. А учиться лучше всего на конкретных проектах и практических заданиях.
Третье издание знаменитого бестселлера было полностью переработано. И самое главное – теперь в книге пойдет речь о дополненной и виртуальной реальности.
Осваивайте Unity и быстр…
Стандартная библиотека Python содержит сотни модулей, позволяющих взаимодействовать с операционной системой, интерпретатором и Интернетом. Все они тщательно протестированы и готовы к немедленному использованию для разработки приложений. В этой книге Даг Хеллман, эксперт по языку Python, описывает все основные разделы библиотеки Python 3.x, сопровождая изложение материала компактными примерами исходного кода и результатами их выполнения. Приведенные примеры наглядно демонстрируют возможности каждого из модулей, предлагаемых библиотекой, и пригодны не только для изучения, но и для использования в реальном коде.
В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами. Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством.
В книге рассмотрены новые библиотек…
Книга демонстрирует преимущества методологии разработки на основе тестирования (TDD) на языке Python. Вы научитесь писать и выполнять тесты для создания любого фрагмента вашего приложения и затем разрабатывать минимальный объем программного кода, необходимого для прохождения этих тестов. Вы также научитесь работать с различными инструментами и фреймворками, такими как Django, Selenium, Git, jQuery и Mock.
Издание предназначено всем разработчикам, кто уже освоил начальный уровень программирования на Python и хочет перейти на следующий.
В учебном пособии рассматриваются основные этапы разработки программных продуктов с позиции системного подхода в рамках каскадной модели. Цели разработки на каждом этапе определены в соответствии с требованиями профессиональных стандартов. В соответствии с целями спроектирована индивидуальная и командная работа на каждом этапе, сформулированы критерии оценки, приведены образцы выполнения работы, представлены инструменты для самооценки качества результатов разработки.
Материалы учебного пособия по дисциплине «Информатика» адресованы студентам первого курса факультета автоматики и вычислительной техники (направление 09.03.01 «Информатика и вычислительная техника»), а также всем, кто интересуется вопросами организации эффективной разработки программных продуктов различного назначения.
В каждой кодовой базе есть ошибки и слабые места, которые нужно найти и исправить. Правильный рефакторинг сделает ваш код элегантным, удобным для чтения и простым в обслуживании. Познакомьтесь с уникальным подходом, позволяющим реализовать любой метод в пяти строках кода. И не забывайте про тайну, хорошо известную большинству senior-разработчиков: иногда проще ухудшить код и вернуться к его исправлению позже.
«Пять строк кода» – это свежий взгляд на рефакторинг для разработчиков любого уровня. Вы узнаете, когда проводить рефакторинг, как использовать паттерны, а также научитесь определять признаки, которые говорят о том, что код необходимо удалить.
Для разработчиков всех уровней. В примерах используется доступный и понятный синтаксис TypeScript, который позволяет перейти к любому языку высокого уровня.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Эта классическая книга представляет собой всеобъемлющий источник сведений о языке программирования C# и о связанной с ним инфраструктуре. В 8-м издании книги вы найдете описание функциональных возможностей самых последних версий C# 7.0 и 7.1 и .NET 4.7, а также совершенно новые главы, посвященные легковесной межплатформенной инфраструктуре .NET Core. Перепроектированные инфраструктуры ASP.NET Core 2.0 и Entity Framework (EF) Core 2.0 рассматриваются наряду с последними обновлениями, внесенными в .NET 4.7, которые затронули Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), ASP.NET MVC и ASP.NET Web API.
Погрузитесь в книгу и выясните, почему на протяжении более 15 лет она была лидером у разработчиков по всему миру. Сформируйте прочный фундамент в виде знания приемов объектно-ориентированной обработки, атрибутов и рефлексии, обобщений и коллекций, а также множества более сложных тем, которые не раскрываются в других книгах (коды операций CIL, выпуск динамических сборок и т.д.). …
Книга рассказывает о нескольких проектах, связанных с разработкой компиляторов, в частности, об истории разработки первого отечественного ISO-совместимого компилятора С++.
Подробное рассмотрение проблем, связанных с проектированием и реализацией сложных программных систем совмещается с живым и увлекательным повествованием об эволюции и выживании проектов в непростых условиях, о важности правильного выбора стратегических направлений разработки и о человеческих взаимоотношениях в командах разработчиков.
В пособии описаны методы и средства разработки многозадачного и многопоточного программного обеспечения в операционных системах семейства Windows, средства межзадачной и межпоточной коммуникации: анонимные и именованные каналы, почтовые ящики, отображаемые на память файлы, события, семафоры, взаимные исключения.
Кроме того, кратко обсуждаются средства коммуникации процессов по сети, а также особенности взаимодействия приложений и системных служб. Приводятся примеры реализации программ и даются задания для самостоятельной работы, включая варианты повышенной сложности.
Рекомендовано студентам ряда технических специальностей, связанных с разработкой многозадачного и многопоточного программного обеспечения в среде операционных систем семейства Windows.
Книга Роберта Зубека поможет начинающим создателям игр получить ясное понимание о том, как устроена разработка. Автор разделяет процесс гейм-дизайна на три взаимосвязанных уровня и объясняет, как именно нужно с ними работать, чтобы игра получилась. Каждая глава книги содержит практические задания, что позволяет сразу же применять полученные знания на практике.
Роберт Зубек – гейм-дизайнер и сооснователь независимой игровой студии в Чикаго. Имеет богатый опыт игровой разработки, работал в Electronic Arts/Maxis, Zynga, Three Rings Design. У Роберта также есть докторская степень в области компьютерных наук.
В формате PDF A4 сохранен издательский макет книги.
Более двадцати лет опытные программисты во всем мире использовали книгу Мартина Фаулера Рефакторинг, когда им нужно было улучшить проект существующего кода, повысить удобство сопровождения программного обеспечения или облегчить понимание существующего кода. Это – такое долгожданное – новое издание было полностью обновлено, чтобы отразить важные изменения в области программирования. Второе издание книги содержит обновленный каталог рефакторингов и включает примеры кода на JavaScript, а также новые функциональные примеры, демонстрирующие рефакторинг без классов.
Как и в первом издании, здесь объясняется, что такое рефакторинг, почему вы должны прибегать к нему, как распознать код, который нуждается в рефакторинге, и как успешно провести его независимо от того, какой язык программирования вы используете.
Основные темы книги:
– Понимание процесса и общих принципов рефакторинга.
– Быстрое применение полезных рефакторингов для облегчения понимания и изменения программ.
– Распознавание запаха в коде, который сиг…
Стандартная библиотека Python содержит сотни модулей, позволяющих взаимодействовать с операционной системой, интерпретатором и Интернетом. Все они тщательно протестированы и готовы к немедленному использованию для разработки приложений. В этой книге Даг Хеллман, эксперт по языку Python, описывает все основные разделы библиотеки Python 3.x, сопровождая изложение материала компактными примерами исходного кода и результатами их выполнения. Приведенные примеры наглядно демонстрируют возможности каждого из модулей, предлагаемых библиотекой, и пригодны не только для изучения, но и для использования в реальном коде.
В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами. Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством.
В книге рассмотрены новые библиотек…














































