• софт, хард & интERнет

  • Личный опыт укрощения компьютеров

12 апреля 2008

FolderShare и PowerFolder: синхронизация общих файлов

Рубрики: Web-сервисы, Интернет, Программы

До перехода на Linux для синхронизации общих файлов на офисном и домашнем компьютерах я использовал сервис FolderShare. Использовать очень просто - регистрируемся, качаем и устанавливаем клиентскую программу. Затем определяем, какие папки будут общими и где они находятся на каждом из компьютеров. Всё, теперь компьютеры на которых запущены клиенты FolderShare, будут автоматически синхронизировать указанные папки. Друг с другом компьютеры связываются через центральный сервер, поэтому отсутствие реального ip-адреса или наличие файрвола не помеха.
Такой способ переноса документов небольшого размера оказался самым удобным — никаких лишних движений совершать не надо. Поправил дома список дел в ListPro — на работе файл тоже обновился.
Увы, приобретение компанией Microsoft этого сервиса не пошло ему на пользу — анонсированный Linux клиент так и не вышел (а для MacOS есть). Под Wine его также не удалось запустить.
Пришлось искать альтернативу. И альтернатива нашлась, да еще и с более широкими возможностями!
Прошу любить и жаловать — PowerFolder.

Клиент PowerFolder написан на Java, поэтому работает везде, где есть Java 5 — в частности, и под Windows, и под Linux. Клиенты PowerFolder образуют p2p-сеть, что позволяет работать и без центрального сервера. Хотя сервер существует и может использоваться в случае, когда оба компьютера не допускают входящих соединений.
Адреса компьютеров, с которыми необходимо установить соединение, можно указать явно. Также можно ограничить соединения только локальной сетью.
За отдельную плату можно получить место на сервере для резервного копирования данных. Шифрование передаваемых данных и отсутствие ограничений на объем файлов есть только в платной Pro версии. Честно говоря, возможностей Basic мне более чем хватает.

Нет ответов

7 апреля 2008

Ruby: рассуждения о наследовании

Рубрики: Ruby, Разработка, Языки

Конечно, классы в Ruby открыты для расширения. Но порядок интерпретации влияет на результат. Пример:

class A
end
 
class B < A
end
 
class B
   def m
   end
end

Так работает. Но если поменять местами два последних определения, то возникает сообщение об ошибке: superclass mismatch for class B (TypeError), поскольку указать базовый класс можно только при первоначальном определении класса.

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

Программисты, “думающие” на C++/Java часто используют наследование не по назначению. Обсуждая с коллегой вопрос “зачем нужно наследование?” я наткнулся на быстрый ответ: для переиспользования кода. В этом и есть корень зла — при отсутствии нормальных механизмов повторного использования кода в этом качестве начинают использовать наследование. Но в Ruby-то такие механизмы есть. Так зачем наследование?

Похоже, что в Ruby и подобных языках наследование вернулось к своему первоначальному назначению — выразить намерение программиста, что один тип является подтипом другого. Кстати, если вспомнить принцип подстановки Лисков (Liskov substitution principle), то становится понятно, что подтип (subtype) тесно связан с подстановкой (substitution).

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

Ответов: 4

6 апреля 2008

Сборка xneur & kxneur

Рубрики: Linux, ОС, Проблемы, Программы

В конце марта обновился xneur (автоматический переключатель раскладок клавиатуры для Linux, аналог Punto Switcher). И на моем ноутбуке с Kubuntu 7.10 начал падать при старте. Постоянные пользователи Punto Switcher, которым случается садиться за компьютер, на котором эта программа не установлена, меня поймут - ломка страшная, количество ошибок из-за непереключенной раскладки просто зашкаливает.

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

Далее »

Нет ответов





 

23 queries. 4.542 seconds.