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

РКН clck.ru/3KoESW
Download Telegram
📚Что почитать о коде. Подборка книг для программистов

🔹Чистый код
Автор: Роберт Мартин
Английское название: Clean Code. A Handbook of Agile Software Craftsmanship
Уровень: любой

«Чистый код» — это книга о принципах и практиках написания читабельного и поддерживаемого кода. Её автор, Роберт Мартин, — эксперт в области программирования и гибких методологий разработки.

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

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


🔹Паттерны объектно-ориентированного проектирования

Авторы: Эрих Гамма, Ричард Хелм, Роберт Джонсон, Джон Влиссидес
Английское название: Design Patterns. Elements of Reusable Object-Oriented Software
Уровень: опытный

Паттерны проектирования — это как рецепты или стратегии для написания кода под разные задачи. Например, чтобы создать только один экземпляр какого-то объекта в программе, можно использовать шаблон проектирования Singleton. Этот паттерн гарантирует, что в программе будет только один экземпляр этого объекта, что экономит ресурсы компьютера и помогает избежать конфликтов в программе.
В книге разбирают известные шаблоны проектирования и объясняют, когда и как их применять, на примерах реальных проектов. Издание 2020 года отличается от предыдущих. Во-первых, названием: прошлые версии перевели как «Приёмы объектно-ориентированного проектирования». Издатели обновили список терминов и используют более современные. Например, «рефакторинг» вместо устаревшей «реорганизации». Стиль изложения тоже изменили на более простой. Теперь книга меньше походит на документацию.


🔹Искусство программирования

Автор: Дональд Кнут
Английское название: The Art Of Computer Programming
Уровень: опытный

Искусство программирования — серия книг из четырёх томов американского математика Дональда Кнута:

● Том 1. Основные алгоритмы
● Том 2. Получисленные алгоритмы
● Том 3. Сортировка и поиск
● Том 4. Комбинаторные алгоритмы

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


🔹Совершенный код

Автор: Стив Макконелл
Английское название: Code Complete
Уровень: новичок и middle

Одна из ключевых идей книги — на отладку и чтение кода уходит больше всего времени, поэтому его качество определяет расходы на разработку. Большая часть посвящена эффективному коду: как писать, тестировать и проводить отладку, оптимизировать его. Например, Макконелл подробно разбирает, как использовать подходящие переменные и называть их, какие бывают методики разработки и почему не стоит торопиться оптимизировать код. Внушительный объём книги компенсируют юмор и простое изложение.


🔹Чистая архитектура

Автор: Роберт Мартин
Английское название: Clean Architecture. A Craftsman's Guide to Software Structure and Design)
Уровень: любой

Роберт Мартин объясняет, почему самое важное свойство систем — это их способность изменяться под новые требования и условия. Обеспечить эти изменения помогает подходящая архитектура.

Автор начинает с основ — объясняет, что такое зависимости, поток данных и связанность компонент, как писать чистый код. Затем — переходит к архитектуре, её роли и подходам к её проектированию.

👉@programmist_of
👍75👎1
Мониторинг — это не только графики

Мы все любим красивые дашборды: CPU, RAM, диск, трафик… Но сколько раз вы смотрели на Grafana, а проблему всё равно приходилось искать вручную?

Вот что реально делает мониторинг полезным:

- Алерты с контекстом. Сообщение “CPU > 90%” бесполезно, если не понятно на каком сервисе, с чем связано и что делать.
- Трассировка. Логи и метрики без распределённого трейса — как карта без маршрута. Jaeger, Tempo и OpenTelemetry — must have.
- SLO, а не SLA. Забудьте про “uptime 99.9%”. Важно понимать, что реально чувствует пользователь, и строить алерты на основе опыта, а не железа.
- Автоматизация реакции. PagerDuty и OpsGenie хорошо, но скрипт, который сам перезапустит упавший сервис, иногда спасает нервы.

Мониторинг — это не про цифры. Это про быстрое понимание: что сломалось, почему и что делать прямо сейчас.

Подпишись 👉@devopslib
👍21
🔖 Asynchronous Programming in Rust: Learn asynchronous programming by building working examples of futures, green threads, and runtimes
Автор: Carl Fredrik Samson (2024)

