Secure by Design
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (2019)
«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (2019)
«Безопасно by Design» не похожа на другие книги по безопасности. В ней нет дискуссий на такие классические темы, как переполнение буфера или слабые места в криптографических хэш-функциях. Вместо собственно безопасности она концентрируется на подходах к разработке ПО. Поначалу это может показаться немного странным, но вы поймете, что недостатки безопасности часто вызваны плохим дизайном. Значительного количества уязвимостей можно избежать, используя передовые методы проектирования. Изучение того, как дизайн программного обеспечения соотносится с безопасностью, является целью этой книги. Вы узнаете, почему дизайн важен для безопасности и как его использовать для создания безопасного программного обеспечения.
👍3
Mastering Regular Expressions
Jeffrey E. F. Friedl
Вы никогда не пользовались регулярными выражениями? Откройте мир regex, и станьте профессионалом, способным эффективно работать с данными в Java, JavaScript, C, C++, C#, Perl, Python, Ruby, PHP и других языках программирования. Международный бестселлер знакомит с фундаментальными основами регулярных выражений, функциональными возможностями языков программирования и позволяет оптимизировать работу с информацией. Вы научитесь самостоятельно конструировать регулярные выражения и использовать приведенные в книге примеры для быстрого решения самых актуальных задач.
Jeffrey E. F. Friedl
Вы никогда не пользовались регулярными выражениями? Откройте мир regex, и станьте профессионалом, способным эффективно работать с данными в Java, JavaScript, C, C++, C#, Perl, Python, Ruby, PHP и других языках программирования. Международный бестселлер знакомит с фундаментальными основами регулярных выражений, функциональными возможностями языков программирования и позволяет оптимизировать работу с информацией. Вы научитесь самостоятельно конструировать регулярные выражения и использовать приведенные в книге примеры для быстрого решения самых актуальных задач.
👍4
Code craft: the practice of writing excellent code
Goodliffe, Pete
Ничто не сравнится по ценности с советами настоящего программиста-профессионала. Книга Питера Гудлифа "Ремесло программиста" написана ясно, практично и занимательно. Она поможет вам перейти на более высокий уровень мастерства программирования и покажет, как писать код, который больше чем "просто работает". Да, вы умеете писать работающий код, но как написать понятный код? Как добиться его надежности и отсутствия ошибок? Смогут ли другие программисты выяснить логику и цель вашего кода? Выдающиеся программисты не просто обладают техническими знаниями - у них есть правильный подход и отношение к программированию.
Перед вами руководство по выживанию в условиях промышленного производства ПО. Эта книга посвящена тому, чему вас никто не учил: как правильно программировать в реальной жизни.
Goodliffe, Pete
Ничто не сравнится по ценности с советами настоящего программиста-профессионала. Книга Питера Гудлифа "Ремесло программиста" написана ясно, практично и занимательно. Она поможет вам перейти на более высокий уровень мастерства программирования и покажет, как писать код, который больше чем "просто работает". Да, вы умеете писать работающий код, но как написать понятный код? Как добиться его надежности и отсутствия ошибок? Смогут ли другие программисты выяснить логику и цель вашего кода? Выдающиеся программисты не просто обладают техническими знаниями - у них есть правильный подход и отношение к программированию.
Перед вами руководство по выживанию в условиях промышленного производства ПО. Эта книга посвящена тому, чему вас никто не учил: как правильно программировать в реальной жизни.
Web Application Security: Exploitation and Countermeasures for Modern Web Applications
Andrew Hoffman
Среди огромного количества информации по сетевой и ИТ-безопасности практически не найти книг по безопасности веб-приложений.
Познакомьтесь на практике с разведкой, защитой и нападением!
Вы изучите методы эффективного исследования и анализа веб-приложений, даже тех, к которым нет прямого доступа, узнаете самые современные хакерские приемы и научитесь защищать собственные разработки.
Andrew Hoffman
Среди огромного количества информации по сетевой и ИТ-безопасности практически не найти книг по безопасности веб-приложений.
Познакомьтесь на практике с разведкой, защитой и нападением!
Вы изучите методы эффективного исследования и анализа веб-приложений, даже тех, к которым нет прямого доступа, узнаете самые современные хакерские приемы и научитесь защищать собственные разработки.
Grokking Artificial Intelligence Algorithms
Rishal Hurbans (2020)
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.
Rishal Hurbans (2020)
Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.
👍3❤2
Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming
Stephen Cleary (2019)
Большинство разработчиков настороженно относятся к конкурентному и многопоточному программированию, опасаясь проблем связанных с взаимной блокировкой, голоданием и др. Стивен Клири поможет разобраться с трудностями и избежать подводных камней, возникающих при решении реальных задач. В вашем распоряжении 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования.
Stephen Cleary (2019)
Большинство разработчиков настороженно относятся к конкурентному и многопоточному программированию, опасаясь проблем связанных с взаимной блокировкой, голоданием и др. Стивен Клири поможет разобраться с трудностями и избежать подводных камней, возникающих при решении реальных задач. В вашем распоряжении 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования.
The Art of Computer Programming, Volume 1: Fundamental Algorithms
Knuth, Donald Ervin
Первый том серии книг "Искусство программирования" начинается с описания основных понятий и методов программирования. Затем автор сосредоточивается на рассмотрении информационных структур —представлении информации внутри компьютера, структурных связях между элементами данных и способах эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов и методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов. В соответствии с современными направлениями исследований был существенно переработан также раздел математического введения.
Knuth, Donald Ervin
Первый том серии книг "Искусство программирования" начинается с описания основных понятий и методов программирования. Затем автор сосредоточивается на рассмотрении информационных структур —представлении информации внутри компьютера, структурных связях между элементами данных и способах эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов и методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов. В соответствии с современными направлениями исследований был существенно переработан также раздел математического введения.
👍1
The Art of Computer Programming, Volume 2: Seminumerical Algorithms
Donald E. Knuth
Во втором томе представлено полное введение в теорию получисленных алгоритмов, причем случайным числам и арифметике посвящены отдельные главы. В книге даны основы теории получисленных алгоритмов, а также их основные примеры. Тем самым устанавлено прочное связующее звено между компьютерным программированием и численным анализом. Особого упоминания заслуживает предложенная Кнутом в этом третьем издании новая трактовка генераторов случайных чисел, а также рассмотрение способов вычислений с помощью формальных степенных рядов.
Donald E. Knuth
Во втором томе представлено полное введение в теорию получисленных алгоритмов, причем случайным числам и арифметике посвящены отдельные главы. В книге даны основы теории получисленных алгоритмов, а также их основные примеры. Тем самым устанавлено прочное связующее звено между компьютерным программированием и численным анализом. Особого упоминания заслуживает предложенная Кнутом в этом третьем издании новая трактовка генераторов случайных чисел, а также рассмотрение способов вычислений с помощью формальных степенных рядов.
Deep Learning from Scratch: Building with Python from First Principles
Seth Weidman (2019)
Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО. Вы начнете с основ глубокого обучения и быстро перейдете к более сложным архитектурам, создавая проекты с нуля. Вы научитесь использовать многослойные, сверточные и рекуррентные нейронные сети. Только понимая принцип их работы (от «математики» до концепций), вы сделаете свои проекты успешными.
В этой книге:
- Четкие схемы, помогающие разобраться в нейросетях, и примеры рабочего кода.
- Методы реализации многослойных сетей с нуля на базе простой объектно-ориентированной структуры.
- Примеры и доступные объяснения сверточных и рекуррентных нейронных сетей.
- Реализация концепций нейросетей с помощью популярного фреймворка PyTorch.
Seth Weidman (2019)
Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО. Вы начнете с основ глубокого обучения и быстро перейдете к более сложным архитектурам, создавая проекты с нуля. Вы научитесь использовать многослойные, сверточные и рекуррентные нейронные сети. Только понимая принцип их работы (от «математики» до концепций), вы сделаете свои проекты успешными.
В этой книге:
- Четкие схемы, помогающие разобраться в нейросетях, и примеры рабочего кода.
- Методы реализации многослойных сетей с нуля на базе простой объектно-ориентированной структуры.
- Примеры и доступные объяснения сверточных и рекуррентных нейронных сетей.
- Реализация концепций нейросетей с помощью популярного фреймворка PyTorch.
Arduino Workshop: A Hands-On Introduction with 65 Projects
John Boxall (2013)
Что такое Arduino? За этим словом прячется легкое и простое устройство, которое способно превратить кучу проводов и плат в робота, управлять умным домом и многое другое. Прочитайте эту книгу и овладейте бесчисленными возможностями Arduino, позволяющими электронике взаимодействовать с окружающим миром.
Познакомившись с основами Arduino, вы быстро перейдете к работе с разнообразными электронными компонентами. А конкретные проекты позволят вам сразу закрепить знания на практике. Страница за страницей проекты будут становиться все более изощренными, сложными и интересными.
John Boxall (2013)
Что такое Arduino? За этим словом прячется легкое и простое устройство, которое способно превратить кучу проводов и плат в робота, управлять умным домом и многое другое. Прочитайте эту книгу и овладейте бесчисленными возможностями Arduino, позволяющими электронике взаимодействовать с окружающим миром.
Познакомившись с основами Arduino, вы быстро перейдете к работе с разнообразными электронными компонентами. А конкретные проекты позволят вам сразу закрепить знания на практике. Страница за страницей проекты будут становиться все более изощренными, сложными и интересными.
JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron
Adam D. Scott (2020)
Что такое современный JavaScript? Когда-то он просто добавлял интерактивности к окнам веб-браузера, а теперь превратился в основательный фундамент мощного и надежного софта. Разработчики любого уровня смогут использовать JavaScript для создания API, веб-, мобильных и десктопных приложений.
В этой книге:
• Работа с данными с помощью GraphQL.
• Аутентификация для API, веб- и нативных приложений.
• Создание высокопроизводительных веб-приложений
• Разработка кроссплатформенных приложений под iOS и Android
• Создание десктопных приложений
Adam D. Scott (2020)
Что такое современный JavaScript? Когда-то он просто добавлял интерактивности к окнам веб-браузера, а теперь превратился в основательный фундамент мощного и надежного софта. Разработчики любого уровня смогут использовать JavaScript для создания API, веб-, мобильных и десктопных приложений.
В этой книге:
• Работа с данными с помощью GraphQL.
• Аутентификация для API, веб- и нативных приложений.
• Создание высокопроизводительных веб-приложений
• Разработка кроссплатформенных приложений под iOS и Android
• Создание десктопных приложений
Стать востребованным IT-специалистом за 2 года — реально
Вы получите эту возможность в онлайн-магистратуре ТюмГУ "Разработка программных систем". Все плюсы фундаментального образования теперь доступны в онлайн-формате
✔️Погружение в IT: работа с алгоритмами, базами данных, фреймворками и продакшеном
✔️Изучение всех стадий жизненного цикла ПО
✔️Практика и стажировка у партнеров программы
✔️Полезные связи в сообществе
✔️Диплом государственного образца
Мы сделали все, чтобы подготовить вас к реальным задачам. Тренажеры, хакатоны и kaggle-соревнования помогут вам развить практические навыки.
За время обучения вы успеете собрать 7+ проектов в портфолио — они убедят партнеров и работодателей в вашей компетентности.
📍Основной язык программы — Java, один из самых популярных и востребованных в мире. Дополнительно вы сможете изучить Python или C++.
Ознакомьтесь с учебным планом программы на нашем сайте: https://u.to/BS2EGw
Вы получите эту возможность в онлайн-магистратуре ТюмГУ "Разработка программных систем". Все плюсы фундаментального образования теперь доступны в онлайн-формате
✔️Погружение в IT: работа с алгоритмами, базами данных, фреймворками и продакшеном
✔️Изучение всех стадий жизненного цикла ПО
✔️Практика и стажировка у партнеров программы
✔️Полезные связи в сообществе
✔️Диплом государственного образца
Мы сделали все, чтобы подготовить вас к реальным задачам. Тренажеры, хакатоны и kaggle-соревнования помогут вам развить практические навыки.
За время обучения вы успеете собрать 7+ проектов в портфолио — они убедят партнеров и работодателей в вашей компетентности.
📍Основной язык программы — Java, один из самых популярных и востребованных в мире. Дополнительно вы сможете изучить Python или C++.
Ознакомьтесь с учебным планом программы на нашем сайте: https://u.to/BS2EGw
Сопоставление строк - одна из самых старых тем в теории алгоритмов, но по-прежнему занимает важное место в информатике. За прошедшие 20 лет мы видели технологические прорывы в таких, например, приложениях, как информационный поиск и сжатие информации. Эта книга, представляющая собой богатое собрание задач и упражнений по важнейшим вопросам алгоритмов обработки текстов и комбинаторных свойств слов, предлагает приятный и прямой путь к их изучению и практическому освоению.
Learn Quantum Computing with Python and Q#
A hands-on approach
Sarah C. Kaiser, Christopher E. Granade (2021)
Квантовые компьютеры обеспечивают радикальный скачок в скорости и вычислительной мощи. Совсем скоро могут появиться усовершенствованные научные модели и новые рубежи в криптографии, которые были немыслимы при использовании классических вычислений. Комплект инструментов для квантовой разработки от компании Microsoft и язык Q# предоставляют вам возможность поупражняться в квантовых вычислениях, даже если вы не знаете математику или физику на продвинутом уровне.
В этой книге квантовые технологии обсуждаются с практической точки зрения. Используя Python, вы сможете создать собственный квантовый симулятор, а задействуя инструменты с открытым исходным кодом от Microsoft – тонко настроить квантовые алгоритмы. Авторы покажут, как применять квантовые методы для решения практических задач, в том числе для отправки секретных сообщений.
A hands-on approach
Sarah C. Kaiser, Christopher E. Granade (2021)
Квантовые компьютеры обеспечивают радикальный скачок в скорости и вычислительной мощи. Совсем скоро могут появиться усовершенствованные научные модели и новые рубежи в криптографии, которые были немыслимы при использовании классических вычислений. Комплект инструментов для квантовой разработки от компании Microsoft и язык Q# предоставляют вам возможность поупражняться в квантовых вычислениях, даже если вы не знаете математику или физику на продвинутом уровне.
В этой книге квантовые технологии обсуждаются с практической точки зрения. Используя Python, вы сможете создать собственный квантовый симулятор, а задействуя инструменты с открытым исходным кодом от Microsoft – тонко настроить квантовые алгоритмы. Авторы покажут, как применять квантовые методы для решения практических задач, в том числе для отправки секретных сообщений.
👍1
A Programmer's Guide to Computer Science: A virtual degree for the self-taught developer
William M. Springer II (2019)
Колосс на глиняных ногах – так можно назвать программиста без подготовки в области Computer Science. Уверенное владение основами позволяет «не изобретать велосипеды» и закладывать в архитектуру программ эффективные решения. Всё это избавляет от ошибок и чрезмерных затрат на тестирование и рефакторинг. Не беда, если вы чувствуете себя не у дел, когда другие программисты обсуждают аппроксимативный предел. Даже специалисты с опытом допускают ошибки из-за того, что подзабыли Computer Science. Расширенное издание бестселлера содержит все главные, а также продвинутые вопросы компьютерных наук: - типы и структуры данных; - алгоритмы; - графы; - теория сложности; - приемы эффективного решения задач; - безопасность; - железо и софт; - операционные системы; - сети; - базы данных и многое другое
William M. Springer II (2019)
Колосс на глиняных ногах – так можно назвать программиста без подготовки в области Computer Science. Уверенное владение основами позволяет «не изобретать велосипеды» и закладывать в архитектуру программ эффективные решения. Всё это избавляет от ошибок и чрезмерных затрат на тестирование и рефакторинг. Не беда, если вы чувствуете себя не у дел, когда другие программисты обсуждают аппроксимативный предел. Даже специалисты с опытом допускают ошибки из-за того, что подзабыли Computer Science. Расширенное издание бестселлера содержит все главные, а также продвинутые вопросы компьютерных наук: - типы и структуры данных; - алгоритмы; - графы; - теория сложности; - приемы эффективного решения задач; - безопасность; - железо и софт; - операционные системы; - сети; - базы данных и многое другое
Python by Example - Learning to Program in 150 Challenges
Nichola Lacey (2019)
Это Python, например! Познакомьтесь с самым быстрорастущим языком программирования на сегодняшний день. Легкое и увлекательное руководство поможет шаг за шагом прокачать навыки разработки. Никаких архитектур компьютера, теорий программирования и прочей абракадабры - больше практики! В книге 150 задач, которые плавно перенесут читателя от изучения основ языка к решению более сложных вещей. Руководство подойдет всем, у кого голова идет кругом от технического жаргона и пространных объяснений - автор уверен, что учить можно и без этого.
Nichola Lacey (2019)
Это Python, например! Познакомьтесь с самым быстрорастущим языком программирования на сегодняшний день. Легкое и увлекательное руководство поможет шаг за шагом прокачать навыки разработки. Никаких архитектур компьютера, теорий программирования и прочей абракадабры - больше практики! В книге 150 задач, которые плавно перенесут читателя от изучения основ языка к решению более сложных вещей. Руководство подойдет всем, у кого голова идет кругом от технического жаргона и пространных объяснений - автор уверен, что учить можно и без этого.
Arduino for Secret Agents
Marco Schwartz
Используя мощь и простоту платформы Arduino, мы увидим, как создать несколько проектов, которые могут быть легко использованы любым честолюбивым секретным агентом. От аудиорекордеров до GPS-трекеров- после прочтения этой книги вы сможете создать свой собственный набор инструментов секретного агента, используя платформу Arduino.
Marco Schwartz
Используя мощь и простоту платформы Arduino, мы увидим, как создать несколько проектов, которые могут быть легко использованы любым честолюбивым секретным агентом. От аудиорекордеров до GPS-трекеров- после прочтения этой книги вы сможете создать свой собственный набор инструментов секретного агента, используя платформу Arduino.
Java in a Nutshell: A Desktop Quick Reference, 7th Edition
Ben Evans, David Flanagan (2019)
Это обновленное издание не только помогает опытным программистам на Java извлечь наибольшую пользу из версий Java 9-11, но и служит удобным учебным пособием для начинающих разработчиков. На многочисленных примерах кода в этом тщательно пересмотренном издании демонстрируется, как воспользоваться в полной мере современными интерфейсами API и нормами передовой практики разработки прикладных программ на Java. Оно содержит также дополнительный материал по модульной системе на платформе Java. .В части I представлено динамичное, но совсем не поверхностное введение в язык программирования Java и особенности базовой исполняющей среды на платформе Java. .В части II описываются самые современные инструментальные средства, входящие в состав комплекта поставки Java. Эта книга поможет вам в следующем. .Ускоренно овладеть языковыми средствами Java, включая изменения, внесенные в версиях Java 9-11 .
Ben Evans, David Flanagan (2019)
Это обновленное издание не только помогает опытным программистам на Java извлечь наибольшую пользу из версий Java 9-11, но и служит удобным учебным пособием для начинающих разработчиков. На многочисленных примерах кода в этом тщательно пересмотренном издании демонстрируется, как воспользоваться в полной мере современными интерфейсами API и нормами передовой практики разработки прикладных программ на Java. Оно содержит также дополнительный материал по модульной системе на платформе Java. .В части I представлено динамичное, но совсем не поверхностное введение в язык программирования Java и особенности базовой исполняющей среды на платформе Java. .В части II описываются самые современные инструментальные средства, входящие в состав комплекта поставки Java. Эта книга поможет вам в следующем. .Ускоренно овладеть языковыми средствами Java, включая изменения, внесенные в версиях Java 9-11 .
👍2
Natural Language Processing in Action
Hobson Lane, Cole Howard, Hannes Hapke (2019)
Последние достижения в области глубокого обучения позволяют создавать приложения, с исключительной точностью распознающие текст и речь. Что в результате? Появляются чат-боты, ведущие диалог не хуже реальных людей, программы, эффективно подбирающие резюме под заданную вакансию, развивается превосходный предиктивный поиск, автоматически генерируются аннотации документов. Благодаря новым приемам и инструментам, таким как Keras и Tensorflow, сегодня возможно как никогда просто реализовать качественную обработку естественного языка (NLP).
«Обработка естественного языка в действии» станет вашим руководством по созданию программ, способных распознавать и интерпретировать человеческий язык. В издании рассказано, как с помощью готовых пакетов на языке Python извлекать из текста смыслы и адекватно ими распоряжаться. В книге дается расширенная трактовка традиционных методов NLP
Hobson Lane, Cole Howard, Hannes Hapke (2019)
Последние достижения в области глубокого обучения позволяют создавать приложения, с исключительной точностью распознающие текст и речь. Что в результате? Появляются чат-боты, ведущие диалог не хуже реальных людей, программы, эффективно подбирающие резюме под заданную вакансию, развивается превосходный предиктивный поиск, автоматически генерируются аннотации документов. Благодаря новым приемам и инструментам, таким как Keras и Tensorflow, сегодня возможно как никогда просто реализовать качественную обработку естественного языка (NLP).
«Обработка естественного языка в действии» станет вашим руководством по созданию программ, способных распознавать и интерпретировать человеческий язык. В издании рассказано, как с помощью готовых пакетов на языке Python извлекать из текста смыслы и адекватно ими распоряжаться. В книге дается расширенная трактовка традиционных методов NLP
👍2
Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition
Allen B. Downey (2017)
Изучите, как следует реализовывать эффективные алгоритмы на основе важнейших структур данных на языке Java, а также как измерять производительность этих алгоритмов. Каждая глава сопровождается упражнениями, помогающими закрепить материал.
• Научитесь работать со структурами данных, например, со списками и словарями, разберитесь, как они работают
• Напишите приложение, которое читает страницы Википедии, выполняет синтаксический разбор и обеспечивает навигацию по полученному дереву данных
• Анализируйте код и учитесь прогнозировать, как быстро он будет работать и сколько памяти при этом потреблять
• Пишите классы, реализующие интерфейс Map, пользуйтесь при этом хеш-таблицей и двоичным деревом поиска
• Создайте простой веб-поисковик с собственным поисковым роботом: он будет индексировать веб-страницы, сохранять их содержимое и возвращать нужные результаты
Allen B. Downey (2017)
Изучите, как следует реализовывать эффективные алгоритмы на основе важнейших структур данных на языке Java, а также как измерять производительность этих алгоритмов. Каждая глава сопровождается упражнениями, помогающими закрепить материал.
• Научитесь работать со структурами данных, например, со списками и словарями, разберитесь, как они работают
• Напишите приложение, которое читает страницы Википедии, выполняет синтаксический разбор и обеспечивает навигацию по полученному дереву данных
• Анализируйте код и учитесь прогнозировать, как быстро он будет работать и сколько памяти при этом потреблять
• Пишите классы, реализующие интерфейс Map, пользуйтесь при этом хеш-таблицей и двоичным деревом поиска
• Создайте простой веб-поисковик с собственным поисковым роботом: он будет индексировать веб-страницы, сохранять их содержимое и возвращать нужные результаты
🥰1👏1
Introduction to recursive programming
Rubio Sánchez, Manuel (2018)
Книга охватывает почти весь круг теоретических и практических вопросов, относящихся к рекурсии и рекурсивному программированию, что делает её прекрасным дополнением к уже существующим немногочисленным книгам на эту тему. На множестве примеров и задач – от простых к сложным – читатель постепенно погружается в рекурсию, учится мыслить рекурсивно и, отталкиваясь от декларативной парадигмы программирования, создавать рекурсивные алгоритмы с использованием пошаговой методики и специальных схем декомпозиции задач. При этом автор беспристрастно сопоставляет рекурсивные алгоритмы с итерационными, отмечая достоинства и недостатки тех и других.
Rubio Sánchez, Manuel (2018)
Книга охватывает почти весь круг теоретических и практических вопросов, относящихся к рекурсии и рекурсивному программированию, что делает её прекрасным дополнением к уже существующим немногочисленным книгам на эту тему. На множестве примеров и задач – от простых к сложным – читатель постепенно погружается в рекурсию, учится мыслить рекурсивно и, отталкиваясь от декларативной парадигмы программирования, создавать рекурсивные алгоритмы с использованием пошаговой методики и специальных схем декомпозиции задач. При этом автор беспристрастно сопоставляет рекурсивные алгоритмы с итерационными, отмечая достоинства и недостатки тех и других.
👍1