Pull to refresh
3
0
Алексей @ParaPilot

User

Send message

Создание простого бота для онлайн-игры world of warcraft

Reading time10 min
Views74K
Думаю, тема ботов не оставляет равнодушным ни одного игрока в онлайн-игры. Кого-то они раздражают, кто-то ими интересуется, а кто-то их использует. Существует и некоторое количество людей, довольно маленькое относительно остальных трех групп — это люди, которые этих ботов разрабатывают.
Я предлагаю присоединиться к этой небольшой касте людей и посмотреть изнутри процесс разработки бота.

Предыстория


Как-то раз в выходные я зашел за своего персонажа в world of warcraft. Делать было в игре нечего — все рейдовые боссы уже убиты, друзей для похода на арену нет, остается только выполнение квестов и неспешная добыча золота. Квесты я не очень люблю и свое свободное время в игре провожу обычно возле аукциона — с помощью специальных аддонов скупаю что подешевле и потом продаю подороже, выигрывая на разнице в цене.

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

В качестве инструмента для реализации был выбран Auto It, но потом оказалось что задача не такая тривиальная, как выглядит на первый взгляд, и пришлось подключать дополнительные инструменты. Сразу скажу, что никакие «грязные» методы вроде чтения памяти процесса или перехвата траффика я не использовал, только autoit для имитации кликов мышки и клавиатуры и чтения цветов пикселей с экрана.

Что из этого вышло и с какими проблемами я столкнулся
Total votes 116: ↑105 and ↓11+94
Comments67

JavaScript: как правильно курить IE10, или проблемы миграции

Reading time2 min
Views16K
Авторское отступление: Не закидывайте камнями те, кому выпало писать под разные браузеры!
В моей работе из-за использования ActiveX-компонентов сейчас поддерживается только IE. Поэтому дальнейшее изложение касается только различных версий IE.

IE10 — это особый браузер. Многое из того, что было верно для предыдущий версий IE, перестало работать.
Рассматриваются только ошибки JavaScript, возникшие при миграции legacy-кода. Различие в CSS выходит за рамки данной статьи.
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments21

Товары из IKEA можно оценить в домашних условиях при помощи дополненной реальности

Reading time1 min
Views42K


Да, причем без покупки. Компания IKEA широко известна, думаю, что у многих представителей хабрасообщества есть что-либо от IKEA дома. Само собой, приобретение мебели или любого из более-менее крупных элементов интерьера — это проблема. Нужно пойти в магазин, найти то, что понравилось, и попробовать представить, как «это» будет смотреться в комнате/доме. Сейчас есть возможность обойтись и без походов в магазин, и без попыток представить себе свой дом с новой мебелью. Дело в том, что некоторые товары IKEA теперь можно виртуально разместить в любом месте своей квартиры, используя только приложение, смартфон или планшет.

Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments28

Как музыка влияет на продуктивность

Reading time3 min
Views181K


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

Смотря на свой плейлист, я представляю, как музыка влияет на мою работу. Любопытно разобраться в таком влиянии с научной точки зрения.

Когда мы слушаем музыку, активируется часть мозга, называемая nucleus accumbens (центр удовольствия), которая вырабатывает дофамин — гормон, влияющий на настроение. Он располагается в «вентральной области покрышки» (ventral tegmental area, VTA). Все это — часть «системы награждения» (reward system) мозга.
Читать дальше →
Total votes 57: ↑48 and ↓9+39
Comments113

Пробуем Orchard CMS для корпоративного сайта

Reading time7 min
Views7.2K
Привет!

У нас есть корпоративный сайт на Liferay, и он требует довольно кропотливой работы на этапе создания layout. Мы решили посмотреть, чем отличается создание кастомного раздела в Liferay от того же процесса в Orchard CMS в рамках такой небольшой задачки как создание корпоративных новостей.



Что у нас из этого вышло:

Читать дальше →
Total votes 7: ↑2 and ↓5-3
Comments1

Число Данбара и пользователи ВКонтакте

Reading time3 min
Views131K
Robin Dunbar with a Neaderthal skullНедавно я наткнулся на такую удивительную штуку как число Данбара.
История такова. 20 с лишним лет назад, когда выражение «британские учёные» ещё не было мемом, антрополог Робин Данбар, изучая данные по человекообразным обезьянам, обнаружил, что численность их стаи подчиняется определённому закону. Есть максимальное количество членов стаи. Если стая разрастается и её численность превышает порог, она разделяется на две. Причём для разных видов этот предельный размер получается разным.
Читать дальше →
Total votes 176: ↑166 and ↓10+156
Comments98

Основы архитектуры IIS, или запросопровод для ASP.NET

Reading time20 min
Views206K



В прошлом году мне пришлось отсобеседовать около 10-15 кандидатов на должность веб-программиста на ASP.NET средней квалификации. В качестве вопросов «на засыпку», или «со звёздочкой», я просил рассказать, что происходит с HTTP-запросом от момента его поступления на 80-й порт сервера до передачи управления коду aspx-страницы. Статистика была удручающей: ни один из кандидатов не смог выдать хоть что-нибудь внятное. И этому есть своё объяснение: ни в MSDN с technet, ни на специализированном ресурсе iis.net, ни в книгах a-la «ASP.NET для профессионалов», ни в блогах данной теме не уделяется должного внимания – информацию приходится собирать чуть ли не по крупицам. Я даже знаю людей, которые решили написать свой собственный веб-сервер (Игорь, Георгий, привет!), чтобы не разбираться в работе IIS. Единственная толковая статья – «Introduction to IIS Architectures» Риган Темплин (Reagan Templin). Но и она остаётся на периферии интересов аспнетчиков.

Хотя мне лично уже не так интересны чисто технические вопросы, я решил собрать в кучу свой накопленный опыт, раскопать на просторах Сети любопытные детали и передать сие сакральное знание массам, пока оно ещё не устарело. Сразу оговорюсь, что статья ориентирована в большей степени на IIS 7.x, иногда будут ответвления про 6-ку. С 8-й версией в работе не сталкивался, поэтому решил обойти её в этой статье стороной. Но, уверен, читатель без труда разберётся с восьмёркой, освоив изложенный ниже материал.
Познать...
Total votes 71: ↑59 and ↓12+47
Comments9

Проблемы CSS. Часть 2

Reading time7 min
Views233K
Продолжение перевода статьи «Проблемы CSS. Часть 1».

Когда использовать width / height равный 100%?


Height: 100%

Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments30

Краткий экскурс в историю флэш-памяти

Reading time7 min
Views43K
Многие современные технологии мы уже привыкли воспринимать как должное, не особо задумываясь, как они работают, что за ними стоит, какова история их развития. Касается это в том числе и компьютеров. Я уже писал об истории развития технологий хранения данных, наглядно показывающую эволюцию в этой отрасли. На этот раз я решил рассказать подробней про одну из технологий, активно используемых компанией LSI, про твердотельную, или SSD (Solid State Drive) память.

Читать дальше →
Total votes 56: ↑50 and ↓6+44
Comments42

Custom Tree v2 jQuery plugin

Reading time4 min
Views9.6K
На днях решил вернуться к перепиливанию одного своего старенького Open Source проекта.
В процессе обдумывания решил, что предыдущий компонент с деревом в его нынешнем виде меня больше не устраивает.

Хотелось чего-нибудь более Event Driven, с понятным и простым API.

Сейчас решил, что оно уже готово для Public.

Берите, пользуйтесь.
Или посмотрите на example в рамках GH-pages.

Под катом краткий перевод краткой документации по API.

UPD: в комментариях мой код для организации перетаскивания.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments17

Удобный веб сервер на Virtualbox

Reading time8 min
Views66K
nginx
Когда делаешь простые сайты на WordPress, то с вебсервером все просто, поставил себе Xampp и спокойно работаешь.

Но приходит момент когда начинаешь заниматься серьезными проектами, а там уже конфигурация на сервере не совсем обычная и пользоваться Xampp не совсем удобно, к тому же у меня аллергия на Apache.

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

Что именно хочется:
  • Поддержку нормальных url типа sitename.ru
  • Не редактировать /etc/hosts
  • Не редактировать конфиги nginx
  • Работать в локальной папке
  • Удобное администрирование конфигурации сервера
  • Изолированое окружение
  • Поставить и забыть


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

Поэтому я поднял дебиан на виртуальной машине (virtualbox) и настроил nginx+phpfpm за пару часов, но это не очередное хау ту по связке nginx+phpfpm, мы делаем готовое решение по типу xampp.
Хочу себе такой
Total votes 34: ↑18 and ↓16+2
Comments15

Вернулся невод с тиной морскою…

Reading time2 min
Views79K
Года полтора назад я решил провести небольшой эксперимент. Цель была посмотреть на концентрированный новояз. Сделал я следующее:
1) Распарсил bash.im (тогда ещё bash.org.ru) и создал частотный словарь встречающихся там слов.
2) Распарсил Википедию и создал частотный словарь (точнее не совсем так, словарь Википедии у меня к тому моменту уже был, я его делал раньше для совсем других целей).
3) Рассортировал словарь Баша по встречаемости в порядке убывания, шёл по нему и печатал те слова, которые ни разу не встречались в Википедии.
Читать дальше →
Total votes 150: ↑143 and ↓7+136
Comments93

Dell Latitude E6420 ATG – рамный ноутбук для понимающих

Reading time8 min
Views47K
Обычно о компьютерной технике пишут, когда она совсем-совсем новая. Сошла железка с конвейера, доехала до России и сразу попала в руки автора обзора, который непременно заснимет процесс извлечения из упаковки и упомянет о неповторимом аромате новой техники.

Герой этого поста, ноутбук Dell Latitude E6420 ATG сошел с конвейера довольно давно, прибыл ко мне без упаковки и, по всем признакам, владелец относился к нему без особого пиетета. Тем не менее, я взялся за обзор с большим интересом. Ведь это самый настоящий ноутбук путешественника – и по задумке, и по сути. По задумке – потому что электронная начинка находится в магниевом противоударном корпусе. А по сути – потому что принадлежит ноутбук Ивану Дементиевскому, известному фотографу, путешественнику и журналисту. Вместе с Иваном этот экземпляр Dell Latitude E6420 ATG совершил восхождение на Гималаи, и после завершения экспедиции у меня была возможность осмотреть ноутбук снаружи и внутри.

image
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments34

Шоу UXtra — выпуск 1: интерфейсы мечты

Reading time7 min
Views18K
На днях в iTunes появилось новое шоу от создателей Метрики – UXtra. UXtra – англоязычный подкаст о пользовательских впечатлениях и интерфейсах, сервис-дизайне и бизнесе, созданный при участии компании UIDG и альянса юзабилити компаний UXalliance (мировой лидер в области изучения пользовательских впечатлений и интерфейсов). Специально для аудитории Хабра создатели подкаста подготовили его транскрипт на русском языке.


Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments12

Подробный обзор Android 4.3

Reading time3 min
Views244K


Добрый день вторника это уже не злой понедельник. Именно поэтому я решил опубликовать подробный обзор обновленной ОС Android 4.3. Рассмотрим все функции системы и выясним, надо ли обновляться.

Под катом много текста, изображений и видео.
Читать дальше →
Total votes 82: ↑71 and ↓11+60
Comments134

Как я собирал бесшумный компьютер

Reading time5 min
Views418K
Много лет назад я легко мог спать в полуметре от гудящего компьютера, со временем же стало очевидно, что посторонние шумы сильно мешают продуктивной работе. С тех пор я начал свои эксперименты по сбору бесшумного компьютера.
image
Каждый, кто хочет работать в тишине - добро пожаловать под кат
Total votes 162: ↑133 and ↓29+104
Comments269

Mojo Share — все социальные кнопки на CSS3 с иконочным шрифтом в одном месте

Reading time10 min
Views21K
Доброго времени суток уважаемые хабравчане. Начну издалека… Share кнопки — это очень важно. Большинство из нас с Вами использует либо стандартные кнопки определенной социальной сети, либо один из этих сервисов: Блок «Поделиться» от Яндекса, AddThis, ShareThis и новоиспеченный Pluso. Если рассматривать все эти способы с точки зрения кастомизации и дизайна, то достойнее всего, на мой взгляд, это реализовали в Pluso. Все остальное почти ничем не отличается друг от друга. Рассматривая основной функционал (непосредственно шаринг), отличается баганутостью только Pluso, где можно легко накрутить счетчики, нажимая кнопки помногу раз. Я не буду сравнивать качество сбора статистики этих сервисов хотя Pluso явно не фаварит, поскольку не компетентен в этом вопросе. Вернемся к кастомизации кнопок. Как таковой, во всяком случае удобной, ее нет. А если говорить про дизайн, то кнопки не адаптированы под Retina дисплеи, что сразу бросается в глаза. Поэтому я решил создать проект на GitHub, который состоит из иконочного шрифта MojoSocial и файла стилей MojoShare.

image

Сейчас в проекте более 40 векторных иконок. Все кнопки построены на CSS3 с использованием градиентов из фирменных цветов каждого отдельного сервиса. Плюс несколько стилистических классов, определяющих дизайн кнопки. А пользоваться этим удобно, потому что файл стилей на LESS.

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments16

Пример экзамена факультета информатики в TU Dresden

Reading time2 min
Views35K

Все привыкли считать, что изучая информатику в институте, мы осваиваем или базовые концепции, или устаревшие технологии. Благодаря обучению TU Dresden я понял, что есть ВУЗы, где учат актуальным и практически применимым технологиям на достаточно высоком уровне. Сегодня я сдал экзамен по дисциплине «Интернет и веб приложения». Изучая тексты лекций и практических занятий по данной дисциплине, я неоднократно обращался к википедии и хабру для разъяснения определённых нюансов. В результате я разобрался с WebSockets, узнал о Akamai, подробно ознакомился с алгоритмом работы торрента. В этом посте я написал перечень экзаменационных вопросов.
Читать дальше →
Total votes 94: ↑78 and ↓16+62
Comments60

Сортировка в .NET

Reading time16 min
Views70K
Задача сортировки — это классическая задача, которую должен знать любой программист. Именно поэтому эта статья посвящена данной теме — реализации сортировки на платформе .NET. Я хочу рассказать о том, как устроена сортировка массивов в .NET, поговорить о ее особенностях, реализации, а также провести небольшое сравнение с Java.

Итак, начнем с того, что первые версии .NET используют алгоритм быстрой сортировки по умолчанию. Поэтому небольшой экскурс в быструю сортировку:
Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments37

Наивные размышления о варианте Интернета-2

Reading time3 min
Views13K
На фоне последних новостей о тотальной слежке в Интернете, неадекватных законах о блокировках в России и прочих прелестях, позволю себе выставить на обсуждение одну мысль. Гайки будут затягиваться чем дальше, тем сильнее. Это неизбежно. Государство никогда не оставит мысль о полном контроле над гражданами. И надо что-то с этим делать. Возможно, написанное ниже наивно, но…
Учитывая то, что практически весь Интернет сейчас сосредоточился в руках нескольких гигантов, вроде Гугла, укрыться от их всевидящего, а следовательно – и от ока спецслужб, в современном Интернете практически невозможно. Ниже я изложил свои наивные мысли насчет причины создавшейся ситуации и возможного варианта решения проблемы.
Читать дальше →
Total votes 35: ↑20 and ↓15+5
Comments77

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity