Pull to refresh
21
0
Send message

Монетизация в онлайн-играх: как использовать чужой опыт для собственных нужд

Reading time3 min
Views4K
image

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

О том, как это можно делать см. в продолжении статьи.
Читать дальше →
Total votes 11: ↑6 and ↓5+1
Comments7

Cron в Linux: история, использование и устройство

Reading time13 min
Views88K

Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron.


Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и другие старые программы запускаются скриптами на наших серверах ежедневно. Многие из них оформлены в виде задач для cron, планировщика родом из 70-х.


Я долго пользовался cron поверхностно, не вникая в детали, но однажды, столкнувшись с ошибкой при запуске скрипта, решил разобраться основательно. Так появилась эта статья, при написании которой я ознакомился с POSIX crontab, основными вариантами cron в популярных дистрибутивах Linux и устройством некоторых из них.


Используете Linux и запускаете задачи в cron? Вам интересна архитектура системных приложений в Unix? Тогда нам по пути!

Читать дальше →
Total votes 79: ↑76 and ↓3+73
Comments66

История одной анимации

Reading time17 min
Views14K
Однажды фронтендеру позвонил дизайнер и попросил сделать «паутинку» за запотевшим стеклом. Но потом оказалось, что это не «паутинка», а гексагональная сетка, и не за стеклом, а она уходит вдаль, и с WebGL фронтендер не знаком, а всей анимации пришлось учиться в процессе рисования. Тем фронтендером был Юрий Артюх (akella).



Юрий давно занимается версткой, а по воскресеньям записывает стримы с разбором реальных проектов. Он не профи в WebGL, не делает на нем карты, не пишет на Web-ассемблере, но ему нравится учиться чему-то новому. На FrontendConf РИТ++ Юрий рассказал, как провести одну анимацию от макета до сдачи клиенту так, чтобы все были довольны, и по дороге изучить WebGL. История идет от первого лица и включает в себя: Three.js, GLSL, Canvas 2D, графы и немного математики.
Total votes 42: ↑41 and ↓1+40
Comments4

Светодиодное враньё невиданных масштабов

Reading time3 min
Views260K
В магазинах можно встретить множество мощных светодиодных ламп, например «свечки» и «шарики» 9 и 11 Вт.

Вот только свечек и шариков такой мощности сегодня существовать не может.
Читать дальше →
Total votes 365: ↑364 and ↓1+363
Comments569

Введение в React Hooks

Reading time12 min
Views100K


Если вы читаете Twitter, вы, вероятнее всего, знаете что Hooks  -  это новая фича React, но вы можете спросить, как мы на практике можем их использовать? В этой статье мы покажем вам несколько примеров использования Hooks.
Одна из ключевых идей для понимания заключается в том, что Hooks позволяют использовать state и другие возможности React без написания классов.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments36

CI для фронтенда: Gitlab, Traefik, Docker

Reading time4 min
Views15K
В каждом уважающем себя проекте должны участвовать QA инженеры. Ежедневно перед ними будет стоять задача проверки выполнения задач в отдельных ветках. Очень часто процесс перехода на нужную ветку, сборки и тестирования занимает много времени, к тому же, локально не всегда возможно полностью воссоздать максимально идентичное боевому окружение.

Цель данной статьи — показать простую технику настройки стенда на несколько веток. Данная статья написана разработчикам от разработчика, поэтому вряд ли будет представлять существенный интерес для профессиональных DevOps инженеров.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments11

Flutter для Android-разработчиков. Как создавать UI для Activity, используя Flutter

Reading time6 min
Views21K

Flutter для Android-разработчиков. Как создавать UI для Activity, используя Flutter


Эта статья написана для Android-разработчиков, которые хотят применить свои существующие знания для создания мобильных приложений с помощью Flutter. В этой статье мы рассмотрим эквивалент Activity во Flutter.

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments14

Web PUSH Notifications быстро и просто

Reading time17 min
Views338K

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


Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.


Web PUSH Notifications


Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments66

Патентование алгоритмов компьютерных программ

Reading time10 min
Views27K
Продукты в сфере информационных технологий (далее – ИТ) в общем случае содержат несколько компонентов, правовая охрана которых реализуется разными способами.


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

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

Код компьютерных программ, реализующих алгоритм и интерфейс пользователя, регистрируется как объект авторского права (т.е. как литературное произведение), соответственно, в его отношении охраняется только текстовая форма, а не алгоритм. Графическая часть интерфейса пользователя может патентоваться в качестве промышленного образца. При этом регистрация кода компьютерных программ и патентование графической части интерфейса пользователя может рассматриваться, скорее, как вспомогательный инструмент обеспечения правовой охраны в ИТ-индустрии.

Наиболее надежным и поэтому основным механизмом защиты интересов разработчика программного обеспечения является патентование алгоритмов компьютерных программ в качестве изобретений.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments17

Используем Web Bluetooth API для подключения пульсометра и разрабатываем приложение используя Vue.js

Reading time12 min
Views25K

Продолжаем обсуждать темы затронутые на You Gonna Love Frontend конференции. Эта статья вдохновлённая докладом Michaela Lehr. Видео с конференции будут доступны уже на этой недели, пока есть слайды. (Видео уже доступно)


Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments2

Интеграция Asterisk и Битрикс24

Reading time9 min
Views68K

В сети есть разные варианты интеграции IP-АТС Asterisk и CRM Битрикс24, но мы, все таки, решили написать свою.

По функционалу все стандартно:

  • Кликом на ссылку с номером телефона клиента в Битрикс24, Asterisk соединяет внутренний номер пользователя, от имени которого это клик совершен, с номером телефона клиента. 
В Битрикс24 фиксируется запись о звонке и по окончании вызова подтягивается запись разговора.
  • На Asterisk поступает звонок извне — в интерфейсе Битрикс24 показываем карточку клиента тому сотруднику, на номер которого этот звонок прилетел.
    Если такого клиента нет, откроем карточку создания нового лида.
    Как только звонок завершен, отражаем это в карточке и подтягиваем запись разговора.

Под катом расскажу как все настроить у себя и дам линк на github — да-да, забирайте и пользуйтесь!
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments15

Тёмная сторона MH-Z19

Reading time13 min
Views101K
Что, опять? Сколько ж можно?

Да, сегодня мы снова поговорим о всеми нами любимом датчике углекислого газа Winsen MH-Z19. Нет, повторов не будет*.



* почти

Как вы могли заметить, на страницах настоящего ресурса регулярно появляются страшилки статьи об опасностях высокой концентрации СО2 в помещении. И хотя утверждения, что концентрации выше 1000 ppm несут ад и погибель, слегка преувеличены (википедия говорит, что хоть какие-то эффекты начинаются с 1%, то бишь 10 000 ppm, тогда как у датчика весь диапазон — 5000 ppm) — СО2 может служить индикатором присутствия других нехороших вещей в силу недостаточности вентиляции. Потому я тоже решил приобщиться к увлекательному миру СО2-метрии и разжился упомянутым датчиком.

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

Но пока я копипастил, в душу закрался червь сомнения — а отчего это датчик выдаёт девять байт, а на СО2 из них приходится всего два байта? Может быть, он хочет сказать мне что-то ещё?
Поговорим с датчиком по душам
Total votes 72: ↑72 and ↓0+72
Comments66

Как собрать умную кормушку для кота

Reading time1 min
Views20K

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

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

Схема подключения
Код для arduino
Total votes 36: ↑31 and ↓5+26
Comments63

Реактивная тяга или как устроен ионный реактивный двигатель

Reading time3 min
Views73K


Не секрет, что все реактивные двигатели работают за счёт закона сохранения импульса. Именно из него вытекает, что реактивная тяга — это произведение массового расхода на скорость выхода рабочего тела из сопла.



Эту скорость принято называть удельным импульсом реактивного двигателя. Давайте для примера найдём реактивную тягу при стрельбе из автомата Калашникова, которая является основной составляющей отдачи. Пусть масса пули будет 0,016 кг, начальная скорость пули 700 м/с, а скорострельность 10 выстр./с. Тогда отдача F=700∙0,016∙10=112 Н (или 11 кгс). Большая отдача, но тут приведена техническая скорострельность 600 выстр./мин. В реальности стрельба ведётся очередями или одиночными и составляет ≈50 выстр./мин.

Выстрел из АК


Вернёмся к реальным реактивным двигателям, в которых вместо пуль обычно используются потоки выходящего с гиперзвуковой скоростью газа. Химические реактивные двигатели являются самыми распространёнными, но не единственными.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments120

Параллельная сортировка данных в GPU

Reading time7 min
Views24K


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

GIF

Введение


Если вы изучали теорию вычислительных машин в 80-х или 90-х, есть вероятность, что вы упорно пытались понять, что же некоторые разработчики находят восхитительного в алгоритмах сортировки. То, что поначалу кажется незначительной задачей, оказывается краеугольным камнем Computer Science.

Но что же такое «алгоритм сортировки»? Представьте, что у вас есть список чисел. Алгоритм сортировки — это программа, получающая этот список и изменяющая порядок чисел в нём. Понятие алгоритмов сортировки часто вводится при изучении вычислительной сложности — ещё одной обширной области знания, которую я подробно рассмотрю в будущих статьях. Существует бесконечное количество способов сортировки списка элементов, и каждая стратегия обеспечивает свой собственный уникальный компромисс между затратами и скоростью.
Total votes 54: ↑54 and ↓0+54
Comments20

Отзыв сертификатов не работает

Reading time11 min
Views57K
Прямо сейчас у нас есть небольшая проблема, но на мой взгляд, со временем ситуация может только ухудшиться. Всё больше и больше сайтов получают сертификаты — необходимые документы для внедрения HTTPS — но у нас нет механизма для защиты от злоупотреблений.

Сертификаты


Мы сейчас видим настоящую золотую лихорадку вокруг сертификатов, поскольку всё больше сайтов внедряют HTTPS. Кроме очевидных преимуществ безопасности и приватности, есть и другие выгоды от внедрения защищённых соединений, которые я перечислил в статье «Вы всё ещё думаете, что вам не нужен HTTPS?». Обычно именуемые «SSL-сертификаты» или «HTTPS-сертификаты» разлетаются со скоростью, которой мы никогда не видели в истории интернета. Каждый день я исследую сайты из первого миллиона по посещаемости и анализирую различные аспекты их безопасности, а каждые 6 месяцев публикую отчёт. Вы можете изучить эти отчёты здесь, но сейчас посмотрим на темпы внедрения HTTPS.


Процент сайтов из первого миллиона самых популярных сайтов по статистике Alexa, где стоит редирект на версию HTTPS
Читать дальше →
Total votes 103: ↑103 and ↓0+103
Comments123

Синхронизация состояний в многопользовательских играх

Reading time13 min
Views45K
image

Проблема многопользовательских игр


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

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

Обычно программа игры должна симулировать следующее:

изменения в окружении с учётом времени и вводимых игроками данных.

Игра — это программа, хранящая состояние, поэтому она зависит от времени (реального или логического). Например, PACMAN симулирует окружение, в котором постоянно перемещаются призраки.

Многопользовательская игра не является исключением, однако из-за взаимодействия игроков её сложность намного выше.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments38

Мультиплеер в быстрых играх (части I, II)

Reading time7 min
Views141K


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)


Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments109

Обзор анимации с codepen для страниц загрузки сайта

Reading time14 min
Views26K
Обзор анимации с codepen для страниц загрузки сайта

Программисты проверяют идеи для сайтов на площадках: codepen, jsbin, jsfiddle, cssdesk. Потому что там они мгновенно видят результат написанного кода и могут показать его другим.


Codepen — одна из самых популярных. Там более 500 тыс. готовых решений. Из них половина — хлам: неэффективный код, не работают на планшетах и телефонах, не поддерживают все популярные браузеры. Надо потратить много часов на поиск идеи, которую можно использовать на своем сайте.


Я решил делать подборки полезных решений с codepen. Первую уже выпускал на хабре «Обзор многоуровневых меню». Теперь вторая — «Обзор анимации для страниц загрузки сайта».


Подборку разделил на 3 статьи.


Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments13

Интерактивная кредитка для ввода платежа

Reading time6 min
Views12K
Эта статья повествует о не самом сложном способе разработки интерактивных элементов практически сразу в браузере, если вы не разработчик.



Интерфейсная анимация сейчас в тренде. Причин несколько: улучшение юзабилити и повышение привлекательности продукта в целом. И третья — развитие инструментов для анимирования на глобальном IT рынке. Сейчас так много разных утилит, чтобы оживить любой дизайн / прототип, что странно было бы пройти мимо такого движения, нужно приобретать навыки. Инструментов множество, перечислять все не буду. Но об одном конкретном упомяну…

Я работаю в Axure. Самый весомый плюс для меня оказался в нём благодаря возможности создавать интерфейсы практически сразу в браузере. Я вижу все элементы, шрифты, отступы сразу в “боевой готовности”, едва успев внести их в макет. Я знаю, что такими же увидят их разработчики. Я знаю, что в 99% ничего “не поломается” в дизайне.
Total votes 15: ↑14 and ↓1+13
Comments33
1
23 ...

Information

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