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

Как обустроить свое виртуальное рабочее пространство

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

Сегодня я хочу обсудить другую проблему, а именно синхронизацию IDE. В чем смысл синхронизации IDE? Давайте представим ситуацию: у вас есть два компьютера с IDE Brackets (говорю про нее потому, что использую, но на ее месте может быть любая другая среда разработки) и вы поставили какой-нибудь плагин/тему оформления и теперь, чтобы комфортно работать, вам придется перенести этот плагин/тему на другой компьютер, установить и настроить, а это займет время. И вот в один прекрасный день я подумал «Хватит это терпеть!» и после некоторого времени поисков в гугле, я пришел к достаточно удобному и практичному решению.

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

Итак у нас имеется: облако и желание наладить рабочий процесс. Реализация: на облаке делаем базовую структуру (например у меня это две папки: Apps и Projects), далее в папку Apps ставим портативную версию файлового редактора а теперь самое главное: синхронизируемые папки должны быть доступны по одному и тому же пути на всех компьютерах. Теперь, чтобы программировать запускаем наш редактор и кодим в нем.

В каком мы плюсе? Расскажу на примере Brackets:
  • Плагины редактора синхронизируются
  • Темы редактора тоже будут одинаковые
  • На всех компьютерах всегда при запуске будут открыты те же файлы, которые ты редактировал до этого (возможно даже на другом компьютере

Как мне кажется, это уже достаточно большое количество плюсов.

А тем, кто дочитал этот пост небольшой лайфхак в награду: на npmjs есть модули под NodeJS для работы со всеми популярными облаками, соответственно можно автоматизировать процесс деплоя в продакшн и девелопмент. Как? Скрипт на сервере постоянно стучится в облако и сверяет хеш(например md5) файлов в облаке и локальных файлов, как только что-то меняется, сервер тормозит локальный инстанс программы, скачивает новую версию и запускает ее [В целях безопасности не советаю использовать в продакшне]. Через несколько дней постараюсь написать вторую статью, в которой подробно опишу, как создать скрипт автоматического деплоя из облака на сервер.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.