Pull to refresh
3
Алексей Кравченко @MAXHOread⁠-⁠only

Пользователь

Send message

Сила продуктового мышления: как быть полезным для всех клиентов сразу

Level of difficultyEasy
Reading time5 min
Views1.6K

При проектном мышлении мы отталкиваемся от боли каждого клиента. У каждого клиента она своя, поэтому каждый проект уникален. А продукт должен быть универсален. Он должен принести пользу как можно большему числу клиентов, а не покрыть боль одного. То есть, продуктовые мышление — умение сделать такой продукт, который удовлетворит потребности большей части рынка.

Нашим коллегам Александру Николаеву из практики BPM и Наталье Ждановой из практики LowCode удалось прокачать два этих паттерна — продуктовый и проектный. В статье они рассказали, в чем видят пользу каждого из типов мышления и как их развить.

Читать далее
Total votes 6: ↑3 and ↓3+3
Comments4

Реализация циклической генерации подземелий «изнутри»: да что тут сложного?

Level of difficultyEasy
Reading time14 min
Views9.1K

Вам нравятся старые Legend of Zelda времён SNES и GBA? Может быть, вам пришлась по вкусу Dark Souls? А, возможно, вы ещё и фанат Quake? Но что объединяет все эти игры? Для меня это в первую очередь дизайн уровней. Головоломки, удобные шорткаты и нелинейность исследования - вот то, что делает карту игры частью общего игрового процесса и вдыхает жизнь в процесс исследования мира.

В наше время расцвета жанра rogue-lite вопрос генерации игровых уровней актуален как никогда. Однако по-настоящему интересные уровни в жанре - большая редкость, я бы даже сказал, феноменальная. Чаще всего уровни представляют собой просто наборы заранее заготовленных комнат-коробок, случайным образом приставленных друг к другу, без какой-либо логичной высокоуровневой картины. Но, всё же, я знаю одну игру, которая взяла принципиально другой подход: Unexplored. На мой взгляд, она пересмотрела устоявшийся стереотип об ограничениях левелдизайна в рогаликах. Всё, что для этого понадобилось - циклическая генерация подземелий (Cyclic dungeon generation).

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

Каких же?
Total votes 28: ↑28 and ↓0+34
Comments15

Майские мини-ПК: 5 хороших моделей для разных задач

Reading time3 min
Views10K

Источник.

Как всегда, производители продолжают разрабатывать и выпускать миниатюрные ПК — как мощные, так и не очень. Конечно, их много, поэтому в подборке указываем пять моделей, которые нам понравились по той либо иной причине. Если вы знаете устройство, которое можно порекомендовать — ждем в комментариях. Подробности — под катом.
Читать дальше →
Total votes 40: ↑40 and ↓0+52
Comments11

SVG-виджеты для tcl/tk. Часть I

Level of difficultyMedium
Reading time13 min
Views2K

Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:

Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества

Читать далее
Total votes 11: ↑8 and ↓3+11
Comments1

Безопасность веб-приложений для самых маленьких фронтов

Level of difficultyEasy
Reading time7 min
Views8.2K

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

Статья подготовлена по материалам внутреннего митапа по информационной безопасности.

Читать далее
Total votes 19: ↑18 and ↓1+19
Comments7

Как победить бездушный рандом в roguelike-играх

Reading time13 min
Views18K


Умирая в игре 30-й раз, невольно задумываешься: все ли продумал геймдизайнер и не напортачил ли он с балансом? Не всегда можно подстроиться под неожиданные изменения, особенно когда они созданы процедурной генерацией.

Дальше материал, в котором разбирается роль случайностей в roguelike-играх и жанр в целом — чем чреваты непродуманные системы рандома и что, по мнению автора, не так с «рогаликами».
Читать дальше →
Total votes 27: ↑25 and ↓2+28
Comments64

Уютный VPS-сервер для маленьких проектов: как настроить

Reading time17 min
Views55K

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

Если вам тоже хочется создать в сети свое личное пространство, но вы не знаете, с чего начать, или вам просто интересны такие замечательные программные продукты как Docker, Portainer, Traefik – добро пожаловать под кат.

Введение


Признаться честно, я не очень люблю командную строку. То есть, мне нравится сама идея легкого минималистичного универсального интерфейса, практически не требующего ресурсов, но черное окно с мигающим курсором вызывает у меня фрустрацию и чувство беспомощности. И я даже знаю откуда это у меня. 
Читать дальше →
Total votes 47: ↑36 and ↓11+32
Comments31

Пиксель-арт: от черновика до игрового ассета

Reading time10 min
Views131K
imageimage
В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно.

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

Если вам это знакомо, то данная статья как раз для вас, так что продолжайте читать.

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

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

Если возьмётесь за работу очень усердно, то, возможно, получите неплохие результаты через несколько месяцев.
Читать дальше →
Total votes 104: ↑103 and ↓1+102
Comments20

Яндекс запустил облако

Reading time2 min
Views66K
Сегодня компания Яндекс открыла новый сервис Яндекс.Облако.



Вычислительные мощности Яндекса и сервисы для обработки и хранения данных. Яндекс.Облако — публичная облачная платформа, где вы можете создавать и развивать свои проекты.

Проект представляет из себя 7 различных сервисов:

  1. Yandex Compute Cloud — Виртуальные машины и диски
  2. Yandex Object Storage — Масштабируемое хранилище данных
  3. Yandex Virtual Private Cloud — Сети для обмена информацией между облачными ресурсами и интернетом
  4. Yandex Identity and Access Management — Идентификация и контроль доступа к облачным ресурсам
  5. Yandex Managed Databases — Управление базами данных ClickHouse, PostgreSQL и MongoDB
  6. Yandex SpeechKit — Комплекс технологий распознавания и синтеза речи
  7. Yandex Translate — Машинный перевод с поддержкой более 90 языков

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

Мне, как владельцу проектов Поиск VPS и VPS.today больше всего интересны виртуальные серверы. Первая особенность, которую я заметил у Яндекса — это то, что в выключенном состоянии за виртуальную машину не нужно платить.
Читать дальше →
Total votes 101: ↑93 and ↓8+85
Comments168

Погружение в разработку на Ethereum. Часть 0: блокчейн не нужен

Reading time7 min
Views13K
Наверняка многие из вас задумывались, зачем вообще понадобился блокчейн и Ethereum в частности. Кто-то возможно пошел дальше и нашел множество красивых характеристик: децентрализация, прозрачность, доверие без посредников, взломостойкость. Это же просто отлично, правда? Да, но…

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments18

JSFiddle — новая версия

Reading time4 min
Views19K
Привет!

Сегодня, я хочу поговорить об одном полезном инструменте — jsfiddle. Сейчас мало кто из разработчиков не знает о его существовании, поскольку jsfiddle очень прост в использовании и достаточно функционален. Но, возможно, кто-то из вас откроет для себя что-то новое, прочитав эту статью. Давайте знакомиться.
jsFiddle — одна из самых популярных сред веб-разработки (работающая в веб-браузере), позволяющая редактировать и запускать код, написанный на HTML, JavaScript и CSS, который будет называться «фиддлом». Есть возможность использовать библиотеки для JavaScript, такие как jQuery.

Одно из популярных применений jsFiddle — вставка фрагмента кода в блоги, возможность делиться кодом через социальные сети и совместная работа над кодом.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Разбор явлений негативной атмосферы и как с этим бороться

Reading time6 min
Views3.7K
Как гласит теория игр, в любой игре есть цель — победа. В рассматриваемой онлайн-игре речь идет о командной работе пятерых (обычно) игроков. Средство достижения цели — вклад каждого игрока из команды в победу. У каждого игрока есть своё предназначение. И в зависимости от исполнения, цель приближается или отдаляется (оставляя это на откуп других игроков, либо на волю случая). От «рабочей атмосферы» в команде также зависит насколько сильно будет делаться вклад. Вклад игроков можно как резко снизить, так и значительно повысить.

Знакомая ситуация, не правда ли? Особенно актуально для небольших компаний, с уровнем зрелости 1 или 2[1]. В данной статье будут проведены наблюдаемые параллели в мотивации игроков и айтишников. Полезно всем непосредственным менеджерам команд, техническим руководителям (тим-лидам).
Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments18

Машинное обучение и экструдер полипропилена: история 3 места на хакатоне Сибура

Reading time7 min
Views12K
Хакатон "Цифровой завод", организованный Сибуром и AI Community, состоялся на прошлых выходных. Одна из двух задач хакатона была на тему predictive maintenance — нужно было предсказывать проблемы в работе экструдера. Её мы и решили. Рассказ сосредоточен в основном на data science'ной части решения, и о том, как нам удалось научиться неплохо прогнозировать довольно редкие события.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments11

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

Reading time4 min
Views43K

Римский-Корсаков за работой. Сейчас композиторы-одиночки встречаются все реже. В топы врываются композиции, созданные целыми группами людей

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

Ситуация вовсе не новая, она повторяется год от года. Нечто подобное наблюдалось, например, в 60-е (рок), 80-е (поп), 90-е (хип-хоп). Все это актуально и для современности. Но, как оказалось, сейчас музыканты начинают сочинять уж очень похожую музыку. Порой и голос артиста, и музыка и сами артисты настолько похожи друг на друга, что их становится сложно различить.
Читать дальше →
Total votes 18: ↑13 and ↓5+8
Comments88

