Pull to refresh
1
0
⎝⏠⏝⏠⎠ @JustLuckyGuy

User

Send message

IT-эмиграция в Страну Улыбок, в Тайланд

Reading time8 min
Views18K
На фоне серии топиков от экспатов, решил тоже поделится. Мне не жалко, а кому-то будет интересно.

Меня зовут Влад, я родился в г. Витебске, Беларусь. В 23 года эмигрировал в Санкт-Петербург, Россия. В данный момент живу в Бангкоке. Владею PHP и навыками технического SEO. 2 дня в неделю работаю в Американской компании, остальное время занимаюсь своими проектами. В Тайланде уже год и пока никуда двигать не собираюсь.
Читать дальше →
Total votes 282: ↑271 and ↓11+260
Comments251

Создание игрового калькулятора на примере игры Aion

Reading time15 min
Views16K

Введение


Любой кто увлекается программированием играя в игру всегда хочет прикрутить туда что-то своё или сделать что-то полезное. Кто-то делает модификации игры, кто-то трейнеры или читы, кто-то вики или фансайты. Не обошло это увлечение стороной и меня.
Играю в настоящий момент в ММО Aion: Tower of Eternety (далее для простоты “Аион”) от корейского разработчика NCSOFT. Именно про неё и пойдёт разговор.

Первое, что приходит на ум в отношении ММО — это пользовательские плагины для интерфейса. К сожалению хоть и игра поддерживает аддоны, создать их простому смертному не получится: нету документации по API, да и без цифровой подписи клиент их попросту проигнорирует. Очень странное решение разработчиков, но, видимо, у них на то есть свои причины.

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

Третье — различного рода “читерские” приспособления. К чести разработчиков чего-то действительно стоящего простой модификацией ресурсов игры получить нельзя, всё перепроверяется сервером и на клиенте циферки скорее для справки пользователю и синхронизации действий на экране с расчётами на сервере. Можно побаловаться увеличением размеров каких либо неприметных объектов в игре, например сундуки сокровищ или именных монстров. Но это чревато глюками и опять же нарушает ПС как и п.2.

Остаётся творить вне игры, но на её тему, но нас, конечно же, интересует то, что можно закодить, а не фанарты или статейки. Баз разной степени актуальности и паршивости по аиону в интернете предостаточно. А вот чего действительно не было до меня — так это калькулятора экипировки персонажа, по крайней мере, онлайн версии мне не попадалось. С вводом новых классов в игре стали также неактуальны существующие калькуляторы умений (стигм). Калькулятор экипировки достаточно сложный чтобы с него начать разбор, поэтому поговорим сначала про умения.
Основные шаги, рекомендации и комментарии
Total votes 26: ↑21 and ↓5+16
Comments5

Бюджетные VDS для обучения и разработки

Reading time4 min
Views61K
Преветствую, Хабр!

Вступление

Многие из нас сталкивались, сталкиваются или будут сталкиваться с выбором VDS сервера по принципу дешево и сердито. Зачем такие серверы нужны? Скорее всего наибольшая польза будет для новичков, т.к. можно «пощупать» разное ПО, поэкспериментировать с различными конфигурациями и рецептами. Потестировать свои способности и раскрыть новые горизонты. Фрилансеру создать необходимое окружение для очередного заказа и развернуть там девелоперскую версию проекта, доступ к которой можно иметь всегда и везде как фрилансеру так и заказчику.
Читать дальше →
Total votes 39: ↑30 and ↓9+21
Comments66

Мошеннические методы монетизации в free-to-play играх

Reading time11 min
Views136K
Примечание переводчика: После публикации статьи с автором связался коммерческий директор из King.com, создателя Candy Crush Saga, и прояснил несколько моментов, после чего автор добавил пару замечаний. Добавленные абзацы отмечены курсивом.

Принудительная монетизация


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

