Новинки от ДМК пресс!

Разработка обслуживаемых программ на языке C#


Вы когда-нибудь ощущали разочарование, работая с чужим кодом? Сегодня трудности сопровождения исходного кода представляют важную проблему разработки программного обеспечения, приводящую к дорогостоящим срывам сроков и ошибкам. Подключайтесь к ее решению. Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
 
Написанная консультантами компании Software Improvement Group (SIG), книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке C#, но существует аналогичная книга с примерами на языке Java.
 
• Пишите короткие блоки кода: ограничьте длину методов и конструкторов
• Пишите простые блоки кода: ограничьте число точек ветвления в методах
• Не повторяйте один и тот же код, избегайте риска внесения ошибок в повторяющийся код
• Стремитесь к уменьшению размеров интерфейсов, группируя параметры в объекты
• Разделяйте задачи, избегайте создания больших классов
• Избегайте тесных связей между компонентами архитектуры
• Сбалансируйте количество и размер компонентов верхнего уровня
• Стремитесь к уменьшению размера базы кода
• Автоматизируйте тестирование кода
• Пишите чистый код




Вы когда-нибудь ощущали разочарование, работая с чужим кодом? Сегодня трудности сопровождения исходного кода представляют важную проблему разработки программного обеспечения, приводящую к дорогостоящим срывам сроков и ошибкам. Подключайтесь к ее решению. Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
 
Написанная консультантами компании Software Improvement Group (SIG), книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке Java, но существует аналогичная книга с примерами на языке C#.
 
• Пишите короткие блоки кода: ограничьте длину методов и конструкторов
• Пишите простые блоки кода: ограничьте число точек ветвления в методах
• Не повторяйте один и тот же код, избегайте риска внесения ошибок в повторяющийся код
• Стремитесь к уменьшению размеров интерфейсов, группируя параметры в объекты
• Разделяйте задачи, избегайте создания больших классов
• Избегайте тесных связей между компонентами архитектуры
• Сбалансируйте количество и размер компонентов верхнего уровня
• Стремитесь к уменьшению размера базы кода
• Автоматизируйте тестирование кода
• Пишите чистый код



Оптимальное сочетание про­стых примеров с подробным объяснением практических понятий языка Go
Go – превосходный системный язык. Создан­ный для удобной разработки современных при­ложений с параллельной обработкой, язык Go предоставляет встроенный набор инструментов для быстрого создания облачных, системных и веб-приложений. Знакомые с такими языками как Java или C#, быстро освоят Go – достаточно лишь немного попрактиковаться, чтобы научить­ся писать профессиональный код.
 
Книга «Go на практике» содержит решения десят­ков типовых задач в ключевых областях. Следуя стилю сборника рецептов – проблема/решение/обсуждение – это практическое руководство опи­рается на основополагающие концепции языка Go и знакомит с конкретными приемами исполь­зования языка Go в облаке, тестировании и отлад­ке, маршрутизации, а также для создания веб-служб, сетевых и многих других приложений.
 
Эта книга подготовит вас к разработке сложных облачных Go-приложений.
 
Очень важные сведения, помогающие поднять разра­ботку приложений на новый уровень
Создание высокопроизводительных и практичных веб-приложений на языке Go
Десятки конкретных практических приемов программирования на Go
Использование языка Go для создания обычных и облачных приложений
Разработка веб-служб и микрослужб
Практические приемы веб-разработки
 
Книга адресована опытным разработчикам, уже начавшим изучать язык Go и желающим научиться эффективно использовать его в производственных условиях.



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

Книга «Использование Docker» предназначена для разработчиков, инженеров по эксплуатации и системных администраторов, особенно для тех, кто живо интересуется практическим применением технологии DevOps, она предоставит обширный материал: от основ, необходимых для запуска десятка контейнеров, до описания сопровождения крупной системы с множеством хостов в сетевой среде со сложным режимом планирования. Книга последовательно проведёт вас по всем этапам, необходимым для разработки, тестирования и развёртывания любого веб-приложения, использующего Docker.
 
Основные темы, рассматриваемые в книге:
 
• начало работы с Docker — создание и развёртывание простого веб-приложения;
• использование методик непрерывного развёртывания для продвижения вашего приложения к активному промышленному использованию несколько раз в день;
• изучение различных возможностей и методик для регистрации в системных журналах и наблюдения за многочисленными контейнерами;
• исследование сетевой среды и сетевых сервисов: как контейнеры находят друг друга и каким образом можно установить соединение между ними;
• распределение и организация кластеров контейнеров с целью балансировки нагрузки, масштабирования, устранения критических сбоев и планирования;
• обеспечение безопасности системы, следуя принципам «глубокой или многоуровневой защиты» и минимальных привилегий;
• применение контейнеров для построения архитектуры микросервисов.
 
«Использование Docker» — подробное практическое руководство по экосистеме Docker, представляющей собой продвижение заключённых в контейнеры приложений-микросервисов от разработки и тестирования к промышленному производству.»
 — Эдриен Кокрофт, аспирант-исследователь компании Battery Ventures
 
«Использование Docker» — глубокий, всеобъемлющий обзор программной среды Docker и экосистемы контейнеров. Практическая направленность книги в сочетании с большим количеством примеров упрощает применение теоретических концепций и методик в реальных проектах.»
 — Пини Резник, главный инженер компании Container Solutions



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

Во второе издание вошли новые материалы о системах ввода/вывода применительно к процессорам общего назначения как для ПК, так и для микроконтроллеров, встречающихся практически везде. Новое издание содержит практические примеры интерфейсов периферийных устройств с применением RS232, SPI, управления двигателями, прерываний, беспроводной связи и аналого-цифрового преобразования. Представлено высокоуровневое описание интерфейсов ввода / вывода ПК, включая USB, SDRAM, WiFi, PCI Express и другие. Помимо этого добавлены материалы о программировании и примеры кода на SystemVerilog (заменяющий Verilog) наряду с VHDL, а также дополнительные упражнения и новое приложение по программированию на C, раскрывающее связь между программированием и архитектурой процессора.
 
Особенности издания:
• охватывает основы разработки цифровых устройств и расширяет навыки проектирования до разработки микропроцессора MIPS;
• в текст включены примеры, улучшающие понимание и запоминание ключевых концепций и методов;
• примеры разработки цифровых систем представлены как на VHDL, так и на SystemVerilog (с обновлением до второго издания Verilog), причем листинги размещены рядом для удобства сравнения и выявления преимуществ;
• включена глава о программировании на C, не только дающая необходимые основы языка, но и укрепляющая связь между программированием и архитектурой процессора;
• на сайте книги есть ссылки на САПР для проектирования FPGA компаний Altera и Mentor Graphics, лекционные слайды, лабораторные проекты и решения упражнений.