Если вам нужно разобраться в том, что из себя представляют алгоритмы и графы, как они работают и какими бывают, эта книга для вас. Ее автор, Панос Луридас, уже много лет использует алгоритмы при проектировании программного обеспечения, криптографии, машинном обучении и является научным сотрудником Афинского университета экономики и бизнеса. Очень доступным даже для новичков языком он знакомит чита…
Кодовые базы разрастаются, становясь все сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы? Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее. Вы научитесь бороться со сложными ошибка…
Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фраг…
В каждой кодовой базе есть ошибки и слабые места, которые нужно найти и исправить. Правильный рефакторинг сделает ваш код элегантным, удобным для чтения и простым в обслуживании. Познакомьтесь с уникальным подходом, позволяющим реализовать любой метод в пяти строках кода. И не забывайте про тайну, хорошо известную большинству senior-разработчиков: иногда проще ухудшить код и вернуться к его исправ…
Эта книга предлагает всесторонний обзор искусственного интеллекта (ИИ) и его различных областей, включая машинное обучение, обработку естественного языка и робототехнику. Книга начинается со знакомства с ИИ, включая его историю и текущее состояние развития. Затем в ней рассматривается потенциальное влияние ИИ на общество, как положительное, так и отрицательное. Это включает в себя его потенциал дл…
Эта книга предлагает всесторонний обзор искусственного интеллекта (ИИ) и его различных областей, включая машинное обучение, обработку естественного языка и робототехнику. Книга начинается со знакомства с ИИ, включая его историю и текущее состояние развития. Затем в ней рассматривается потенциальное влияние ИИ на общество, как положительное, так и отрицательное. Это включает в себя его потенциал дл…
Для реализации API необходимо провести большую работу, но эти усилия не всегда окупаются. Чрезмерное планирование может стать пустой тратой сил, а его недостаток приводит к катастрофическим последствиям. Во втором издании представлены решения для отдельных API и систем из нескольких API, которые позволят вам распределить необходимые ресурсы и достичь требуемого уровня эффективности за оптимальное …
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кей…
Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике. Вы начнете с введения в алгоритмы, от поиска и сортировки перейдете к линейному программированию, ранжированию страниц…
Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд. Книга «Объекты. С…
«Алгоритмы на практике» научат решать самые трудные и интересные программистские задачи, а также разрабатывать собственные алгоритмы. В качестве примеров для обучения взяты реальные задания с международных соревнований по программированию. Вы узнаете, как классифицировать задачи, правильно подбирать структуру данных и выбирать алгоритм для решения. Поймете, что выбор структуры данных – будь то хеш…
В этом томе рассматриваются методы, позволяющие компьютерам эффективно работать с задачами гигантского размера. Рассматриваемый материал начинается с булевых функций и технологий и трюков работы с битами, затем всесторонне рассматривается генерация всех кортежей и перестановок, всех сочетаний и разбиений, и всех деревьев.
Книга освещает практические основы когнитивистики для программистов. Основные темы: осмысление и развитие чужого и собственного кода, изучение новых языков программирования, мнемонические приемы для программистов, поддержка кода в читаемом состоянии. Объяснено, как снижать когнитивную нагрузку при работе программиста, как делать код логичным и понятным для себя и коллег. Рассмотрены приемы именова…
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела. В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, чт…
Большинство разработчиков ПО тратят тысячи часов на создание излишне сложного кода. Девять основных принципов книги «Искусство чистого кода» научат вас писать понятный и удобный в сопровождении код без ущерба для функциональности. Главный принцип – это простота: сокращайте, упрощайте и перенаправляйте освободившуюся энергию на самые важные задачи, чтобы сэкономить бесчисленное количество часов и о…