Pull to refresh
1
0
Андреев Александр Николаевич @Carzil

Пользователь

Send message

Сила и красота декораторов

Reading time5 min
Views83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.

Читать дальше →
Total votes 98: ↑97 and ↓1+96
Comments30

Безопасный DNS в облаках

Reading time3 min
Views30K

Привет, Хабр!


Позволь рассказать о проекте SkyDNS, который призван повысить безопасность и продуктивность работы в Интернет, защищая хабралюдей от опасных сайтов и нехороших личностей.



Под катом — описание сервиса и некоторые интересные цифры. Дискуссия в комментариях приветствуется!
Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments59

Suggest.io. Понимать с первой буквы!

Reading time3 min
Views1K
image Представьте, что вам срочно надо найти информацию на определенном сайте и вы точно знаете, что она там есть, только не знаете где. Зайдя на сайт, вы долго жмете на разные ссылки, перескакиваете с одной вкладки на другую; понимаете, что теряете время и наконец видите заветный «поиск». «Вот он мне сейчас и поможет», — думаете вы и начинаете набирать ваш запрос. Результат оказывается как и прежде нулевым. То ли набрали с ошибкой, то ли не так надо сформулировать запрос — непонятно. Знакомо?
Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments40

Снежки с мультиплеером на HTML5

Reading time1 min
Views1.9K


Французская веб-студия Revolver3 создала мультиплеерную игру на HTML5 с использованием серверной технологии NodeJS и Websockets

Играть (нужен ФБ акк)
Мышью ходить, пробел — кидать, любая буква — чат
Читать дальше →
Total votes 87: ↑74 and ↓13+61
Comments48

Векторные иконки на HTML5 + JS

Reading time1 min
Views10K


На первый взгляд это обычные одноцветные иконки, но если призумить — их качество не ухудшится. Очевидный профит таких иконок: с ними можно свободно экспериментировать и не переживать за высоту и ширину, компактный вид, а не куча файлов в папке icons, ну и наверное маленький размер, хотя с этим поспорить можно. Есть некоторые ограничители в цвете, возможен один цвет либо градиент (но думаю с конвертером нарисованного вектора в js код, возможно и больше цветов)

Смотреть иконки

Если вы хотите использовать эти иконки или создавать свои на подобной основе, кликайте по иконке — внизу появится код выбранной иконки, он вставляется в:

paper.path(<код иконки>).attr({fill: "#000", stroke: "none"});

Поддержку иконок на себя берет Raphaël JS Lib

Источник
Total votes 88: ↑85 and ↓3+82
Comments45

Легко и непринуждённо: почта и Jabber для пользователей вашего сайта

Reading time12 min
Views14K
Допустим, вы развиваете какой-нибудь сайт в интернете. У вас есть постоянные пользователи, кто-то заходит к вам от случая к случаю. И вы конечно же ищете способы удержания аудитории на вашем сайте, придумывая всякие оригинальные функции и оттачивая до блеска интерфейс. Почему бы тогда не использовать имя вашего сайта в качестве экспортной монеты? Можно ведь предоставить вашим пользователям в качестве дополнительного бонуса почтовый адрес и соответствующий адрес Jabber в вашем домене.

Конечно, я не предлагаю становится очередным провайдером почты. Это глупо, когда есть такие игроки, как gmail.com и yandex.ru. Кроме того, вы естественно можете использоваться услуги вышеупомянутых Google и Yandex для подключения своего домена к их сервисам. Но тогда вы не получите никакой интеграции с вашей базой пользователей и никакого контроля над доступной функциональностью.

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

Подробнее...
Total votes 114: ↑102 and ↓12+90
Comments66

Были получены исходники 3300 глобальных интернет-проектов

Reading time5 min
Views274K
Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
Читать дальше →
Total votes 1226: ↑1190 and ↓36+1154
Comments909

Каптча 3d

Reading time7 min
Views6.2K
Прочитав топик «RapidShare — новые каптчи», я вспомнил как слушал доклад создателя каптчи на UaВебе.



Зайдя на сайт, желая посмотреть код, я увидел:
Q: Is it opensource?
A: No, sorry. Maybe later.

