Архив за 04 июля 2014 - 3

Пишем бота для онлайн игры на JavaScript с применением AOP
Если вы как и я любите онлайн игры, но не любите тратить на них сильно много времени, добро пожаловать под кат. Мы не будем обсуждать боты это хорошо или нет, а просто разберем как можно для конкретной онлайн игры сделать бота. Он будет не тупо клацать по кнопке по таймауту, а будет реагировать на события в браузере. Это мы сделаем с помощью Аспектно-ориентированного программирования (далее AOP). Для примера я выбрал полюбившуюся хабром игру Пернатск.
Читать полностью »

Сегодня сразу во втором и третьем чтении, госдурма приняла законопроект, который запрещает хранить персональные данные россиян на иностранных серверах, это следует из прямой трансляции на сайте парламента.
За законопроект проголосовали 325 депутатов, против – 65. Закон вступит в силу в 2016 году. Он обязывает все компании хранить персональные данные россиян на серверах, размещенных на территории России.
Читать полностью »

В прошлой статье я писал про тестирование ARM сервера при помощи самописного чата на Python ( www.habrachat.org ).
Но как выяснилось несколько дней назад:

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

По хорошему меня попросили выехать за 2 дня (а на сервере я смог разместить много тестовых проектов кроме чата). В итоге я решил переехать на heroku. Подробности под катом.
Читать полностью »

Не секрет, что многие Java-программисты, начиная свой путь в индустрии, уделяют большое внимание «тяжелым» технологиям — OpenJPA, Spring, JAX-RS, EJB, WS-*,… Это дает возможность как скорее влиться в современные корпоративные проекты, так и максимизировать скорость роста зарплаты.

Многие из них в конце концов «спускаются» до технологий лежащих в основе указанных фреймворков — JDBC, Servlet API, NIO/NIO.2. Однако прискорбно, что зачастую не остается время на детальное изучение самого языка и возможностей платформы.

Речь идет не о тонкостях или экзотике, а о том, что составляет существенную часть работы фреймворка: Servlet-контейнер использует множественные ClassLoader-ы, JPA2-провайдер использует манипулирование байткодом, абсолютное большинство библиотек используют Reflection API, всеобщее использование Generics только «усугубилось» с появлением функциональных интерфейсов (java.lang.function.*) и лямбд.

На недопонимание изначальной платформы (ClassLoader, Reflection API) накладываются «новвоведения» Java 5 (Generics), а теперь еще и Java 8 (методы в интерфейсах, ссылки на методы, лямбды, Stream API, JSR 308: Pluggable Type Systems). Надо обратить внимание на то, что Generics + Java 8 — это не просто языковые фичи, это частично переход к функциональному стилю программирования.

Я собрал определенное количество полезных (на мой взгляд) ссылок по следующим темам

  1. Методы в интерфейсах, ссылки на методы, множественное наследование
  2. Лямбды (Project Lambda)
  3. Stream API
  4. Функциональные алгоритмы
  5. Аннотации
  6. Генерики
  7. Reflection API
  8. Загрузка классов

Надеюсь кто-то сочтет их полезными.
Читать полностью »

В сети появились предварительные спецификации первых мобильных процессоров Intel на микроархитектуре Broadwell, выход которых ожидается в четвертом квартале. Первые три модели с пониженным энергопотреблением, как утверждается, получат обозначения Intel Core M 5Y10, 5Y10a и 5Y70. Еще по меньшей мере две модели пополнят линейку Broadwell Y в первом квартале 2015 года.

Читать полностью »

Работа гейм дизайнером

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

Сегодня я хотел бы начать серию статей о гейм-дизайне, которые, возможно помогут вам достичь то, чего вы хотели: лучше понять сферу игровой индустрии, а может улучшить какие-либо свои навыки.
Читать полностью »

Гибридные процессоры Kaveri, замеченные в каталоге AMD месяц назад удостоились пресс-релиза, посвященного их выпуску.

Читать полностью »

Tesla Model S: близкое знакомство

Всевозможных обзоров первого серийного полноценного электромобиля Tesla Model S в сети немало. Почти все их объединяет то, что они написаны профессионалами, так или иначе связанными с автомобильным бизнесом, промышленностью и профильными онлайн- и оффлайн-изданиями. Ни в коей мере не подвергая сомнению их опыт и знания, стоит всe же отметить, что именно их искушeнность не дает им посмотреть на этот инновационный автомобиль с точки зрения обычного пользователя.

Сегодня хочется заполнить этот пробел и рассказать о Model S как раз с позиции автолюбителя. Возможность познакомиться с авто представилась мне прямо на работе: наш CEO Дмитрий Гришин приобрел автомобиль, о котором хочется рассказывать всем, и пригласил всех желающих из числа коллег рассмотреть, пощупать и попробовать Теслу в действии. Пока только в качестве пассажира. Но всe же мне хотелось бы поделиться рассказом о салоне, приборах и органах управления этого любопытного автомобиля.
Читать полностью »

Платные подписки и платные контент услуги сотовых операторов
Другой оператор: после нажатия на эту кнопку при мобильном сёрфинге вас подпишут на платную услугу

Сама по себе система изначально была придумана отлично: оплатить одним действием что угодно в интернете, либо одним SMS — что угодно за пределами сети. Но довольно быстро на эти платные подписки «подсели» разные недобросовестные компании, деятельность которых можно классифицировать как фрод.

Учитывая более чем существенную комиссию оператора, можно пойти двумя путями:

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

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

С февраля 2014 мы очень сильно проредили ряды контент-провайдеров благодаря вашей помощи, анализу данных и расследованиям нашей службы безопасности. За два месяца мы вернули 30,2 млн рублей на счета абонентов и в дополнение перечислили полученные от контент-провайдеров штрафы в качестве моральной компенсации тем, кто пострадал от нечестных списаний.Читать полностью »

Вы практикующий маг менеджер. Или боевой разработчик. Или профессиональный тестировщик. А может быть, просто человек, которому небезразличны разработка и использование систем, включающих в себя клиент-серверные компоненты. Уверен, вы даже знаете, что порт это не только место, куда приходят корабли, а «ssh» это не только звук, издаваемый змеёй. И вы в курсе, что сервисы, расположенные на одной или нескольких машинах, активно между собой общаются. Чаще всего по протоколу HTTP. И от версии к версии формат этого общения нужно контролировать.

Тестирование в Яндексе. Сам себе web service over SSH, или как сделать заглушку для целого сервиса

Думаю, каждый из вас при очередном релизе задавался вопросами: «Точно ли мы отсылаем верный запрос?» или «Точно ли мы передали все необходимые параметры этому сервису?». Всем должно быть известно и о существовании негативных сценариев развития событий наравне с позитивными. Это знание должно активно порождать вопросы из серии «Что если..?». Что если сервис станет обрабатывать соединения с задержкой в 2 часа? Что если сервис ответит абракадабру вместо данных в формате json?

О таких вещах нередко забывается в процессе разработки. Из-за сложности проверки проблем подобного рода, маловероятности таких ситуаций и еще по тысяче других причин. А ведь странная ошибка или падение приложения в ответственный момент могут навсегда отпугнуть пользователя, и он больше не вернётся к вашему продукту. Мы в Яндексе постоянно держим подобные вопросы в голове и стремимся максимально оптимизировать процесс тестирования, используя полезные идеи. О том, как мы сделали такие проверки легкими, наглядными, автоматическими и пойдет речь в этой статье.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js