PERSONAL / HABROFF.RUРАЗРАБОТКА · СИСТЕМЫ · СЕТИ

Веб-разработчик

Сергей
Хабаров.

Пишу код. Разбираюсь,
как устроены системы.

INTERESTS.MAP● LIVE
WEB / DEVJS / TSNODE / PHPSELF-HOSTEDNETWORKSarchitecturedocker / p2p
01 — ПОНЯТЬ СВЯЗИ↓
СТЕК JavaScript / TypeScript / Node.js / PHP
ЛИСТАЙТЕ НИЖЕ ↓

За кодом —
понимание.

Я веб-разработчик. Работаю с JavaScript, TypeScript, Node.js и PHP. Интересуюсь архитектурой веб-сервисов и тем, что происходит за пределами приложения: инфраструктурой, сетями и взаимодействием сервисов.

Предпочитаю разбираться в том, как устроена система. Учусь через реальные задачи: проверяю гипотезы, собираю решения и улучшаю их.

[01]

Разработка

JavaScript и TypeScript, Node.js и PHP. Код приложения и связи между его частями.

JavaScriptTypeScriptNode.jsPHP
[02]

Системы и сети

Docker, self-hosted сервисы, P2P. Интересно понимать весь путь — от запроса до инфраструктуры.

DockerСетиP2PSelf-hosted
[03]

Подход к работе

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

ПрактикаЯсностьИИ как инструмент

Мысли на полях.

Небольшие тексты о том,
что интересно разбирать глубже.

001
АРХИТЕКТУРА

У сложности должна быть причина

1 МИН+

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

Полезный вопрос при проектировании: какую проблему решает этот слой прямо сейчас? Если ответ существует только в воображаемом будущем, решение можно отложить. Простую структуру легче проверить и изменить, когда требования станут яснее.

002
SELF-HOSTED

Запустить сервис — только начало

1 МИН+

Self-hosting делает устройство сервиса видимым: где находятся данные, как идут запросы и от чего зависит доступность. Вместе с контролем появляются обычные инженерные задачи — обновления, наблюдаемость и восстановление.

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

003
DOCKER

Окружение — тоже часть проекта

1 МИН+

Приложение зависит от версии среды выполнения, настроек, базы и внешних сервисов. Если всё это существует только в памяти разработчика, воспроизведение окружения превращается в отдельную задачу.

Docker помогает описывать существенную часть среды явно. При этом остаются вопросы: какие данные должны пережить пересоздание контейнера, как передаются настройки и в каком порядке готовы зависимости? Полезно проверять запуск с нуля, а не только повторный старт уже настроенной системы.

004
СЕТИ

От симптома к проверяемой гипотезе

1 МИН+

«Сервис недоступен» описывает симптом, но ещё мало говорит о причине. Полезно пройти путь запроса последовательно: разрешение имени, маршрут, соединение, затем ответ приложения.

Каждая проверка должна сужать область поиска. Так результаты диагностики складываются в объяснение происходящего, а следующая команда проверяет конкретное предположение.

Знакомый
интерфейс_

Вывод: about, stack, notes, contact.
Переход: go about, go notes, go contact.

Начните с
↑ ↓ история · Tab дополнение

guest@habroff:~bash

Добро пожаловать на habroff.ru

Введите help, чтобы посмотреть команды.

ВЫВОД
ПЕРЕХОД

Есть задача.
Или общая тема?

Обсудить работу, технический вопрос
или совместный проект — пишите.

TELEGRAM@xacker↗EMAILmail@habroff.ru↗