Автор вводит в мир асинхронного программирования с помощью понятных практических примеров, упрощая сложные концепции, такие как горутины, фибры, фьючерсы и колбэки. Книга дает четкие рекомендации, которые помогают уверенно ориентироваться в асинхронной экосистеме Rust.

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

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
⚙️ Микросервисы начинают тормозить под нагрузкой?

💡 Узнайте, как масштабировать и оптимизировать систему с помощью CQRS и Event Sourcing на .NET Aspire.

На открытом вебинаре «Оптимизация микросервисов с CQRS и Event Sourcing на .NET Aspire» 19 августа в 20:00 МСК разберем:
◽️ Ограничения классических микросервисов при высокой нагрузке.
◽️ Принципы разделения команд и запросов (CQRS) и хранения истории через Event Sourcing.
◽️ Практическую реализацию: сервис заказов с «команда-обработчик» и хранением событий в MongoDB.
◽️ Конфигурацию проекций для чтения данных.

❗️ Вы освоите оркестрацию через .NET Aspire (API Gateway, Order Service, база событий), внедрите логирование и трейсинг через OpenTelemetry, а также протестируете создание заказа, обновление статуса и визуализацию потока событий.

➡️ Посетите открытый урок и получите скидку на большое обучение «C# ASP.NET Core разработчик»: https://vk.cc/cOAUv2

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
🔖Distributed Machine Learning Patterns
Автор: Yuan Tang (2024)

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

Узнайте, как на практике применять эти шаблоны с использованием TensorFlow, Kubernetes, Kubeflow и Argo Workflows. Книга ориентирована на разработчиков, работающих с ML в продакшене, и учит строить отказоустойчивые, масштабируемые ML-пайплайны в облаке с помощью реальных сценариев и DevOps-инструментов.

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
🔖 Observability with Grafana: Monitor, control, and visualize your Kubernetes and cloud platforms using the LGTM stack
Автор: Rob Chapman (2024)

Автор объясняет, как использовать стек LGTM (Loki, Grafana, Tempo, Mimir) и Prometheus для сбора, визуализации и хранения телеметрических данных в реальных условиях. Он последовательно показывает, как настроить мониторинг с помощью стандартных протоколов и библиотек Grafana, развернуть демо-приложение в Kubernetes и интегрировать облачные платформы вроде AWS, GCP и Azure.

Далее научитесь строить интерактивные дашборды, настраивать оповещения с помощью SLI и SLO, а также использовать ИИ и ML для поддержания стабильности систем. В книге также рассматриваются продвинутые темы: архитектура установки Grafana, автоматизация процессов через DevOps-инструменты, мониторинг пользовательского опыта и анализ производительности с помощью Faro, Pyroscope и k6.

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Устали от повторяющегося кода в Rust? Хотите научиться превращать 100 строк в 5?

➡️ Присоединяйтесь к открытому уроку «Макросы в Rust: от macro_rules! до процедурных макросов» 19 августа в 20:00 МСК.

На вебинаре мы:
— Освоим декларативные макросы: синтаксис и паттерн-матчинг.
— Разберемся с процедурными макросами: derive, attribute, function-like.
— Научимся создавать DSL и автоматизировать рутинные задачи.
— Поймем, когда использовать макросы и когда их избегать.

❗️Этот урок — отличный тест-драйв курса «Rust Developer. Professional» от OTUS. Все участники вебинара получат скидку на обучение!

🔴 Зарегистрироваться на вебинар → https://vk.cc/cOFu5P

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
2
🔖 Building Real-World Web Applications with Vue.js 3: Build a portfolio of Vue.js and TypeScript web applications to advance your career in web development
Автор: Joran Quinten (2024)

Автор обучает разработчиков создавать современные веб-приложения с использованием Vue.js 3, фокусируясь на практике, а не теории. Он пошагово ведет читателя от создания простого рецептурного приложения до сложных проектов с использованием графиков, баз данных и мультиплатформенных решений.

Разработайте интерактивный квиз с использованием Nuxt.js и WebSockets, освойте машинное обучение с TensorFlow и завершает всё созданием профессионального портфолио. Книга рассчитана на тех, кто хочет не просто изучить Vue.js, а стать разработчиком, способным решать реальные задачи.

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
⚛️Росатом ищет начинающих специалистов по направлению Систем автоматизированного проектирования СВЧ в Москве.