Согласно исследованиям, добавление даже одной промежуточной валюты между потребителем и реальными деньгами, например «игровых самоцветов» (премиальная валюта), делает потребителя гораздо менее подготовленными к оценке стоимости сделки. Лишние промежуточные предметы, я называю их «наслоения», делают для мозга оценку ситуации очень сложной, особенно под напряжением.

Этот дополнительный стресс часто подаётся в форме того, что Роджер Дики из Zynga называет «весёлыми мучениями». Приём заключается в том, чтобы поставить потребителя в очень неудобное или неприятное положение в игре, а потом предложить ему убрать эти «мучения» в обмен на деньги. Эти деньги всегда замаскированы в слоях принудительной монетизации, поскольку потребитель, столкнувшийся с «реальной» покупкой, скорее всего не поведётся на трюк.
Читать дальше →
Total votes 138: ↑131 and ↓7+124
Comments76

Как работать с дизайнерами

Reading time3 min
Views31K
image


Это перевод интересной статьи о дизайнерах и их принципах работы How to Work with Designers.

Чтобы дизайнеры вас понимали, говорите не о показателях, а о пользователях


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

Еще примеры таких «переводов»:

  • Можем ли мы увеличить кликабельность этой кнопки? → Как нам убедиться, что пользователь знает о новой возможности, которой легко воспользоваться?
  • Нужно, чтобы эти изменения не ухудшили показатели → Необходимо убедиться, что эти изменения не доставят пользователям неудобств.
Читать дальше →
Total votes 43: ↑34 and ↓9+25
Comments11

Crossfilter.js, dc.js и D3.js для визуализации Данных

Reading time4 min
Views35K
Приветствую ценителей красивой и функциональной визуализации данных! Предлагаю вашему вниманию небольшой обзор нескольких JavaScript библиотек, которые вкупе с D3.js позволят создать интерактивную визуализацию многомерных данных с возможностью применения фильтрации «на лету».


Заинтересовались, тогда добро пожаловать под кат.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments15

5 полезных батареек для Django

Reading time3 min
Views33K
Разрабатывая постоянно сталкиваешься с разнообразными задачами, которые часто решить в лоб не удаётся. Но многие задачи уже были решены кем-то — нужно только найти это решение.

Так, день за днём я насобирал небольшую коллекцию батареек, которые сильно облегчили мне жизнь. Чем и спешу поделиться:
Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments11

Подборка полезного для любителей Twitter Bootstrap

Reading time1 min
Views83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments21

Кто такой «Full Stack» разработчик?

Reading time4 min
Views34K
Разумно ли ожидать, что каждый разработчик будет мастером в любом аспекте процесса разработки? Вероятнее всего нет, однако Facebook может потребовать от вас это. Будучи на конференции OSCON, работник Facebook сказал мне, что они нанимают только «Full Stack» разработчиков. Хорошо, но что это значит?

Для меня, «Full Stack» Разработчик — это кто-то, кто знаком с каждым аспектом: превосходно владеющий многими из них и проявляющий неподдельный интерес ко всем технологиям.

Квалифицированные разработчики, хорошо знакомые со всеми аспектами, могут существенно облегчить жизнь окружающим их людям. Поэтому я так против жесткого разделения труда на рабочем месте. Конечно, в больших организациях политика и коммуникационные проблемы мешают этому. Я считаю, что суть политики найма Facebook в том, что если умные люди используют свои головы и свои сердца, то лучший продукт можно сделать за меньшее время.
Читать дальше →
Total votes 86: ↑64 and ↓22+42
Comments79

Оптимизация MySQL запросов с помощью Neor Profile SQL

Reading time1 min
Views26K
Любой программист создающий нагруженные проекты с тысячами пользователей, когда-либо задавался вопросом, как он может улучшить SQL запросы и экономить многие сотни долларов. Процесс анализа обычно начинается с профилирования и отладки кода приложения. Далее происходит процесс оптимизации SQL запросов, для этого можно воспользоваться встроенными иструментами MySQL сервера. Например логирование MySQL в файл. Но рано или поздно начинаешь понимать, что это не удобно.

image

Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments35

