Transcription
[Музыка] Всем привет. Здравствуйте. Я Рон. Меня зовут Стивен. Стивен, в прошлый раз ты показал мне кое-что о dev containers. Это было очень здорово. Ты меня очень воодушевил. Итак, что ты приготовил для меня на этот раз? Ну, в таком случае, у меня для тебя хорошие новости, потому что мы выведем dev containers на новый уровень. О, не могу дождаться. Покажи. Итак, я хочу поговорить о GitHub code spaces. Хорошо. GitHub code spaces также существуют уже несколько месяцев. Но это потрясающе. Хорошо. Потому что, по сути, он делает всё то, о чём мы говорили в предыдущем выпуске о dev containers. В том примере мы сказали: "Хорошо, тебе всё ещё нужен IDE, тебе нужен Docker Desktop, и тебе нужна хорошая машина для работы". Ну, они сказали: "Хорошо, а что, если тебе нужен только браузер?" Браузер и ничего больше. Вот и всё. Вот и всё. Хорошо. Итак, у меня есть браузер. Я собираюсь использовать тот же пример, который мы использовали в прошлый раз. Да. И, как вы видите, он здесь на GitHub. Хорошо. Но вместо того, чтобы загружать его на мою локальную машину, я скажу: "Эй, если я нажму эту кнопку, обычно она стоит на "локально", так что вы можете загрузить её локально". Да, но есть также кнопка "код". И если вы нажмете на нее и выберете "создать code space", он запустит этот образ контейнера из dev containers, тот же самый. Да. В облачной среде, размещенной GitHub. Хорошо. И он показывает, как вы видите, он показывает мне приложение Visual Studio Code в моем браузере. Хорошо. И, по сути, то, что вы видите сейчас, это то же самое, что вы видели, когда мы открывали это решение локально на машинах. Так что вы видите, что он устанавливает удаленные соединения. Он создает мой code space. И у меня не было никакой подготовки. Не было готового образа или среды. Я просто нажал, и он сейчас создает его. Это всё, что ты сделал. Это занимает несколько минут, но, конечно, это недолго. И тогда у вас есть среда в вашем браузере, с которой вы можете работать. Вау, это поражает меня. Это потрясающе. Пока он запускается, потому что это занимает несколько минут. Позволь мне спросить тебя, потому что у него та же функциональность и всё такое. Если вы запустите два, между ними может быть сетевое взаимодействие. Да. Так что есть несколько сложностей, но в целом это работает почти так же, как и локально. Так что это действительно потрясающе, как они всё это интегрировали. Итак, если мы перейдем к этой странице. Давайте посмотрим на эту страницу. Это страница dev containers. И вы видите, что у них есть специальная поддержка для GitHub code spaces. Да. И что это делает, так это то, что вы можете определить внутри вашей конфигурации dev containers, что code space должен знать. Хорошо. Так что в этом случае вы видите пример конфигурации о том, что, помимо этого репозитория, он также должен знать об этом другом репозитории, который связан с этим проектом. Так что, как вы сказали, у вас есть фронтенд или бэкенд, вы можете сказать: "Хорошо, вы должны знать друг о друге, потому что мы работаем в команде". Да. Так что это то, что вы можете настроить внутри ваших dev containers. Но вы также можете настроить саму среду code space. И в этом примере вы видите, что он делает, он говорит: "Хорошо, когда я открываю новый code space, я хочу, чтобы эти файлы открывались по умолчанию". Так что файл README и, возможно, файл конфигурации, который удобен для онбординга, и таким образом вы можете действительно настроить, как должна выглядеть среда code space. Да. И если вы вернетесь на ту страницу, которую мы имели, вы увидите, что это уже сделано. Да. Это довольно быстро. Это очень быстро. И вы можете видеть, что он открыл предварительный просмотр README. Но это просто удивительно, как всё выглядит так же, как если бы это было. Да. Даже консоль, всё. Да. Итак, давайте снова перейдем к моему терминалу на локальной машине. Давайте посмотрим, не обманываю ли я или что-то в этом роде. Итак, есть ли у меня версия Node на этой машине? Нет. Итак, давайте выйдем из этого, потому что мне это больше не нужно. Но если мы зайдем в этот терминал, вы увидите, что у меня есть версия Node, и это просто ваш браузер. Я вижу это. Да. Так что это просто мой браузер. И если мы зайдем в этот проводник, вы можете просто открывать страницы, редактировать код. Вы можете сказать "привет, бета-тесты, мир" и просто внести изменения, сохранить, используя привычные вам сочетания клавиш. Так что нет. Хорошо. Да. Но вы также можете установить точки останова и нажать F5. F5, и вместо обновления страницы он знает: "Эй, ты хочешь это запустить". Это всегда меня поражает. И вы видите то же уведомление. Хорошо, мы опубликовали приложение. Итак, я иду, открываю это приложение, и теперь вы можете видеть по URL, что это не мой localhost. Нет, потому что оно не работает локально, и это предупреждение. Итак, что Microsoft, что GitHub сделали, они создали эту среду, в которой вы работаете, и они также позаботились о том, чтобы вы могли использовать ее для отладки. Так что он просто может подключиться к порту, а затем вы можете просто запускать локально. Так что, как вы видите, он ждет. Да. Он работает? Конечно, он работает, потому что у меня была точка останова. У тебя была точка останова. О, я забыл об этом. Так что отладка также работает бесшовно между вкладками браузера и так далее. Так что в этот момент я просто продолжу на этой точке останова, и вы увидите, что страница загружается, и она говорит "привет". Это в прямом эфире. Так что он не обманул, и это очень в прямом эфире. Домой. Каков был бы сценарий использования вместо этого для этой версии браузера, так сказать? По сути, это просто еще один шаг к устранению необходимости настраивать локальную среду, настраивать локальную машину и поддерживать свой компьютер и убедиться, что подготовка, необходимая для начала кодирования, выполнена. Microsoft и GitHub действительно просто пытаются помочь всем начать работу, вместо того чтобы люди занимались чтением устаревших руководств, версиями и конфликтами, и это очень важно. Они просто хотят, чтобы люди просто кодировали. Хорошо, это, по сути, всё, что делает это. И это потрясающе, потому что это также означает, что вам больше не нужна очень мощная машина, потому что в старые времена нам нужны были очень мощные машины, но теперь вам просто нужен браузер, вот и всё. Звучит круто, и даже, ну, мой тестовый разум. Да, это удивительно, потому что вы можете просто, вы даже не должны загружать этот образ, ваши коллеги, потому что как это работает, вы можете создать code page для каждой ветки в репозитории. Так что, если кто-то говорит вам: "Эй, Брам, можешь ли ты протестировать это для меня, это на этой ветке?" Вам не нужно загружать это и убеждаться, что изменения, которые у вас были локально, сохранены или отменены. Вы можете просто зайти в code spaces, проверить это, посмотреть, работает ли это, и сказать: "Да, это работает". И вы просто снова удаляете свой code space, и всё. Так что все дополнительные действия, которые мне нужно было сделать, чтобы убедиться, что это та же версия, та же настройка, то же самое, всё это просто убрано из моих рук. Да. И особенно для вас, это также означает, что как тестировщик, вы можете очень легко тестировать два pull request одновременно, сравнивать их. Так что вы заняты одним, вы говорите: "Эй, я вижу это небольшое изменение. Можешь ли ты его скорректировать?" И пока этот человек корректирует это изменение, вы можете перейти к другому, не возвращаясь туда и обратно между ветками и, возможно, настройкой и конфигурацией и всем, что нужно. На самом деле, это отнимает у меня много времени. Вам просто нужен браузер с поддержкой двух вкладок и услужливый разработчик и услужливый. Да. Но, возможно, вы такой же, как я, и говорите: "Хорошо, разработка в браузере, я не знаю. Я всё ещё люблю свой собственный IDE на своей локальной машине с моей собственной конфигурацией". Ты очень убедителен. Это очень убедительно. Но это тоже возможно, потому что если мы зайдем в меню, вы также можете просто сказать: "Хорошо, но я ценю code, но я действительно хочу просто программировать в своем собственном IDE". Так что вы заходите внутрь, и он просто запускает ваш Visual Studio Code. Он говорит: "Эй, ты хочешь, чтобы я открыл этот code space?" Я говорю: "Да, пожалуйста", и он просто открывает этот code space на локальной машине. Так что это еще одно преимущество. Так что, если вы Да. Так что вы видите справа, он устанавливает удаленное соединение. Это было так быстро, что у меня не было времени это продемонстрировать. Но круто то, что опять же, если я просто нажму F5 здесь. Угу. Он запустится. Да, он запустится. Но он запустится. И вуаля, он запускается локально. Так что он даже умный, как, да, я вижу этот URL 127, и если вы зайдете в мой Docker Desktop, он еще не был открыт, он должен что-то сказать, потому что у меня на самом деле нет локального образа на моей машине. Так что всё еще размещено на GitHub. Но вы можете видеть, что он вышел. Так что ничего не работает. 60 минут назад это было что-то другое. Так что активных контейнеров нет. Так что он все еще работает в GitHub code spaces в облаке. Так что это через соединение. Да. Через удаленное соединение. Все еще подключено. Да. Так что в случае с Visual Studio Code вам нужно расширение GitHub code spaces. Вы можете легко установить это расширение в Visual Studio Code. Единственный недостаток в этом — вам нужно активное подключение к Интернету. Хорошо. Но опять же, вы можете поместить его в свой dev container, если вам действительно нужно. Да. Так что это то, что я считаю потрясающим, потому что вы можете, это, по сути, та же конфигурация. Так что у вас есть dev container, и вы можете выбирать: "Хорошо, я хочу просто быстро запустить это в code space, или я хочу углубиться в это и поместить это локально и запустить локально?" У вас есть такая возможность, потому что это просто та же конфигурация, но это все еще та же конфигурация. Как бы вы рекомендовали людям, потому что это все очень захватывающе, и теперь я тоже хочу попробовать. Как мне донести это до моей команды? Как я могу их обучить? По сути, единственное, что вам действительно нужно сделать, это просто добавить этот файл конфигурации dev container. Вот и всё. И тогда вы можете начать работать с чем угодно. Да. И если у вас есть несколько коллег, которые немного колеблются, они все еще могут работать локально. В этом нет ничего плохого. Но очень легко добавить эту опцию и дать эту опцию людям. Так что это очень быстро реализуется. Да. И, по сути, нет большого риска. Нет, на самом деле нет, потому что, конечно, вы запускаете что-то в облаке, размещенное GitHub code spaces. Так что есть некоторая стоимость. Конечно. Давайте посмотрим на это. Если мы зайдем на страницу с ценами, вы увидите, что Microsoft GitHub использует модель ценообразования "часы ядра". Так что, по сути, говорится, что за каждое ядро вашей машины, на которой работает ваш GitHub code space, вы платите определенную сумму. Так что у вас есть возможность выбрать, какой тип GitHub code space вы хотите. Так что в примере, который я сделал, когда вы просто запустили code space, он просто запускает стандартный code space, и это виртуальная машина с двумя ядрами. Но если вы хотите, вы также можете перейти к четырем, шести или восьми ядрам, если у вас более тяжелое решение, которое действительно требует большей мощности. Да. И вы, по сути, просто платите за каждое ядро, которое вы используете в течение часа. Хорошо. Отлично то, что вы получаете бесплатное хранилище и вычисления. Хорошо. Так что хранилище составляет 15 ГБ, а 120 часов ядра — бесплатно каждый месяц. Хорошо. Так что, если вы работаете на минимуме из двух ядер, это означает, что вы можете программировать в течение 60 часов в месяц бесплатно. Хорошо. Это приятно. И если у вас есть план GitHub Pro, вы можете получить немного больше, но после этого вы будете платить за каждое ядро в зависимости от времени его использования. Хорошо. Так что это действительно просто "плати за то, что используешь". Оплата по мере использования. Да. И это означает, что если вы зайдете на веб-сайт GitHub code spaces, и я обновлю это, вы увидите, что у меня настроен GitHub code. Так что вы можете видеть здесь, он работает. Он активен. Вы видите, что это два ядра. Он использует 1,46 ГБ. Но я также могу просто сказать: "Хорошо, я хочу остановить это". Так что я больше не работаю. Я хочу остановить это. Так что оплата не продолжается. Он также достаточно умен, чтобы понять, что я не используюсь. Я собираюсь автоматически остановиться. Хорошо. Но всегда есть небольшая задержка. Так что, если вы знаете, что собираетесь остановиться, вы можете просто остановить это самостоятельно. Да. Вы не будете взиматься необоснованно. Они умны, они пытаются помочь вам в этом, но всегда есть небольшая задержка, но это облачная вещь, верно? Оплата по мере использования, вы платите за то, что вам нужно, так что вы также можете просто в этот момент сказать: "О, я хочу изменить тип машины, так что я хочу что-то обновить", но с этого момента вы также можете открыть его в браузере, в вашем Visual Studio Code, но вы также можете удалить его, если скажете: "Хорошо, я закончил с этим, я удаляю это", и он просто очищается, и там И, вероятно, делает умные вещи на бэкенде. Он делает автоскейлинг для вас, возможно. Нет, не совсем, потому что вам это не очень нужно. Так что вы просто можете сказать, что вам нужно, а затем он просто дает вам это. И если вы обнаружите, что ваше решение немного больше, немного тяжелее, или вы выполняете больше вычислений, или особенно при отладке, возможно, вы всегда можете сказать: "Хорошо, я собираюсь обновить эту машину до большего количества vcores или хранилища". Ну, звучит захватывающе. Так что всё, что мне нужно, это желающий разработчик и аккаунт. Да. И тогда мы закончим. Так что это просто обычный аккаунт GitHub. Так что каждый может начать работу за считанные минуты. Это действительно безумие, как быстро в наши дни вы можете действительно начать кодировать и приносить пользу, вместо того чтобы заниматься всякими вещами, которыми вы на самом деле не хотите заниматься. Точно. Вау. Приятно. Это также хорошо для демонстраций, я думаю. Очень хорошо для демонстраций. Демонстрации были очень просты в настройке, и если что-то пойдет не так, вы можете просто взять это и показать для прототипирования и тому подобного. Ты снова дал мне много идей. Так что, Точно. Нет, отлично. Спасибо. Еще одна задача в моем списке, которую нужно передать моей команде разработчиков. По крайней мере, с этой очень легко начать. Так что это хорошо. Да, им всегда нравится, когда я говорю им простые вещи. Так что, эй, это действительно хорошо и просто. Тогда они счастливы со мной, и, ну, я уверен, что они будут рады использовать это. Я действительно вижу преимущества. Так что, спасибо. Да, пожалуйста. Надеюсь, вам тоже понравилось. Увидимся в следующий раз. До свидания. Пока.