Наш идеальный стажёр — студент от 3 курса или выпускник по направлению разработки ЭКБ, который понимает процесс разработки ЭКБ, умеет работать в коммерческих САПР AWR или ADS и готов быть в офисе от 20 часов в неделю.

📝Вы будете участвовать в разработке тестовых примеров для функционального тестирования САПР СВЧ, разрабатывать методику испытаний и технической экспертизы документации на ПО, формировать облик будущего инструмента, тестировать, добавлять и корректировать ТЗ в процессе разработки.
3😁3👎2
🔖Cloud Native Anti-Patterns: Avoiding Common Mistakes and Driving Success with Best Practices and Real-World Cases
Автор: Gerald Bachlmayr (2025)

Автор учит не просто «переехать в облака», а действительно перестроить мышление компании на облачно-нативное. На основе опыта четырех экспертов книга помогает находить ошибки («антипаттерны») в стратегии перехода и превращать их в эффективные решения.

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

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔖MuleSoft for Salesforce Developers, 2-е издание
Автор: Akshata Sawant, Arul Christhuraj Alphonse (2025)

Это практическое руководство по интеграции MuleSoft с Salesforce для разработки эффективных и масштабируемых корпоративных решений.

Она предназначена для разработчиков Salesforce, желающих углубить свои знания о MuleSoft и API-интеграциях.

🔹 Основные темы

— Основы MuleSoft и принципы интеграции
— Проектирование и управление API с использованием Anypoint Studio и Code Builder
— Преобразование данных с помощью DataWeave
— Модели развертывания: CloudHub 2.0 и другие
— Интеграция с Salesforce и Data Cloud
— Безопасность, тестирование и управление API
— Использование AI и автоматизации в интеграциях
— Подготовка к сертификации MuleSoft Certified Developer (MCD) Level 1

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
📚Пять книг, которые изменили мою карьеру программиста

"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну"

- Джордж Р.Р. Мартин.

Мне нравится думать, что я смог предвидеть множество проблем и извлек ценные уроки из следующих книг:

🔹Программист-фанатик

🔹Программист-прагматик. Путь от подмастерья к мастеру

🔹Неписаные законы инженерной практики

🔹Remote: офис не требуется

🔹Explain the Cloud Like I'm 10

https://julianogtz.github.io/my-personal-blog/posts/five-books-that-changed-my-career-as-a-software-engineer

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔖C++ Memory Management: Write Leaner and Safer C++ Code Using Proven Memory-Management Techniques
Автор: Patrice Roy (2025)

Это практическое руководство по управлению памятью в C++, написанное Патрисом Руа — участником комитета стандартизации ISO C++.

Книга предназначена для разработчиков, стремящихся углубить свои знания в области эффективного и безопасного управления памятью в C++-программах.​

🔹 Основные темы

— Модель объектов в C++ и управление временем жизни
— Использование и создание умных указателей
— Перегрузка операторов выделения памяти
— Разработка собственных контейнеров и аллокаторов
— Механизмы управления памятью: арены, отложенное освобождение
— Реализация детекторов утечек памяти
— Современные практики и стандарты C++​

— Автор — участник комитета ISO C++, что обеспечивает актуальность и глубину материала
— Практические примеры и пошаговые инструкции
— Подходит для разработчиков, работающих с системами реального времени, встроенными системами и играми

👉@programmist_of
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📚 Топ-3 книги по ООП

1️⃣ Бертран Мейер — «Почувствуй класс»

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

2️⃣ Гради Буч — «Объектно-ориентированный анализ и проектирование с примерами приложений»

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

3️⃣ Мэтт Вайсфельд — «Объектно-ориентированное мышление»

Это отличный старт для тех, кто только начинает знакомиться с ООП. Автор доступно объясняет, зачем нужно ООП, его преимущества и философию. Книга также включает основы проектирования и архитектуры приложений с использованием UML.

👉@programmist_of
3👍3
Какие есть best practices для написания Dockerfile?

1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.

👉 @devops_star
👍71