Я удивился! Мне казалось что любой маломальски образованный хороший программист сделает такую каптчу.
Погуглив и нашел пару интересных линков: 1, 2 и не получил кода, решил написать сам.
Читать дальше →
Total votes 158: ↑145 and ↓13+132
Comments102

Поиск лиц на основе скрытых марковских моделей

Reading time7 min
Views12K
На данный момент происходит лавинообразное увеличение числа мультимедиа-ресурсов, в частности ­ изображений. Как следствие, возрастают требования к средствам систематизации и поиска подобных ресурсов. Большинство существующих на данный момент систем,
осуществляющих поиск информации по описанию (англ. Description-Based Image Retrieval, DBIR), уже не могут в полной мере удовлетворить потребности человека. Поэтому все больше растет интерес к поиску объектов по содержанию (англ. Content-Based Image Retrieval, CBIR).

Следует отметить, что во многих сферах деятельности пользователю приходится сталкиваться с изображениями человеческих лиц: начиная от стремительно развивающихся социальных сетей и заканчивая областью криминалистики. И хотя к данной задачи применимы общие методы поиска и классификации, она требует более высокой точности решения. Подобное требование объясняется, по большему счету, сложностью строения самого лица и множеством деталей, затрудняющих выделить общие типы лиц (родинки, прически, растительность на лице и т.д.). Вполне естественно, что требование к точности результата ведет к повышению вычислительных затрат алгоритмов поиска и распознавания лиц.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments12

Nano — миниатюрный JavaScript фреймворк

Reading time3 min
Views6.2K
Привет, читатель. Есть много прекрасных и мощных JavaScript-фреймворков. JQuery, MooTools, ExtJS, и множество других. Они кроссбраузерны и громадны. И пользоваться ими — одно удовольствие.

Но иногда, бывает, хочется написать какой-нибудь небольшой скриптик на 5 килобайт и как-то совесть мучает подключать JQuery, который весит в сжатом виде 75 килобайт. И каждый раз начинаешь писать свой мини-фреймворк:
var dom = {
	id  : function (id)  { return document.getElementById(id); },
	tag : function (tag) { return document.getElementsByTagName(tag); },
};


Вроде бы, больше для начала и не надо. А потом вспоминаешь про createElement, легкий способ присвоить CSS, наследование, расширение прототип. И в общем каждый раз пишешь свой велосипед.
В этот раз я решил написать миниатюрный фреймворк, который можно было бы без зазрений совести подключать даже к самым маленьким проектам. В сжатом виде он весит всего 4 килобайта (в 20 раз меньше JQuery).
И в нём есть еще одно преимущество по сравнению со всеми современными фреймворками — полный отказ от устаревших браузеров, за счёт чего в эти 4 килобайта вместилася половина JQuery.

Итак, приветствуйте, JavaScript-фреймворк Nano

Читайте актуальную вторую часть!



Читать дальше →
Total votes 82: ↑72 and ↓10+62
Comments158

Ускоряем раздачу фоток

Reading time8 min
Views14K

С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.

Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.

Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)

На самом деле проблема в несовершенстве современного винчестера, который до сих пор не расстался с механическими подсистемами вращения шпинделя и позиционирования головок.

В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
Читать дальше →
Total votes 128: ↑126 and ↓2+124
Comments69

Distributed Network Messaging Protocol — хорошо забытый FTN

Reading time4 min
Views3.5K
Жила-была технология FTN aka FidoNet. Она и сейчас живет где-то на пыльных системниках, но когда интернеты в России были маленькими, это была весьма популярная технология обмена сообщениями.

Короче говоря, я решил скрестить технологии FTN и IRC, но при этом автоматизировать все возможные настройки, сведя участие рядового пользователя к указанию стартового узла для подключения, а оператора узла к подтверждению приема подключившегося в сеть. Все остальное делает компьютер. При этом никаких паролей, никаких таблиц маршрутизации, списков узлов и прочего гимора. Вернее, можно и вручную настроить, но не обязательно.

Схема сети

Читать дальше →
Total votes 44: ↑36 and ↓8+28
Comments76

AeroFS — Синхронизация файлов без сервера

Reading time1 min
Views9.3K
image

Как это работает


image

1. Комбинируется p2p технология с современными алгоритмами репликации данных, чтобы обеспечить пользователя с приватной и распределённой файловой системой используя его же оборудование.

2. P2P слой позволяет связывать два или более компьюторов или столько сколько позволяет сеть или настройки файрвола. Это означает что AeroFS будет работать в Интернете, в локальной сети и в вашем офисе.

3. Т.к AeroFS полностью распределённая система, если сервера AeroFS будут в дауне то у пользователя все будет работать.
Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments82

Impact HTML5 Game Engine — движок на JS

Reading time1 min
Views19K
Просматривая обзоры инди-игрушек наткнулся на весьма интересный проект — Biolab Disaster (да поможет ему НЛО выдержать хабраэффект) — браузерный платформер на чистых HTML5 & JavaScript, навеивающий воспоминания о тех временах, когда каждую игру делали с душой.
Коротенькая и незатейливая игрушка крутится необычайно быстро и красиво, оставляя за собой приятное впечатление, активированные чекпоинты и маленькие кусочки врагов :)
Выполнена она на движке автора этой же игры, Impact HTML5 Game Engine, в качестве демонстрации его возможностей. Движок на данный момент все еще находится в состоянии разработки, но предлагает уведомить нас электронным письмом по официальному выходу в свет.
За новостями можно так же следить в блоге автора.

На закуску — видео с геймплеем, некоторыми моментами создания игры и редактором уровней — с комментариями автора.

(Благодаря видео можно узнать ссылку на официально еще не опубликованный, но вполне рабочий level editor)

Флеш становится все менее значимым, что не может не радовать.
Приятного пятничного ковыряния в коде ^_^
Total votes 87: ↑80 and ↓7+73
Comments57

Расковыривание прошивки Vogue

Reading time5 min
Views4.6K
После успешного выдирания прошивки tronix286 и Odinokij_Kot наконец появился материал для расковыривания. Минимум что было интересно — определить что же это за девайс, можно ли разблокировать какие-то полезные фичи, ну и как минимум поменять назойливую заставку.

(Для нетерпеливых и практиков: новый софт для смены заставки, перепрошивки и ковыряния прошивки внизу)

Самое первое и простое что можно сделать — просмотреть файлы визуально в текстовом и HEX редакторах. Сразу бросается в глаза:
img_boot.bin и res.bin содержат что-то сильно похожее на битмапы
minios.bin — имеет в начале что-то вроде заголовка с именами файлов
собственно про них я и расскажу дальше.

Читать дальше →
Total votes 95: ↑83 and ↓12+71
Comments46

Входите! Аутентификация без логина и пароля, «запомнить меня»

Reading time3 min
Views13K
Раз уж подняли эту тему, хочется напомнить о том, как улучшить реализацию стандартной функции remember-me.

Оба предложенных ранее варианта не учитывают один важный момент, что, если token будет похищен? При обычной реализации аутентификации через remember me token, атакующий, получив такой токен, получит доступ к сайту на неограниченное время, а жертва даже не узнает о факте хищения…
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments20

HTML5 — взгляд через призму безопасности

Reading time10 min
Views26K
HTML5 — будущий стандарт языка разметки Интернет. Пока он находится в стадии черновика, но все больше и больше его возможностей реализуются в популярных веб-браузерах. Но как это обычно бывает, новые технологии несут в себе и новые опасности, которые могут быть успешно проэксплоитованы.
Читать дальше →
Total votes 157: ↑149 and ↓8+141
Comments18

Пираты — за создание альтернативной системы DNS

Reading time1 min
Views4.5K
В связи с недавними событиями по изъятию десятков доменов якобы «пиратских» сайтов возникла идея создать альтернативную систему DNS, которая была бы неподконтрольна ICANN. Такую мысль выразил в своём твиттере Питер Санде (Peter Sunde), один из активистов The Pirate Bay. Он попросил обращаться к нему всех способных помочь в этом вопросе, особенно представителей ISP.

Можно называть это «пиратским DNS» или «свободным DNS», но в любом случае такая система позволит избежать ситуации, когда власти могут «конфисковать» ваш IP-адрес без суда и следствия, просто обратившись в ICANN с просьбой поменять несколько цифр в таблицах маршрутизации, считает Питер.

Новая DNS могла бы стать по-настоящему децентрализованной, основанной на принципах P2P и, следовательно, более безопасной.
Total votes 121: ↑107 and ↓14+93
Comments115

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity