Pull to refresh
22
0
Игорь @mopsicus

Unity разработчик

Send message

Создание воронок сайта и измерение конверсии за чашкой кофе без строчки кода

Reading time3 min
Views16K
Вы уже знаете про огромное количество сервисов сессионной аналитики. Когда анализ делается на основе открытия страниц. Яндекс Метрика и Гугл Аналитика.

Сейчас появляются сервисы событийной аналитики – когда анализ делается на основе событий совершаемых пользователем на сайте. Она может быть намного точнее, так как собираются данные только по конкретным событиям. Например, Mixpanel.com.
Но в таких сервисах самая большая проблема – внедрение. Нужно понимать языки программирования, владеть навыком нажимания правой кнопки мыши и запускания консоли браузера. Мы решили эту проблему.
image

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

Биохакинг сна: подтверждённые наукой советы

Reading time11 min
Views291K


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

Язык программирования Swift. Русская версия

Reading time17 min
Views382K
imageПривет, Хабр! 2 июня все мы воочию могли наблюдать, как компания Apple начала творить революцию в стане Objective-C разработчиков, представив миру свой новый язык программирования – Swift. Вместе с этим, она выложила в открытый доступ небольшую документацию по языку, которую мы решили перевести, если на то будет спрос. Предлагаем вашему вниманию перевод первой главы. Если тема будет интересна, то мы продолжим публиковать перевод каждую неделю.
Читать дальше →

Разработка Iframe приложений на VK API. От первых шишек до двухмиллионной аудитории

Reading time5 min
Views71K
image
image
image Здравствуйте, в этом посте речь пойдет о том, как я создавал Iframe приложения в одной известной социальной сети. Пост будет скорее повествовательным, чем познавательным, хотя я постараюсь ответить на многие вопросы, которые поставили меня в ступор на начальном этапе.

С API Контакта познакомился сравнительно недавно. Тогда оно казалось мне жутко сложным и неоднозначным, с минимумом пояснений и полным отсутствием примеров использования. Сейчас, подтянув знания в javaScript, не испытываю абсолютно никаких трудностей. Наоборот даже приятно, что разработчики во многом подумали за меня.

Работать с javascript API Вконтакте просто до безобразия. Нужно лишь подключить файл xd_connection.js, инициализировать VK API, и делать запросы не чаще трех раз в секунду. Также стоит отметить, что и безо всяких запросов Вк передает в Iframe много необходимых параметров в виде объекта flashVars. Из него можно вытащить id пользователя, токен, упрощающий авторизацию пользователя на стороннем сервере, язык интерфейса и другие нужности.
Читать дальше →

Продвижение приложений в AppStore (Google Play)

Reading time9 min
Views53K

Прежде чем мы написали этот материал, наши приложения загрузили более 2 000 000 раз, мы провели порядка 50 больших промо кампаний, побывали в топах AppStore более, чем в 24-х странах пока наконец не собрали всё это в один большой work flow. В статье почти нет очевидных вещей про ключевые слова, красоту иконок, скриншотов и рекламные кампании. Мы попытались привести работу продуктовой компании к единой модели, ответив на вопросы: «что?», «когда?», «зачем?» и даже на вопрос «а дальше что?». Если вы разрабатываете собственное приложение, хотите начать это делать или у вас просто есть друг разработчик или маркетолог продуктовой компании — в этой статье вы найдёте много полезной информации.
Читать дальше →

Noisli: онлайн-генератор фоновых шумов, помогающих сконцентрироваться

Reading time1 min
Views182K


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

Сайт Noisli содержит коллекцию фоновых шумов на любой вкус и возможность смешивать их в произвольной пропорции. Здесь есть и звуки природы — шум дождя, плеск воды, пение птиц, шуршание листьев, и звуки техногенного характера — стук колёс поезда, звук работающего вентилятора, и звуки многолюдного кафе. Есть и искусственные белый, розовый и коричневый шум. Коллекция звуков постоянно пополняется.
Читать дальше →

Обзор специализированных способов обхода блокировок в интернете

Reading time4 min
Views919K
Представляю вашему вниманию обзор и мои субъективные оценки некоторых специализированных способов обхода блокировок со стороны провайдеров или сетевых администраторов.

1. Аддоны для браузеров


ZenMate (Chromium-based, Firefox, Android, iOS)

  • Удобство использования: 5/5
  • Скорость: 5/5
  • Шифрование трафика: Да (TLS)
  • Анонимность: Да
  • Проксирование всего трафика: Да
  • Выборочное проксирование: Да

    Описание:
        Хороший, быстрый аддон.
        На момент тестирования было доступно 5 прокси в разных странах.

    Плюсы:
        Высокая скорость работы аддона
        Быстрые прокси

    Минусы:
        Требуется регистрация в сервисе
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #15

Reading time3 min
Views25K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Bitcore


image
Полноценная JS библиотека, полностью обеспечивающая поддержку необходимого функционала для создания Bitcoin приложений.

Валидация биткоин адреса:
var bitcore = require('bitcore');
var Address = bitcore.Address;

var addr = new Address("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");

console.log(addr.isValid());


Мониторинг блоков и транзакций
var bitcore = require('bitcore');
var networks = bitcore.networks;
var Peer = bitcore.Peer;
var PeerManager = require('soop').load('bitcore/PeerManager', {
  network: networks.testnet
});

var handleBlock = function(info) {
  console.log('** Block Received **');
  console.log(info.message);
};

var handleTx = function(info) {
  var tx = info.message.tx.getStandardizedObject();

  console.log('** TX Received **');
  console.log(tx);
};

var handleInv = function(info) {
  console.log('** Inv **');
  console.log(info.message);

  var invs = info.message.invs;
  info.conn.sendGetData(invs);
};

var peerman = new PeerManager();

peerman.addPeer(new Peer('127.0.0.1', 18333));

peerman.on('connection', function(conn) {
  conn.on('inv', handleInv);
  conn.on('block', handleBlock);
  conn.on('tx', handleTx);
});

peerman.start();



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

Google Chrome — убираем рутину с помощью кастомного поиска

Reading time1 min
Views61K
Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

Google Chrome позволяет очень сильно ускорить рутинные задачи, связанные с различным поиском. используя адресную строку.

Например:


Как настроить?

Простой фильтр ленты VK по «плохим» словам и кем он может стать

Reading time3 min
Views22K
Привет, Хабр.

Отступление:

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

Идеальная страница 404 ошибки, или как удержать пользователя на сайте?

Reading time4 min
Views145K
Большинство пользователей, наткнувшись на страницу ошибки 404, постараются как можно скорее ее закрыть и забыть. Чтобы не потерять таким образом своих посетителей, стоит создать для этой ошибки необычное оформление. Рассмотрим детальнее, какие задачи стоят перед страницей 404 и как их воплотить.

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

Создаем клон игры Flappy Bird, используя движок физики iOS7

Reading time2 min
Views53K
#FlappyBird — И этим все сказано!



Эта игрушка невероятно проста, но в тоже время содержит добротную смесь развлечения и негодования присущее играм 90-х, таким как Double Dragon 3, и Teenage Mutant Ninja Turtles. После того как Dong Nguyen объявил о том, что собирается убрать игру из app store, мне стало интересно насколько сложно воссоздать физику и взаимодействие с помощью нового физического движка iOS7. Я написал эту статью потому, что многие разработчики даже не знают, что IOS 7 имеет встроенный физический движок — UIKit Dynamics.
Читать дальше →

Keypress 2.0.0

Reading time2 min
Views19K
Семнадцать дней назад (19 января 2014 года) вышла новая версия (2.0.0) джаваскриптовой библиотеки Keypress, предназначенной для удобного программирования реакций браузера на события, поступающие от нажатий (и от отпусканий) клавиш на клавиатуре.

Опубликованный на Гитхабе список изменений позволяет уверенно огласить вот что: важнейшим из достоинств новой версии стала возможность ловить события не только во всём окне в целом, но и для одного или нескольких отдельных элементов DOM. Теперь и при программировании различающихся реакций у различных элементов на веб-страницах мы можем с удобством прибегнуть к библиотеке Keypress вместо тех её более ранних и более популярных аналогов (например, jQuery.Hotkeys), которые уступают Keypress по богатству возможностей.

[Keypress]

Возможности же эти вот каковы:

  • Реакция на нажатие и отпускание одной или нескольких клавиш. Поддерживаются синонимы кросс-платформенные (например, "meta" означает "cmd" или "ctrl" в зависимости от системы) и шифтовые (например, "@" означает сочетание Shift и двойки).
     
  • Программируемые сочетания клавиш могут включать в себя не только классические модификаторы ("meta", "alt", "option", "ctrl", "shift", "cmd"), но и какие угодно другие клавиши. Например, программируя WASD-управление пошаговою бродилкою, нетрудно достигнуть того, чтобы нажатие и отпускание клавиши «W» означало шаг вперёд, но «W» и «D» совместно — шаг по диагонали вперёд+направо.
     
  • Возможно указание сочетаний клавиш, состоящих не из одновременных, а из последовательных нажатий клавиш. Это такие сочетания, как код Конами, например.
     
  • Специальные «считающие» комбинации позволяют программировать такие ситуации, в которых нажатие основной клавиши обнуляет некоторый счётчик, а каждое нажатие дополнительной клавиши (при удержании основной) увеличивает этот счётчик на единицу. David Mauro (автор Keypress) приводит в пример такое сочетание Tab+Space, при котором нажатие Tab тотчас же открывает первую вкладку в некотором наборе вкладок, а каждое нажатие на пробел (при удержании Tab) перебрасывает на следующую вкладку — на вторую, на третью, на четвёртую…

Для каждой одиночной клавиши (или для комбинации) возможны дополнительные настройки. Эти настройки позволяют при необходимости сделать вот что:

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

Python на Хабре

Reading time7 min
Views454K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Видео-курс по JavaScript на русском языке

Reading time1 min
Views218K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →

Качественная локализация мобильного приложения. 5 простых советов и 12 ссылок

Reading time4 min
Views13K
На Хабре уже неоднократно писали о локализации игр и сложностях, с которыми могут столкнуться разработчики в процессе интеграции локалей в приложение.


Хочешь вовлечь пользователя? Общайся с ним на его языке!

Хотя вопросы «состыковки» текста с кодом, несомненно, важны, один момент – очень деликатный! – часто остается без внимания, и это – качество перевода. Почему? Для этого есть объективные причины.

Во-первых, локализация мобильных приложений имеет свои особенности. Большие хардкорные проекты издатель обычно переводит, например, с английского/корейского на русский. У «телефонных игр» другая судьба. Им необходимо привлечь внимание как можно большего количества пользователей по всему миру, поэтому с базового русского или английского их, наоборот, выгодно локализовывать на максимальное количество языков.

И здесь разработчики сталкиваются с ожидаемым препятствием – мало кто может свободно читать и редактировать тексты на десяти-двенадцати языках. А если и может – этот человек по праву оценивает свои квалификации на вес золота. Искать такого специалиста можно долго, и охота эта будет кровавой.

Вторая причина – приоритет кода перед текстом. Логично, что юзабилити, монетизация и графика ставятся во главу угла. В конце концов, пользователь приходит в игру не для того, чтобы читать! Да на буквы эти и внимания никто не обратит! (Возьмите конфетку если вы разработчик, и такие мысли никогда не приходили вам в голову – значит, вы на самом деле исключение из правил).

В эту ловушку попадаются многие – задачи по подготовке локализации и ее тестированию часто откладываются на самый последний момент.

В результате нередки случаи, когда пользователи очень даже замечают текст, потому что он полон ошибок, неточностей и ляпов. Встречают по одежке, провожают по уму. Локализация и графика – это та самая одежка. Пользователь может просто не оценить великолепные игровые механики, если при входе в приложение увидит жизнерадостное «Здраствуй, гозть!».

Если он по несчастливой случайности граммар-наци, то просто развернется и уйдет. Если нет – переключится на базовую английскую локаль и пополнит ряды тех, кто плюется ядом в сторону переводчиков с руками, растущими из нижних регионов.

Как же добиться того, чтобы локализация не просто налезла на приложение, но и сидела на нем, как влитая?
Читать дальше →

Как сделать простую игру с мультиплеером через Game Center. Часть 1: подключение Game Center'a в приложение

Reading time14 min
Views23K


Перевод замечательного туториала по интегрированию мультиплеера с использованием Game Center в iOS-игру. На сайте автора есть множество уроков, призванных помочь начинающим разработчикам игр.

Игра, над которой вы будете работать, очень проста. Это гонка, участниками которой являются собака и ребенок. Тапайте как можно быстрее, чтобы победить!

Данный туториал подразумевает, что вы знакомы с основами Cocos2D. В противном случае советую ознакомиться с другими Cocos2D-уроками, которые вы можете найти тут.
Читать дальше →

Опыт создания кроссплатформенной игры (iOS/Android)

Reading time6 min
Views84K

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

Дать посту шанс...

Blur в iOS7

Reading time2 min
Views31K
С седьмой версией iOS многие элементы UI стали выглядеть привлекательнее (см. Session 226, Implementing Engaging UI on iOS).

Например, теперь поп-оверы, большинство баров и алерты имеют размытый фон.



Что делать, если хочется добавить блюр в свой контрол, подскажет эта статья.
Читать дальше →

Голосовой поиск «по-русски»

Reading time1 min
Views31K
Yandex SpeechKitВсем привет. Технологии развиваются очень быстро, и очень приятно, что не только за рубежом.
Компания «Яндекс» представила свою разработку, а именно мультиплатформенную библотеку, которая даёт доступ разработчикам к собственной технологии распознавания речи — SpeechKit.
Более подробная информация далее…
Далее?

Information

Rating
8,675-th
Location
Ростов-на-Дону, Ростовская обл., Россия
Registered
Activity

Specialization

Game Developer
Lead
From 800,000 ₽
C#
Unity3d
Node.js
TypeScript
JavaScript
OOP
Database
Git