Искусство программирования - ТОП 50 лучших книг
Для реализации API необходимо провести большую работу. Чрезмерное планирование может стать пустой тратой сил, а его недостаток приводит к катастрофическим последствиям. В этой книге вы получите решения, которые позволят вам распределить необходимые ресурсы и достичь требуемого уровня эффективности за оптимальное время. Как соблюсти баланс гибкости и производительности, сохранив надежность и простоту настройки? Четыре эксперта из Академии API объясняют разработчикам ПО, руководителям продуктов и проектов, как максимально увеличить ценность их API, управляя интерфейсами как продуктами с непрерывным жизненным циклом.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
В этом томе рассматриваются методы, позволяющие компьютерам эффективно работать с задачами гигантского размера. Рассматриваемый материал начинается с булевых функций и технологий и трюков работы с битами, затем всесторонне рассматривается генерация всех кортежей и перестановок, всех сочетаний и разбиений, и всех деревьев.
Во втором издании третьего тома содержится исчерпывающий обзор классических алгоритмов сортировки и поиска. Представленная в нем информация дополняет приведенное в первом томе обсуждение структур данных. Автор рассматривает принципы построения больших и малых баз данных, а также внутренней и внешней памяти.
Тестирование является ключевым компонентом гибкой разработки. Широкое внедрение гибких методов привело к необходимости помещения в центр внимания приемов эффективного тестирования, а гибкие проекты существенно трансформировали роль тестировщиков ПО. Тем не менее, большинство функций тестировщика остается в значительной степени недопонятыми. В чем же состоит истинная роль тестировщика? Нужны ли гибким командам члены, разбирающиеся в вопросах контроля качества? Что на самом деле означает должность «гибкий тестировщик»?
Двое из наиболее опытных в области гибкого тестирования практиков и консультантов, Лайза Криспин и Джанет Грегори, объединились в команду, чтобы предоставить окончательные ответы на эти и многие другие вопросы. В настоящей книге они дают определение гибкого тестирования и показывают роль тестировщиков в реальных гибких командах. Вы узнаете, как использовать квадранты гибкого тестирования для идентификации потребностей в тестировании, требований к тестировщикам и набору инструментальных средст…
Во втором томе представлено полное введение в теорию получисленных алгоритмов, причем случайным числам и арифметике посвящены отдельные главы. В книге даны основы теории получисленных алгоритмов, а также их основные примеры. Тем самым установлено прочное связующее звено между компьютерным программированием и численным анализом. Особого упоминания заслуживает предложенная Кнутом в этом третьем издании новая трактовка генераторов случайных чисел, а также рассмотрение способов вычислений с помощью формальных степенных рядов.
Первый том серии книг Искусство программирования начинается с описания основных понятий и методов программирования. Затем автор переходит к рассмотрению информационных структур – представлению информации внутри компьютера, структурных связей между элементами данных и способам эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов, методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов.
В соответствии с современными направлениями исследований был существенно переработан раздел математического введения.
Джоэл о программировании и разнообразных и иногда родственных вопросах, которые должны быть интересны разработчикам программного обеспечения, проектировщикам и менеджерам, а также тем, кому посчастливилось или не повезло в каком#то качестве работать с ними.
Книга представляет собой подборку эссе, опубликованных автором на его сайте http://www.joelonsoftware.com. Талант и глубокое проникновение в суть предмета сделали Джоэла мастером своего дела, а остроумие и едкий юмор принесли сайту скандальную известность среди программистов. Затронуты практически все вообразимые аспекты создания ПО от лучших способов устройства рабочего места программиста до лучших способов написания программного кода. Издание адресовано широкому кругу читателей – и тем, кто собирается руководить программистами, и самим программистам – как приверженцам Microsoft, так и сторонникам открытого кода.
Это увлекательная и понятная книга о Python, созданная специально для начинающих взрослых и их детей. Эта книга предлагает простой и доступный путь в мир программирования, где даже самые молодые читатели могут освоить основы.
Примеры кода для детей: Книга содержит множество примеров кода, которые легко понять и объяснить детям. Они иллюстрируют концепции программирования через интересные истории и задачи.
Каждая глава вводит важные концепции программирования, такие как переменные, условия, циклы и функции, используя язык, понятный и детям, и начинающим взрослым.
Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программиста выручают знание алгоритмов и практика их применения. Эта книга – как раз про практику. Ее автор Джордж Хайнеман предлагает краткое, но четкое и последовательное описание основных алгоритмов, которые можно эффективно использовать в большинстве языков программирования. О том, какими методами решаются различные вычислительные задачи, стоит знать и разработчикам, и тестировщикам, и интеграторам.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Знакомы ли вы с технологиями, лежащими в основе вашей собственной программы? Почему «правильный» код не хочет работать? Истина проста и банальна – нужно сразу создавать код, который будет работать хорошо и не будет прятать в себе трудноуловимые ошибки.
Для этого Джонатан Стейнхарт исследует фундаментальные концепции, лежащие в основе работы компьютеров. Он рассматривает аппаратное обеспечение, поведение программ на определенных устройствах, чтобы показать, как на самом деле должен работать ваш код.
Узнайте, что на самом деле происходит, когда вы запускаете код на компьютере, и вы научитесь программировать лучше и эффективнее.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Большинство разработчиков ПО тратят тысячи часов на создание излишне сложного кода. Девять основных принципов книги «Искусство чистого кода» научат вас писать понятный и удобный в сопровождении код без ущерба для функциональности. Главный принцип – это простота: сокращайте, упрощайте и перенаправляйте освободившуюся энергию на самые важные задачи, чтобы сэкономить бесчисленное количество часов и облегчить зачастую очень утомительную задачу поддержки кода. Автор бестселлеров Кристиан Майер помог тысячам людей усовершенствовать навыки программирования и в своей новой книге делится опытом с читателями.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Джунам и вчерашним выпускникам вузов катастрофически не хватает «уличного» опыта. Чтобы стать отличным разработчиком, понадобятся вполне конкретные навыки, позволяющие превратить теорию в практику, а также понимание того, в какие моменты можно нарушать казавшиеся незыблемыми правила. Эта книга – справочник по выживанию для начинающего разработчика.
«Кодер с улицы» научит вас справляться с реальными задачами. Седат Капаноглу честно делится советами, основанными на личном опыте, а не на абстрактной теории. Вы узнаете, как адаптировать знания, полученные из книг и курсов, к повседневным рабочим задачам.
Пора узнать, как использовать антипаттерны и «плохие» методы программирования. Эта книга построена на конкретных задачах, с которыми вы столкнетесь на работе, – от чисто технических аспектов, таких как создание функции поиска, до законов выживания в проблемной команде с менеджером-параноиком.
Все это превратит вас в настоящего уличного бойца, готового в любой момент приступить к созданию эффективного программ…
Это увлекательная и понятная книга о Python, созданная специально для начинающих взрослых и их детей. Эта книга предлагает простой и доступный путь в мир программирования, где даже самые молодые читатели могут освоить основы.
Примеры кода для детей: Книга содержит множество примеров кода, которые легко понять и объяснить детям. Они иллюстрируют концепции программирования через интересные истории и задачи.
Каждая глава вводит важные концепции программирования, такие как переменные, условия, циклы и функции, используя язык, понятный и детям, и начинающим взрослым.
Кодовые базы разрастаются, становясь все сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы?
Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее.
Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают дублирование кода, и откроете для себя новые уровни его выразительности.
Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фрагментами кода, взятыми из готового проекта. Написанные на языке C#, они будут понятны всем, кто использует любой объектно-ориентированный язык, включая Java, C++ и TypeScript. Для более глубокого изучения материала вы можете загрузить весь код и подробные комментарии к коммитам.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Книга освещает практические основы когнитивистики для программистов. Основные темы: осмысление и развитие чужого и собственного кода, изучение новых языков программирования, мнемонические приемы для программистов, поддержка кода в читаемом состоянии. Объяснено, как снижать когнитивную нагрузку при работе программиста, как делать код логичным и понятным для себя и коллег. Рассмотрены приемы именования функций, классов и переменных, подходы к ведению репозиториев, совместной разработке и доработке кода.
«Алгоритмы на практике» научат решать самые трудные и интересные программистские задачи, а также разрабатывать собственные алгоритмы. В качестве примеров для обучения взяты реальные задания с международных соревнований по программированию. Вы узнаете, как классифицировать задачи, правильно подбирать структуру данных и выбирать алгоритм для решения. Поймете, что выбор структуры данных – будь то хеш-таблица, куча или дерево – влияет на скорость выполнения программы и на эффективность алгоритма. Разберетесь, как применять рекурсию, динамическое программирование, двоичный поиск.
Никакого условного псевдокода, все примеры сопровождаются исходным кодом на языке Си с подробными объяснениями.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд.
Книга «Объекты. Стильное ООП» познакомит вас с профессиональными техниками написания ОО-кода. Маттиас Нобак раскрывает правила создания объектов, определения методов, изменения и извлечения состояний и многое другое. Все примеры написаны на простом псевдокоде, который легко перевести в любой язык программирования. Кейс за кейсом вы изучите ключевые сценарии и задачи проектирования объектов, а затем шаг за шагом создадите простое веб-приложение, которое покажет, как должны взаимодействовать объекты разных типов.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»!
Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике.
Вы начнете с введения в алгоритмы, от поиска и сортировки перейдете к линейному программированию, ранжированию страниц и графам и даже поработаете с алгоритмами машинного обучения. Теории не бывает без практики, поэтому вы займетесь прогнозами погоды, кластеризацией твитов, механизмами рекомендаций фильмов. И, наконец, освоите параллельную обработку, что даст вам возможность решать задачи, требующие большого объема вычислений.
Дойдя до конца, вы превратитесь в эксперта по решению реальных вычислительных задач с применением широкого спектра разнообразных алгоритмов.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Эта книга предлагает всесторонний обзор искусственного интеллекта (ИИ) и его различных областей, включая машинное обучение, обработку естественного языка и робототехнику. Книга начинается со знакомства с ИИ, включая его историю и текущее состояние развития. Затем в ней рассматривается потенциальное влияние ИИ на общество, как положительное, так и отрицательное. Это включает в себя его потенциал для преобразования отраслей, создания новых рабочих мест и решения глобальных проблем, а также этические аспекты, связанные с его разработкой и использованием, такие как вопросы предвзятости, подотчетности и автономности. Рассматривается потенциальное применение ИИ в конкретных отраслях, включая здравоохранение, транспорт, образование и вооруженные силы, а также то, как он может повлиять на будущее работы за счет автоматизации и необходимости переквалификации. Наконец, в книге обсуждаются потенциальные последствия ИИ для частной жизни, которые могут возникнуть по мере его дальнейшего развития.
Если вам нужно разобраться в том, что из себя представляют алгоритмы и графы, как они работают и какими бывают, эта книга для вас. Ее автор, Панос Луридас, уже много лет использует алгоритмы при проектировании программного обеспечения, криптографии, машинном обучении и является научным сотрудником Афинского университета экономики и бизнеса. Очень доступным даже для новичков языком он знакомит читателей с концепцией алгоритмов и принципами их работы – для чтения книги достаточно базового школьного образования.
Эта книга предлагает всесторонний обзор искусственного интеллекта (ИИ) и его различных областей, включая машинное обучение, обработку естественного языка и робототехнику. Книга начинается со знакомства с ИИ, включая его историю и текущее состояние развития. Затем в ней рассматривается потенциальное влияние ИИ на общество, как положительное, так и отрицательное. Это включает в себя его потенциал для преобразования отраслей, создания новых рабочих мест и решения глобальных проблем, а также этические аспекты, связанные с его разработкой и использованием, такие как вопросы предвзятости, подотчетности и автономности. Рассматривается потенциальное применение ИИ в конкретных отраслях, включая здравоохранение, транспорт, образование и вооруженные силы, а также то, как он может повлиять на будущее работы за счет автоматизации и необходимости переквалификации. Наконец, в книге обсуждаются потенциальные последствия ИИ для частной жизни, которые могут возникнуть по мере его дальнейшего развития.
В каждой кодовой базе есть ошибки и слабые места, которые нужно найти и исправить. Правильный рефакторинг сделает ваш код элегантным, удобным для чтения и простым в обслуживании. Познакомьтесь с уникальным подходом, позволяющим реализовать любой метод в пяти строках кода. И не забывайте про тайну, хорошо известную большинству senior-разработчиков: иногда проще ухудшить код и вернуться к его исправлению позже.
«Пять строк кода» – это свежий взгляд на рефакторинг для разработчиков любого уровня. Вы узнаете, когда проводить рефакторинг, как использовать паттерны, а также научитесь определять признаки, которые говорят о том, что код необходимо удалить.
Для разработчиков всех уровней. В примерах используется доступный и понятный синтаксис TypeScript, который позволяет перейти к любому языку высокого уровня.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
В книге «Идеальная работа. Программирование без прикрас» легендарный Роберт Мартин (Дядюшка Боб) создал исчерпывающее руководство по хорошей работе для каждого программиста. Роберт Мартин объединяет дисциплины, стандарты и вопросы этики, необходимые для быстрой и продуктивной разработки надежного, эффективного кода, позволяющего испытывать гордость за программное обеспечение, которое вы создаете каждый день.
Роберт Мартин, автор бестселлера «Чистый код», начинает с прагматического руководства по пяти основополагающим дисциплинам создания программного обеспечения: разработка через тестирование, рефакторинг, простой дизайн, совместное программирование и тесты. Затем он переходит к стандартам – обрисовывая ожидания «мира» от разработчиков программного обеспечения, рассказывая, как часто различаются эти подходы, и помогает вам устранить несоответствия. Наконец он обращается к этике программиста, давая десять фундаментальных постулатов, которым должны следовать все разработчики программного обеспечения.
Поддерживать большие приложения сложно, а поддержка больших «неорганизованных» приложений превращается в непосильную задачу. Пришло время сделать паузу и задуматься о рефакторинге!
Внесение значительных изменений в крупную и сложную кодовую базу – нетривиальная задача, которую практически невозможно успешно выполнить без рабочей команды, инструментов и планирования. Мод Лемер раскрывает все тайны рефакторинга на примере двух исследований. Вы научитесь эффективно вносить важные изменения в кодовую базу, разберетесь, как деградирует код и почему иногда это неизбежно.
Пассажирский самолет, управляемый нейросетью... Фантастика или уже реальность? Начинающему программисту Егору выпадает шанс поработать над проектом, способным перевернуть мировую авиацию. Однако любопытство и дотошность юноши приводят к опасным последствиям, грозящим разрушить не только его карьеру, но и жизнь.
Многие веб-фреймворки замедляют работу приложений, загружая сотни строк кода «на всякий случай». Svelte позволяет компилировать приложения в эффективные крошечные пакеты с минимальным временем загрузки. Объединение Svelte с фреймворком Sapper облегчает маршрутизацию страниц, генерирование на стороне сервера, разработку статических сайтов и решение многих других задач.
Хотите научиться создавать быстрые и элегантные веб-приложения?
Вам помогут компоненты Svelte и качественный опыт взаимодействия. Вы научитесь использовать уникальную модель управления состояниями, освоите упрощенную маршрутизацию страниц, разбиение кода, поддержку автономного режима и работу с представлениями, генерируемыми на сервере.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
В данном учебнике представлены основы теории и инструкции для выполнения лабораторного практикума по дисциплине «Исследование операций» для студентов физико-математических факультетов педагогических вузов. В первой части учебника рассмотрены симплексный метод решения задачи линейного программирования, в том числе для задач с искусственными переменными, решение ЗЛП с помощью соотношений двойственности, а также задачи линейного параметрического программирования.
В современном мире разработки успешность приложения уже не определяется параметром «просто работает». Хороший программист должен знать возможности языка, практические приемы проектирования и платформенные средства для достижения максимальной производительности и жизнеспособности программ. Эта книга написана для разработчиков, которые хотят создавать качественный софт. Затронуты все ключевые показатели ПО: скорость, затраты памяти, надежность, удобочитаемость, потоковая безопасность, универсальность и элегантность. Реальные задачи и прикладные примеры кода на Java помогут надежно усвоить концепции.
Пройдя все этапы создания центрального проекта книги, вы сможете уверенно выбрать правильный путь оптимизации собственного приложения.
Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает (по крайней мере полностью)… И никто не знает. Но все мы можем начать работать над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом уровне.Учтите, что, хотя книга и называется «Познакомьтесь, JavaScript», она не для новичков. У нее другая задача: дать обзор тем, в которых необходимо разобраться на начальном этапе изучения JS. Даже если вы уже написали достаточно кода JS, эту книгу не стоит пропускать, возможно, в ваших знаниях есть пробелы, которые необходимо заполнить перед углубленным изучением сложных тем. Пора начать изучение JS!
Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает (по крайней мере полностью)… И никто не знает. Но все мы можем начать работать над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом уровне. Вы уже прочитали «Познакомьтесь, JavaScript»? Тогда откройте вторую книгу серии «Вы пока еще не знаете JS», чтобы познакомиться поближе с первым из трех столпов JavaScript – системой областей видимости и функциональными замыканиями, а также с мощным паттерном проектирования «Модуль». Пора освоить правила лексических областей видимости для размещения переменных и функций в правильных позициях. И заглянуть на более низкий уровень, ведь магия с хранением состояния модулей базируется на замыканиях, использующих систему лексических областей видимости.
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный C. Профессиональное программирование» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи.
«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения
Лекции по Delphi 7, который в свое время многим открыл путь в мир программирования.
Книга предназначена для самостоятельного изучения языка программирования MQL5. Все теоретические положения, рассматриваемые в книге, сопровождаются практическими примерами, рекомендуемыми для самостоятельного выполнения. Рассмотрение материала выполняется от элементарных основ программирования до разработки индикаторов технического анализа и полноценных торговых экспертов для терминала MetaTrader5. Данных подход делает книгу полезной для новичков, не имеющих опыта в программировании. Также книга будет полезна и опытным программистам, желающим ускорить освоение языка MQL5 или познакомится с авторским подходом в разработке индикаторов и экспертов.
Для реализации API необходимо провести большую работу, но эти усилия не всегда окупаются. Чрезмерное планирование может стать пустой тратой сил, а его недостаток приводит к катастрофическим последствиям. Во втором издании представлены решения для отдельных API и систем из нескольких API, которые позволят вам распределить необходимые ресурсы и достичь требуемого уровня эффективности за оптимальное время.
Как соблюсти баланс гибкости и производительности, сохранив надежность и простоту настройки? Четыре эксперта по API объясняют разработчикам, руководителям продуктов и проектов, как максимально увеличить ценность их API, управляя интерфейсами как продуктами с непрерывным жизненным циклом.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Юнит-тестирование – это процесс проверки отдельных модулей программы на корректность работы. Правильный подход к тестированию позволит максимизировать качество и скорость разработки проекта. Некачественные тесты, наоборот, могут нанести вред: нарушить работоспособность кода, увеличить количество ошибок, растянуть сроки и затраты. Грамотное внедрение юнит-тестирования – хорошее решение для развития проекта.
Научитесь разрабатывать тесты профессионального уровня, без ошибок автоматизировать процессы тестирования, а также интегрировать тестирование в жизненный цикл приложения. Со временем вы овладеете особым чутьем, присущим специалистам по тестированию. Как ни удивительно, практика написания хороших тестов способствует созданию более качественного кода.
В этой книге: универсальные рекомендации по оценке тестов; тестирование для выявления и исключения антипаттернов; рефакторинг тестов вместе с рабочим кодом; использование интеграционных тестов для проверки всей системы.
После покупки предоставляется дополни…
Код высокого качества – это не просто код без ошибок. Он должен быть чистым, удобочитаемым и простым в сопровождении. Путь от рядового питониста к профи не прост, для этого вам нужно разбираться в стиле, архитектуре приложений и процессе разработки.
Книга «Секреты Python Pro» научит проектировать ПО и писать качественный код, то есть делать его понятным, сопровождаемым и расширяемым. Дейн Хиллард – профессиональный питонист, с помощью примеров и упражнений он покажет вам, как разбивать код на блоки, повышать качество за счет снижения сложности и т. д. Только освоив основополагающие принципы, вы сможете сделать так, чтобы чтение, сопровождение и переиспользование вашего кода не доставляли проблем ни вам, ни вашим коллегам.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Колосс на глиняных ногах – так можно назвать программиста без подготовки в области Computer Science. Уверенное владение основами позволяет «не изобретать велосипеды» и закладывать в архитектуру программ эффективные решения. Всё это избавляет от ошибок и чрезмерных затрат на тестирование и рефакторинг. Не беда, если вы чувствуете себя не у дел, когда другие программисты обсуждают аппроксимативный предел. Даже специалисты с опытом допускают ошибки из-за того, что подзабыли Computer Science.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Алгоритмы – это сердце и душа computer science. Без них не обойтись, они есть везде – от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию.
Если вы уже достаточно прокачались в асимптотическом анализе, жадных алгоритмах и динамическом программировании, самое время рассмотреть понятие NP-трудности, которое часто вызывает неподдельный страх. Тим Рафгарден покажет, как распознать NP-трудную задачу, расскажет, как избежать решения с нуля, и поможет найти эффективные пути решения.
Серия книг «Совершенный алгоритм» адресована тем, у кого уже есть опыт программирования, и основана на онлайн-курсах, которые регулярно проводятся с 2012 года. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах.
Познакомиться с дополнительными мат…
Эта книга для начинающих программистов, желающих начать программировать на языке Python 3. Книга будет полезна для студентов механиков и для цеховых конструкторов-механиков, а также для разметчиков. Предлагаемые в книге расчеты экономят рабочее время и уменьшают количество ошибок в расчетах. Язык программирования Python хорошо подходит для быстрого решения задач по определению оптимальных размеров и параметров. Программирование на Python требует меньше времени, чем на других языках. Конструкторам в цеху часто приходится быстро выполнять разнообразные расчеты - библиотека небольших программ позволяет значительно экономить время и уменьшить вероятность ошибок. Данная книга - сборник листингов рабочих программ. Все программы, в разное время, разработаны самим автором при возникновении необходимости данных расчетов. Все программы проверены и постоянно используются в работе конструктора-механика. Листинги удобно использовать в качестве готовых блоков для вновь разрабатываемых программ.
Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились – переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.
Книга, предназначенная для разработчиков и архитекторов из больших корпораций, рассказывает, как проектировать и писать приложения в духе микросервисной архитектуры. Также в ней описано, как делается рефакторинг крупного приложения – и монолит превращается в набор микросервисов.
Книга охватывает почти весь круг теоретических и практических вопросов, относящихся к рекурсии и рекурсивному программированию, что делает её прекрасным дополнением к уже существующим немногочисленным книгам на эту тему. На множестве примеров и задач – от простых к сложным – читатель постепенно погружается в рекурсию, учится мыслить рекурсивно и, отталкиваясь от декларативной парадигмы программирования, создавать рекурсивные алгоритмы с использованием пошаговой методики и специальных схем декомпозиции задач. При этом автор беспристрастно сопоставляет рекурсивные алгоритмы с итерационными, отмечая достоинства и недостатки тех и других.
Все алгоритмы в книге реализованы на языке Python 3.
Издание предназначено студентам вузов, преподавателям, а также широкому кругу разработчиков, желающих эффективно применять рекурсивные алгоритмы в своей работе.
Книга представляет собой краткое, но математически строгое введение в анализ различных алгоритмов с точки зрения доказывания их правильности. Вы ознакомитесь с основными свойствами линейных, ветвящихся и циклических алгоритмов и способами их проверки. Книга содержит большое количество теоретических задач и практических примеров на языке Python.
Издание предназначено для студентов вузов, специалистов в области информатики и математики, а также широкого круга программистов и разработчиков.
Алгоритмы – это сердце и душа computer science. Без них не обойтись, они есть везде – от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию. В этой книге Тим Рафгарден – гуру алгоритмов – расскажет об асимптотическом анализе, нотации большое-О, алгоритмах «разделяй и властвуй», рандомизации, сортировки и отбора. Книга «Совершенный алгоритм» адресована тем, у кого уже есть опыт программирования. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах.
Познакомиться с дополнительными материалами и видеороликами автора (на английском языке) можно на сайте www.algorithmsilluminated.org.
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пользоваться новыми возможностями.
Как и в других книгах серии «Вы не знаете JS», здесь показаны нетривиальные аспекты языка, от которых программисты JavaScript предпочитают держаться подальше (или полагают, что они не существуют). Вооружившись этими знаниями, вы достигнете истинного мастерства JavaScript.
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное, но при этом глубоко продуманное руководство посвящено новым асинхронным возможностям и средствам повышения производительности, которые позволяют создавать сложные одностраничные веб-приложения и избежать при этом «кошмара обратных вызовов».
Как и в других книгах серии «Вы не знаете JS», вы познакомитесь с нетривиальными особенностями языка, которых так боятся программисты. Только вооружившись знаниями, можно достичь истинного мастерства.
Пора по-новому взглянуть на постулаты, остававшиеся неизменными на протяжении многих лет. Динамично меняющийся мир диктует свои правила, в том числе и в компьютерной архитектуре. Происходящие изменения требуют новых подходов, заставляют жесткие системы становиться гибкими и подстраиваться под новые условия. Возможно ли долгосрочное планирование, если все непрерывно меняется? Как предотвратить постепенное ухудшение архитектурного решения с течением времени? Здесь вы найдете ответы и рекомендации, которые позволят защитить самые важные характеристики проекта в условиях непрерывных изменений.
После приобретения книга будет также доступна в формате epub.
Полный спектр сведений о языке Java с примерами и разбором задач от автора учебников-бестселлеров по языкам программирования Алексея Васильева. С помощью этой книги освоить язык Java сможет каждый желающий – от новичка до специалиста.