Pull to refresh
-2
0
Максим @Maxima

User

Send message

Борьба с читерством в играх, когда стандартные средства не помогают

Reading time4 min
Views10K
Бывают ситуации, когда читерство в сетевых играх переходит границу стандартной защиты и становится на первый взгляд непреодолимой проблемой.
Но даже в таких ситуациях можно найти выход.
В этой статье пойдет речь о не очень популярной игре ARMA 2 и не совсем обычных методах борьбы с читерами.
Тематика (игровое администрирование) довольно необычная для хабра, но она также имеет отношение к IT, и я считаю, вполне заслуживает внимания.
Читать дальше →

Блокировка нежелательного DNS трафика

Reading time5 min
Views40K


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

Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.

Читать дальше →

Номер телефона

Reading time1 min
Views292K
Регулярное выражение для валидации номера телефона:

^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$

Ориентировано на российские мобильные + городские с кодом из 3 цифр (например, Москва).

Читать дальше →

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

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

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

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

Подробнее...

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

Reading time1 min
Views10K


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

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

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

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

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

Источник

GeoIP – страны и города, декабрь 2010

Reading time1 min
Views2.7K
Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
Читать дальше →

JS LOIC: атака в один клик

Reading time2 min
Views48K
Как известно, для проведения DDoS-атаки на сайты Mastercard, Visa, Paypal и проч. многие участники группировки Anonymous используют программу LOIC (Low Orbit Ion Cannon), написанную на C# и изначально предназначенную для стресс-тестирования сайтов. Эта же программа раньше использовалась для DDoS-атак на сайты церкви сайентологии и веб-сайт RIAA (в октябре 2010 года)

Примечательный факт: с 8 по 10 декабря 2010 года клиентскую версию этой программы скачали около 30 000 раз при том, что общее количество скачиваний за всё время её существования составляет примерно 50 000. Большинство скачиваний в последние дни идёт из США (10000 скачиваний), но неожиданный интерес к стресс-тестированию сайтов проявили также пользователи из Великобритании (3200), Германии, Франции, Голландии, Испании и России (у каждой из этих стран — от 1000 до 2000 скачиваний).
Читать дальше →

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

Reading time3 min
Views6.3K
Привет, читатель. Есть много прекрасных и мощных 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

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



Читать дальше →

Создаем хардварный логгер клавиатуры

Reading time13 min
Views52K
У тебя наверняка не раз возникала ситуация, когда программные логгеры клавы не могли решить поставленных задач. Например, отловить пароль от биоса с помощью программного кейлоггера, загружаемого системой, невозможно. Лично я столкнулся с подобной проблемой, когда мне нужно было узнать админский пароль в локальной сети одной фирмы. Тогда я и подумал, что было бы очень круто сделать «железный» логгер, который бы подключался между клавиатурой и компьютером и ловил все нажатые клавиши, начиная с включения компьютера. В предлагаемой статье изложены принципы работы PS/2 интерфейса, и перехват данных, передаваемых по нему.

image
Парочка аппаратных логгеров клавиатуры

Принципы


Для того чтобы сконструировать подобное устройство, сначала нужно разобраться с тем, как же работает клавиатура. Есть два основных типа клавиатур: АТ (старый стандарт) и PS/2. Отличаются они только разъемами: АТ имеет DIN, а PS/2 — miniDIN. Первый — большой круглый разъемчик с пятью штырьками, второй — маленький, как у мышки, с шестью пинами. По протоколу обмена они полностью совместимы. Наверняка, ты видел переходники с широких старых разъемов на новые маленькие. Этот стандарт появился еще в 1984 году вместе с первым персональным компьютером IBM PC и используется по сей день, практически не претерпев никаких изменений.
Читать дальше →

База всех населенных пунктов и регионов России

Reading time2 min
Views7.5K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
Читать дальше →

Свой p2p телеканал за 5 минут

Reading time1 min
Views3.4K
Вот один из способов сделать свой peer-2-peer телеканал. Есть Talxy.com, который позволяет вставить на сайт флэшку и транслировать видео с вебкамеры для всех, кто эту флэшку увидит. При этом, чем больше смотрящих, тем меньше будет нагрузка на ваш канал и выше качество трансляции. Talxy устроен так, что смотрящие подсоединяются к peer-2peer сети и используются для ретрансляции видео друг другу.

Теперь берём какую-нибудь прогу для виртуальной видео-камеры, вроде ManyCam.com, задаем в ней воспроизведение всех видео из директории с любимыми фильмами.

Далее кликаем в talxy-флэшке на правую кнопку и выбираем в качестве вебкамеры виртуальную вебкамеру ManyCam.

Вуаля! Получаем свой телеканал для друзей без всякой рекламы с разрешением 640 на 480 (не HD, но тоже неплохо).

Сколько стоит Amazon CloudFront

Reading time1 min
Views10K
Появилось желание воспользоваться CDN, но оставался вопрос, «а на сколько оно мне будет по карману?» В принципе можно посмотреть расценки на самом сайте или воспользоваться даже калькулятором, но всё же остаётся не понятным сколько оно может в итоге выйти $1 или $30.

Минимальный прайс


В обязательном порядке придётся заказать Amazon S3, т.к. облака могут работать только в связки с ними, он стоит минимум 4 цента (по центу за место + трафик + PUT, COPY, POST, LIST + GET и остальные запросы).

С CloudFront ситуация похожа минимум 8 центов, по центу за трафик и запросы в четыре направления. Все округления происходят до центов (в большую сторону), после этого суммируются.

Итого минимум: 12 центов ( ~ 3.6 рубля)
Сколько прийдётся заплатить в действительнсоти

Hosts Commander — модификация hosts из командной строки

Reading time3 min
Views26K
Я хотел бы посвятить немного времени файлу hosts. Года два назад, когда я в очередной раз забирался в глубину системных директорий, чтобы подправить всего одну строчку в этом файле, мне подумалось, как было бы классно работать с hosts из командной строки. Тогда идея отправилась в дневничок, и долгое время оставалась нетронутой. Пару дней назад я реализовал почти все идеи, которые пришли в голову по этому поводу. Результатом делюсь с хабрасообществом. Буду рад, если кому-нибудь пригодится.

Что получилось?


А получилась небольшая программа hosts.exe, которую кратко можно охарактеризовать так:
  • Операции добавления, удаления и отключения хостов
  • Поддерживает операции над хостами по маске
  • Простые выборки из hosts по атрибутам и маске
  • Создание резервных копий hosts и откат последней операции
  • Поддержка IDN (можно создавать русскоязычные домены)
  • Поддержка IPv6 адресов
  • Поддержка алиасов (несколько доменных имён в строке)
  • Сохраняет исходное оформление и кодировку файла hosts
  • Большое количество алиасов для каждой команды (кому как удобнее)
Читать дальше →

Lightworks доступен для публичного beta-тестирования

Reading time1 min
Views1.7K
image

Вчера EditShare объявила начало публичного бета тестирования проекта Lightworks, Open Source видеоредактора, который стремится стать одним из главных конкурентов FinalCut.

Скачать и попробовать Lightworks можно зарегистрировавшись на официальном сайте бетатестирования.
Читать дальше →

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Бизнес-план. Статья 3. Описание продукта. Кто сказал, что это будут покупать?

Reading time3 min
Views12K
Приветствую всех!
Продолжаем писать бизнес-план

Статья 1. Начало
Статья 2. Описание бизнеса

Темой этой статьи является то, что вы продаете.

Что мы продаем?


Как вы помните, я часто рекомендую вам задавать себе побольше вопросов. Сегодня не исключение.
Итак, какой вопрос является лучшим на тему вашей продукции? «Каков наш продукт или услуга?» Нет.
Нужно задавать себе следующий вопрос: «Что мы продаем?». Казалось бы, разницы нет. Ан нет, есть.
Присмотримся внимательнее: например, вы думаете, что продаете молотки, гвозди, краску, обои, ламинат. Однако клиенты у вас покупают не это. Клиенты покупают улучшенный интерьер дома, решение мелких проблем по хозяйству, и прочее. Заметили разницу? Думать о своем продукте лучше уровнем вверх, прослеживая его комплексные цели. Так будет легче позиционировать и продавать.
Вышеуказанный подход позволит вам ставить более четкие цели. В примере выше цель — обеспечить возможность ремонта, улучшения жилищных условий клиентам. Ребята из 37Signals продают не программу Basecamp для проджект-менеджеров, а возможность командам совместно управлять проектами и укладываться в сроки.

Почему это будут покупать?


image
* перевод «Твоя мама это неподходящий рынок для проверки»
Читать дальше →

Повышение производительности netfilter, использование ipset

Reading time3 min
Views41K
iptables — интерфейс к файрволу Linux (netfilter). При большом количестве правил iptables нагрузка может быть достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать, что влияет на производительность iptables и как ее повысить.
Читать дальше →

Синхронизация асинхронных вызовов. WaitSync

Reading time3 min
Views8.7K

Задача


Допустим вы хотите выполнить два или более AJAX запроса на сервер и вызвать функцию после того, как все они будут закончены.

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

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

Собственно, этим и занимается мой небольшой класс WaitSync =)

WaitSync.js


Пользоваться элементарно просто:

1. Создаем объект типа WaitSync, передав в конструктор callback функцию, которая будет вызвана после того, как отработают нужные задачи.
	var vulture = new WaitSync(function () {
		console.debug('Start eating: ', arguments);
	});


2. Вместо простого
	$.getJSON(
		'savannah/get_prey', 
		function (data) {
			console.log('... prey found: ' + data);
		}
	);
	
	$.getJSON(
		'savannah/get_other_predators', 
		function () {
			console.log('... predators are done eating');
		}
	);


«заворачиваем» задачи в метод .wrap
	$.getJSON(
		'savannah/get_prey', 
		vulture.wrap( 
			function (data) {
				console.log('... prey found: ' + data);
			}
		)
	);
	
	$.getJSON(
		'savannah/get_other_predators', 
		vulture.wrap(
			function () {
				console.log('... predators are done eating');
			}
		)
	);


3. Все =) Как только будут выполнены оба AJAX запроса, стервятник начнет есть.

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

Как выбрать помещение для интернет-магазина в реале

Reading time7 min
Views34K
Маркетинг магазина в реале начинается с выбора места. Есть два пути решения задачи: так называемый «жоп-филинг», то есть интуитивное принятие решения и продуманный просчёт.

Общая задача такая:
  • Есть интернет-магазин, нужна точка в реале;
  • Место должно способствовать наибольшей прибыли точки как отдельного розничного магазина;
  • И хорошо работать как пункт самовывоза интернет-магазина.
Читать дальше →

Information

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