Рубрика «синхронизация» - 5

Мне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Читать полностью »

Удивительно, но на Хабре до сих пор никто не посвятил отдельной статьи сервису Cubby. Скромное творение компании LogMeIn совсем потерялось на фоне весеннего «облачного бума», когда свои сервисы для синхронизации файлов в «облаке» почти одновременно запустили Google, Яндекс и Microsoft. А между тем, у Cubby есть несколько интересных особенностей, которые заслуживают внимания.
Читать полностью »

Написать интересную статью на техническую тему очень сложно. Приходится балансировать между тем, чтобы не скатиться в технические дебри и тем, чтобы совсем ничего не сказать. Сегодня я попробую в общих словах (без деталей) поговорить о том, как обстоят дела с разработкой многопоточных desktop-приложений в не столь популярной на сегодняшний день, но наверняка знакомой многим российским разработчикам среде Delphi. Статья ориентирована на НЕ новичков в программировании, являющихся при этом новичками в области создания многопоточных приложений.
Читать полностью »

На днях Яндекс открыл документацию API Яндекс.Диска, и я хочу рассказать о примере программы, созданной на базе этого API.

У Яндекс.Диска есть отдельные клиентские программы для ОС Windows и Mac OS X, которые поддерживают локальную копию файлового хранилища. Это невероятно удобно! Надо отдать должное Дропбоксу, который, кажется, первым предложил именно такой способ использования облачного файлового хранилища.

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

Текущая версия доступна на гитхабе — это примерно 130 строк кода на Перле, а здесь я очень кратко расскажу, как она устроена и работает.

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

Читать полностью »

На днях Яндекс открыл документацию API Яндекс.Диска, и я хочу рассказать о примере программы, созданной на базе этого API.

У Яндекс.Диска есть отдельные клиентские программы для ОС Windows и Mac OS X, которые поддерживают локальную копию файлового хранилища. Это невероятно удобно! Надо отдать должное Дропбоксу, который, кажется, первым предложил именно такой способ использования облачного файлового хранилища.

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

Текущая версия доступна на гитхабе — это примерно 130 строк кода на Перле, а здесь я очень кратко расскажу, как она устроена и работает.

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

Читать полностью »

Синхронизация вКонтакте с адресной книгой для iPhone. Как это делалосьПредыстория приложения — на андроидофонах при установке приложения ВКонтакте есть возможность использовать его как провайдер контактной книги — синхронизировать контакты из соцсети с контактами в адресной книге. При этом тянется аватар, дата рождения, адрес, телефоны и т.д. Когда я после длительного использования HTC Wildfire S оценил и настолько привык к этой возможности, что захотел найти подобное на айфон. Не нашел, поэтому мы взяли и сделали свое — Синхронизатор вКонтакте :)
Читать полностью »

Читая новости о Google Chrome, я каждый раз искренне поражаюсь номеру новой версии. Вроде бы ещё совсем недавно выходила четвёртая, а сейчас уже девятнадцатая.

Так вот, как сообщает Engadget, в бете Google Chrome 19 появилась интересная функция для тех, кто пользуется Хромом на нескольких устройствах. Допустим, в конце рабочего дня вы начали читать большую интересную статью, и, придя домой, хотите её дочитать. Но проблема: ссылки на неё у вас не осталось, и вы никак не можете её найти.

В новом Хроме это решаемо: если вы авторизованы в браузере, то все открытые вами вкладки синхронизируются на всех ваших устройствах. Чтобы увидеть вкладки с других своих устройств, стоит лишь открыть меню «Другие устройства» на странице с новой вкладкой.

В Google Chrome 19 появилась синхронизация открытых вкладок
Читать полностью »

image

Утром 5 марта Яндекс внезапно представил широкой общественности свой новый сервис — Яндекс.Диск. Запись в корпоративном блоге Яндекса обещала 10 гигабайт бесплатного места под хранение файлов, программы-клиенты под Windows и Mac OS X, мобильные приложения для iOS и Android и много-много радости детишкам любого возраста.

При этом запись не содержала ответа на самый главный вопрос — будет ли это просто склад файлов, или полноценный сервис для синхронизации вроде Dropbox. Лучший способ узнать ответ — попробовать самому. И я пошёл пробовать.
Читать полностью »

Веб разработка / RealSync — односторонняя синхронизация исходников в реальном времени для веб разработчиковПредставляю общественности утилиту RealSync (GPL). Ее призвание — облегчить работу тех, кто периодически мучается от лагов сетевой папки Samba при поиске/редактировании файлов веб-проекта. Идея RealSync в том, что вы теперь работаете с файлами сайта на локальной машине в привычной IDE, а результат, как и прежде, смотрите на удаленном разработческом веб-сервере, куда RealSync копирует изменения в реальном времени. В результате вы можете, например, запустить поиск по всем файлам в IDE — они же локальные, а не подключены через сетевую папку по Samba,Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js