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

РКН clck.ru/3KoESW
Download Telegram
Practical Object-Oriented Design in Ruby. An Agile Primer
Sandi Metz

Мировой бестселлер по программированию на языке Ruby. Книга уже стала классической - с ювелирной точностью она описывает огранку профессионального кода на Ruby. Внимательно изучив это незаменимое руководство, вы сможете:
- Понять, как писать на Ruby качественный код в духе ООП
- Решать, что должно входить в состав класса Ruby
- Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность
- Определять гибкие интерфейсы между объектами
- Освоить утиную типизацию
- Эффективно задействовать наследование, композицию и полиморфизм
- Разрабатывать экономные тесты
- Доводить до совершенства любой legacy-код Ruby.
Extreme C: Taking You To The Limit In Concurrency, OOP, And The Most Advanced Capabilities Of C
Kamran Amini (2019)

Для того чтобы овладеть языком Cи, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми возможностями языка для создания эффективных систем, чтобы вы смогли стать экспертом в программировании на Cи.
Вы освоите директивы препроцессора, макрокоманды, условную компиляцию, указатели и многое другое. Вы по-новому взглянете на алгоритмы, функции и структуры. Узнаете, как выжимать максимум производительности из приложений с ограниченными ресурсами. Вы узнаете, как язык работает с Unix, как реализовывать принципы объектно-ориентированного программирования, и разберетесь с многопроцессной обработкой. Камран Амини научит вас думать, сомневаться и экспериментировать.
👍3
Java Coding Problems
Anghel Leonard (2019)

Рассмотрены задачи, встречающиеся в повседневной работе любого разработчика в среде Java. Приведено более 300 приложений, содержащих свыше 1000 примеров. Продемонстрированы эффективные практические приемы и технические решения с учетом сложности кода, производительности, удобочитаемости и многого другого.
Рассмотрены строки, числа, объекты, массивы, коллекции и структуры данных, работа с датой и временем. Приведены задачи на логический вывод типов, а также файловый ввод/вывод. Представлены задачи, связанные с API рефлексии Java. Особое внимание уделено программированию в функциональном стиле, задачам с привлечением конкурентности, правилам работы с классом Optional, а также API HTTP-клиента и API протокола WebSocket.
👍3
Secure 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 и других языках программирования. Международный бестселлер знакомит с фундаментальными основами регулярных выражений, функциональными возможностями языков программирования и позволяет оптимизировать работу с информацией. Вы научитесь самостоятельно конструировать регулярные выражения и использовать приведенные в книге примеры для быстрого решения самых актуальных задач.
👍4
Code craft: the practice of writing excellent code
Goodliffe, Pete

Ничто не сравнится по ценности с советами настоящего программиста-профессионала. Книга Питера Гудлифа "Ремесло программиста" написана ясно, практично и занимательно. Она поможет вам перейти на более высокий уровень мастерства программирования и покажет, как писать код, который больше чем "просто работает". Да, вы умеете писать работающий код, но как написать понятный код? Как добиться его надежности и отсутствия ошибок? Смогут ли другие программисты выяснить логику и цель вашего кода? Выдающиеся программисты не просто обладают техническими знаниями - у них есть правильный подход и отношение к программированию.
Перед вами руководство по выживанию в условиях промышленного производства ПО. Эта книга посвящена тому, чему вас никто не учил: как правильно программировать в реальной жизни.
Web Application Security: Exploitation and Countermeasures for Modern Web Applications
Andrew Hoffman

Среди огромного количества информации по сетевой и ИТ-безопасности практически не найти книг по безопасности веб-приложений.
Познакомьтесь на практике с разведкой, защитой и нападением!
Вы изучите методы эффективного исследования и анализа веб-приложений, даже тех, к которым нет прямого доступа, узнаете самые современные хакерские приемы и научитесь защищать собственные разработки.
Grokking Artificial Intelligence Algorithms
Rishal Hurbans (2020)

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.
👍32
Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming
Stephen Cleary (2019)

