bannerbannerbanner
logo
Войти

Паттерны программирования

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги – концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
Если вы – опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования. В центре внимания Марка Саммерфилда находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика. Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны. Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.
Добавлено
Год выхода: 2018
Язык: Русский
Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые …
Не имеет смысла каждый раз изобретать велосипед, лучше сразу освоить приемы проектирования, которые уже созданы людьми, сталкивавшимися с аналогичными задачами. В этой книге рассказано, какие паттерны действительно важны, когда и при каких условиях ими необходимо пользоваться, как применить их в ваших проектах и на каких принципах объектно-ориентированного проектирования они построены. Присоединяйтесь к сотням тысяч разработчиков, которые повысили свою квалификацию объектно-ориентированного проектирования благодаря книге «Head First. Паттерны проектирования». Если вы уже читали книги из серии Head First, то знаете, что вас ждет визуально насыщенный формат, разработанный с учетом особенностей работы мозга. В книге «Head First. Паттерны проектирования» принципы и паттерны проектирования представлены так, чтобы вы не заснули, читая книгу, научились решать реальные задачи проектирования программных продуктов и общаться на языке паттернов с другими участниками вашей команды.
В работе показана архитектура модуля обработки данных, используемого в интерпретаторе декларативного языка моделирования BML. В статье дается теоретическое обоснование и рассматривается практическое применение элемента «Block» в рамках языка BML. В работе также описывается архитектура класса элемента и его дочерних классов, дается детальное обоснование использования паттерна «абстрактная фабрика».
Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились – переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности. Книга, предназначенная для разработчиков и архитекторов из больших корпораций, рассказывает, как проектировать и писать приложения в духе микросервисной архитектуры. Также в ней описано, как делается рефакторинг крупного приложения – и монолит превращается в набор микросервисов.
Современный мир попросту немыслим без использования распределенных систем. Даже у простейшего мобильного приложения есть API, через который оно подключается к облачному хранилищу. Однако проектирование распределенных систем до сих пор остается искусством, а не точной наукой. Необходимость подвести под нее серьезный базис назрела давно, и, если вы хотите обрести уверенность в создании, поддержке и эксплуатации распределенных систем – начните с этой книги! Брендан Бёрнс, авторитетнейший специалист по облачным технологиям и Kubernetes, излагает в этой небольшой работе абсолютный минимум, необходимый для правильного проектирования распределенных систем. Эта книга описывает неустаревающие паттерны проектирования распределенных систем. Она поможет вам не только создавать такие системы с нуля, но и эффективно переоборудовать уже имеющиеся.
В книге акцент сделан на паттерны проектирования, которые отвечают естественным нуждам программиста на С++, а также паттернам, выигрывающим от уникальных особенностей С++, в частности, обобщенного программирования. Вооруженные знанием этих паттернов, вы будете тратить меньше времени на поиск решения конкретной задачи и познакомитесь с решениями, доставшимися тяжким опытом других разработчиков, их достоинствами и недостатками. Издание предназначено программистам на С++, хорошо владеющих средствами и синтаксисом языка.
Эта книга необходима всем разработчикам программного обеспечения, независимо от платформы, языка или вида приложений. Рассмотрены уязвимости на языках C/C++, C#, Java, Visual Basic, Visual Basic .NET, Perl, Python в операционных системах Windows, Unix, Linux, Mac OS, Novell Netware. Авторы издания, Майкл Ховард и Дэвид Лебланк, обучают программистов как писать безопасный код в компании Microsoft. На различных примерах продемонстрированы как сами ошибки, так и способы их исправления и защиты от них. Если вы – программист, то вам просто необходимо прочесть эту книгу.
Рассматриваются научно-прикладные аспекты проектирования алгоритмического и программного обеспечения киберфизической системы (cyber-physical system, CPS) здания. CPS здания является базовым элементом ИТ-архитектуры SmartCity и представляет собой множество интегрированных в помещение устройств управления системами жизнеобеспечения, средств связи и вычислительных средств, необходимых и достаточных для реализации пользовательских сервисов. В киберфизической системе здания всё оборудование и подсистемы объединяются в экосистему для повышения уровня комфорта и безопасности, а также снижения издержек на его эксплуатацию и экономию ресурсов. Исследуются требования к программному обеспечению (ПО) CPS здания. Представлены группы паттернов проектирования, использование которых на практике существенно сокращает время на программирование и настройку элементов CPS здания, повышает интероперабельность разрабатываемых информационных приложений. Уделяется внимание алгоритмам работы ПО CPS в условиях применения «Интернета вещей» (IoT). Используя предложенные шаблоны, разработчики ПО смогут оперативно формировать новые сервисы, их оперативно интегрировать и сопровождать. Представленные в исследовании паттерны наиболее эффективны при реализации сервисов управления внутренним и уличным освещением, силовыми нагрузками и электроприборами, а также такими системами, как отопление, кондиционирование, вентиляция, охранная сигнализация, контроль доступа, контроль протечек воды, аудио- и видеотехника. Шаблоны проектирования архитектур ПО CPS могут быть востребованы производителями систем и сервисов управления частными или многоквартирными жилыми домами, разработчиками ПО систем автоматизации объектов коммерческой недвижимости и государственных организаций, разработчиками и администраторами ПО производственных сооружений, объектов агропромышленного комплекса. Исследование выполнено в рамках приоритетного направления развития науки Пермского филиала НИУ ВШЭ «Исследование методов управления в киберфизических системах».
Актуальность использования технологии распознавания лиц в современном мире компьютерных технологий уже ни у кого не вызывает сомнений: госструктуры и различные организации успешно используют возможности идентификации человека без пароля, что намного удобнее и существенно экономит время. Целью исследования данной темы является формирование представления о современных методах, принципах и алгоритмах технологии идентификации лиц, а также обучение студентов методам самостоятельного исследования и анализа на примере практической реализации технологии идентификации лиц с использованием программы анализа изображений Facial Recognition Test Application. Для достижения поставленной цели необходимо решить следующие задачи: обучить студентов формализации задач прикладной области, при решении которых необходимо использовать количественные и качественные оценки; сформировать у учащихся способность проведения научных экспериментов; обучить методам исследования современных задач прикладной информатики и компьютерных технологий. Результатом представленного исследования является ознакомление с методиками и алгоритмами работы технологии распознавания лиц, а также в качестве прикладного применения в учебном процессе был разработан лабораторный практикум «Технология идентификации лиц с использованием программы анализа изображений Facial Recognition Test Application», который может быть использован для проведения лабораторных занятий по дисциплине «Мультимедийные технологии» и ряда других учебных дисциплин направления компьютерных технологий.
Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программированием. «Русский» язык, на котором разговаривают айтишники, поменялся, многие англоязычные термины стали привычными, паттерны вошли в нашу жизнь. Перед вами юбилейное издание с обновленным переводом книги, ставшей must-read для каждого программиста. «Паттерны объектно-ориентированного проектирования» пришли на смену «Приемам объектно-ориентированного проектирования». Четыре первоклассных разработчика – Банда четырех – представляют вашему вниманию опыт ООП в виде двадцати трех паттернов. Паттерны появились потому, что разработчики искали пути повышения гибкости и степени повторного использования своих программ. Авторы не только дают принципы использования шаблонов проектирования, но и систематизируют информацию. Вы узнаете о роли паттернов в архитектуре сложных систем и сможете быстро и эффективно создавать собственные приложения с учетом всех ограничений, возникающих при разработке больших проектов. Все шаблоны взяты из реальных систем и основаны на реальной практике. Для каждого паттерна приведен код на C++ или Smalltalk, демонстрирующий его возможности.
Паттерны проектирования – удобный прием программирования для решения рутинных задач разработки ПО. Грамотное использование паттернов позволяет добиться соответствия любым требованиям и снизить расходы. В этой книге описаны эффективные способы применения паттернов проектирования с учетом специфики языка C# и платформы .NET Core. Кроме знакомых паттернов проектирования из книги «Банды четырех» вы изучите основы объектно-ориентированного программирования и принципов SOLID. Затем узнаете о функциональных, реактивных и конкурентных паттернах, с помощью которых будете работать с потоками и корутинами. Заключительная часть содержит паттерны для работы с микросервисными, бессерверными и облачно-ориентированными приложениями. Вы также узнаете, как сделать выбор архитектуры, например микросервисной или MVC.
В книге «Идеальная работа. Программирование без прикрас» легендарный Роберт Мартин (Дядюшка Боб) создал исчерпывающее руководство по хорошей работе для каждого программиста. Роберт Мартин объединяет дисциплины, стандарты и вопросы этики, необходимые для быстрой и продуктивной разработки надежного, эффективного кода, позволяющего испытывать гордость за программное обеспечение, которое вы создаете каждый день. Роберт Мартин, автор бестселлера «Чистый код», начинает с прагматического руководства по пяти основополагающим дисциплинам создания программного обеспечения: разработка через тестирование, рефакторинг, простой дизайн, совместное программирование и тесты. Затем он переходит к стандартам – обрисовывая ожидания «мира» от разработчиков программного обеспечения, рассказывая, как часто различаются эти подходы, и помогает вам устранить несоответствия. Наконец он обращается к этике программиста, давая десять фундаментальных постулатов, которым должны следовать все разработчики программного обеспечения.
Большинство разработчиков ПО тратят тысячи часов на создание излишне сложного кода. Девять основных принципов книги «Искусство чистого кода» научат вас писать понятный и удобный в сопровождении код без ущерба для функциональности. Главный принцип – это простота: сокращайте, упрощайте и перенаправляйте освободившуюся энергию на самые важные задачи, чтобы сэкономить бесчисленное количество часов и облегчить зачастую очень утомительную задачу поддержки кода. Автор бестселлеров Кристиан Майер помог тысячам людей усовершенствовать навыки программирования и в своей новой книге делится опытом с читателями. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Джунам и вчерашним выпускникам вузов катастрофически не хватает «уличного» опыта. Чтобы стать отличным разработчиком, понадобятся вполне конкретные навыки, позволяющие превратить теорию в практику, а также понимание того, в какие моменты можно нарушать казавшиеся незыблемыми правила. Эта книга – справочник по выживанию для начинающего разработчика. «Кодер с улицы» научит вас справляться с реальными задачами. Седат Капаноглу честно делится советами, основанными на личном опыте, а не на абстрактной теории. Вы узнаете, как адаптировать знания, полученные из книг и курсов, к повседневным рабочим задачам. Пора узнать, как использовать антипаттерны и «плохие» методы программирования. Эта книга построена на конкретных задачах, с которыми вы столкнетесь на работе, – от чисто технических аспектов, таких как создание функции поиска, до законов выживания в проблемной команде с менеджером-параноиком. Все это превратит вас в настоящего уличного бойца, готового в любой момент приступить к созданию эффективного программного обеспечения. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Знакомы ли вы с технологиями, лежащими в основе вашей собственной программы? Почему «правильный» код не хочет работать? Истина проста и банальна – нужно сразу создавать код, который будет работать хорошо и не будет прятать в себе трудноуловимые ошибки. Для этого Джонатан Стейнхарт исследует фундаментальные концепции, лежащие в основе работы компьютеров. Он рассматривает аппаратное обеспечение, поведение программ на определенных устройствах, чтобы показать, как на самом деле должен работать ваш код. Узнайте, что на самом деле происходит, когда вы запускаете код на компьютере, и вы научитесь программировать лучше и эффективнее. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Добавлено
Год выхода: 2021
Язык: Русский
Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программи…
Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программиста выручают знание алгоритмов и практика их применения. Эта книга – как раз про практику. Ее автор Джордж Хайнеман предлагает краткое, но четкое и последовательное описание основных алгоритмов, которые можно эффективно использовать в большинстве языков программирования. О том, какими методами решаются различные вычислительные задачи, стоит знать и разработчикам, и тестировщикам, и интеграторам. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
API представляют собой контракты, которые определяют принципы взаимодействия приложений, сервисов и компонентов. Паттерны проектирования API – это набор лучших практик, спецификаций и стандартов, обеспечивающих простоту и надежность их использования для разработчиков. Книга объединяет и объясняет наиболее важные паттерны, используемые сообществом разработчиков API и экспертами Google. Паттерны проектирования API определяют набор принципов для разработки внутренних и публичных API. Джей Джей Гивакс, будучи специалистом из Google, рассказывает о паттернах, которые обеспечат вашим API согласованность, масштабируемость и гибкость. Вы узнаете, как улучшить дизайн самых распространенных API и как действовать в сложных пограничных случаях. Понятные иллюстрации, актуальные примеры и подробные сценарии позволят тщательно разобраться в каждом паттерне. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Создание программных продуктов всегда связано с компромиссами. В попытках сбалансировать скорость, безопасность, затраты, время доставки, функции и многие другие факторы можно обнаружить, что вполне разумное дизайнерское решение на практике оказывается сомнительным. Советы экспертов и яркие примеры, представленные в этой книге, научат вас делать правильный выбор в дизайне и проектировании приложений. Мы будем рассматривать реальные сценарии, в которых были приняты неверные решения, а затем искать пути, позволяющие исправить подобную ситуацию. Томаш Лелек и Джон Скит делятся опытом, накопленным за десятки лет разработки ПО, в том числе рассказывают о собственных весьма поучительных ошибках. Вы по достоинству оцените конкретные советы и практические методы, а также неустаревающие паттерны, которые изменят ваш подход к проектированию. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
1
Популярные книги