добавил книги: 2026-03-05 21:22:32

This commit is contained in:
Sergey Krylov 2026-03-05 21:22:32 +03:00
parent 451bede51c
commit fc1364e8c1
13 changed files with 355 additions and 6 deletions

View File

@ -6,13 +6,13 @@
- Чакон Скотт - Чакон Скотт
- Штрауб Бен - Штрауб Бен
Количество страниц: 530 Количество страниц: 530
Прогресс: 0 Прогресс: 530
Формат: Формат: Бумажная
Обложка: Библиотека/Книги/covers/pro-git.jpg Обложка: Библиотека/Книги/covers/pro-git.jpg
Начата: Начата: "2025"
Закончена: Закончена: "2025"
Оценка: Оценка: "10"
Сложность: Сложность: "8"
Теги: Теги:
- it - it
- git - git

View File

@ -0,0 +1,56 @@
---
Тип: Книга
Статус: Прочитано
Название: SQL. Быстрое погружение
Автор:
- Уолтер Шилдс
Количество страниц: 224
Прогресс: 224
Формат: Бумажная
Обложка: Библиотека/Книги/covers/sql-quickstart.jpg
Начата: "2025"
Закончена: "2025"
Оценка: "8"
Сложность: 6/10
Теги:
- it
- programming
- sql
- databases
Категории:
- базы данных
- программирование
Источник:
Ссылка:
---
![[covers/sql-quickstart.jpg]]
# SQL. Быстрое погружение
## 📖 О книге
Доступное введение в SQL для тех, кто хочет быстро освоить работу с базами данных. Уолтер Шилдс объясняет основы реляционных БД, синтаксис запросов и работу с данными без лишней теории. Книга подойдёт разработчикам, которым нужно уверенно писать запросы, аналитикам и всем, кто хочет понять, как данные хранятся и извлекаются. Примеры практичны и применимы сразу.
---
## 🧠 Ключевые идеи
- **Реляционная модель**: таблицы, строки, столбцы и первичные ключи — базовые абстракции, на которых строится всё остальное
- **SELECT — сердце SQL**: фильтрация (WHERE), сортировка (ORDER BY), группировка (GROUP BY) и агрегатные функции покрывают 80% повседневных задач
- **JOIN как связывание таблиц**: понимание INNER, LEFT, RIGHT JOIN и их разницы — ключевой навык для работы с реальными схемами данных
- **Подзапросы и CTE**: вложенные запросы и `WITH`-выражения делают сложную логику читаемой и переиспользуемой
- **DDL vs DML**: CREATE/ALTER/DROP управляют структурой, INSERT/UPDATE/DELETE — данными; важно понимать оба уровня
---
## 💬 Важные цитаты
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Высоконагруженные приложения. Программирование, масштабирование, поддержка]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,56 @@
---
Тип: Книга
Статус: Прочитано
Название: Алгоритмы. Руководство по разработке. 3-е изд.
Автор:
- Стивен Скиена
Количество страниц: 848
Прогресс: 848
Формат: Бумажная
Обложка: Библиотека/Книги/covers/algorithm-design-manual.jpg
Начата: "2025"
Закончена: "2025"
Оценка: "8"
Сложность: 10/10
Теги:
- it
- programming
- algorithms
- computer-science
Категории:
- алгоритмы
- программирование
Источник:
Ссылка:
---
![[covers/algorithm-design-manual.jpg]]
# Алгоритмы. Руководство по разработке. 3-е изд.
## 📖 О книге
Один из главных академических трудов по алгоритмам, написанный для практикующих разработчиков. Книга состоит из двух частей: первая — теория и практика проектирования алгоритмов (сортировка, графы, динамическое программирование, эвристики), вторая — каталог из 75 классических алгоритмических задач с готовыми решениями и ссылками на реализации. В 3-м издании расширены разделы по рандомизированным алгоритмам, хешированию и квантовым вычислениям.
---
## 🧠 Ключевые идеи
- **Алгоритм = правильная структура данных + правильная техника**: выбор структуры данных часто важнее выбора алгоритма — хорошая структура делает алгоритм тривиальным
- **Каталог задач как ключевой инструмент**: большинство реальных задач сводятся к известным алгоритмическим проблемам; умение распознать задачу важнее знания алгоритма наизусть
- **Динамическое программирование через рекуррентность**: DP — это управляемый перебор с мемоизацией; ключ — правильно определить подзадачу
- **Эвристики для NP-полных задач**: не все задачи требуют точного решения; жадные алгоритмы, имитация отжига, генетические алгоритмы дают приемлемый результат на практике
- **Анализ сложности как язык**: O-нотация — не формальность, а инструмент коммуникации и принятия решений при проектировании систем
---
## 💬 Важные цитаты
> «Правильный алгоритм — это тот, который решает задачу. Хороший алгоритм — тот, который делает это эффективно. Но сначала нужно убедиться, что вы решаете правильную задачу.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Грокаем алгоритмы]]

