← Назад к вопросам

Читаешь ли что-то

1.3 Junior🔥 71 комментариев
#Брокеры сообщений

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Чтение и саморазвитие: как я учусь

Да, я активно читаю, но выборочно и целенаправленно. Чтение — не просто хобби, это инвестиция в профессиональный рост.

Что я читаю

Технические книги (классика)

  1. Clean Code (Robert C. Martin)

    • Перечитываю несколько раз, каждый раз находятся новые insights
    • Помогает писать код, который другие люди поймут
  2. Design Patterns (Gang of Four)

    • Не запоминаю все паттерны, а понимаю принципы
    • Применяю когда реально нужны, не на всякий случай
  3. Refactoring (Martin Fowler)

    • Очень практична, показывает как улучшить существующий код
    • Применял на реальных проектах с большим legacy кодом
  4. The Pragmatic Programmer

    • Философия программирования, а не конкретные техники
    • Помогает мыслить как профессионал, а не как кодер

Python-специфичные материалы

# Из Fluent Python (Luciano Ramalho) узнал о метаклассах и дескрипторах
# Практическое применение:

class ValidatedString:
    def __set_name__(self, owner, name):
        self.name = name
    
    def __set__(self, obj, value):
        if not isinstance(value, str):
            raise TypeError(f"{self.name} должен быть str")
        obj.__dict__[self.name] = value
    
    def __get__(self, obj, type=None):
        if obj is None:
            return self
        return obj.__dict__.get(self.name)

class User:
    name = ValidatedString()
    
user = User()
user.name = "Alice"  # OK
user.name = 123      # TypeError: name должен быть str
  • Effective Python (Brett Slatkin) — 90 лучших практик конкретно для Python
  • High Performance Python (Micha Gorelick) — когда нужна оптимизация

Архитектура и системный дизайн

  • Building Microservices (Sam Newman) — отличная книга, хотя не все выводы применимы
  • System Design Interview (Alex Xu) — помогает думать о масштабируемости
  • Статьи из блогов Netflix, Uber, Airbnb про их архитектурные решения

Где я читаю

1. Технические блоги

  • Python.org official documentation (лучший источник!)
  • Real Python (real-world примеры)
  • Medium / Habr (статьи от практиков)
  • GitHub (читаю исходный код известных библиотек)

2. Исходный код (важнейший источник!)

Я регулярно смотрю исходный код популярных библиотек:

# Пример: как реализован Pydantic
# Из кода Pydantic я научился:
# - Как использовать __getattr__ и метаклассы
# - Как писать валидаторы
# - Как оптимизировать производительность

from pydantic import BaseModel, validator

class User(BaseModel):
    name: str
    age: int
    
    @validator("age")
    def age_must_be_positive(cls, v):
        if v < 0:
            raise ValueError("age must be positive")
        return v

3. Papers и Research

  • arXiv (для ML и Data Science тем)
  • Google Research Blog
  • Иногда читаю academic papers, если они решают реальную проблему

4. Документация

Это недооценено, но документация — это книга:

  • FastAPI docs (отличного качества)
  • SQLAlchemy docs (полная и детальная)
  • Docker documentation (лучше чем многие курсы)

Как я читаю

Активное, не пассивное чтение:

# Не просто читаю код, а:

# 1. Копирую и запускаю
from typing import Protocol

class Drawable(Protocol):
    def draw(self) -> str: ...

class Circle:
    def draw(self) -> str:
        return "●"

def render(obj: Drawable):
    print(obj.draw())

render(Circle())  # OK

# 2. Модифицирую и экспериментирую
# Что если я изменю параметры?

# 3. Пишу notes и примеры
# Сохраняю в личной wiki для будущих ссылок

Выборочность:

Не всё нужно читать полностью:

  • Книгу читаю перепрыгивая, если не интересна глава
  • Статьи читаю скимингом (быстрое сканирование)
  • Код читаю только релевантные части
  • Не зафиксирован на "прочитать всё"

Часто используемые источники

ИсточникКак используюЧастота
Python docsУточнить детальЕжедневно
GitHub (код библиотек)Посмотреть реализацию2-3 раза в неделю
Real PythonВглубь по теме1-2 статьи в неделю
Книги (техн.)Глубокое изучение1-2 месяца на книгу
Блоги (Habr, Medium)Узнать трендНесколько в неделю
Papers (arXiv)Специальные случаиРаз в месяц

Результат чтения в коде

# Из Clean Code — понятные имена переменных
class OrderProcessor:
    def process_customer_order(self, customer_id: str, items: list):
        # Ясное имя функции, ясные параметры
        pass

# Из Design Patterns — использую Singleton правильно
class DatabaseConnection:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

# Из Refactoring — правильная декомпозиция
def calculate_total_price(order):
    # Разбиваем на smaller functions
    subtotal = calculate_subtotal(order.items)
    tax = calculate_tax(subtotal)
    shipping = calculate_shipping(order.region)
    return subtotal + tax + shipping

Чего я НЕ читаю

  • Учебники по основам — уже знаю, тратить время нет смысла
  • Статьи про framework X версия Y — быстро устаревает
  • Вся информация подряд — выбираю по need
  • Много одновременно — фокусируюсь на одной теме 2-3 недели

Вывод

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

Читаешь ли что-то | PrepBro