Книга посвящена программированию встраиваемых систем с применением микроконтроллеров. Материал книги сгруппирован в соответствии со стандартными этапами разработки любого программного обеспечения: анализом требований, проектированием, кодированием, отладкой и тестированием. Издание проиллюстрировано примерами на С и анализом получаемого в результате компиляции машинного кода для двух популярных семейств микроконтроллеров Microchip: PIC18 (8 бит) и PIC24 (16 бит). Однако рассмотренные подходы и приемы могут быть использованы при программировании микроконтроллеров других производителей.
Если вы хотите разобраться в основах теории и алгоритмов компьютерного зрения, то эта книга – как раз то, что вам нужно. Вы узнаете о методах распознавания объектов, трехмерной реконструкции, обработке стереоизображений, дополненной реальности и других приложениях компьютерного зрения. Изложение сопровождается понятными примерами на языке Python. При этом объяснения даются в общих чертах, без погружения в сухую теорию. Издание идеально подходит для студентов, исследователей и энтузиастов-любителей с базовыми знаниями математики и навыками программирования.
Книга излагает основные сведения о системном программировании на Visual Basic и дает необходимую информацию о назначении функций Win32 API. Среда VB наиболее эффективна для быстрой разработки приложений, однако за простоту в создании программ приходится платить снижением эффективности, потерей гибкости и управляемости. Здесь описывается, как можно обойти требования Visual Basic, обращаясь непосредственно к интерфейсу прикладного программирования Win32. Обсуждается широкий круг практических задач от самых простых, таких как получение основной системной информации, добавление позиций табуляции в окне со списком, запись и извлечение данных в/из реестра или индивидуальных файлов инициализации, до весьма сложных – модификации класса управляющих элементов с целью реализации заданного поведения, установки ловушек для отслеживания и изменения работы мыши или клавиатуры и т.д. В книге затрагиваются вопросы архитектуры 32-разрядной Windows, распределения адресного пространства, синхронизации различных потоков, межпроцессорного взаимодействия, внедрения DLL во внешние процессы. Кратко освещается формат исполняемых файлов Windows, рассматривается концепция контекстов устройств. Данное издание адресовано профессиональным программистам на Visual Basic, заинтересованным в том, чтобы включить возможности системных сервисов Windows в свои приложения.
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина. В книге описывается процесс ICONIX – методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на основе прецедентов: моделирование предметной области, моделирование прецедентов, анализ пригодности и построение диаграмм последовательности. Приводится обзор каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, предназначенных для самостоятельного поиска и исправления недочетов. Авторы показывают на конкретных примерах, как можно избежать типичных ошибок проектирования. Располагая этой информацией, читатель приобретет знания и навыки, необходимые для применения моделирования на основе прецедентов.
В отличие от основной массы литературы про Lisp, эта книга не просто рассказывает о ряде возможностей языка, предоставляя читателю самостоятельно осваивать их на практике. Здесь будут описаны все функции языка, которые понадобятся вам для написания реальных программ. Более трети книги посвящено разработке нетривиальных программ – статистического фильтра для спама, библиотеки для разбора двоичных файлов и сервера для трансляции музыки в формате MP3 через сеть, включающего в себя базу данных (MP3-файлов) и веб-интерфейс. Издание прнедназначено для программистов различной квалификации, как уже использующих Lisp в своей работе, так и только знакомящихся с этим языком.
Доходчивые и привлекательные блок-схемы Дракона облегчают жизнь врачей и повышают безопасность пациентов. Благодаря Дракону сложные и разветвленные алгоритмы профилактики, диагностики, лечения, скорой помощи становятся ясными и понятными. Посмотрел – и сразу понял! Блок-схемы Дракона – наглядная опора клинического мышления высокой точности и золотой стандарт качества. Новые идеи и достижения помогают легко и быстро освоить иллюстрированные алгоритмы высокой точности. Книга учит врачей мыслить без ошибок, действовать без промаха, принимать обоснованные и наиболее экономичные решения. Ведется наглядное обучение на примерах. Читатель быстро привыкает к самостоятельному осмысленному составлению иллюстрированных медицинских алгоритмов. Великолепные рисунки позволяют мгновенно понять суть дела. Для студентов-медиков, врачей и фармацевтов, клинических ординаторов и аспирантов, организаторов и руководителей здравоохранения, главных врачей и ректоров медвузов.
Применение машинного обучения для лучшего понимания природы данных – умение, необходимое любому современному разработчику программ или аналитику. Python – замечательный язык для создания приложений машинного обучения. Благодаря своей динамичности он позволяет быстро производить разведочный анализ данных и экспериментировать с ними. Обладая первоклассным набором библиотек машинного обучения с открытым исходным кодом, Python дает возможность сосредоточиться на решаемой задаче и в то же время опробовать различные идеи. Книга начинается с краткого введения в предмет машинного обучения и знакомства с библиотеками NumPy, SciPy, scikit-learn. Но довольно быстро авторы переходят к более серьезным проектам с реальными наборами данных, в частности, тематическому моделированию, анализу корзины покупок, облачным вычислениям и др. Издание рассчитано на программистов, пишущих на Python и желающих узнать о построении систем машинного обучения и научиться извлекать из данных ценную информацию, необходимую для решения различных задач.
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке Java, но существует аналогичная книга с примерами на языке C#. Издание предназначено программистам на Java, желающим научиться писать качественный и хорошо поддерживаемый код.
Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем. Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке C#, но существует аналогичная книга с примерами на языке Java. Издание предназначено программистам на C#, желающим научиться писать качественный и хорошо поддерживаемый код.
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими программами потоками. Автор Саймон Марлоу проведёт вас по этому пути, сопровождая его большим количеством примеров, с которыми можно самостоятельно экспериментировать, запуская, изменяя и расширяя. Книга делится на две части, посвящённые таким инструментам, как Parallel Haskell и Concurrent Haskell, включённые в неё упражнения позволят вам научиться: выражать параллелизм в языке Haskell средствами монады Eval и стратегий вычислений; распараллеливать обычный код на языке Haskell в монаде Par; организовывать параллельные вычисления с массивами на основе библиотеки Repa; использовать библиотеку Accelerate для запуска вычислений на графических процессорах; работать с базовыми интерфейсами для написания конкурентного кода; реализовывать высокопроизводительные конкурентные сетевые серверы; писать распределённые программы, запускающиеся на множестве машин сети.