Files

14 KiB
Raw Permalink Blame History

😎 Middle

📝 C++

🚴 Оптимизация приложений

  • Курт Гантерог - Оптимизация программ на C++

    Хороший сборник советов и рекомендаций по улучшению производительности приложений на языке C++. Некоторые советы основаны на идиомах и конструкциях языка, описанные Гербом Саттером или Скоттом Майерсом. Потому рекомендуется её прочтение после знакомства с предыдущими книгами.

  • Агнер Фог - Оптимизация С++ приложений или Набор руководств по оптимизации приложений

    Практические руководства, которые дают исчерпывающую информацию о потенциальных возможностях оптимизации приложений, разработанных на C++, или связанных с взаимодействием с центральным процессором, памятью и т.д.

🔌 Технические навыки

  • Джонсон Ральф, Хелм Ричард - Приемы объектно-ориентированного проектирования. Паттерны проектирования

    Классический справочник по паттернам проектирования. Каждый паттерн детально разбирается, и предлагаются случаи, где они могут быть применены. Данная книга будет отличным продолжением после "Паттернов проектирования" от Эрика Фримена. Будьте готовы, что читается она тяжелее, чем предыдущая.

  • Гэри Маклин Холл - Адаптивный код: гибкое кодирование с помощью паттернов проектирования и принципов SOLID

    Одна из достойнейших книг, которая доступно объясняет принципы SOLID. Примеры написаны на языке C#, но это не должно вызвать сложностей при их чтении, т.к. используется минималистичный набор инструкций языка.

  • Роберт Мартин - Чистая архитектура. Искусство разработки программного обеспечения

    Ещё одна работа дядюшки Боба. На этот раз она рассказвает о том, каким образом подойти к разработки архитектуры приложения/компонента, каким образом принимать те или иные архитектурные решения, на чем заострить свое внимание. Книга станет хорошим началом для тех, кто интересуется архитектурными задачами в разработке ПО, но не знает с чего начать. Знания из этой книги пригодятся подавляющему большинству инженеров, чтобы не допускать очевидные ошибки во время проектирования дизайна ПО.

  • Надежда Поликарпова, Анатолий Шалыто - Автоматное программирование

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

  • Владимир Хориков - Принципы юнит-тестирования

    В книге подробно рассматриваются рекомендации, паттерны и антипаттерны, встречающиеся в области юнит-тестирования. После чтения этой книги вы будете знать все необходимое для того, чтобы стать экспертом в области создания успешных проектов, которые легко расширять и сопровождать благодаря хорошим тестам.

Операционные системы

  • Эндрю Таненбаум - Современные операционные системы

    Одна из лучших книг про операционные системы, которую можно встретить. Фундаментальная работа по их устройству: файловая система, сеть, менеджмент памяти, планировщик задач, многопоточноть и т.д. Каждый раздел книги очень подробно рассказывает про каждую часть устройства операционной системы, при этом все объясняется простым языком. Она старается рассказать про общее устройство ОС, сильно не погружаясь в детали того или иного дистрибутива.

  • Марк Руссинович - Внутреннее устройство Windows

    Данная книга обсуждает те же вопросы, что и предыдущая, но акцентируется исключительно на ОС Microsoft Windows. Она детально останавливается на каждом аспекте устройства ОС, но с проекцией на Windows, а также рассказывает о различных нюансах и аспектах, которые могут быть официально не задекларированы разработчиками. Полезная книга для тех, кто ведет разработку низкоуровневых приложений, которым требуется интенсивное взаимодействие с системными библиотеками ОС.

  • Кристофер Негус - Библия Linux

    Данная книга может стать закономерным продолжением после работы Таненбаума. Она детально останавливается на каждом аспекте OS Linux. Все примеры разобраны для популярных дистрибутивов: Red Hat, Ubuntu и Fedorа. Подойдет для разработчиков, которые используют данную ОС в повседневной деятельности.

  • Ulrich Drepper - What Every Programmer Should Know About Memory

    Хорошая обзорная статья, дающая представление о том, как устроена память компьютера и зачем она так устроена. Даёт как высокоуровневое представление, так и набрасывает низкоуровневых деталей, если есть желание в них углубляться.

🌐 Компьютерные сети

  • Эндрю Таненбаум - Компьютерные сети

    Классическая книга по теоретическим основам компьютерных сетей. Содержит в себе подробное описание, начиная с физического уровня и заканчивая протоколами передачи данных. Будет полезна для тех разработчиков, которые плотно занимаются проектами, взаимодействующие с сетями. В ином случае вам будет достаточно просмотреть видеокурс Андрея Созыкина, представленный в разделе Junior. Его курс базируется на данной книге, но также содержит в себе массу дополнений.

  • Олифер Виктор - Компьютерные сети. Принципы, технологии, протоколы

    Ещё одна замечательная книга по основам компьютерных сетей. В каких-то моментах подача информации может показаться сложнее, по сравнению с работой Таненбаума. Потому рекомендуем выбрать ту книгу, повествование которой больше подходит именно для вас.


На предыдущую страницу | На главную страницу