Search
Write a publication
Pull to refresh
4
0.9
Дмитрий Померанцев @pda0

User

Send message

7 принципов проектирования приложений, основанных на контейнерах

Reading time7 min
Views20K
В конце прошлого года компания Red Hat опубликовала доклад с описанием принципов, которым должны соответствовать контейнеризированные приложения, стремящиеся к тому, чтобы стать органичной частью «облачного» мира: «Следование этим принципам обеспечит готовность приложений к автоматизируемости на таких платформах для облачных приложений, как Kubernetes», — считают в Red Hat. И мы, изучив этот документ, с их выводами согласны, а посему решили поделиться ими с русскоязычным ИТ-сообществом.



Обратите внимание, что эта статья является не дословным переводом оригинального документа (PDF), подготовленного Bilgin Ibryam — архитектором из Red Hat, активным участником нескольких проектов Apache и автором книг «Camel Design Patterns» и «Kubernetes Patterns», — а представляет основные его тезисы в довольно свободном изложении.
Читать дальше →

Красивый листинг файлов и директорий в nginx

Reading time9 min
Views41K

Для web-сервера Apache существует множество инструкций, в том числе и на Хабре, как стилизовать стандартный листинг файлов и директорий. Однако, как сделать также для сервера nginx, в русскоязычном интернете не найти. Порывшись на просторах интернета я нашел один репозитарий, где как раз и решается этот вопрос. Но для кириллических наименований файлов и папок потребовалась небольшая работа "напильником".


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

Использование rrd4j для OpenHab2 persistence

Reading time8 min
Views9K
OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет.

Важной особенностью OpenHab является модульность. Сам по себе сервер обеспечивает базовые функции (даже без какого бы то ни было UI). Весь остальной функционал предоставляется плагинами. Одним из типов плагинов является persistence – предоставление возможности хранить историю значения для айтемов (параметров устройств). Это необходимо для отображения исторических данных (графики) и восстановления состояния айтемов при рестарте сервера.

Существующие плагины позволяют использовать для хранения все популярные БД. Я же расскажу про настройку очень интересного бекэнда – rrd4j. Это высокопроизводительное хранилище для данных, которые представляют собой ряды значений, привязанных ко времени. Автор вдохновлялся набором RRDTools, но переписал его функционал на Java (OpenHab тоже написан на Java), оптимизировал и расширил функционал. Файлы хранилищ rrd4j не совместимы с файлами RRDTools.
Читать дальше →

Туториал: toon-контуры в Unreal Engine 4

Reading time11 min
Views10K
image

Когда говорят о «toon-контурах», то имеют в виду любую технику, которая рендерит линии вокруг объектов. Как и cel shading, контуры помогают игре выглядеть более стилизованной. Они могут создавать ощущение того, что объекты нарисованы красками или чернилами. Примеры такого стиля можно увидеть в таких играх, как Okami, Borderlands и Dragon Ball FighterZ.

В этом туториале вы научитесь следующему:

  • Создавать контуры с помощью инвертированного меша
  • Создавать контуры с помощью постобработки и свёрток
  • Создавать и использовать функции материалов
  • Сэмплировать соседние пиксели

Примечание: в этом туториале подразумевается, что вы уже знаете основы Unreal Engine. Если вы новичок в Unreal Engine, то рекомендую изучить мою серию туториалов из десяти частей Unreal Engine для начинающих.

Если вы не знакомы с постобработкой материалов, то вам сначала стоит изучить мой туториал по cel shading. В этой статье мы будем использовать некоторые из концепций, изложенных в туториале по cel shading.
Читать дальше →

Золотое правило git rebase

Reading time4 min
Views30K
Всем привет!

Мы тут немного переделали наш курс посвящённый web-разработке и добавили ещё целый месяц изучения JS. Ну и как обычно у нас — рассмотрим что-нибудь интересное, что разбирается у нас на курсе. В данном случае — git rebase.

Поехали.

Что на самом деле происходит во время git rebase, и почему вас должно это волновать.

Основы rebase-а

Таким вы могли бы представить себе rebase в git:


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

Анимированный эффект щита космического корабля в Unity3D

Reading time14 min
Views19K
Привет Хабр! Я хочу рассказать как сделать шейдер для отрисовки щита космического корабля в Unity3D.

Вот такой


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

Заинтересовавшихся прошу под кат. (Осторожно! Внутри тяжелые картинки и гифки).

Австралийский английский: что это такое и как его понимать

Reading time9 min
Views52K
Недавно мы размещали статью про американский английский, и в комментариях нам предложили сделать аналогичный разбор австралийского. Тема оказалась очень обширная, поэтому статья разделена на две части: история австралийского английского и особенности произношения.


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

Ищем закономерности на бирже

Reading time5 min
Views45K

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


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

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

Профилирование: оптимизация

Reading time10 min
Views8.5K


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

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

5 ошибок при разработке WebRTC звонков из браузера

Reading time5 min
Views17K
precut

WebRTC — не самая простая штука. Только недавно API стали поддерживать все основные браузеры, но с оговорками и «нюансами». Добавим к этому темное наследие VoIP телефонии в виде торчащего наружу SIP, борьбу между Ёжиком и SIP с применением oRTC, падающие при неудачном сочетании звезд браузеры — и получаем штуку, которую не в любом коворкинге за вечер запилишь. Цахи, бессменный автор bloggeek.me и старый телеком-разработчик, продолжает писать как все это правильно готовить. А мы в Voximplant адаптируем перевод для Хабра, основываясь на собственном многолетнем опыте голосовых и видеозвонков с участием браузеров.
Читать дальше →

Как адаптировать игру на Unity под iPhone X к апрелю

Reading time4 min
Views19K


Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официальной документации и Human Interface Guidelines. А хорошими и подробными статьями об адаптации игр на Unity ни на русском, ни на английском языке нас не радуют. А так как в War Robots поддержка нового UI появилась с февральским релизом версии 3.6.0, я решил написать собственный гайд со скриптами и скриншотами.
Читать дальше →

Собственная игровая аналитика за $300 в месяц

Reading time19 min
Views7.3K

Мем об аналитике: - Их аналитика этого не умеет; - Сделай свою; - Долго, да и данных много; - А облако?; - Ты что белены объелся? Дорого!; - $300 за 1kk DAU


На рынке много продуктов, подходящих для игровой аналитики: Mixpanel, Localytics, Flurry, devtodev, deltaDNA, GameAnalytics. Но все же многие игровые студии строят свое решение.


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


Ответы на вопросы "Почему?", "Как это сделать?" и "Сколько это стоит?" вы найдете под катом.

Читать дальше →
Помните бесконечное «Давайте Dust 2!» в каждом CS-чате? Реиграбельность — важнейшая черта для онлайн-шутеров. Игрокам раз за разом приходится возвращаться на одни и те же локации, поэтому можно смело сказать, что работа левел-дизайнера не менее важна для проекта, чем код, на котором он написан. Нужно продумать баланс карты во всех ее точках; помнить о разных тактиках игроков и целых команд; расставить достаточное количество укрытий; не забыть о «снайперах»; провести ряд внутренних и внешних тестов; учесть пожелания игроков касательно сеттинга и визуала. И думаем, не только нам интересно, как можно решить все эти задачи.
Подробности – под катом

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени

Reading time18 min
Views22K

Картинка для привлечения внимания: > Replay bug-10492; going back in time


Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта.


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


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


Хотите узнать как это сделать? Прошу под кат.

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

Dragon Bones: создание 2D персонажа и скелетная, mesh-анимация

Reading time5 min
Views77K
Добрый день, читатель! В этой статье рассмотрим процесс разработки типичного персонажа нашей дебютной игры Kidarian Adventures. Я продемонстрирую свою привычную структуру работы, однако, заострю внимание на создании анимации в Dragon Bones, приложу пояснения и самописные видео-туториалы.

Автоматический вторичный DNS давно уже не проблема

Reading time3 min
Views29K
Посмотрев недавно статью, был сильно удивлен, что кто-то еще задается вопросом автоматического прописывания ДНС доменов на вторичном сервере. Хочу поделится своим вариантом «Automate slave DNS support», которым пользуюсь уже много лет. Возможно он подойдет не всем, но он довольно прост.
Читать дальше →

Говорим как американцы: особенности американского произношения

Reading time5 min
Views76K
Очень часто изучение английского языка ведется по британским пособиям, и в результате студент умеет говорить и слышать только рафинированный британский «королевский английский», который, по сути, никем не употребляется. Да-да, даже самой королевой. Но львиная доля бизнеса и практически вся сфера развлечений (кино, музыка, игры) сопряжены с Америкой и американским английским. Вот с ним-то у студентов чаще всего возникают трудности: ничего не понятно, слышно только «р» и «что-то в нос», американцы будто бы «проглатывают» окончания или вовсе целые слова.

На самом деле все не так страшно. Особенности произношения есть в каждом варианте английского языка. Сегодня в блоге Puzzle English посмотрим, чем же американцы так отличаются от британцев.

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

Почему ты не можешь сделать кэшаут

Reading time13 min
Views29K
Статья написана для начинающих инвесторов, которые оценивают риски инвестиций в криптовалюты, а не для опытных участников крипторынка — прим. пер.



Часть 1. Почему «цена» биткоина во многом фикция


В публичных дискуссиях и статьях в СМИ о биткоинах делаются некоторые предположения:

  • У биткоина есть цена, за которую его можно продать или купить.
  • Биткоин можно сравнить с долей в компании или с товаром вроде золота — рынок работает одинаково.
  • Биткоин ликвиден — относительно легко купить биткоины или перевести их в деньги на вашем банковском счету.

Всё это неправда.
Читать дальше →

Еще один способ разложения сигнала в спектр

Reading time3 min
Views13K
Привет всем, здесь я хочу рассказать про алгоритм анализа звукового сигнала, позволяющий разобрать сигнал на отдельные волны, конечно 100% точности он не дает, но тем не менее результат на мой взгляд довольно неплох.

image

Information

Rating
2,711-th
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity