Pull to refresh

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

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

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

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

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

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

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

А тем, кто дочитал этот пост небольшой лайфхак в награду: на npmjs есть модули под NodeJS для работы со всеми популярными облаками, соответственно можно автоматизировать процесс деплоя в продакшн и девелопмент. Как? Скрипт на сервере постоянно стучится в облако и сверяет хеш(например md5) файлов в облаке и локальных файлов, как только что-то меняется, сервер тормозит локальный инстанс программы, скачивает новую версию и запускает ее [В целях безопасности не советаю использовать в продакшне]. Через несколько дней постараюсь написать вторую статью, в которой подробно опишу, как создать скрипт автоматического деплоя из облака на сервер.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.