Какую стратегию делают Вы используете для синхронизации кода при работе из дома

Хорошо, я сам разобрался. Однако это не лучшее решение. По сути, я конвертирую обновленный текст в тип HTML, а затем сравниваю значение с преобразованным darft.js editorState. Вкратце, вот мой код, если он кому-нибудь поможет в будущем

import React, { useEffect, useState } from 'react'
import {
  EditorState, ContentState, convertToRaw,
} from 'draft-js'
import { Editor } from 'react-draft-wysiwyg'
import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'
import draftToHtml from 'draftjs-to-html'
import htmlToDraft from 'html-to-draftjs'

export default ({ value, onChange }) => {
  const [editorState, setEditorState] = useState(EditorState.createEmpty())

  useEffect(() => {
    if (toHtml(editorState) === value) return //added

    setEditorState(
      EditorState.push(
        editorState,
        ContentState.createFromBlockArray(
          htmlToDraft(value || ''),
        ),
      ),
    )
  }, [value])

  return (
    <div className="rich-editor">
      <Editor
        editorState={editorState}
        onEditorStateChange={onEditorStateChange}
        toolbar={{
          options: ['inline'],
          inline: {
            options: ['bold', 'italic', 'underline'],
          },
        }}
      />
    </div>
  )

  function onEditorStateChange(es) {
    setEditorState(es)
    const html = toHtml(es) //added
    if (value !== html) {
      onChange({ target: { name: 'text', value: html } })
    }
  }

  function toHtml(es) {
    return draftToHtml(convertToRaw(es.getCurrentContent())) // added
  }
}
11
задан skaffman 4 July 2011 в 21:18
поделиться

23 ответа

я соединяющийся с офисной сетью работаю и загружаю последнюю форму версии svn, используют сервер Dev mysql, таким образом, я точно так же, как компьютер пыльника в офисной сети

0
ответ дан 3 December 2019 в 01:13
поделиться

Распределенный / Децентрализованное решение для Системы управления версиями удовлетворит Вашим потребностям, Мерзавцу, Базару, Подвижному, darcs... у Вас есть много альтернатив.

16
ответ дан 3 December 2019 в 01:13
поделиться

Я также использую Dropbox, и это является ключевым, потому что важно сохранить это простым.

Обычно лучше, если у Вас может быть некоторый тип способности к удаленному рабочему столу, потому что это позволит Вам использовать стандартную конфигурацию рабочей станции, и это будет допускать последовательное соединение с сетевыми ресурсами (сервер базы данных, бизнес-серверы как рабочий процесс, и т.д.).

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

0
ответ дан 3 December 2019 в 01:13
поделиться

Я предполагаю, что большую часть времени потраченное копирование включает базу данных. Это правильно? Если так, Вы не можете просто подключить к своей работе DB от домашнего использования Вашего соединения VPN?

Вы все еще скопировали бы свои исходные файлы (или использовали бы систему управления исходным кодом, как другие предположили), но это только взяло бы часть времени.

0
ответ дан 3 December 2019 в 01:13
поделиться

Вы не указали ОС и систему виртуализации, но если Вы работаете образы виртуальной машины, которые могут быть смонтированы, например, XEN на Linux, затем Вы могли смонтировать изображение и синхронизировать его через rsync.

0
ответ дан 3 December 2019 в 01:13
поделиться

Это была проблема для меня также. Так, компания купила меня ноутбук, и я делаю свою работу над нею, дома или где-либо еще.

0
ответ дан 3 December 2019 в 01:13
поделиться

Если все, в чем Вы нуждаетесь, является виртуальной машиной от Вашего рабочего компьютера, то Вы могли смонтировать удаленный каталог (использующий nfs или кого-то), где Ваше хранилище файлов виртуальной машины является и выполняет ту виртуальную машину оттуда. Это должно быть быстрее, чем использование удаленного рабочего стола.

0
ответ дан 3 December 2019 в 01:13
поделиться

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

Я использую Живую Синхронизирующую Живую Синхронизацию от Microsoft до этого. Необходимо будет создать Windows Live ID для использования этой системы. Это работает на окна и макинтоши.

0
ответ дан 3 December 2019 в 01:13
поделиться

В зависимости от программного обеспечения VM Вы используете, почему Вы не настраиваете 2 различных диска VM, сохраните свой профиль пользователя/dev файлами на одном диске и ОС и других программах, которые редко изменяются на другом.

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

