«Разделение личности» full-stack разработчика: когда вашей локальной среде нужно одновременно запускать PHP, Node.js и Python
Как full-stack разработчик, я каждый день разыгрываю драму множественных личностей.
В 9 утра я «мастер PHP», поддерживаю огромный устаревший проект на WordPress, мой мозг полон знаков $
, echo
и composer
.
В 11 утра по приказу менеджера по продукту я переключаюсь на разработку новой функции. Мой мозг перезагружается в режим «последователя Node.js», и я начинаю работать с async/await
, npm
и package.json
.
В 3 часа дня с бэкенда приходит запрос на обработку данных, и мне снова нужно превратиться в «алхимика Python», погружаясь в мир Jupyter Notebook и Pandas.
Мой мозг, закаленный годами, может плавно переключаться между этими «личностями». Но мой localhost
, очевидно, не успевает за мной. Он на грани нервного срыва.
Вы знаете это чувство:
-
Войны портов: Порт
3000
для Node.js только что запущен, но Flask на Python тоже хочет его использовать. Терминал залит красными ошибкамиAddress already in use
. -
Ад версий: Плагин WordPress работает только с PHP 7.4 ^^, а новый проект на Laravel, за который я только что взялся, требует PHP 8.2^^. В результате
brew switch php@7.4
иbrew switch php@8.2
становятся моими самыми частыми командами, сопровождаемыми бесконечным танцемsource
иexport
. -
Жонглирование базами данных: Старый проект использует MySQL ^^, новый — PostgreSQL^^. Мне нужно убедиться, что обе службы баз данных запущены, и постоянно помнить, какая из них на порту
3306
, а какая на5432
. -
Лабиринт терминалов: В одном окне терминала запущен
npm run dev
, в другом — PHP-FPM, в третьем — выполняется скрипт на Python. Мой рабочий стол превращается в хаос.
Мы называем себя «full-stack инженерами», но на самом деле мы стали «акробатами локального окружения». Каждая новая технология делает нашу локальную настройку более хрупкой и хаотичной.
Я пытался решить все это с помощью Docker. Это звучало красиво, но вскоре я понял, что просто переместил хаос из одного места в другое. Управление несколькими файлами docker-compose.yml
и сложной сетью казалось, что «лекарство» горше «болезни».
Мне нужен был не набор «деталей», которые нужно вручную собирать, а «единый командный центр».
В конце концов, я нашел . Он не пытался заменить все мои инструменты; он элегантно стал «главным дирижером» для всех них.
С Servbayмое хаотичное утро теперь выглядит так:
На панели Servbay PHP, Node.js и Python — это как три иконки навыков, которые я могу активировать в любое время^^.
-
Я создаю хост
legacy.wp.test
для старого проекта WordPress и назначаю ему версию PHP 7.4 из выпадающего меню^^. -
Для микросервиса на Node.js я создаю
api.node.test
. -
MySQL и PostgreSQL также существуют как две отдельные службы, включаемые или выключаемые одним щелчком мыши на панели^^.
Весь хаос был усмирен чистым графическим интерфейсом. Servbay излечил мое «разделение личности», предоставив каждой из моих «технических ипостасей» чистый, независимый и всегда готовый дом.
Для full-stack разработчика настоящая проблема — это не изучение нескольких языков, а элегантное управление сложностью, которую они приносят. Ваши инструменты должны скрывать сложность, а не создавать ее.