Скачать книги серии «Библиотека программиста»

SQL. Быстрое погружение

Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL – рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными.

Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.

Теоретический минимум по Computer Science. Сети, криптография и data science

Хватит тратить время на занудные учебники! Это краткое и простое руководство предназначено для читателей, не заботящихся об академических формальностях.

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

Вы узнаете, как эффективно манипулировать данными, освоите машинное обучение и современные концепции безопасности.

Раскройте мощь Computer Science и станьте гуру цифровой эпохи!

Идеальная работа. Программирование без прикрас

В книге «Идеальная работа. Программирование без прикрас» легендарный Роберт Мартин (Дядюшка Боб) создал исчерпывающее руководство по хорошей работе для каждого программиста. Роберт Мартин объединяет дисциплины, стандарты и вопросы этики, необходимые для быстрой и продуктивной разработки надежного, эффективного кода, позволяющего испытывать гордость за программное обеспечение, которое вы создаете каждый день.

Роберт Мартин, автор бестселлера «Чистый код», начинает с прагматического руководства по пяти основополагающим дисциплинам создания программного обеспечения: разработка через тестирование, рефакторинг, простой дизайн, совместное программирование и тесты. Затем он переходит к стандартам – обрисовывая ожидания «мира» от разработчиков программного обеспечения, рассказывая, как часто различаются эти подходы, и помогает вам устранить несоответствия. Наконец он обращается к этике программиста, давая десять фундаментальных постулатов, которым должны следовать все разработчики программного обеспечения.

Управление проектами с нуля

Управлять проектами не так сложно, как может показаться! Эта книга – кратчайший путь для освоения всех необходимых навыков: от бюджетирования и планирования до секретов управления командой и работы над ошибками – лучшее на сегодняшний день руководство по современному проектному менеджменту для начинающих. Здесь вы найдете простые инструкции и чек-листы для успешного выполнения всех задач, которые могут возникнуть в ходе работы! Бонус – глава с полезными советами для подготовки к сдаче сертификационного экзамена PMP.

Алгоритмы неформально. Инструкция для начинающих питонистов

Алгоритмы – это не только задачи поиска, сортировки или оптимизации, они помогут вам поймать бейсбольный мяч, проникнуть в «механику» машинного обучения и искусственного интеллекта и выйти за границы возможного.

Вы узнаете нюансы реализации многих самых популярных алгоритмов современности, познакомитесь с их реализацией на Python 3, а также научитесь измерять и оптимизировать их производительность.

Кибердзюцу. Кибербезопасность для современных ниндзя

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

Тестирование JavaScript

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

Грокаем стриминг. Обработка событий в реальном времени

Стриминговые системы позволяют сократить до минимума время между событием и обработкой информации, чтобы вы получали результаты в реальном времени. В приложениях для финансовой сферы, в вопросах безопасности и IoT важна каждая миллисекунда, поэтому без стриминговых систем не обойтись. А еще – это модно и приносит деньги ;) ! Неслучайно специалисты в Spark, Heron и Kafka так востребованы.

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

От читателя не требуется опыт работы со стриминговыми системами. Примеры написаны на языке Java.

PyTorch. Освещая глубокое обучение

Многие средства глубокого обучения используют Python, но именно библиотека PyTorch по-настоящему «питоническая». Легкая в освоении для тех, кто знаком с NumPy и scikit-learn, PyTorch упрощает работу с глубоким обучением, обладая в то же время богатым набором функций. PyTorch прекрасно подходит для быстрого создания моделей и без проблем масштабируется до корпоративного проекта. PyTorch используют такие компании, как Apple и JPMorgan Chase.

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

Знакомство с Python

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

Если вы задаетесь подобными вопросами, потому что хотите заложить фундамент будущей карьеры питониста, – эта книга для вас!

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

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

Python без проблем. Решаем реальные задачи и пишем полезный код

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

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

К концу книги вы не только овладеете Python, но и научитесь тому типу мышления, который необходим для решения задач. Потому что языки программирования приходят и уходят, а способ решения проблем – нет!

Создание приложений машинного обучения. От идеи к продукту

Освойте ключевые навыки проектирования, разработки и развертывания приложений на базе машинного обучения (МО)!

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

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

Вы научитесь планировать и измерять успех МО-проектов, разберетесь, как построить рабочую модель, освоите способы ее итеративной доработки. И, наконец, познакомитесь со стратегиями развертывания и мониторинга.

Математические алгоритмы для программистов. 3D-графика, машинное обучение и моделирование на Python

Неважно, чем вы занимаетесь – большими данными, машинным обучением, компьютерной графикой или криптографией, – без математики вам не обойтись! Везде сейчас требуются базовые знания и понимание алгоритмов.

