Как стать автором
Обновить

Комментарии 23

НЛО прилетело и опубликовало эту надпись здесь

Плюсы видимо в изолировании и предоставлении доп. плюшек. Например у виртуального хостинга бегет похожая схема работы с docker и vscode, получается по тарифу у тебя еще не-впс но уже можно какие то штуки себе ставить в докере, и хватает полномочий для установки и работы расширения vscode, какие то пакеты можно установить и тд..

а в чём преимущества "разработки в Docker на удаленном сервере"?

В docker для того, чтобы не засорять систему ненужными пакетами.

На удаленном сервере потому, что например работаешь за ноутом, а нужна мощная видеокарта/проц.

Не вижу про возможность удалённого debug (например пройтись step-by-step по коду) — это реально в подобной конфигурации?

Реально.

Грустно от таких статей, просто перевод мануала с официального сайта vs code.

А виртуальные окружения и пакетные менеджеры для кого придуманы?

На первой работе подобными извращениями занимались, типа модно-молодёжно — в докере разворачиваем и работаем. Дебажить при таком подходе был тот ещё геморр, никаких явных преимуществ такого подхода я для себя не нашёл.

Виртуальные окружения и пакетные менеджеры не всегда дают нужный уровень изоляции.

А какой уровень изоляции вам нужен при разработке API? Так-то можно и пилой колбасу резать, только почему-то так не делают.

Добрый вечер!

Действительно, перечисленные вами инструменты также решают задачи изоляции окружения.

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

Добрый вечер!

Мне очень жаль, что вам стало грустно от моей статьи.
Возможно, когда вы упомянули про перевод, вы имели ввиду набор документации, которая есть на VSCode.

В этом наборе была речь про приложения для веб, кажется. Но очень похоже, согласен.

Однако, тут два вопроса:
1) почему мою статью приняла модерация, если это простой перевод?
2) почему моя статья в закладках почти у 200 человек?

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

А если вы еще в печали, то мне сложно что-то действенное подсказать, поскольку по образованию я не психолог.
Да и нужно ли?

Одно из преимуществ именно работы «на удаленном сервере» - в том, что можно спокойно работать над тяжелым проектом со слабенького ноута, или хоть даже с айпада, от устройства требуется только современный браузер и нормальный интернет. Очень удобно например в поездках.

Преимущество работы в докер контейнере в принципе - в том что у вас есть декларативный файлик, из которого за 10 минут можно с нуля собрать свое привычное рабочее окружение, которое будет одинаково работать везде. Переезжая на новый комп не нужно заново все устанавливать. Если вы случайно что-то сломали, то вам не нужно 8 часов тратить на поиск проблемы, нажимаете rebuild container и все, при этом даже сохраняется незакомиченный код. Также вы не загаживаете свой комп бесконечными версиями разных зависимостей которые нужны для разных проектов. Еще этот файлик можно расшарить со всей командой, тогда вообще получается очень хорошо - не возникает ситуаций в духе «у Васи на макоси компилится, а у меня не компилится, потому что у меня винда», и не нужно по три дня сидеть с новичками, пытаясь разобраться, почему они не могут поднять сервер. Теперь всегда работаю только в контейнере, и всем горячо советую.

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

НЛО прилетело и опубликовало эту надпись здесь

Спрашивали не меня, но поделюсь своим опытом.

Я использую Remote-Containers локально только потому, чтобы не устанавливать на домашний лэптоп все те зависимости, которые там не нужны.

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

Так не устанавливайте глобально. Или у вас какой-то стек что этого не позволяет?

Вы имеете в виду типа remote desktop? Если да, тогда преимущества в том что

  1. У вас есть один единый инстанс VSCode, и вам не нужно на каждый отдельный контейнер ставить VSCode и синхронизировать настройки. Можно переключаться между разными контейнерами как между просто разными репами.

  2. Ниже нагрузка на сеть и ниже лаг, поскольку vscode понимает "семантику" данных, и в результате и данных передается меньше, и UI понимает, что где закэшировать, когда в ответ на действие надо ждать ответа сервера, а когда нет, и т.п. То есть например когда вы напечатали буквы в IDE они отобразятся сразу без раундтрипа до сервака

Мне на работе выдали ноутбук с Windows, а реальная работа - на виртуалке в облаке, иначе скорости домашнего интернета не хватает скачивать и закачивать то, что нужно. И да, там Linux.

И как мне жить? Ставить VSCode на удалённой машине? А как я его увижу?

Remote debugger одно спасение.

сам процесс разработки не отличается от работы на локалке в худшую сторону практически ничем.

Немного спорное утверждение. Если vs code ещё вполне неплохо работает, то Jet Brains Gateway всё ещё невероятно сырой, и процесс разработки в результате сильно так отличается. + небольшой инпут лаг

Добрый вечер!
По поводу ваших вопросов: дело в том, что я писал статью (туториал), следуя этим рекомендациям.
И вопрос про преимущества, на мой взгляд, немного отходит от темы публикации (здесь я ничего не сравниваю).
Однако, здесь можно посмотреть, что пишут разработчики самой VSCode.
Надеюсь, таких ответов на ваши вопросы будет более, чем достаточно.

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

Расширение Remote Development не работает с VSCodium (свободным форком VSCode) :(

Увы, да. И не только оно. VSCodium хорош только в ограниченном круге задач из-за этого.

Этот туториал рассчитан на людей, которые недавно вошли в коммерческую разработку и только начинают свою трудовую деятельность.

Иметь удаленный доступ по протоколу SSH к машине с ОС Ubuntu

Иметь установленный Docker на удаленной машине

Кто устанавливает и настраивает удаленный хост с Docker?
Если железо хоста позволяет, проще установить xRDP-server, Openssh-server и VSСode на сервере с Docker и подключаться по RDP через SSH Tunnel

Для установки графики на сервер и использования там VSCode нужно раза так в 4 больше оперативной памяти и значительно больше дискового пространства. Если это VPS, то выйдет ощутимо дороже.

Супер, с вас протянуть широкополосный канал за северный полярный круг, чтобы прокачать весь бесполезный трафик который вы генерируете. Ведь при работе через remote container по ssh передаются только файлы\команды, а рендерится уже всё локально. При этом объём передачи влезает в канал 256 кбит\с с задержкой до 1.5 секунд. В такой канал вы рдп не протащите.

Статья вроде про "людей, которые недавно вошли в коммерческую разработку"?
Было много командировок лет 8 назад. C usb-цаком от некоего провайдера(3G и скорость была от 100 кб/с до 800 кб/с) подключался с Cisco AnyConnect по rdp к своему рабочему месту в домене и спокойно работал в TFS.

Юзал на VPS сервер-клиент X2Go(ветка от NoMachine и FreeNX) с протоколом NX3 и Xpra c HTML5 client для доступа к VSCode еще до поддержки 'Visual Studio Code Remote - SSH extension'
Весьма неплохие были результаты.
Ну и доки никто не отменял.

Если удалёнка на FreeBSD - не заведётся ибо не поддерживается расшрениями.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории