Как стать автором
Обновить
17
0
Алексей @optio

современный веб

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

OCR и нейронная сеть на Javascript

Время на прочтение1 мин
Количество просмотров7.3K
Некий Shaun Friedle написал любопытный javascript который автоматизирует распознавание captcha на megaupload.

Пара любопытных особенностей скрипта:
  1. используется HTML 5 функция javascript getImageData для работы с пикселями;
  2. используется искусственная нейронная сеть для распознавания и работает довольно точно.

Пример работы: herecomethelizards.co.uk/mu_captcha
Исходник: userscripts.org/scripts/review/38736
Всего голосов 74: ↑74 и ↓0+74
Комментарии50

Отладка в Django

Время на прочтение4 мин
Количество просмотров28K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.
Всего голосов 54: ↑53 и ↓1+52
Комментарии32

Типы HTTP-запросов и философия REST

Время на прочтение4 мин
Количество просмотров942K
Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
Читать дальше →
Всего голосов 84: ↑78 и ↓6+72
Комментарии111

Функциональное программирование для землян — функции

Время на прочтение5 мин
Количество просмотров9.1K


В статье про Python пользователь Xronos попросил рассказать о функциональном программировании (ФП). Поскольку я одно время довольно плотно занимался с Lisp, я хотел бы немножко рассказать об этом. Сразу хочу сказать, что о чистом ФП речь не идет. Я расскажу о более простых и более применимых приемах на примере языка Python.

Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии26

Adobe откроет RTMP

Время на прочтение1 мин
Количество просмотров4.9K
Adobe объявила о планах открыть в I пол. 2009 года спецификации протокола Real-Time Messaging Protocol (RTMP), который используется в веб-разработке (например, см. подробное руководство на Хабре по организации сервера вещаний).

Несмотря на своё изначальное предназначение, иногда RTMP используют не только для видеовещания. Например, на нём работает система Adobe LiveCycle Data Services ES. По мнению некоторых специалистов, после открытия RTMP он может сильно потеснить с рынка свободный протокол Comet.

Спецификации RTMP будут выложены здесь.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Экстренная реанимация epmd

Время на прочтение3 мин
Количество просмотров9K
(Проблема, по всей видимости, чрезвычайно экзотическая, но в плане «как оно внутри устроено» достаточно познавательная.)

Вот, допустим, работает у вас приложение, написанное на Эрланге (ну, скажем, тот же ejabberd). Давно работает, хорошо работает, но в один прекрасный день вы пытаетесь запустить управляющий скрипт (ejabberdctl, соответственно), а он вам выдает «nodedown» или еще что-нибудь страшное в этом духе, мол, не отзывается никто. При этом само приложение прекрасно отзывается на все клиентские запросы и слыхом не слыхивало о том, что оно down. По внезапному наитию вы запускаете epmd -names и — о, ужас! — получаете пустой список.

Программы на Эрланге используют для связи между собой нотацию node@host, физически же каждый узел (читай — системный процесс) открывает для этого случайный высокий порт. Задача сервиса epmd — связать между собой логическую адресацию по имени и физическую адресацию по номеру порта. Своего рода аналог DNS, с той разницей, что без реестра epmd кластер на Эрланге разваливается на кучку отдельных глухонемых узлов — что у нас только что по какой-то загадочной причине и произошло. Можно, конечно, начать искать виновных, но сначала все-таки неплохо бы поднять систему на место.

Что в такой ситуации делать? Можно, конечно, просто насильно перезапустить приложение, но, с одной стороны, клиенты отвалятся, с другой, такой красивый uptime жалко… Вот если б можно было как-нибудь восстановить реестр на живой системе, а?..

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии12

Управление потоком в CSS: создаём контекст форматирования

Время на прочтение4 мин
Количество просмотров5.2K
Управлять потоком можно не только свойствами clear или overflow. Возможно, вы найдёте полезным для себя использование display:inline-block или display:table-cell, способных полностью заменить вам упомянутый overflow, избавляя вас от опасности указания размеров элемента, а также предоставляя дополнительные возможности.

Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии34

Защита флэшки от Autorun-вирусов.