Pinboard — прокачиваем Pinba для мониторинга PHP

Reading time2 min
Views30K
Intaro PinboardСуществует полезный и нужный инструмент для мониторинга PHP под названием pinba. Он позволяет собирать статистику по выполнению PHP-скриптов вашего проекта. Мы реализовали небольшую систему, которая дополняет Pinba, и назвали ее Pinboard (Pinba board).

Суть работы


Pinba хранит исключительно realtime-данные за последние несколько минут, что очень круто, но не всегда удобно. Pinboard же периодически агрегирует эти данные в собственное хранилище и предоставляет простые средства просмотра и анализа этой информации, а в ближайшем будущем и средства простейшего мониторинга.
Читать дальше →
Total votes 68: ↑62 and ↓6+56
Comments50

Анализ статистики во free-to-play играх: инструменты аналитика

Reading time7 min
Views37K
Ключ к успеху при разработке free-to-play игр — анализ поведения игроков и постоянный тюнинг игрового функционала на основе статистики. Собрать статистику — это пол дела. Но как превратить гору сырых данных в информацию?

В моей прошлой статье я перечислила основные показатели, по которым можно отслеживать успешность игры. Во второй части цикла я сделаю обзор основных инструментов, которые помогут превратить данные в руководство к действию.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments35

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views124K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments37

Про jQuery и велосипеды — мое дополнение

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

Для затравки начнем с простого.
Читать дальше →
Total votes 242: ↑230 and ↓12+218
Comments126

Kartograph — фреймворк для создания интерактивных карт

Reading time1 min
Views20K
Kartograph — это новый фреймворк для создания интерактивных картографических веб приложений без использования Google Maps/Bing Maps или любого другого сервиса. Он создавался с учетом потребностей дизайнеров и журналистов.

Можно поглядеть на демки, чтобы узнать на что способен Kartograph.
или узнать как это все работает.
Total votes 67: ↑66 and ↓1+65
Comments16

TOP'ай сюда

Reading time5 min
Views180K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Total votes 401: ↑389 and ↓12+377
Comments122

Разработка производительного игрового сервера на Netty + Java

Reading time5 min
Views54K
Piccy.info - Free Image Hosting

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

Читать дальше →
Total votes 63: ↑57 and ↓6+51
Comments206

MongoDB: Создание, обновление и удаление документов

Reading time3 min
Views77K
В рамках чтения мной книги “MongoDB: The Definitive Guide” Kristina Chodorow and Michael Dirolf, решил выписывать основные моменты из глав, для лучшего освоения материала. Возможно, кому-то это тоже будет полезно.

Insert



Insert — базовый метод для добавление информации в MongoDB. Для того, чтоб добавить документ в коллекцию делаем вот так:

> db.foo.insert( { “bar” : “baz” } );

В таких ситуациях, когда нужно добавить несколько документов, для более быстрой вставки желательно использовать, так называемые, batch insert’ы (групповая вставка)

> db.foo.insert( { “arr” : [ { a : 1 , b : 1 } , { a : 2 , b : 2 } ] } );

Грубо говоря, просто вставляем массив.
Читать дальше →
Total votes 57: ↑38 and ↓19+19
Comments22

Java-библиотека для работы с API Яндекс.Денег

Reading time5 min
Views8.8K
Yandex.Money APIПродолжаем тему по работе с API Яндекс.Денег. Если у вас есть сайт/портал/приложение, написанное на Java, то я хочу вам показать несколько потенциально полезных фич. Хотя даже если у вас нет приложения, можно быстренько написать что-нибудь полезное для себя, — так сказать, 4fun. Под катом вы увидите, как легко и быстро пройти OAuth-аутентификацию, как делать запросы к API Яндекс.Денег и как заплатить за мобильный телефон при помощи Java SDK.

В качестве бонуса я расскажу вам про простые и полезные способы работы без использования API (например, создание одноразовой платежной ссылки для перевода денег на чужой счет) и готовые инструменты по донейшенам и краудфандингу.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments0

Information

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