0

В фильме «21» режисёра Robert Luketic упоминается задача теории вероятности:

Представьте, что вы стали участником игры, в которой вам нужно выбрать одну из трех дверей. За одной из дверей находится автомобиль, за двумя другими дверями — козы. Вы выбираете одну из дверей, например, номер 1, после этого ведущий, который знает, где находится автомобиль, а где — козы, открывает одну из оставшихся дверей, например, номер 3, за которой находится коза. После этого он спрашивает вас, не желаете ли вы изменить свой выбор и выбрать дверь номер 2. Увеличатся ли ваши шансы выиграть автомобиль, если вы примете предложение ведущего и измените свой выбор ?

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

Парадокс Монти Холла — одна из известных задач теории вероятностей, решение которой, на первый взгляд, противоречит здравому смыслу. Задача формулируется как описание гипотетической игры, основанной на американском телешоу «Let’s Make a Deal», и названа в честь ведущего этой передачи. Варианты решения и ключи к пониманию достаточно подробно описаны в Википедии.

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

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
0

В очередном продолжении рассказов про построения web-сервисов, хочу рассмотреть вопросы безопасности и аутентификации общения soap-клиента и soap-сервера.

Пусть условия таковы:

  1. сервер и клиент общаются друг с другом через публичный интернет, который наполнен снифферами;
  2. сервер имеет статический ip-адрес, а клиент находится за nat-ом;
  3. вместе с клиентом за тем же nat-ом находятся опасные соседи, которые могут и хотят получить к чему-нибудь не авторизованный доступ;
  4. и пусть клиента за этим nat-ом два: у них разное по функциональности ПО, с разными возможностями по построению soap-клиентов;
  5. ну а мы, естественно, обмениваемся супер секретными данными. :)

И так, как было рассмотрено в предыдущих постах, собираем soap-сервер на apache2:

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
0

В продолжении к предыдущему посту, хочу привести простой пример SOAP-сервера, который реализован только на python'е:

#!/usr/bin/env python
#
### soapagent_standalone_server.py ###
#
from ZSI import dispatch

import soapagent_services as ss

def main():
     dispatch.AsServer(port=8080, modules=(ss,))
if __name__ == "__main__":  main()

Который включает модуль soapagent_services.py и начинает диспетчеризацию реализованных там обработчиков. Т.е. по сути, это замена apache+mod_python.

Еще раз кратко шаг за шагом, как запустить такой сервер:

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Поднимаем XML веб-сервис на Пайтоне
1. Python:

В системе должен быть установлен python, версии не ниже 2.3

2. Устанавливаем apache ( httpd-2.2.8 ):

$ ./configure  --prefix=/usr/local/apache2-soap \
--with-mpm=prefork \
--enable-so \
--enable-mods-shared="actions alias asis auth rewrite ssl" \
--disable-userdir \
--disable-cgi \
--disable-include \
--disable-autoindex
$ make
$ make install

Здесь, в общем-то, обычная установка apache. И если у вас уже есть apache, можно использовать его. Здесь я попытался собрать «лёгкий» апач, с минимумом модулей. Использовать можно как apache 1.3, так и apache 2.0 или 2.2

3. Устанавливаем mod_python ( mod_python-3.3.1 )

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
0

В далеком Августе 2007 года Brad Fitzpatrick написал свою первую программу на Пайтоне.

Когда-то прочитал я эту «новость», порадовался и забыл. А сегодня вспомнил – mailman стал тормозить, жрать CPU и память. А именно процесс: IncomingRunner

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
0

Есть такой менеджер списков рассылки: Mailman.

Все хорошо, две неприятности:
1. Проблемы с декодированием символа «@» в «( at )» при кривой кодировке письма.
2. Не совсем верно работает ключ «-s» для mailmanctl.

Подробности и решения:

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

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong