Теория вычислений для программистов
Наконец-то появился увлекательный и практичный способ изучать теорию вычислений и проектирование языков программирования. В этой книге теоретическая информатика излагается в хорошо знакомом вам контексте, что поможет оценить, почему ее идеи важны и как они отражаются на том, чем программист изо дня в день занимается на работе. Вместо математической нотации или...
Linux с нуля
Если вы мечтаете собрать свою собственную операционную систему, то книга «Linux с нуля» – именно для вас. Из нее вы узнаете, как подготовить нужный для сборки набор инструментальных средств, откуда и какие взять для этого исходные коды программ, как собрать их в виде пакетов и заставить их вместе работать как...
Оптимизация приложений на платформе .Net
Увеличение производительности алгоритмов и приложений является чрезвычайно важным аспектом разработки и может дать вам преимущество перед конкурентами, а вашим пользователям обеспечить низкую стоимость владения и удовольствие от использования быстрых и отзывчивых приложений. Данная книга описывает внутренние особенности ОС Windows, среды выполнения CLR и аппаратного обеспечения, влияющие на производительность приложений, а...
Администрирование сервера NGINX
Эта книга расчистит мутные воды конфигурирования NGINX и научит вас настраивать NGINX для решения различных задач. Попутно вы узнаете, что означают некоторые покрытые мраком параметры, и поймете, как разработать конфигурацию, отвечающую именно вашим целям. Вначале дается краткий обзор процедуры компиляции NGINX и описывается формат конфигурационного файла. Затем автор переходит к...
Практика программирования на Паскаль
Учебное пособие содержит 662 задачи различного уровня сложности – от легких упражнений до сложных прикладных программ. На конкретных примерах показан профессиональный подход к стилю программирования, к надежности и корректности алгоритмов и программ. Глава 1 книги («Основы программирования») содержит 439 задач, многие из которых по силам школьникам и студентам подготовительного курса....
Программирование в Clojure
Почему многие выбирают Clojure? Это – функциональный язык программирования, не только позволяющий пользоваться Java-библиотеками, службами и другими ресурсами JVM, но и соперничающий с другими динамическими языками, такими как Ruby и Python. В этом исчерпывающем руководстве вы познакомитесь с основами программирования на Clojure на примерах решения повседневных задач, которые могут быть...
SQL для простых смертных
"SQL для простых смертных" — это полное введение в структурированный язык запросов, написанное специально для начинающих. Если вы не имеете опыта управления базами данных, благодаря этой книге вы научитесь работать с SQL легко и свободно, применяя простые запросы и сложные операции. Усвойте смысл понятий, связанных с управлением базой данных, с...
Путешествие по системному ландшафту
Цель данной книги состоит в том, чтобы помочь читателям и организациям в улучшении своих возможностей по управлению свойствами и характеристиками создаваемых и/или эксплуатируемых ими систем. В книге рассмотрены вопросы применения системного мышления для анализа свойств и особенностей функционирования различных систем. Описаны принципы системной инженерии, включая управление жизненным циклом систем. Особое...
Введение в теорию языков программирования
Языки программирования от Фортрана и Кобола до Caml и Java играют ключевую роль в управлении сложными компьютерными системами. Книга «Введение в теорию языков программирования» представляет читателю средства, необходимые для проектирования и реализации подобных языков. В ней предлагается единый подход к различным формализмам для определения языков программирования — операционной и денотационной...
Программирование на языке Go
Практическое руководство по Go, революционно новому языку программирования со встроенной поддержкой параллельного программирования, упрощающему разработку программ для многопроцессорных систем. На сегодняшний день, Go – самый восхитительный из новых языков программирования. Он изначально создавался, чтобы помочь задействовать всю мощь современных многоядерных процессоров. В этом руководстве первопроходец языка Go Марк Саммерфильд показывает,...
Асинхронное программирование в C# 5.0
Из этого краткого руководства вы узнаете, как механизм async в C# 5.0 позволяет упростить написание асинхронного кода. Помимо ясного введения в асинхронное программирование вообще, вы найдете углубленное описание работы этого конкретного механизма и ответ на вопрос, когда и зачем использовать его в собственных приложениях. Книга рассчитана на опытных программистов на...
Построение компиляторов. Второе издание
Книга известного специалиста в области информатики Никлауса Вирта написана по материалам его лекций по вводному курсу проектирования компиляторов. На примере простого языка Оберон-0 рассмотрены все элементы транслятора, включая оптимизацию и генерацию кода. Приведен полный текст компилятора на языке программирования Оберон. Для программистов, преподавателей и студентов, изучающих системное программирование и методы...
ATDD. Разработка программного обеспечения через приемочные тесты
Применяя методику разработки через приемочные тесты (ATDD), заказчики, разработчики и тестировщики получают возможность совместно сформулировать тесто-пригодные требования, что позволяет создавать высококачественное программное обеспечение в сжатые сроки. Однако на практике многие не понимают, в чем истинный смысл ATDD. Настоящая книга – первое практическое руководство начального уровня по внедрению и успешному применению...
Жемчужины проектирования алгоритмов
В этой книге Ричард Бёрд представляет принципиально новый подход к проектированию алгоритмов, а именно проектирование посредством формального вывода. Основное содержание книги разделено на 30 коротких глав, называемых жемчужинами, в каждой из которых решается конкретнаяпрограммистская задача. Эти задачи, некоторые из которых абсолютно новые, происходят из таких разнообразных источников, как игры и...
SIMULINK. Самоучитель
Самоучитель по новейшим реализациям пакета визуального блочного имитационного моделирования Simulink матричной системы MATLAB. Подробно описаны библиотека блоков Simulink, методика подготовки диаграмм моделей, их редактирование, настройка и запуск на исполнение. Дано описание наиболее важных пакетов расширения Simulink инструментального ящика Blockset, в том числе SimPowerSystems, SimMechanics, Aerospace, Stateflow, Signal Processing, Telecommunication, Video...
Учись писать, читать и понимать алгоритмы
Излагаются новые полезные для практики идеи и достижения, помогающие легко и быстро освоить алгоритмы. Дается систематизированное изложение основных понятий и методов алгоритмизации. Книга содержит общедоступный практический курс, позволяющий существенно ускорить разработку, анализ и проверку алгоритмов, облегчить проектирование сложной деятельности. Ведется наглядное обучение на примерах. Читатель быстро привыкает к самостоятельному осмысленному...
Курс программирования на языке Си
В книге рассматриваются все средства языка Си, не зависящие от реализаций и существующие в компиляторах на современных ПК различных платформ. Ориентация сделана как на изложение синтаксиса и семантики конструкций языка Си, так и на их практическое использование при решении типовых задач программирования. Включенный в учебник материал позволяет сформировать у читателя...
Эффективное использование C++
Эта книга представляет собой перевод третьего издания американского бестселлера «Effective C++» и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению...
Функциональное программирование на языке Haskell
Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объеме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму функционального программирования в своей практике. Изучение прикладных основ показано на примере языка Haskell, на сегодняшний день являющегося самым мощным и...
Скользкие места C++
Вы держите в руках руководство по тому, как не до-пускать и исправлять 99% типичных, разрушительных и просто любопытных ошибок при проектировании и реали-зации программ на языке C++. Эту книгу можно рассмат-ривать также, как взгляд посвященного на нетривиальные особенности и приемы программирования на C++. Обсуждаются как наиболее распространенные «ля-пы», имеющиеся почти...