Библиотека программиста (книги для разработчиков) – Telegram
Библиотека программиста (книги для разработчиков)
21.1K subscribers
786 photos
98 videos
4 files
496 links
Книги по программированию. Книги для дизайнеров, верстальщиков, IT специалистов. По всем вопросам @evgenycarter

РКН clck.ru/3KoESW
Download Telegram
Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition
Allen B. Downey (2017)

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

• Научитесь работать со структурами данных, например, со списками и словарями, разберитесь, как они работают
• Напишите приложение, которое читает страницы Википедии, выполняет синтаксический разбор и обеспечивает навигацию по полученному дереву данных
• Анализируйте код и учитесь прогнозировать, как быстро он будет работать и сколько памяти при этом потреблять
• Пишите классы, реализующие интерфейс Map, пользуйтесь при этом хеш-таблицей и двоичным деревом поиска
• Создайте простой веб-поисковик с собственным поисковым роботом: он будет индексировать веб-страницы, сохранять их содержимое и возвращать нужные результаты
🥰1👏1
Introduction to recursive programming
Rubio Sánchez, Manuel (2018)

Книга охватывает почти весь круг теоретических и практических вопросов, относящихся к рекурсии и рекурсивному программированию, что делает её прекрасным дополнением к уже существующим немногочисленным книгам на эту тему. На множестве примеров и задач – от простых к сложным – читатель постепенно погружается в рекурсию, учится мыслить рекурсивно и, отталкиваясь от декларативной парадигмы программирования, создавать рекурсивные алгоритмы с использованием пошаговой методики и специальных схем декомпозиции задач. При этом автор беспристрастно сопоставляет рекурсивные алгоритмы с итерационными, отмечая достоинства и недостатки тех и других.
👍1
Clean Agile: Back to Basics
Robert C. Martin (2019)

По сути Agile — это всего лишь небольшая подборка методов и инструментов, помогающая небольшим командам программистов управлять небольшими проектами,… но приводящая к большим результатам, потому что каждый крупный проект состоит из огромного количества кирпичиков. Пять десятков лет работы с проектами всех мыслимых видов и размеров позволяют Дяде Бобу показать, как на самом деле должен работать Agile. Если вы хотите понять преимущества Agile, не ищите лёгких путей — нужно правильно применять Agile. «Чистый Agile» расскажет, как это делать разработчикам, тестировщикам, руководителям, менеджерам проектов и клиентам.
1
Learn Java the easy way: a hands-on introduction to programming
Payne, Bryson (2018)

Хотите выучить Java без головной боли и быстро? Тогда эта книга для вас! В ней нет длинных описаний и долгой вводной части — практически с первых страниц вы приступите к разработке настоящих функционирующих программ, потому что учиться на примерах гораздо эффективнее и быстрее! Автор книги, Брайсон Пэйн — профессор информатики с 20-летним стажем преподавания, автор нескольких бестселлеров-самоучителей по программированию и лектор курса «Практический этичный хакинг» на портале Udemy. Его курсы прошли свыше 20 000 учащихся из более чем 150 стран. Теперь и вы можете проверить на собственном опыте, насколько метод Пэйна эффективен!
The Ghidra Book: The Definitive Guide
Chris Eagle, Kara Nance (2020)

Платформа Ghidra, ставшая итогом более десяти лет работы в АНБ, была разработана для решения наиболее трудных задач обратной разработки, стоящих перед агентством. После раскрытия исходного кода этого инструмента, ранее предназначавшегося только для служебного пользования, один из лучших в мире дизассемблеров и интуитивно понятных декомпиляторов оказался в руках всех специалистов, стоящих на страже кибербезопасности, а эта книга – единственное руководство, которое поможет овладеть этим инструментом.
Эта книга, рассчитанная равно на начинающих и опытных пользователей, поможет вам во всеоружии встретить задачу Reverse Engineering и анализировать файлы, как это делают профессионалы.
Architecting Modern Java EE Applications
Designing lightweight, business-oriented enterprise applications in the age of cloud, containers, and Java EE 8
Sebastian Daschner (2017)

Java EE 8 - современная версия популярной платформы для программирования корпоративных приложений на языке Java. Новая версия платформы оптимизирована с учетом многочисленных технологических нововведений, среди которых - работа с контейнерами, улучшенные API для обеспечения безопасности, возможности работы с облачными хранилищами и микросервисной архитектурой. Java EE обеспечивает широкие возможности предметно-ориентированного проектирования (DDD), непрерывную интеграцию, работу по принципу DevOps, взаимодействие с Docker и Kubernetes.
👍3
Software Engineering at Google: Lessons Learned from Programming Over Time
Titus Winters, Tom Manshreck, Hyrum Wright (2020)

