Хабрахабр:
Предположим, две программы общаются друг с другом по сети, но не изволят дожидаться ответа, поэтому ответы приходят в произвольном порядке. Чтобы разобраться, что к чему, с сообщением посылается номер, а в ответе шлется номер исходного (на которое отвечаем) сообщения и номер ответа для последующей коммуникации. Нашей целью является описать последовательность приёма и отправок сообщений при общении с некоторым собеседником, а также иметь возможность использовать ввод/вывод (например, обращение к базе) между приёмами и отправками сообщений. Как бы в коде на вашем предпочитаемом языке выглядел, например, такой диалог, с учётом того, что в любой момент (между любыми из этих пунктов) могут прийти какие-то другие запросы, которые тоже надо обработать, но не впутать случайно в этот диалог: 1. Посылаем число 2. Приходит число в ответ 3. Посылаем число из п.2 в квадрате 4. В ответ опять число 5. Выводим на консоль сумму чисел п.2 и п.4 Вот как это будет выглядеть на Haskell (функция example, разумеется, неблокирующая): example :: Int -> AIO () example v = do x <- request v y <- request (x * x) io $ print (x + y) Сравните это с блокирующей похожей функцией, которая, к примеру, запрашивает ответ у пользователя: example :: Int -> IO () example v = do x <- request v y <- request (x * x) print (x + y) Расковырять монаду!
Компания Positive Technologies проводит уникальное мероприятие ? международную конференцию Positive Hack Day(s), которая посвящена практическим вопросам безопасности и предоставляет собой площадку для обмена мнениями, получения новых знаний, обретения контактов и практических навыков. Мероприятие проходит 19 мая в Культурно-развлекательном центре Молодая Гвардия г. Москва. Во время проведения мероприятия будет организовано online-вещание. Сайт мероприятия: http://phdays.ru/ Тематика конференции сформирована с акцентом на практические моменты актуальных вопросов информационной безопасности. Основными темами конференции являются: безопасность веб-приложений, защита облачных вычислений и виртуальной инфраструктуры, противодействие 0-day атакам, расследование инцидентов, защита от DDoS, противодействие мошенничеству, безопасность АСУ ТП (SCADA), защита бизнес-приложений и ERP. В рамках конференции пройдут следующие мероприятия: Деловая программа, которая включает в себя доклады ведущих отечественных и зарубежных экспертов отрасли. Круглые столы, дающие возможность в компании коллег-профессионалов обсудить сложные, а подчас и щекотливые моменты информационной безопасности. Мастер-классы, проводимые экспертами-практиками, дающие возможность получить практический опыт в решении сложных задач защиты информации, таких как поиск уязвимостей, анализ последствий взлома, анализ средств для проведения атак. Конкурсы по взлому, в рамках которых каждый получит возможность попробовать свои силы во взломе iPhone, мобильных телефонов, браузеров и средств защиты. Соревнования PHD CTF 2011 ? открытые командные соревнования по защите информации, проводимые по правилам Capture The Flag, в рамках которых команды в течение 8 часов будет защищать свои сети и атаковать сети противников. Читать дальше →
Современные технологии проникли уже почти во все сферы нашей жизни. Люди используют их для облегчения какой-либо своей деятельности, ускорения процессов взаимодействия, как необходимость, данность или приятное дополнение. Естественно, развиваются и сами технологии, среди которых ? технологии взаимодействия с пользователем, которые позволяют работать с приложениями не только посредством привычных уже манипуляторов (мышки, клавиатуры и т. д.), а с привлечением веб-камеры, микрофона и др. Технология расширенной реальности используется для того, чтобы дополнять данные, полученные от пользователя (изображение с камеры), данными, полученными в ходе внутренних вычислений. Казалось бы, при чем здесь оригами? Читать дальше →
Продолжаем описание классификатора порнографического видеоконтента, разработанного компанией Inventos (Licenzero, присутствующее в заголовке это не отдельная компания, а подразделение в компании Инвентос). Детектор цвета кожи является одним из детекторов, при помощи которых мы классифицируем видео. Он не такой сложный, как детектор движения, или детектор фрагментов, можно даже сказать совсем простой. Вначале у нас была куча идей, связанных с цветом кожи в видео. Но попробовав самый простой подход к классификации, мы решили (возможно временно) на нем остановиться, поскольку полученные результаты нас вполне устроили. Итак. Читать дальше →
Привет, Хабр! А давайте поговорим об откатах в ИТ-сфере. Никто не спорит, что откаты, взятки, кумовство и прочие проявления коррупции ? ужасные факты современной действительности. Предприниматели называют коррупцию одним из главных препятствий в развитии бизнеса. Взяточников все осуждают. И есть за что (хотя лучше, чтобы их не осуждали, а судили и сажали). Но у коррупции, как и у супружеской измены, две стороны. Если кто-то берет ? то кто-то дает. Раз уж заказчик (государственный или коммерческий) не чист на руку, то так же не чист на руку и поставщик (тот самый представитель бизнеса). Но разве кто из представителей бизнеса скажет об этом в открытую? У нас есть портал для руководителей ИТ-компаний малого бизнеса. Того самого малого бизнеса, для которого коррупция ? одно из главных препятствий в развитии. В сообществе около 1500 участников из разных регионов СНГ, поэтому выборку можно считать представительной (в рамках ИТ-отрасли). Так вот, мы провели анонимный опрос (для пущей анонимности ? использовали формы Google Docs) участников, в котором просили честно изложить свой подход к ведению бизнеса в разрезе этого вопроса. Ниже предлагаю посмотреть на результаты. Читать дальше →
Отписаться от этой рассылки