View File

@ -0,0 +1,57 @@
---
Тип: Книга
Статус: Прочитано
Название: Дизайн для разработчиков
Автор:
- Стефани Стимак
Количество страниц: 304
Прогресс: 304
Формат: Бумажная
Обложка: Библиотека/Книги/covers/design-for-developers.jpg
Начата: "2024"
Закончена: "2024"
Оценка: "6"
Сложность: 4/10
Теги:
- it
- programming
- design
- css
- ux
Категории:
- разработка программного обеспечения
- веб-дизайн
Источник:
Ссылка:
---
![[covers/design-for-developers.jpg]]
# Дизайн для разработчиков
## 📖 О книге
Практическое руководство по дизайну для тех, кто умеет писать код, но теряется перед Figma и цветовыми палитрами. Стефани Стимак объясняет базовые принципы дизайна — типографику, цвет, layout, пространство — на понятном разработчику языке. Книга не делает из программиста дизайнера, но даёт достаточно знаний, чтобы создавать приятные интерфейсы самостоятельно и грамотно общаться с дизайн-командой.
---
## 🧠 Ключевые идеи
- **Типографика — основа читаемости**: выбор шрифта, межстрочный интервал и иерархия заголовков влияют на восприятие контента сильнее, чем цвет
- **Цветовые модели и контраст**: понимание HSL, цветовых колёс и требований доступности (WCAG) позволяет строить палитры осознанно, а не наугад
- **Принципы layout**: сетки, отступы, выравнивание — не эстетика, а инструменты визуальной иерархии, которые направляют взгляд пользователя
- **Исследование пользователей**: даже минимальное UX-исследование (карты путей, персонажи) помогает принимать более обоснованные дизайн-решения
- **Дизайн-системы для разработчиков**: компонентный подход в дизайне параллелен компонентному подходу в коде — токены, переменные, переиспользуемые блоки
---
## 💬 Важные цитаты
> «Хороший дизайн незаметен. Плохой дизайн кричит о себе
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки

View File

@ -0,0 +1,64 @@
---
Тип: Книга
Статус: Заброшена
Название: Паттерны объектно-ориентированного проектирования
Автор:
- Эрих Гамма
- Ричард Хелм
- Ральф Джонсон
- Джон Влиссидес
Количество страниц: 448
Прогресс:
Формат: Бумажная
Обложка: Библиотека/Книги/covers/gof-patterns.jpg
Начата: "2024"
Закончена:
Оценка: "10"
Сложность: 10/10
Теги:
- it
- programming
- patterns
- oop
- design-patterns
Категории:
- разработка программного обеспечения
- проектирование
Источник:
Ссылка:
---
![[covers/gof-patterns.jpg]]
# Паттерны объектно-ориентированного проектирования
## 📖 О книге
Культовая книга «Банды четырёх» (Gang of Four) — Гамма, Хелм, Джонсон и Влиссидес. Именно она ввела в обиход понятие «паттерн проектирования» применительно к ООП и описала 23 классических паттерна. Книга считается обязательной для каждого программиста, но читается тяжело: академический стиль, примеры на C++ и Smalltalk, высокая плотность концепций. Лучше воспринимается после практического опыта с проектированием.
---
## 🧠 Ключевые идеи
- **Паттерн = имя + проблема + решение + последствия**: стандартизированный словарь для обсуждения архитектурных решений в команде
- **Три категории**: порождающие (Abstract Factory, Builder, Singleton...), структурные (Adapter, Decorator, Proxy...), поведенческие (Observer, Strategy, Command...)
- **Принцип «программировать на интерфейс, а не на реализацию»**: зависимости от абстракций делают систему гибкой и расширяемой
- **Предпочитайте композицию наследованию**: паттерны вроде Decorator и Strategy показывают, как добавлять поведение без иерархий наследования
- **Открыто/закрытый принцип в действии**: хорошо спроектированные паттерны позволяют расширять поведение без изменения существующего кода
---
## 💬 Важные цитаты
> «Программируйте в расчёте на интерфейс, а не на реализацию.»
> «Предпочитайте композицию объектов наследованию классов.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Чистая архитектура]]
- [[IT/Паттерны/Декоратор]]
- [[IT/Паттерны/Стратегия]]

View File

@ -0,0 +1,59 @@
---
Тип: Книга
Статус: Прочитано
Название: Принципы юнит-тестирования
Автор:
- Владимир Хориков
Количество страниц: 320
Прогресс: 320
Формат: Бумажная
Обложка: Библиотека/Книги/covers/unit-testing.jpg
Начата: "2025"
Закончена: "2025"
Оценка: "9"
Сложность: 7/10
Теги:
- it
- programming
- testing
- tdd
Категории:
- разработка программного обеспечения
- тестирование
Источник:
Ссылка:
---
![[covers/unit-testing.jpg]]
# Принципы юнит-тестирования
## 📖 О книге
Одна из лучших книг о юнит-тестировании на практике. Владимир Хориков (Microsoft MVP) разбирает не просто «как писать тесты», а «что делает тест хорошим». Центральная идея — тесты должны проверять поведение, а не реализацию. Книга охватывает стили тестирования, работу с моками, архитектуру тестируемого кода и интеграционные тесты. Ориентирована на C#/.NET, но принципы универсальны.
---
## 🧠 Ключевые идеи
- **Четыре свойства хорошего теста**: защита от регрессий, устойчивость к рефакторингу, быстрая обратная связь, удобство сопровождения — и между ними неизбежный компромисс
- **Тестировать поведение, не реализацию**: тест, завязанный на детали реализации, хрупок — он будет ломаться при рефакторинге, не обнаруживая реальных багов
- **Моки — инструмент, не цель**: злоупотребление моками приводит к тестам, которые проверяют взаимодействие объектов вместо бизнес-результата
- **Классическая vs лондонская школа TDD**: классики тестируют единицы поведения, лондонцы — единицы кода; автор отдаёт предпочтение классическому подходу
- **Интеграционные тесты дополняют, не заменяют**: они покрывают то, что юнит-тесты не могут — взаимодействие с БД, файловой системой, внешними сервисами
---
## 💬 Важные цитаты
> «Тест, который не может сломаться при наличии бага, бесполезен. Тест, который ломается без бага, вреден.»
> «Цель юнит-тестирования — обеспечить устойчивый рост проекта, а не максимальное покрытие кода.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Чистый код]]
- [[Идеальная работа. Программирование без прикрас]]

View File

@ -0,0 +1,57 @@
---
Тип: Книга
Статус: Прочитано
Название: Тестирование JavaScript
Автор:
- Лукас Коста
Количество страниц: 592
Прогресс: 592
Формат: Бумажная
Обложка: Библиотека/Книги/covers/testing-javascript.jpg
Начата: "2024"
Закончена: "2024"
Оценка: "10"
Сложность: 7/10
Теги:
- it
- programming
- testing
- javascript
Категории:
- разработка программного обеспечения
- тестирование
Источник:
Ссылка:
---
![[covers/testing-javascript.jpg]]
# Тестирование JavaScript
## 📖 О книге
Комплексное руководство по тестированию JavaScript-приложений от Лукаса Косты. Книга охватывает все уровни: от юнит-тестов до end-to-end, от тестирования фронтенда до серверного кода. Автор объясняет не только «как» писать тесты, но и «зачем» — как выстроить культуру качества в команде. Используются Jest, Cypress, Testing Library и другие современные инструменты.
---
## 🧠 Ключевые идеи
- **Пирамида тестирования**: юнит-тесты — быстрые и дешёвые, интеграционные — балансируют скорость и охват, e2e — медленные, но проверяют реальный пользовательский опыт
- **Тестирование поведения, а не реализации**: тесты должны имитировать то, что делает пользователь, а не проверять внутренние детали компонентов
- **Testing Library как стандарт**: запросы через доступные роли и метки (getByRole, getByLabelText) делают тесты устойчивее и ближе к реальному UX
- **Моки и стабы с умом**: изолировать зависимости нужно там, где они замедляют или усложняют тесты, а не везде подряд
- **Continuous Testing**: тесты в CI/CD как обязательная часть процесса — быстрая обратная связь предотвращает регрессии на ранних этапах
---
## 💬 Важные цитаты
> «Тесты — это не затраты, это инвестиции. Они экономят время в долгосрочной перспективе.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Принципы юнит-тестирования]]
- [[Рефакторинг кода на JavaScript]]