Большинство разработчиков настороженно относятся к конкурентному и многопоточному программированию, опасаясь проблем связанных с взаимной блокировкой, голоданием и др. Стивен Клири поможет разобраться с трудностями и избежать подводных камней, возникающих при решении реальных задач. В вашем распоряжении 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования.
The Art of Computer Programming, Volume 1: Fundamental Algorithms
Knuth, Donald Ervin

Первый том серии книг "Искусство программирования" начинается с описания основных понятий и методов программирования. Затем автор сосредоточивается на рассмотрении информационных структур —представлении информации внутри компьютера, структурных связях между элементами данных и способах эффективной работы с ними. Для методов имитации, символьных вычислений, числовых методов и методов разработки программного обеспечения даны примеры элементарных приложений. По сравнению с предыдущим изданием добавлены десятки простых, но в то же время очень важных алгоритмов. В соответствии с современными направлениями исследований был существенно переработан также раздел математического введения.
👍1
The Art of Computer Programming, Volume 2: Seminumerical Algorithms
Donald E. Knuth

Во втором томе представлено полное введение в теорию получисленных алгоритмов, причем случайным числам и арифметике посвящены отдельные главы. В книге даны основы теории получисленных алгоритмов, а также их основные примеры. Тем самым устанавлено прочное связующее звено между компьютерным программированием и численным анализом. Особого упоминания заслуживает предложенная Кнутом в этом третьем издании новая трактовка генераторов случайных чисел, а также рассмотрение способов вычислений с помощью формальных степенных рядов.
Deep Learning from Scratch: Building with Python from First Principles
Seth Weidman (2019)

Эта практическая книга представляет собой вводный курс для всех, кто занимается обработкой данных, а также для разработчиков ПО. Вы начнете с основ глубокого обучения и быстро перейдете к более сложным архитектурам, создавая проекты с нуля. Вы научитесь использовать многослойные, сверточные и рекуррентные нейронные сети. Только понимая принцип их работы (от «математики» до концепций), вы сделаете свои проекты успешными.
В этой книге:
- Четкие схемы, помогающие разобраться в нейросетях, и примеры рабочего кода.
- Методы реализации многослойных сетей с нуля на базе простой объектно-ориентированной структуры.
- Примеры и доступные объяснения сверточных и рекуррентных нейронных сетей.
- Реализация концепций нейросетей с помощью популярного фреймворка PyTorch.
Arduino Workshop: A Hands-On Introduction with 65 Projects
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
• Создание десктопных приложений
Стать востребованным IT-специалистом за 2 года — реально

Вы получите эту возможность в онлайн-магистратуре ТюмГУ "Разработка программных систем". Все плюсы фундаментального образования теперь доступны в онлайн-формате

✔️Погружение в 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 – тонко настроить квантовые алгоритмы. Авторы покажут, как применять квантовые методы для решения практических задач, в том числе для отправки секретных сообщений.
👍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. Расширенное издание бестселлера содержит все главные, а также продвинутые вопросы компьютерных наук: - типы и структуры данных; - алгоритмы; - графы; - теория сложности; - приемы эффективного решения задач; - безопасность; - железо и софт; - операционные системы; - сети; - базы данных и многое другое
Python by Example - Learning to Program in 150 Challenges
Nichola Lacey (2019)

Это Python, например! Познакомьтесь с самым быстрорастущим языком программирования на сегодняшний день. Легкое и увлекательное руководство поможет шаг за шагом прокачать навыки разработки. Никаких архитектур компьютера, теорий программирования и прочей абракадабры - больше практики! В книге 150 задач, которые плавно перенесут читателя от изучения основ языка к решению более сложных вещей. Руководство подойдет всем, у кого голова идет кругом от технического жаргона и пространных объяснений - автор уверен, что учить можно и без этого.
Arduino for Secret Agents
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 .
👍2