Основываясь на опыте Google, инженеры-программисты Титус Винтерс и Хайрам Райт вместе с Томом Маншреком делают откровенный и проницательный анализ того, как ведущие мировые практики создают и поддерживают ПО. Речь идет об уникальной инженерной культуре, процессах и инструментах Google, а также о том, как эти аспекты влияют на эффективность разработки.
Вы изучите фундаментальные принципы, которые компании разработчиков ПО должны учитывать при проектировании, разработке архитектуры, написании и сопровождении кода.
Make Your Own Neural Network
Tariq Rashid

Эта книга представляет собой введение в теорию и практику создания нейронных сетей. Она предназначена для тех, кто хочет узнать, что такое нейронные сети, где они применяются и как самому создать такую сеть, не имея опыта работы в данной области. Автор простым и понятным языком объясняет теоретические аспекты, знание которых необходимо для понимания принципов функционирования нейронных сетей и написания соответствующих программных инструкций. Изложение материала сопровождается подробным описанием процедуры поэтапного создания полностью функционального кода, который реализует нейронную сеть на языке Python и способен выполняться даже на таком миниатюрном компьютере, как Raspberry Pi Zero.
👍1
Bayesian Statistics The Fun Way: Understanding Statistics And Probability With Star Wars, LEGO, And Rubber Ducks
Will Kurt (2019)

Нужно решить конкретную задачу, а перед вами куча непонятных данных, в которой черт ногу сломит? "Байесовская статистика" расскажет, как принимать правильные решения, задействуя свою интуицию и простую математику.
Пора забыть про заумные и занудные университетские лекции! Эта книга даст вам полное понимание байесовской статистики буквально "на пальцах" - с помощью простых объяснений и ярких примеров.
Spring 5 Design Patterns
Master efficient application development with patterns such as proxy, singleton, the template method, and more
Dinesh Rajput

В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring.
Learning Scientific Programming with Python
Christian Hill

Книга начинается с общих концепций программирования, таких как циклы и функции в ядре Python 3, затем рассматриваются библиотеки NumPy, SciPy и Matplotlib для вычислительного программирования и визуализации данных. Обсуждается использование виртуального блокнота Jupyter Notebooks для создания мультимедийных совместно используемых документов для научного анализа. Отдельная глава посвящена анализу данных с использованием библиотеки pandas. В заключительной части представлены более сложные темы, такие как точность вычислений с применением чисел с плавающей точкой и обеспечение стабильности алгоритмов.
Издание адресовано студентам, ученым, специалистам по работе с данными, которым требуется прочная основа для решения насущных задач с помощью Python.
👍1
The Art of Readable Code: Simple and Practical Techniques for Writing Better Code
Dustin Boswell, Trevor Foucher (2012)

Любому программисту доводилось видеть код, который настолько неаккуратен и так пестрит ошибками, что от его чтения начинает болеть голова. За пять лет авторы этой книги проанализировали сотни примеров "плохого" кода (в основном - собственного), пытаясь определить, чем плох тот или иной код и как его можно улучшить. К какому выводу они пришли? Необходимо писать такой код, который читатель сможет понять максимально быстро, причем, даже если этот читатель - сам создатель этого кода.
В данной книге рассматриваются базовые принципы и практические методы, которые можно применять всякий раз при написании кода. В каждой главе на примере несложных образцов кода, написанного на разных языках программирования, изучается отдельный аспект создания кода и демонстрируется, как сделать код простым для понимания.
Data Science from Scratch: First Principles with Python
Joel Grus (2019)

Книга позволяет изучить науку о данных (Data Science) и применить полученные знания на практике. Она содержит краткий курс языка Python, элементы линейной алгебры, статистики, теории вероятностей, методов обработки данных. Приведены основы машинного обучения. Описаны алгоритмы А; ближайших соседей, наивной байесовой классификации, линейной и логистической регрессии, а также модели на основе деревьев принятия решений, нейронных сетей и кластеризации. Рассмотрены приемы обработки естественного языка, методы анализа социальных сетей, основы баз данных, SQL и MapReduce. Во втором издании примеры переписаны на Python 3.6, игрушечные наборы данных заменены на «реальные», добавлены материалы по глубокому обучению и этике данных, статистике и обработке естественного языка, рекуррентным нейронным сетям, векторным вложениям слов и разложению матриц.
👍2
Graph Algorithms: Practical Examples in Apache Spark and Neo4j
Mark Needham, Amy E. Hodler (2020)

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

Издание предназначено для разработчиков и специалистов по анализу данных. Для изучения материала книги желателен опыт использования платформ Apache Spark или Neo4j, но она пригодится и для изучения более общих понятий теории графов, независимо от выбора графовых технологий.
👍2
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
O'Reilly Media., Meyers, Scott (2015)

Новые возможности этого языка программирования, появившиеся в стандартах C++11 и C++14 — это не просто новые ключевые слова или функции. Это появление совершенно новых концепций, так что для их эффективного использования недостаточно просто узнать об их существовании.

Когда происходят такие глобальные изменения в языке программирования, их изучению следует посвятить определенное время, написать сотни, а еще лучше — тысячи строк кода, и столкнуться с массой проблем, кажущихся странными и непонятными. В этом вам и поможет эта книга.
Serverless Applications with Node.js: Using AWS Lambda and Claudia.js
Slobodan Stojanovic, Aleksandar Simovic (2019)

Данная книга научит вас проектировать и создавать бессерверные веб-приложения на AWS с использованием JavaScript, Node и Claudia.js.Новичков издание знакомит не только с AWS Lambda, но и с целым рядом связанных служб, таких как DynamoDB, Cognito, API Gateway. Даже решив позднее взять на вооружение другие инструменты, вы сможете сохранить весь код и просто развернуть его немного иначе. Подробно описывается не-сколько вариантов практического использования бессерверных платформ,в том числе веб-API, чат-боты, обработка платежей и управление заказами.
👍4
Writing High-Performance .NET Code
Ben Watson (2018)

Хотите выжать из вашего кода на .NET максимум производительности? Эта книга развеивает мифы о CLR, рассказывает, как писать код, который будет просто летать. Воспользуйтесь ценнейшим опытом специалиста, участвовавшего в разработке одной из крупнейших .NET-систем в мире.
В этом издании перечислены все достижения и улучшения, внесенные в .NET за последние несколько лет, в нем также значительно расширен охват инструментов, содержатся дополнительные темы и руководства.
Learning SQL: Master SQL Fundamentals
Alan Beaulieu (2020)

Такую возможность эффективной выборки и обработки данных уже несколько десятилетий предоставляет разработчикам язык SQL. Он тесно связан с реляционными базами данных. Но несмотря на это в последнее время, когда все большее значение приобретают большие объемы данных, упомянутый язык развивается таким образом, чтобы облегчить поиск данных в базах данных, построенных на различных технологиях. Данная книга отличается широким охватом как тем (от азов SQL до таких сложных вопросов, как аналитические функции и работа с большими базами данных), так и конкретных баз данных (MySQL, Oracle Database, SQL Server) и особенностей реализации тех или иных функциональных возможностей SQL на этих серверах. Книга идеально подходит в качестве учебника для начинающего разработчика в области баз данных. В ней описаны все возможные применения языка SQL и наиболее распространенные серверы баз данных.
👍51
Internet of Things for Architects
Perry Lea (2018)

Архитектура и ключевые модули интернета вещей
Анализ данных и машинное обучение в облачных и туманных платформах
Роль и масштаб архитектуры для успешного развертывания системы интернета вещей, от датчиков до облака
Широкий спектр технологий интернета вещей, охватывающих все: от датчиков до облачных вычислений
Компромиссы в выборе протоколов и коммуникаций в развертываемых системах интернета вещей
Необходимые навыки и специфические термины, необходимые для работы в пространстве интернета вещей
Инженерные знания, необходимые для успешного построения систем интернета вещей.
Безопасность интернета вещей
Practises of the Python Pro
Dane Hillard (2020)

Книга «Секреты Python Pro» научит проектировать ПО и писать качественный код, то есть делать его понятным, сопровождаемым и расширяемым.
Дейн Хиллард — профессиональный питонист, — с помощью примеров и упражнений он покажет вам как разбивать код на блоки, повышать качество за счет снижения сложности и т. д. Только освоив основополагающие принципы, вы сможете сделать так, чтобы чтение, сопровождение и переиспользование вашего кода не доставляло проблем ни вам ни вашим коллегам.
Python Continuous Integration and Delivery: A Concise Guide with Examples
Moritz Lenz (2018)

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