Время на прочтение3 мин
Количество просмотров64K


     Доброго времени суток, уважаемый хабра–читатель. Я работаю в университете, в лаборатории вычислительной техники. Администрируем около сотни компьютеров. Перед нами встала проблема защиты от Autorun–вирусов на флэшках. Естественно у нас отключен автозапуск в Windows, однако нужно было защитить сами флэшки, чтобы работник дома, вставив рабочую флэшку, не заразил свой компьютер. Под катом решение проблемы.
Итак, примемся за дело...
Всего голосов 92: ↑74 и ↓18+56
Комментарии278

Jabber ID в собственном домене — просто

Время на прочтение3 мин
Количество просмотров11K
За последнее время протокол XMPP (Jabber) стал очень популярен. Это open-source альтернатива ICQ и прочих IM и на мой взгляд очень неплохая. Зарегистрировавшись на популярном российском Jabber-сервере jabber.ru я подумал, а почему бы мне не сделать свой личный jabber-сервер в собственном домене. Ведь это очень удобно и просто.

Во-первых, JID можно сделать таким же как и электронный ящик. Во-вторых, Вы не зависите от каких-то сторонних компаний, сервера которых могут не держать нагрузку и падать, как сейчас очень часто случается с серверами ICQ. А в-третьих, Вы можете сконфигурировать свой сервер именно так, как это нужно Вам.

Итак, что же нам для этого нужно:

  1. Сервер или компьютер подключенный к сети. Годится практически любой компьютер, даже какой-нибудь старенький двупень. Главное, чтобы он был подключен к интернету и имел свой постоянный IP.
  2. Скачать Jabber-сервер (обзор будет чуть ниже);
  3. Настроить его и отправить приглашения своим друзьям и знакомым ;)
  4. Доменное имя, которое смотрит на Ваш сервер.
Читать дальше →
Всего голосов 132: ↑108 и ↓24+84
Комментарии113

ejabberd: внешние программы аутентификации

Время на прочтение2 мин
Количество просмотров4.9K
В заметке ejabberd с авторизацией через LDAP я описал основные моменты по настройке сервера ejabberd и подключения его к LDAP. К сожалению возможностей стандартного модуля LDAP-аутентификации нам не хватило. Однако ejabberd позволяет использовать внешние, в том числе собственные, программы для этой цели.
Читать дальше →
Всего голосов 45: ↑30 и ↓15+15
Комментарии3

ejabberd: Поиск по визитным карточкам

Время на прочтение2 мин
Количество просмотров6.3K
В заметке ejabberd с авторизацией через LDAP я описал основные моменты по настройке сервера ejabberd. В заметке внешние программы аутентификации показал как можно использовать внешнюю программу, если не хватает функционала встроенных модулей. Теперь добавим поиск по визитным карточкам пользователей.
Читать дальше →
Всего голосов 38: ↑25 и ↓13+12
Комментарии4

ejabberd: общие списки

Время на прочтение2 мин
Количество просмотров16K
image
Предыдущие заметки про настройку ejabberd 1, 2 и 3.

ejabberd позволяет создать заранее подготовленные списки контактов, доступные определённым группам пользователей. Так как наш сервер настраивается под корпоративные нужды, это было бы кстати. Приходит новый человек, подключается к серверу, а у него в списке контактов уже есть все, кто ему может понадобиться, да ещё и по отделам сгруппированные.
Как сделать такие списки...
Всего голосов 45: ↑37 и ↓8+29
Комментарии19

ejabberd с авторизацией через LDAP

Время на прочтение6 мин
Количество просмотров29K
Я достаточно давно и без сожалений расстался с ICQ. Воспользовавшись возможностью, поднял свой собственный Jabber-сервер, которым с успехом и пользуюсь по сей день. Однако не у всех моих сотрудников есть Jabber-аккаунт (не все даже знают, что это такое :-), что несколько затрудняет общение по работе. Для общения с остальными, для организации безопасной и независимой системы обмена сообщениями, я решил поднять корпоративный jabber-сервер. А так как у нас активно используется LDAP, то логичным показалось задействовать его для аутентификации пользователей и управления учётными записями.
Читать дальше →
Всего голосов 47: ↑34 и ↓13+21
Комментарии44

Информация

В рейтинге
Не участвует
Откуда
Томская обл., Россия
Дата рождения
Зарегистрирован
Активность