Практические примеры позволят легко разобраться с самыми необходимыми математическими понятиями. 300 упражнений и мини-проектов откроют вам новые возможности в освоении интересных и популярных IT-профессий. Вы познакомитесь с базовыми библиотеками Python, используемыми при разработке реальных приложений, и вспомните давно забытые основы линейной алгебры и матана.

Основы Python для Data Science

Python – язык программирования № 1 для машинного обучения и Data Science. Но как же сложно решить, с чего начать изучение Python, ведь у него огромный инструментарий! Кеннеди Берман фокусируется на тех навыках программирования, которые понадобятся вам для решения задач в области Data Science и машинного обучения.

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

Pandas в действии

Язык Python помогает упростить анализ данных. Если вы научились пользоваться электронными таблицами, то сможете освоить и pandas! Несмотря на сходство с табличной компоновкой Excel, pandas обладает большей гибкостью и более широкими возможностями. Эта библиотека для Python быстро выполняет операции с миллионами строк и способна взаимодействовать с другими инструментами. Она дает идеальную возможность выйти на новый уровень анализа данных.

Kafka Streams и ksqlDB. Данные в реальном времени

Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструментов создавать масштабируемые приложения потоковой обработки, перемещающие, обогащающие и преобразующие большие объемы данных в режиме реального времени.

Митч Сеймур, инженер службы обработки данных в Mailchimp, объясняет важные понятия потоковой обработки на примере нескольких любопытных бизнес-задач. Он рассказывает о достоинствах Kafka Streams и ksqlDB, чтобы помочь вам выбрать наиболее подходящий инструмент для каждого уникального проекта потоковой обработки. Для разработчиков, не пишущих код на Java, особенно ценным будет материал, посвященный ksqlDB.

Грокаем алгоритмы искусcтвенного интеллекта

Искусственный интеллект – часть нашей повседневной жизни. Мы встречаемся с его проявлениями, когда занимаемся шопингом в интернет-магазинах, получаем рекомендации «вам может понравиться этот фильм», узнаем медицинские диагнозы…

Чтобы уверенно ориентироваться в новом мире, необходимо понимать алгоритмы, лежащие в основе ИИ.

«Грокаем алгоритмы искусственного интеллекта» объясняет фундаментальные концепции ИИ с помощью иллюстраций и примеров из жизни. Все, что вам понадобится, – это знание алгебры на уровне старших классов школы, и вы с легкостью будете решать задачи, позволяющие обнаружить банковских мошенников, создавать шедевры живописи и управлять движением беспилотных автомобилей.

Машинное обучение. Портфолио реальных проектов

Изучите ключевые концепции машинного обучения‚ работая над реальными проектами! Машинное обучение – то, что поможет вам в анализе поведения клиентов, прогнозировании тенденций движения цен, оценке рисков и многом другом. Чтобы освоить машинное обучение, вам нужны отличные примеры, четкие объяснения и много практики. В книге все это есть!

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

Внутри CPython. Гид по интерпретатору Python

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.

40 алгоритмов, которые должен знать каждый программист на Python

Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике.

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

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

Алгоритмы на практике. Решение реальных задач

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

Никакого условного псевдокода, все примеры сопровождаются исходным кодом на языке Си с подробными объяснениями.

Объекты. Стильное ООП

Хороший объектно-ориентированный код удобно читать, изменять и исправлять. Универсальные практики проектирования объектов, собранные в этой книге, позволят улучшить ваш стиль кодирования. Эти правила подойдут к любому объектно-ориентированному языку, они делают код максимально понятным и надежным, а также повышают производительность как индивидуальных разработчиков, так и команд.

Книга «Объекты. Стильное ООП» познакомит вас с профессиональными техниками написания ОО-кода. Маттиас Нобак раскрывает правила создания объектов, определения методов, изменения и извлечения состояний и многое другое. Все примеры написаны на простом псевдокоде, который легко перевести в любой язык программирования. Кейс за кейсом вы изучите ключевые сценарии и задачи проектирования объектов, а затем шаг за шагом создадите простое веб-приложение, которое покажет, как должны взаимодействовать объекты разных типов.

Python для хакеров. Нетривиальные задачи и проекты

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

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

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

Software. Ошибки и компромиссы при разработке ПО

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

Мы будем рассматривать реальные сценарии, в которых были приняты неверные решения, а затем искать пути, позволяющие исправить подобную ситуацию. Томаш Лелек и Джон Скит делятся опытом, накопленным за десятки лет разработки ПО, в том числе рассказывают о собственных весьма поучительных ошибках. Вы по достоинству оцените конкретные советы и практические методы, а также неустаревающие паттерны, которые изменят ваш подход к проектированию.