Middle
C++
-
Скотт Мейерс - Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14
Продолжение предыдущей книги Скотта Мейерса. Сборник советов для работы с новыми стандартами C++11 и C++14.
-
Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
Отличное руководство по многопоточному программированию в составе стандартной библиотеки C++. Представлено подробное описание ко всем примитивам библиотеки. Также даются объяснения работы этих примитивов, скрытыми под абстракциями.
-
Герб Саттер - Решение сложных задач на С++ и Герб Саттер - Новые сложные задачи на C++
Сборники, которые описывают разнообразные задачи с точки зрения проектирования и написания кода. Предлагают коллекцию эффективных решений, многие из которых считаются классическими идиомами языка. Многие идиомы, представленные в книге, встречаются на многих проектах повсеместно.
-
Дэвид Вандевурд - Шаблоны C++. Справочник разработчика
Наиболее свежая и актуальная работа по использованию шаблонов в C++. Это фундаментальная работа, которая описывает актуальные механизмы применения шаблонов, внедренные в новых стандартах, вплоть до C++17. Если вам необходимо писать параметризуемый код, то этот справочник станет мощной опорой. Вы познакомитесь, как с азами метапрограммирования, так и с различными нюансами того или иного приема.
Оптимизация приложений
-
Курт Гантерог - Оптимизация программ на C++
Хороший сборник советов и рекомендаций по улучшению производительности приложений на языке C++. Некоторые советы основаны на идиомах и конструкциях языка, описанные Гербом Саттером или Скоттом Майерсом. Потому рекомендуется её прочтение после знакомства с предыдущими книгами.
-
Агнер Фог - Оптимизация С++ приложений или Набор руководств по оптимизации приложений
Практические руководства, которые дают исчерпывающую информацию о потенциальных возможностях оптимизации приложений, разработанных на C++, или связанных с взаимодействием с центральным процессором, памятью и т.д.
Технические навыки
-
Классический справочник по паттернам проектирования. Каждый паттерн детально разбирается, и предлагаются случаи, где они могут быть применены. Данная книга будет отличным продолжением после “Паттернов проектирования” от Эрика Фримена. Будьте готовы, что читается она тяжелее, чем предыдущая.
-
Одна из достойнейших книг, которая доступно объясняет принципы SOLID. Примеры написаны на языке C#, но это не должно вызвать сложностей при их чтении, т.к. используется минималистичный набор инструкций языка.
-
Роберт Мартин - Чистая архитектура. Искусство разработки программного обеспечения
Ещё одна работа дядюшки Боба. На этот раз она рассказвает о том, каким образом подойти к разработки архитектуры приложения/компонента, каким образом принимать те или иные архитектурные решения, на чем заострить свое внимание. Книга станет хорошим началом для тех, кто интересуется архитектурными задачами в разработке ПО, но не знает с чего начать. Знания из этой книги пригодятся подавляющему большинству инженеров, чтобы не допускать очевидные ошибки во время проектирования дизайна ПО.
-
Надежда Поликарпова, Анатолий Шалыто - Автоматное программирование
Краткое практическое пособие о том, как подходить к написанию программ посредством конечных автоматов. Наверно более простого и элегантного описания теории конечных автоматов и её практического применения будет сложно отыскать. Рекомендуем оизучить пару коммерческих работ, выполненных в описанной парадигме. Ссылки к исходному коду вы найдете в конце книги.
-
Владимир Хориков - Принципы юнит-тестирования
В книге подробно рассматриваются рекомендации, паттерны и антипаттерны, встречающиеся в области юнит-тестирования. После чтения этой книги вы будете знать все необходимое для того, чтобы стать экспертом в области создания успешных проектов, которые легко расширять и сопровождать благодаря хорошим тестам.
Операционные системы
-
Эндрю Таненбаум - Современные операционные системы
Одна из лучших книг про операционные системы, которую можно встретить. Фундаментальная работа по их устройству: файловая система, сеть, менеджмент памяти, планировщик задач, многопоточноть и т.д. Каждый раздел книги очень подробно рассказывает про каждую часть устройства операционной системы, при этом все объясняется простым языком. Она старается рассказать про общее устройство ОС, сильно не погружаясь в детали того или иного дистрибутива.
-
Марк Руссинович - Внутреннее устройство Windows
Данная книга обсуждает те же вопросы, что и предыдущая, но акцентируется исключительно на ОС Microsoft Windows. Она детально останавливается на каждом аспекте устройства ОС, но с проекцией на Windows, а также рассказывает о различных нюансах и аспектах, которые могут быть официально не задекларированы разработчиками. Полезная книга для тех, кто ведет разработку низкоуровневых приложений, которым требуется интенсивное взаимодействие с системными библиотеками ОС.
-
Кристофер Негус - Библия Linux
Данная книга может стать закономерным продолжением после работы Таненбаума. Она детально останавливается на каждом аспекте OS Linux. Все примеры разобраны для популярных дистрибутивов: Red Hat, Ubuntu и Fedorа. Подойдет для разработчиков, которые используют данную ОС в повседневной деятельности.
-
Ulrich Drepper - What Every Programmer Should Know About Memory
Хорошая обзорная статья, дающая представление о том, как устроена память компьютера и зачем она так устроена. Даёт как высокоуровневое представление, так и набрасывает низкоуровневых деталей, если есть желание в них углубляться.
Компьютерные сети
-
Эндрю Таненбаум - Компьютерные сети
Классическая книга по теоретическим основам компьютерных сетей. Содержит в себе подробное описание, начиная с физического уровня и заканчивая протоколами передачи данных. Будет полезна для тех разработчиков, которые плотно занимаются проектами, взаимодействующие с сетями. В ином случае вам будет достаточно просмотреть видеокурс Андрея Созыкина, представленный в разделе Junior. Его курс базируется на данной книге, но также содержит в себе массу дополнений.
-
Олифер Виктор - Компьютерные сети. Принципы, технологии, протоколы
Ещё одна замечательная книга по основам компьютерных сетей. В каких-то моментах подача информации может показаться сложнее, по сравнению с работой Таненбаума. Потому рекомендуем выбрать ту книгу, повествование которой больше подходит именно для вас.
На предыдущую страницу | На главную страницу |