AGPM – как Git для групповой политики. Почти

Reading time6 min
Views15K


Octopussy By Robert Bowen


Сегодня я хочу поведать о стильной, модной, но не очень молодежной — ей уже 10 лет — модели работы с групповыми политиками с использованием Advanced Group Policy Management.


Она добавляет изюминку вроде версионирования и контроля при создании и изменении GPO.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments1

Пишем мессенджер с открытым исходным кодом

Reading time6 min
Views71K

Зачем пишем?


tinode logo

Давным-давно в одной далекой стране была компания America Online. И был у нее удивительный частный Интернет за заборчиком, где вместо URL-ов были "keywords": что-то среднее между адресом веб страницы и купленным ключевым словом в рекламе. Компании боролись за интересные ключевые слова, как сейчас борются за домены, а реклама выглядела так: "посетите нас во всемирной сети по адресу www.example.com, или наберите AOL Keyword: 'banking'".


История имеет свойство повторяться. Сейчас роль Америки Онлайн играют основные мессенджеры: все они за заборчиками, несовместимы друг с другом, все изобретают свои keywords, желают схватить пользователя и уже никогда не отпускать. Компании не заинтересованы в открытости: более крупные игроки не желают делиться пользователями с более мелкими и уж тем более становиться открытыми. В результате невозможно послать сообщение даже из WhatsApp в Facebook Messenger, несмотря на то, что оба принадлежат одной компании. Да и пользователи ценят надежность и удобство выше абстрактной открытости, хотя многих раздражает, что часть друзей, например, в Telegram, часть в WhatsApp, а родители в Skype.


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

Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments208

Основа геймплея игры на C++ для Unreal Engine

Reading time13 min
Views58K
image

Основа геймплея для Unreal Engine 4 предоставляет разработчику мощный набор классов для создания игры. Ваш проект может быть шутером, симулятором фермы, глубокой RPG — это неважно, основа очень универсальна, делает за вас часть тяжёлой работы и задаёт некоторые стандарты. Она довольно сильно интегрирована в движок, поэтому рекомендую вам придерживаться этих классов, а не пытаться изобретать собственную основу игры, как это часто бывает в движках наподобие Unity3D. Понимание этой основы очень важно для успешной и эффективной работы над проектами.

Для кого эта статья?


Для всех, кого интересует создание игр в UE4, а конкретно на C++, и кто хочет больше узнать о основе геймплея Unreal. В этом посте рассматриваются базовые классы, которые вы будете использовать в основе геймплея, и объясняется их применение, процесс создания их экземпляров движком и способ получения доступа к этим классам из других частей кода игры. Бо́льшая часть информации справедлива также и для блюпринтов.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments3

Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Reading time6 min
Views267K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments77

NumPy в Python. Часть 2

Reading time5 min
Views107K

Предисловие переводчика


Продолжаем перевод статьи о numpy в python. Для тех кто не читал первую часть, сюда: Часть 1. А всем остальным — приятного чтения.



Другие пути создания массивов


Функция arange аналогична функции range, но возвращает массив:

>>> np.arange(5, dtype=float)
array([ 0.,  1.,  2.,  3.,  4.])
>>> np.arange(1, 6, 2, dtype=int)
array([1, 3, 5])

Функции zeros и ones создают новые массивы с установленной размерностью, заполненные этими значениями. Это, наверное, самые простые в использовании функции для создания массивов:

>>> np.ones((2,3), dtype=float)
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
>>> np.zeros(7, dtype=int)
array([0, 0, 0, 0, 0, 0, 0])
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments10

Dagaz: Ищем таланты

Reading time18 min
Views3.1K
imageДелай с нами,
делай, как мы,
делай лучше нас!

Телепередача 80-ых


Должен признаться, я не очень хорош в разработке ботов. Уверен, есть люди, умеющие это делать гораздо лучше меня. И я бы очень хотел, чтобы такие люди присоединились к проекту. В плане материального поощрения, предложить я могу немногое. Dagaz был задуман как бесплатная и общедоступная альтернатива Zillions of Games. Сам я не против его коммерческого использования, просто пока не придумал, как это можно сделать.

Проект, безусловно, продолжит развиваться и останется бесплатным (в своей основе). Любого человека, внесшего свой вклад в его развитие я буду считать своим другом и соавтором. Разумеется, указание авторства, для всех модулей, в разработке которых эти люди приняли участие, будет обязательным. Кроме того, я готов оказать любую посильную техническую помощь по проекту. Например, я могу рассказать о том, как разрабатывать игровых ботов.
Total votes 11: ↑10 and ↓1+9
Comments12

Information

Rating
Does not participate
Registered
Activity