Как стать автором
Обновить
65
0
Александр Лурье @aml

Погромист

Отправить сообщение

Работа с WebMoney API

Время на прочтение4 мин
Количество просмотров54K
WebMoney Transfer уже давно является для многих привычным способом расчётов в интернете. Одним из достоинств системы является богатый API для взаимодействия со программным обеспечением сторонних сервисов. Через него можно получать состояния ваших счетов, осуществлять денежные переводы, выставлять клиентам счета на оплату, контролировать их оплату, возвращать платежи без комиссии, работать с платежами с протекцией, получать информацию из аттестатов других пользователей, отправлять сообщения по внутренней почте WM. На сайте WebMoney есть хорошая документация на API.

Вашим покорным слугой написан модуль Business::WebMoney, который распространяется по свободной лицензии и получил статус официального Perl-интерфейса системы.
Читать дальше →
Всего голосов 45: ↑37 и ↓8+29
Комментарии34

Бэкапы через bacula на Amazon S3

Время на прочтение7 мин
Количество просмотров12K
Как известно, все люди делятся на два вида: те, кто ещё не делает бэкапы, и те, кто их уже делает. У тех, кто только начинает делать бэкапы, первым обычно встаёт вопрос о том, каким способом архивировать данные. Простые варианты (вручную нарезать болванки, целиком архивировать каталоги на другие серверы) рассматривать не будем — у них весьма скромные возможности по индексированию и поиску архивных файлов. Вместо этого обратимся к автоматическим системам бэкапов, в частности bacula. Данная статья не рассматривает вопрос, почему bacula. Главные причины — она распространяется под свободной лицензией, доступна для кучи платформ и обладает огромной гибкостью.

Второй вопрос после выбора системы архивации — выбор места, где хранить бэкапы. Bacula позволяет использовать стриммеры, компакт-диски, писать архивы в FIFO-устройства и в обычные файлы. Стриммер удобен на корпоративных серверах, где есть постоянный физический к железу. Хранение архивов в файлах подойдёт, когда объём архивов не превышает объёма жёстких дисков, плюс для надёжности хранения желательно делать RAID-массив с избыточностью, а то и несколько физических серверов для бэкапов, желательно в разных помещениях. Иначе всё это до первого пожара. Нарезать на болванки — это домашний вариант, главный недостаток которого — необходимость регулярного втыкания свежих дисков. Мы же настроили bacula для архивации данных на Amazon S3.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии21

Stackless Python и Concurrence

Время на прочтение8 мин
Количество просмотров14K
Перед тем, как перейти собственно к возможностям Stackless и Concurrence, рассмотрим самый простой способ написать сетевое приложение, обрабатывающее несколько одновременных соединений:

socket()
bind()
listen()
accept()
fork() ->
    read()
    write()
    ...
    close()

Под каждое новое входящее соединение процесс создаёт свою копию через fork(). Это чрезвычайно накладный способ, у которого, к тому же, есть сложности с синхронизацией между процессами. В простом случае они решаются через создание каналов (pipes) между родительским и дочерним процессами и сериализацию данных. В более сложных потребуются примитивы межпроцессной синхронизации. Вспомним ещё про затраты на создание, разрушение и переключение процессов. Это очень ресурсоёмкие операции — как по памяти, так и по вычислительной мощности. Поэтому обработать много одновременных соединений будет весьма сложно.
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии58

Информация

В рейтинге
Не участвует
Откуда
Zürich, Zürich, Швейцария
Дата рождения
Зарегистрирован
Активность