0
ответ дан 3 December 2019 в 01:13
поделиться

Просто установите сервер SVN дома, передайте свой порт маршрутизатора и продолжите Вашу жизнь. rsync является также хорошим, быстрым решением. Просто не забудьте использовать его по SSH.

1
ответ дан 3 December 2019 в 01:13
поделиться

Мы работаем с распределенной командой, таким образом, жизненно важно, чтобы у всех был доступ к репозиторию легкого и безопасного кода. Для этого мы используем SVN по ssl/https. Это работает отлично, надежно и безопасный.

1
ответ дан 3 December 2019 в 01:13
поделиться

Запишите программу, которая будет синхронизировать все Ваши данные через Интернет, и затем shutwodn Ваш компьютер, таким образом, в конце дня Вы запустите его и идете домой, и когда Вы приходите домой, все данные уже там

1
ответ дан 3 December 2019 в 01:13
поделиться

Вот решение, которое я использую.

  1. Настройте VPN между офисной сетью и ноутбуком.
  2. Установите сервер VisualSVN
  3. Загрузите все проекты в SCC.

Когда в офисе я проверяю проект, работу над ним и затем регистрирую его. Когда дома или во всем мире я соединюсь с офисом через VPN, проверю свой проект, делают моя вещь затем регистрируйте его. Через соединение VPN я могу также RDP к своим dev полям и или серверы.

Надеюсь, это поможет. Удачи!

2
ответ дан 3 December 2019 в 01:13
поделиться

Разве кто-либо не рекомендовал rsync? Используйте rsync клиент для отправки разности между файлами. Можно применить эти diffs, таким образом осовременивающие файл. Для самой маленькой передачи файлов это - вероятно, лучшая идея.

5
ответ дан 3 December 2019 в 01:13
поделиться

я использую Dropbox.

3
ответ дан 3 December 2019 в 01:13
поделиться

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

2
ответ дан 3 December 2019 в 01:13
поделиться

Я или подключаю удаленно к офису SVN, или VPN в и удаленный рабочий стол мой dev или настольная машина и продолжаю работать. Очень редко, чтобы я синхронизировал любые файлы, но когда я делаю это обычно с Dropbox (хотя Вы не можете действительно сделать этого с большими файлами).

1
ответ дан 3 December 2019 в 01:13
поделиться

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

3
ответ дан 3 December 2019 в 01:13
поделиться

Используйте программное обеспечение управления версиями как SVN, SourceOffSite, и т.д. Вы просто имеете к регистрации все свои изменения и получаете последние изменения, когда Вы хотите синхронизировать.

Или можно использовать Windows Live Sync-> https://sync.live.com/foldersharetolivesync.aspx

9
ответ дан 3 December 2019 в 01:13
поделиться

У меня была подобная проблема. Но к счастью у нас был сервер управления исходным кодом (TFS), настроенный, таким образом, я использую для работы только от локальных Виртуальных машин, сохраненных на моем внешнем диске и, чем регистрация необходимых файлов к TFS как при необходимости.

0
ответ дан 3 December 2019 в 01:13
поделиться

Dropbox и Microsoft Live Sync - хорошие варианты, о которых уже упоминалось. Мне больше всего нравится Live Mesh , тоже от Microsoft. Одна замечательная функция, которая ставит его над двумя другими, на мой взгляд, - это возможность указывать, какие папки синхронизируются на каких компьютерах и где расположены папки. Так, например, я синхронизирую свою папку Visual Studio 2005 / Projects между моей рабочей машиной и моим домашним устройством для разработчиков, а также синхронизирую Visual Studio 2008 / Projects между моей боковой виртуальной машиной и домашним модулем разработчика.

0
ответ дан 3 December 2019 в 01:13
поделиться

У меня есть macbook со всем моим программным обеспечением для разработчиков; когда я иду на работу, я запускаю его в целевом режиме Firewire и подключаю к своему рабочему macpro с быстрым процессором, подключением к локальной сети, большим монитором и т. д. Таким образом мне никогда не нужно покидать свою папку пользователя, но у меня есть доступ ко всем программное и аппаратное обеспечение, доступное в работе.

0
ответ дан 3 December 2019 в 01:13
поделиться

Почему бы вам просто не использовать контроль версий? DVCS? Найдите здесь учебник по DVCS для пользователей Windows (очень простой) http://codicesoftware.blogspot.com/2010/03/distributed-development-for-windows.html

0
ответ дан 3 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: