Синхронизация шрифтов на нескольких компьютерах
Текст — основная часть контента на большинстве сайтов, и важно грамотно подходить к его отрисовке. В этой статье мы разберём базовые моменты, касающиеся подключения и оптимизации шрифтов.
Сразу стоит отметить, что самый простой вариант — вообще не подключать сторонние шрифты и пользоваться стандартными, которые предустановлены в большинстве операционных систем. Это хорошо знакомые Arial, Times New Roman и так далее — эти шрифты называются веб-безопасными, достаточно просто указать название одного из таких шрифтов в коде, и всё будет работать.
Но чаще всего дизайн макета не позволяет обойтись веб-безопасным шрифтом, а требует использовать какой-то нестандартный. В этом случае при загрузке страницы файл со шрифтом нужно подгружать с сервера по той же схеме, что и остальные ресурсы — CSS-файлы, изображения и так далее. Он может весить довольно много, именно поэтому для быстрой загрузки страницы выгоднее сначала рассмотреть возможность использования стандартных шрифтов. Но даже с нестандартными шрифтами можно избежать большинства проблем, если уделить внимание оптимизации.
Выбираем формат шрифта
Все слышали про TTF и OTF. Но это форматы, которые предоставляются с минимальным сжатием или совсем без него. Их стоит использовать только в том случае, если нужна поддержка очень старых браузеров.
Во всех остальных ситуациях можно выбрать WOFF и WOFF2 — форматы, которые отличаются высокой степенью сжатия. WOFF2 вообще можно считать лучшим из существующих. Тем не менее, поддержка WOFF2 хотя и очень хорошая, но пока не абсолютная, поэтому в качестве подстраховки для не самых современных браузеров стоит использовать WOFF .
Подключение шрифтов с помощью Google Fonts
Есть простой и удобный способ подключить нестандартный шрифт — использовать Google Fonts. Это бесплатный сервис, с помощью которого можно подключать шрифты, но не хранить их на своём сервере. Чтобы им воспользоваться, необходимо выбрать шрифт и добавить одно или несколько нужных начертаний, а затем вставить в ссылку, которую сгенерирует Google Fonts во вкладке Embed.
Этого достаточно, чтобы шрифт подключился. Теперь его можно использовать в свойстве font-family без каких-либо дополнительных действий.
Стоит отметить, что после основного шрифта важно указать веб-безопасный. В случае, если нестандартный шрифт не загрузится, браузер воспользуется альтернативным. Его нужно подобрать максимально похожим на основной шрифт.
Плюсы этого способа — простота использования и всегда актуальные версии шрифтов, Google Fonts их часто обновляет. Но у него есть и минус — запросы к сторонним серверам могут негативно повлиять на скорость загрузки страницы. Если выбираете этот способ, стоит обратить внимание на оптимизацию.
Подключение шрифтов с помощью правила @font-face
Есть альтернативный способ, при котором файлы со шрифтами хранятся вместе с остальными ресурсами сайта. Для них принято заводить отдельную директорию в корне проекта — например, fonts . В неё следует поместить файлы для каждого начертания в нужных форматах — в большинстве случаев, если не требуется поддержка старых браузеров, подойдут .woff и .woff2, о которых мы говорили ранее. Шрифты можно скачать на различных ресурсах. При этом всегда нужно обращать внимание на лицензию — некоторые шрифты могут быть недоступны для коммерческого использования.
После того, как шрифты добавлены в проект, их нужно подключить в CSS-файле. Для этого используется правило @font-face . В самом базовом варианте оно будет включать:
Название шрифта, которое затем нужно использовать, чтобы задать элементам подключённый шрифт.
Адрес файла со шрифтом, который нужно подключить, и его формат. Если адресов несколько, их можно указать через запятую. В этом случае важен порядок — браузер будет последовательно пытаться подключить файлы. Первым должен быть самый подходящий формат, а далее — запасные варианты. Также с помощью функции local можно добавить возможность перед загрузкой шрифта с сервера проверить, установлен ли он на компьютере пользователя. Если да, запроса к серверу за шрифтом не будет — при рендеринге используется локальная версия. Но у этого способа есть минус — шрифт на компьютере пользователя может быть устаревшим, и тогда страница отобразится не совсем так, как было задумано.
Начертания: жирное, курсивное и так далее. Для каждого начертания нужно отдельное правило @font-face .
Базовый вариант правила:
Для улучшения производительности правило @font-face лучше всего прописывать в самом начале CSS-файла. Так браузер сможет раньше начать обработку шрифта.
Оптимизация
Выбор современного формата шрифта, который обладает хорошей степенью сжатия — это только первый шаг к оптимизации. Можно сделать гораздо больше, чтобы увеличить скорость загрузки страницы и сделать пользовательский опыт при взаимодействии с интерфейсом приятнее.
FOIT, FOUT и FOFT
Пока шрифт загружается, при рендеринге можно наблюдать разное поведение текста.
FOIT (Flash of Invisible Text) — с англ. «мелькание невидимого текста». При таком поведении, пока шрифт не загрузится, текст не отображается и появляется только после загрузки шрифта. Значительная проблема — во время загрузки нет доступа к текстовому контенту.
FOUT (Flash of Unstyled Text) — с англ. «мелькание неоформленного текста». Во время загрузки используется шрифт, заданный по умолчанию (системный, например), а после загрузки страница перерисовывается с использованием загрузившегося шрифта. Эта перерисовка довольно заметна и может быть нежелательна.
FOFT (Flash of Faux Text) — с англ. «мелькание синтезированного текста». Это поведение можно наблюдать в промежутке, когда основное начертание уже загрузилось, а дополнительные (жирное, курсивное и так далее) — нет. Браузер имитирует нужное начертание до загрузки настоящей версии. В этом случае страница может перерисовываться несколько раз по мере загрузки начертаний.
В разных браузерах логика рендеринга текста во время загрузки шрифта отличается. Например, Chrome и Firefox в течение трёх секунд не отрисовывают ничего, затем используют веб-безопасный шрифт, а после окончания загрузки текст перерисовывается. IE поступает похоже, но при этом не ждёт три секунды. Подобное поведение в разных браузерах можно унифицировать, используя свойство font‑display .
Свойство font-display
У свойства есть несколько значений, которые определяют поведение текста во время загрузки шрифта:
auto — поведение по умолчанию, зависит от браузера.
block — текст не отображается в течение короткого периода (3 секунды), затем отрисовывается запасной шрифт, если основной ещё не загрузился. Как только загрузка завершается, текст перерисовывается снова.
swap — сразу же отрисовывается запасной шрифт, после загрузки шрифта — повторный рендеринг.
fallback — в течение очень короткого периода (100 миллисекунд) не отображается ничего, затем браузер использует запасной шрифт и ждёт 3 секунды — если шрифт всё ещё не загрузился, остаётся запасной шрифт. Далее не важно, загрузился шрифт или нет, замена не произойдёт. Если шрифт загрузится, то он применится только при обновлении страницы.
optional — текст не отображается в течение 100 миллисекунд, а затем отрисовывается запасным шрифтом. Даже если шрифт загрузится после этого, замена произойдёт только при обновлении страницы.
Оптимальное значение — swap , его можно использовать в большинстве случаев, оно удобно для пользователей. При подключении шрифта с помощью Google Fonts это значение установлено по умолчанию. Если же есть необходимость избежать мелькания текста (например, для вдумчивого чтения), подойдёт optional .
Предзагрузка шрифтов
Ещё один способ оптимизации — предварительная загрузка шрифтов. С её помощью можно изменить обычную приоритизацию загрузки ресурсов, тем самым сказав браузеру, что важно загрузить шрифт в первую очередь.
Стоит учесть, что браузер загрузит шрифт в любом случае — даже если он не используется на странице. И, обладая высоким приоритетом, эта загрузка может блокировать загрузку других ресурсов, поэтому нужно грамотно выбирать, что именно предзагружать. Например, если на странице используются три разных шрифта, стоит предзагрузить только основной шрифт без дополнительных начертаний.
Для того, чтобы предзагрузка сработала, нужно поместить в ссылку на шрифт и задать атрибуту rel значение preload :
Также необходимо добавить тип ресурса, в данном случае — font . Предзагружать можно и другие ресурсы — CSS-файлы, изображения и так далее.
Уменьшение количества глифов шрифта
По умолчанию шрифт может содержать глифы (буквы, символы) разных языков и просто редко используемые. С помощью свойства unicode-range можно установить диапазон нужных символов в системе Unicode, тогда браузер будет подгружать сабсет (подмножество) шрифта только в тот момент, когда на странице появится символ из этого диапазона. Предварительно нужно подготовить файлы шрифтов, разбив их на группы.
Например, можно отдельно подключить латиницу и кириллицу, если на сайте представлены версии на двух языках. И с помощью unicode-range браузер поймёт, какой сабсет нужен для конкретной страницы, и загрузит только его. Такой файл будет иметь меньший вес и ускорит загрузку страницы.
Также можно проанализировать, какие конкретно глифы используются на сайте и создать кастомный сабсет исключительно с ними. Для этого есть специальные инструменты.
Google Fonts по умолчанию использует сабсеты. Это можно увидеть, открыв CSS-файл, который подключается в при использовании сервиса. Для каждого языка есть отдельный сабсет. Пример для латиницы и кириллицы:
В статье разобраны только базовые способы оптимизации шрифтов. Но даже их достаточно, чтобы улучшить пользовательский опыт и значительно уменьшить вес файлов шрифтов, ускорив тем самым загрузку страницы.
Полезности
HTML шорты: посторонние шрифты. Про подключение шрифтов и методы оптимизации.
Статья о font-display. В ней кроме прочего приведена наглядная схема того, как работают все значения свойства.
Исчерпывающее руководство по стратегиям загрузки веб-шрифтов. Подробный разбор плюсов и минусов методов подключения и оптимизации шрифтов.
Subsetting Fonts with Glyphhanger. Статья о том, как использовать инструмент для создания сабсетов.
У меня дома три компьютера, и я хочу синхронизировать дерево папок /home/ между ними.
Любые файлы / папки (кроме скрытых), которые были изменены / добавлены / удалены на одном из трех компьютеров, обновляются на двух других.
Достаточно ли для этого rsync ? и как?
Вот список вещей, которые могут потенциально решить эту проблему, каждый из которых уравновешивает компромиссы, которые вы должны сделать, по-своему, поэтому вам придется самим выбирать и пробовать сами:
Унисон - как уже упоминалось другими, это выполняется вручную, но очень быстро, надежно и эффективно. Требует, чтобы обе синхронизируемые машины были включены одновременно. Он имеет приятный пользовательский интерфейс, позволяющий вам справляться с почти неизбежными конфликтами, а также правильно отслеживает и распространяет удаления. Графическое приложение / пакет называется unison-gtk.
OwnCloud - Облачное хранилище запускается на вашем собственном сервере. Вам понадобится машина, чтобы оставить на. Требуется разумное количество настроек. Запускает полноценный веб-сервер Apache 2 и базу данных SqlLite или MySQL на сервере. Работает аналогично Dropbox с настольным клиентом, но сервер находится под вашим контролем. редактирование: OwnCloud недавно претерпел некоторые изменения в том, как выполняется проект, и теперь имеет новый полностью открытый исходный код (то есть, нет корпоративной версии с закрытым исходным кодом) под видом NextCloud (см. это интервью на YouTube с оригинальным разработчиком OwnCloud Больше подробностей).
SparkleShare - использует git для синхронизации файлов. Согласно домашней странице: хорошо для многих небольших файлов, не подходит для большого количества больших файлов, таких как музыка или коллекция фотографий.
Osync - ". инструмент для двунаправленной синхронизации файлов, написанный на bash и основанный на rsync. Он работает в локальных и / или удаленных каталогах через туннели ssh. Он в основном предназначен для запуска в качестве задачи cron "(текст с сайта)
PowerFolder - основанный на Java проект GPL v2. Основной веб-сайт выдвигает коммерческие предложения, поэтому неясно, как использовать предоставленный файл .jar.
Rsync - быстрая и эффективная, существует уже несколько десятилетий, однако она не сохраняет историю, поэтому вам нужно выбрать направление, чтобы решить, является ли файл новым или удаленным. Доступны графические инструменты, такие как gwRsync.
Lsyncd - отслеживает папки / файлы для запуска репликации rsync
dvcs-autosync - написан на python, использует git для хранения и обмена изменениями между машинами и XMPP для передачи изменений.
Тонидо - бесплатная. Предоставляет настольное приложение, которое будет обмениваться файлами с другими устройствами. Также предоставьте коммерческие облачные предложения и подключаемый компьютер TonidoPlug.
BitTorrent Sync (бесплатная) - синхронизация файлов между равноправными узлами на основе BitTorrent. Я не знаю много об этом, потому что я не буду использовать его, потому что он не является открытым исходным кодом и не доверяет ему хранить мои данные в моей локальной сети, не стесняйтесь редактировать этот ответ с лучшей информацией / реальным опытом.
SyncThing - Разработан как альтернатива BitTorrent Sync с открытым исходным кодом. В настоящее время в нем отсутствуют некоторые расширенные функции BitTorrent Sync, такие как ненадежные одноранговые узлы. Он находится в стадии активной разработки.
Коммерческие хостинговые сервисы, такие как dropbox, ubuntu one, google drive, apple iCloud, быстро дешевы и удобны, однако все они требуют доверия компании со всеми вашими данными и достаточно быстрого интернет-соединения.
Git / Subversion - используйте систему контроля версий напрямую. Полностью ручной и может быть немного сложным, но популярным подходом для некоторых пользователей, знакомых с этими системами, используя их в качестве инструментов программирования.
CloudFS - синхронизировать всю файловую систему, основанную на кластерной технологии
Факторы, которые необходимо учитывать при принятии решения:
Центральный сервер - некоторые решения требуют, чтобы машина была включена постоянно (или, по крайней мере, когда вам нужно синхронизировать), чтобы другие машины синхронизировались с ней. Это может быть одна из ваших существующих машин или отдельная машина, такая как NAS. Следите за увеличением счетов за электроэнергию.
Автоматически / вручную / по расписанию. Лучший способ избежать разрешения конфликтов, когда что-то изменяется не только на машине, - это иметь на каждом компьютере программу, которая отслеживает изменения и сразу же синхронизируется, таким образом, вы уменьшаете возможность появления нескольких версии. С ручными процессами вы всегда должны помнить, чтобы запустить синхронизацию.
Удаленный доступ - хотите ли вы синхронизироваться вне вашей локальной сети (также как дома), подумайте о последствиях для безопасности этого.
Безопасность - делает ваши данные зашифрованными в вашей сети или нет, насколько безопасна передача между компьютерами. Что делать, если кто-то захватывает ваши данные на ходу, и позже обнаруживается, что шифрование имеет недостатки? Кто контролирует сервер, на котором хранятся ваши данные, зашифрованы ли эти данные, можете ли вы доверять третьим сторонам? Нужно ли тыкать в свой роутер, чтобы получить удаленный доступ. Как долго хранятся «удаленные» файлы и связанные метаданные на синхронизированных устройствах и на центральном сервере. Вы синхронизируете между зашифрованным и незашифрованным хранилищем?
Резервные копии - синхронизация не является резервной копией. Удалите важный файл по ошибке, и многие из вышеперечисленного удалят все остальные копии. Я рекомендую прочитать статью Мэта Хонана о том, как ее взломали, чтобы понять, что может произойти, если вы, так сказать, положите все свои цифровые яйца в одну цифровую корзину.
Я рекомендую не синхронизировать всю домашнюю папку, а вместо этого выбирать определенные папки для синхронизации, такие как « Documents/ , « Pictures/ т.д. Это избавит вас от необходимости сталкиваться с проблемами скорости / производительности / дискового пространства при автоматической синхронизации всего. Это также позволяет избежать необходимости вести списки исключений.
Crystal reports на другом компьютере
Написал программку с отчетами Crystal Reports. На копмпьютере где ВС стоит, все замечательно.
Отловить процесс на другом компьютере
Всем привет. Подскажите как проверить работает ли программа на другом компе в сети. Необходимо на.
Как программно открывать порт на одном компьютере и слушать и видеть что он открыт на другом компьютере
Ребят подскажите как программно открывать порт на одном компьютере и слушать и видеть что он открыт.
в wpf я справлялся тем, что вручную задавал каждому окну шрифт отображаемого в нём теста:
сомневаюсь что в WinForms можно сделать так же для каждой формы, но для каждого контрола, содержащего текст - почему бы и нет?
или вы ручками устанавливали в текст-бокс, чтоб он отображал шрифт в формате 1, а он, тем не менее, отображает в формате 2? как то маловероятно.
Spectral-Owl, на примере одной кнопки:
1. Свойства кнопки
2. Как выглядит эта кнопка у меня
3. Как выглядит эта кнопка у преподавателя
И такое же происходит в лейблами и прочими элементами, содержащими текст
ну так же там шрифт и его размер одинаков. размер кнопки разный. Это возможно если программа меняет динамически размер своих элементов при изменении размера окна. Хотя у вас не установлено свойство Dock. В любом случае попробуйте установить свойства MaxSize и MinSize, вдруг поможет.
ещё у контролов-контейнеров (таких как Form или Panel) есть такое свойство, как AutoScaleMode, которым тоже можно поиграться.
MrDark, а как у тебя установлен Autosize у элементов. Если false, то, вероятно, на компе нет требуемого шрифта и его нужно доставлять с проектом. Сделай болванку-проект с твоими элементами, чтобы можно было опробировать у себя.
MVK, AutoSize везде false, AutoScaleMode тоже false на форме(
Spectral-Owl, Размер кнопки разный только из-за скриншота, сами кнопки одинаковые, увеличивается либо размер, либо сам шрифт
Как может не быть требуемого шрифта-не представляю, все-таки Times New Roman(
До этого был Comic Sans, было то же самое
Но на компьютере преподавателя (как домашнем, так и рабочем), наблюдается следующая проблема: текст либо увеличивается в размере, либо изменяется шрифт. В связи с этим часть текста просто не помещается/не отображается.
Скорее всего у вашего преподавателя в настройках windows установлен размер шрифтов, отличный от 100%. При этом все надписи увеличиваются в размерах.
Для решения этой проблемы - либо поставьте AutoScaleMode = Font - в таком случае форма будет автоматически увеличиваться, при изменении масштаба шрифта, либо же ставьте размер контролов больше, с запасом.
В любом случае, вы можете самостоятельно протестировать вид вашего приложения, поставив у себя в настройках windows больший размер шрифта.
Недавно столкнулся со следующей задачей: дома три компьютера и работать случается на каждом из них. При этом захотелось раз и навсегда забыть о необходимости ручной синхронизации файлов между компьютерами. Компьютер на работе также захотелось включить в процесс синхронизации. А заодно решить, как сделать синхронизацию коммуникатора независимой от конкретного компьютера.
Полученное решение описано в виде рецептов.
Синхронизируем закладки
Начну с самого простого. Для синхронизации закладок в Firefox я использую плагин Xmarks (бывший Foxmarks). Пользуюсь им давно и всем доволен. Ставится отсюда.
Синхронизируем коммуникатор
Немного подумав, я понял, что у меня есть потребность только в синхронизации календаря. Остальную информацию достаточно только бэкапить. Поэтому решение получилось очень простым — я начал использовать Google Calendar, на каждый компьютер установил Google Calendar Sync, а на коммуникатор поставил OggSync.
Google Calendar Sync скачивается отсюда.
OggSync скачивается отсюда.
Бонус | На домашних компьютерах я установил Google Calendar Sync не только под своим аккаунтом, но и под аккаунтом жены, и также настроил его на свой календарь. Теперь жена может смотреть мой календарь у себя в аутлуке и добавлять напоминалки для меня. Сразу стало проще синхронизировать наши планы. |
Синхронизируем информацию между компьютерами
А теперь о самом интересном. Итак, мне было необходимо, чтобы на всех моих компьютерах был единый набор рабочих файлов, а синхронизация происходила надежно и с минимальным моим участием. Также требуется, чтобы файлы с рабочего компьютера попадали на домашние компьютеры, но не наоборот — информация личного характера должна оставаться дома.
Вариант с синхронизацией по сети я быстро отбросил — пропускная способность маловата, да и вообще не хочется зависеть от того, подключен ли ноутбук к домашней локалке. Таким образом, остался единственный вариант — использовать внешний накопитель.
Выбираем накопитель
Накопитель должен отвечать следующим требованиям: полностью использовать пропускную способность интерфейса USB 2.0; иметь приличный объем «с запасом»; быть компактным и ударопрочным; быть недорогим.
В результате я выбрал Transcend StoreJet 25 mobile 250gb.
Шифруемся
- как и в случае с флешкой, создать один большой зашифрованный файл. Чтобы это сделать, придется сначала переформатировать накопитель в NTFS;
- создать зашифрованный раздел. Минус в том, что негде будет хранить сам TrueCrypt, придется установить его на каждый синхронизируемый компьютер;
- разбить накопитель на два раздела, на обычный раздел установить TrueCrypt, второй раздел сделать зашифрованным.
Выбираем программу для синхронизации
- корректно поддерживает многонаправленную синхронизацию;
- корректно обрабатывает удаление файлов;
- позволяет иметь несколько конфигов;
- умеет работать из командной строки;
- может работать без инсталляции;
- не была замечена в глюках.
Настраиваем структуру файлов
Тут, конечно, возможно разнообразие вариантов. Я сделал следующим образом.
На каждом домашнем компьютере у меня появилась папка «d:\roaming_home», содержащая в себе папки «apps», «books», «home», «work» и другие. На рабочем компьютере, соответственно, появилась папка «d:\roaming_work».
GoodSync был настроен таким образом, чтобы синхронизировать с накопителем папки «roaming_home» и «roaming_work» при запуске дома и синхронизировать «roaming_work» при запуске на работе.
Ставим софт
Все нужные программы, в первую очередь способные работать без инсталляции и позволяющие задавать расположение настроек, были переустановлены в папку «roaming_home\apps» (например, firefox и, в отдельной папке, профиль для него). Дистрибутивы некоторых программ, не способных работать без инсталляции, были помещены на накопитель, а сами программы — переустановлены на каждом компьютере.
GoodSync запускается с накопителя и не установлен ни на одном из компьютеров. Также дело обстоит и с TrueCrypt, только в отличие от GoodSync он находится на незашифрованной части накопителя.
Особый случай
Один из моих домашних компьютеров — планшетный нетбук, на котором я не собираюсь заниматься программированием. Кроме этого, на нем нет диска «d:». Для него я создал отдельный конфиг GoodSync, который ссылается на «c:\roaming_home», и добавил в исключения папку «roaming_home\apps\dev». Чтобы нормально работали остальные программы из «apps», диск «d:» «создается» добавленным в автозапуск батником вида:
subst d: c:\
Последние штрихи
Остается написать несколько батников. Во-первых это autostart.bat и unmount.bat, которые будут монтировать и размонтировать диск TrueCrypt. Кроме монтирования диска TrueCrypt, я добавил в autostart.bat открытие окна проводника на корневом каталоге накопителя — лежащие в этом каталоге батники будут играть роль меню.
Заходим в Computer Management->Disk Management и присваиваем накопителю букву диска «v:». В параметрах запуска TrueCrypt присваиваем зашифрованному диску букву «w:».
Исправляем autorun.inf, который сгенерировал TrueCrypt. Поскольку на многих компьютерах Autorun выключен, пишем еще два батника mount.bat и dismount.bat вида:
v:
cd v:\
call v:\autorun.bat
Эти батники кладем на рабочий стол и куда-нибудь в незашифрованную часть накопителя, чтобы были под рукой.
Пишем батники для запуска GoodSync. У меня их четыре штуки: «синхронизация дома», «синхронизация дома с нетбуком», «синхронизация на работе», «запуск GoodSync без автоматического старта синхронизации». Эти батники имеют следующий вид:
w:
cd W:\roaming-home\apps\tools\GoodSync
call goodsync.bat /miniwin sync TranscendSync-Work
Настройки для GoodSync лежат в его же каталоге, а батник для его запуска выглядит примерно так:
start GoodSync.exe /profile=data /lf=logs /check-new-ver=no /cleanup-logs=yes %*
Бонус | Благодаря установке большей части необходимых программ на накопитель, я теперь могу работать вообще на любом подходящем компьютере, не тратя время на перенос данных и настройку среды. Достаточно подключить диск и запустить синхронизацию. |
Подводим итог
- Подключил накопитель к компьютеру.
- Вызвал mount.bat с рабочего стола (или дождался срабатывания Autorun).
- Ввел пароль TrueCrypt.
- Вызвал нужный батник для синхронизации (синхронизация занимает несколько минут).
- Проверил результаты работы GoodSync.
- Поработал. Закрыл все синхронизируемые программы.
- Вызвал нужный батник для синхронизации.
- Вызвал unmount.bat.
- Закрыл окно проводника с диском v:\.
- Безопасно отключил диск и отсоединил его от компьютера.
В качестве альтернативы можно попробовать работать прямо с переносного накопителя, тогда можно будет не ждать, пока пройдет синхронизация. Или опробовать «срединный» вариант, при котором синхронизируются только те данные, для которых важна скорость обращения. С другой стороны, я часто работаю, не подключая накопитель к компьютеру. GoodSync правильно выполняет многонаправленную синхронизацию, а его интерфейс позволяет достаточно удобно обрабатывать конфликтующие изменения.
Ранее мы показывали разные способы синхронизации криптодиска между ПК и Android-устройством. Так, в прошлой статье «Дельта-синхронизация крипто-дисков» было показано, как реализовать дельта-синхронизацию криптодиска между компьютером и смартфоном.
Напомним вкратце, о чем шла речь в прошлой главе. Мы взяли файл криптодиска, поместили его в облако и установили на все устройства, где необходима работа с этим криптодиском, клиенты облачного хранилища. «Изюминка» в том, что мы использовали только те «облака», которые поддерживают дельта-синхронизацию. При дельта-синхронизации между устройствами копируется не весь измененный файл сразу, а только изменившиеся его части, что позволяет экономить трафик и время.
Синхронизация без облака
В этой статье мы рассмотрим более удобный способ синхронизации криптодиска. У предыдущего способа было три недостатка. Первый недостаток — это привязка к определенному облачному хранилищу. Дело в том, что дельта-синхронизацию поддерживают только Яндекс.Диск и Dropbox. Следовательно, вы привязаны только к этим «облакам» и не можете использовать тот же Google Диск или MEGA (где можно получить «нашару» сразу 50 Гб).
А второй недостаток вытекает из первого. Яндекс.Диск предоставляет бесплатно 10 Гб дискового пространства, а Dropbox — всего 2 Гб. Да, можно пригласить несколько друзей, поучаствовать в различных акциях и тогда размер дискового пространства будет увеличен. Проблема только в том, что человек — существо ленивое, да и хочет, к тому же, все и сразу. Поэтому Dropbox отпадает сразу, остается только одно «облако» — Яндекс.Диск. Казалось бы, 10 Гб — это вполне достаточно. Но так кажется только сразу. Как показывает практика, 15 Гб пространства на Google Диск заканчиваются очень быстро, а тут всего 10 Гб.
Третий недостаток заключается в том, что ваши файлы, пусть и внутри криптодиска, хранятся на серверах третьей стороны. С точки зрения безопасности это не совсем хорошо.
Поэтому в данной главе будет показан способ синхронизации криптодиска без привязки к облаку. В итоге у нас не будет привязки к облачному хранилищу, не будет ограничения на дисковое пространство. Зато у нас останется дельта-синхронизация криптодиска. Также будет выше безопасность, поскольку наши данные будут храниться только на наших устройствах.
Принцип синхронизации
Рис. 1. Установка BitTorrent Sync
Принцип синхронизации очень прост — он такой же, как у обычного торрент-клиента. Лозунг Sync звучит так: «Device to device. Skip the cloud». Он полностью описывает суть синхронизации с помощью Sync.
По сути, между всеми вашими устройствами (в нашем случае между ноутбуком и смартфоном) будет создана торрент-сеть, вот только в качестве пиров будут выступать только ваши устройства.
Создание криптодиска
Рис. 2. Создание сейфа
После создания сейфа его нужно смонтировать. Выберите его в разделе Виртуальный сейф, нажмите кнопку Монтировать. В появившемся окне введите пароль сейфа, указанный при его создании, и выберите букву диска. На рис. 3 показано, что созданный нами сейф был смонтирован как диск H.
Рис. 3. Созданный сейф смонтирован
Далее откройте Проводник или любой другой файловый менеджер и скопируйте все нужные файлы в сейф (рис. 4). Вернитесь в программу CyberSafe Disc и нажмите кнопку Демонтировать, чтобы размонтировать диск H и приступить к настройке синхронизации.
Рис. 4. Файлы скопированы
Настройка синхронизации на компьютере
При первом запуске Sync вам будет предложено установить имя, которое будет отображаться при отправке и получении папок — это имя увидят на других устройствах. Имя устанавливается один раз и вы больше не сможете его изменить (рис. 5).
Рис. 5. Выбор имени пира
Рис. 6. Закройте уведомление
Рис. 7. Установлены права доступа к папке
Рис. 8. Отправка письма со ссылкой
Можно также скопировать в буфер обмена и передать удобным образом (например, через Skype) специальный код для доступа к папке. Обратите внимание: код отличается для разных прав доступа (рис. 9).
Рис. 9. Код для доступа к папке
Но если вы (как и предполагается в нашем сценарии) планируете синхронизацию между своими устройствами, то проще всего использовать QR-код (рис. 10). Позже будет показано, как настроить синхронизацию на смартфоне с помощью QR-кода.
Рис. 10. QR-код доступа к папке
В папку синхронизации можно поместить другие криптодиски, созданные ранее, что и показано на рис. 11. Напоминаем, что даже бесплатная версия приложения не ограничивает ни размер файлов, ни количество папок синхронизации.
Рис. 11. Содержимое папки синхронизации
Настройка синхронизации на смартфоне
При первом запуске вам будет предложено (как и в случае с Windows-версией) установить имя пира. Имя пира изменить больше не получится, поэтому подойдите к его выбору со всей тщательностью (рис. 12).
Рис. 12. Выбираем имя пира на смарте
Далее приложение предложит добавить папку синхронизации, нажав кнопку +. Делать этого не нужно, поскольку папка будет добавлена автоматически при добавлении пира (вашего компьютера).
Для добавления пира откройте боковое меню и выберите команду Мои устройства (рис. 13). Вы увидите название вашего пира (рис. 14).
Рис. 13. Боковое меню | Рис. 14 Список ваших устройств |
Рис. 15. Привязка устройства | Рис. 16. Список папок синхронизации |
После этого папка синхронизации появится в разделе Папки программы (рис. 16). Позже вы узнаете, как удалять папки и управлять синхронизацией.
Содержимое папки синхронизации приведено на рис. 17. Обратите внимание: файлы 1.dvf и 5.dvf синхронизированы — напротив них есть галка. Файл 2.dvf еще не синхронизирован.
По умолчанию в мобильной версии приложения включена выборочная синхронизация. Это означает, что нужно вручную указать, какие файлы нужно синхронизировать. В настольной версии данная функция доступна лишь в Pro-версии (она платная). На настольном компьютере выборочная синхронизация не так уж и важна — обычно такой компьютер подключен к быстрому Интернет-соединению. А вот для мобильной версии она очень важна — вы можете синхронизировать только те файлы, которые вам нужны, а не все подряд. Далее будет показано, как управлять синхронизацией, а пока просто выделите файл и из меню приложения выберите команду Синхр. (рис. 18).
Рис. 17. Содержимое папки синхронизации | Рис. 18. Запуск синхронизации определенного файла |
Далее нужно согласиться с синхронизацией файла (приложение также отображает его размер, см. рис. 19) и дождаться окончания синхронизации (рис. 20).
Рис. 19. Синхронизировать файл? | Рис. 20. Процесс синхронизации |
Работа с криптодиском на смартфоне
Теперь разберемся, как открыть загруженные с компьютера криптодиски. Запустите приложение CyberSafe Mobile и нажмите кнопку добавления криптодиска. Перейдите в папку /storage/sdcard0/Download/BitTorrent Sync/ (этот путь можно изменить в настройках программы), выберите криптодиск и нажмите кнопку Выбрать (рис. 21).
Рис. 21. Выбор криптодиска | Рис. 22. Операции над сейфами | Рис. 23. Просмотр содержимого нашего криптодиска |
Далее все просто — выбираем команду Открыть, вводим пароль и просматриваем содержимое криптодиска (рис. 22, 23).
Управление синхронизацией
- Пауза — приостанавливает синхронизацию.
- Отключить — отключает синхронизацию. Папка не будет синхронизироваться с другими устройствами, но все ее содержимое будет сохранено.
- Очистить — удаляет папку и ее содержимое.
Переключатель Выборочная синхр. включает/выключает выборочную синхронизацию. Напомним, что выборочная синхронизация хоть и требует указывать вручную, какие файлы нужно синхронизировать, но она позволяет экономить трафик. Если выборочная синхронизация выключена, будут синхронизироваться все файлы подряд.
В нижней части окна приводятся сведения — пиры, права доступа, размер папок и объем синхронизированных файлов.
В настольной версии управление синхронизацией осуществляется с помощью контекстного меню папки (рис. 25). Названия команд вполне понятны и не требуют каких-либо пояснений.
Рис. 25. Управление синхронизацией в настольной версии
Читайте также: