Pull to refresh
10
0
Владислав Шевченко @lutov

Архитектор ПО

Send message

Разработка персонажей для игры «Аллоды Онлайн»

Reading time25 min
Views213K
image

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

Всё, что говорится в правилах, основано на огромном опыте разработки. Тут каждая буква имеет значение, и если вам показалось, что где-то есть ошибка или недосказанность, то лучше семь раз переспросить, чем сделать абы как. Ниже расписаны правила успешной работы в игровой индустрии. Если их не соблюдать, то ваша работа будет или недолгая, или неуспешная, или мучительная и для вас, и для заказчика. А если станете создавать персонажей в полном соответствии с этим руководством, то вас ждёт успех!
Читать дальше →

Рекомендательная система: text mining как средство борьбы с холодным стартом

Reading time5 min
Views18K
В предыдущей статье я уже обозначил основные направления решения задачи холодного старта в рекомендательной системе веб-страниц. Напомню, что проблема холодного старта делится на холодный старт для пользователей (что показывать новым пользователям) и холодный старт для сайтов (кому рекомендовать вновь добавленные сайты). Сегодня я более подробно остановлюсь на методе семантического анализа текстов (text mining) как основном подходе к решению проблемы холодного старта для новых сайтов.
Читать дальше →

Интерактивные рекоммендеры: как создавать, как работают

Reading time9 min
Views6.3K
Как строить рекомендательные системы? Какие модели машинного обучения можно применять? Какие проблемы решают интерактивные рекоммендеры, а какие – нет? Какие инструменты могут быть полезны для e-commerce портала? Об этом – в докладе Big Data-инженера ЕРАМ Екатерины Сотенко «Обзор подходов построения интерактивных рекоммендеров», с которым она выступила на самарском ITsubbotnik этой весной. Ниже – видеозапись доклада, еще ниже – его краткое содержание.


Возможности PostgreSQL для тех, кто перешел с MySQL

Reading time9 min
Views51K

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


Мы рады сообщить, что подготовка к PG Day'17 Russia идет полным ходом! Мы опубликовали полное расписание предстоящего мероприятия. Приглашаем всех желающих прийти и похоливарить с Антоном лично



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


Почему вообще возникла идея такого доклада? Дело в том, что PostgreSQL сейчас явно хайповая технология, и многие переходят на эту СУБД. Иногда — по объективным причинам, иногда — просто потому что это модно.


Но сплошь и рядом складывается такая ситуация, когда какой-нибудь условный программист Вася вчера писал на MySQL, а сегодня вдруг начал писать на Посгресе. Как он будет писать? Да в целом также, как и раньше, используя лишь самый минимальный набор возможностей новой базы. Практика показывает, что проходят годы, прежде чем СУБД начинает использоваться более менее полноценно.

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

Пакет-географ – первая рабочая версия

Reading time6 min
Views25K

Прежде всего хотел бы поблагодарить за более, чем 80 звёзд на GitHub, которые мне дали читатели Хабра по результатам предыдущего поста. И это несмотря на то, что репозиторий был почти пустой, а ссылка была неочевидна. На лицо полезность этого пакета!


Для тех, кто пропустил первый пост, маленькое повторение. Если у Вас в приложении есть что-то вроде:


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

Bash-скрипты, часть 8: язык обработки данных awk

Reading time14 min
Views342K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит



В прошлый раз мы говорили о потоковом редакторе sed и рассмотрели немало примеров обработки текста с его помощью. Sed способен решать многие задачи, но есть у него и ограничения. Иногда нужен более совершенный инструмент для обработки данных, нечто вроде языка программирования. Собственно говоря, такой инструмент — awk.
Читать дальше →

Создание истории карточным методом: упрощаем жизнь сценаристам

Reading time7 min
Views44K

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


ultra_outliner — это бесплатный инструмент для оптимизации разработки художественных историй карточным методом. Он выполнен в форме графического приложения и адресован сценаристам и писателям, а также игровым дизайнерам и разработчикам квестов. Инструмент позволяет работать с виртуальными карточками, персонажами, их характеристиками (и измерениями), локациями и специальными объектами. В составе ultra_outliner присутствует несколько редакторов, которые позволяют выстроить структуру истории, сюжетные линии, черты персонажей и др.


Lead

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

Шаблоны проектирования с человеческим лицом

Reading time32 min
Views535K

image


Шаблоны проектирования — это способ решения периодически возникающих проблем. Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства.


Как сказано в Википедии:


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

image Будьте осторожны


  • Шаблоны проектирования — не «серебряная пуля».
  • Не пытайтесь внедрять их принудительно, последствия могут быть негативными. Помните, что шаблоны — это способы решения, а не поиска проблем. Так что не перемудрите.
  • Если применять их правильно и в нужных местах, они могут оказаться спасением. В противном случае у вас будет ещё больше проблем.

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

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

Красивые формы для приёма банковских карт с CardInfo.js

Reading time5 min
Views47K

UPD. CardInfo больше не работает. Используйте BinKing.


Гайд по использованию: https://habr.com/ru/post/527796/
Сайт сервиса: https://binkng.io

Всем кто верстал, верстает или будет верстать форму для приёма банковских карт дарю плагин CardInfo.js, с помощью которого можно сверстать вот такую форму:



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


Поиграться с формой можно на демо странице. Код плагина и инструкции по установке на гитхабе.


Под катом:


  • Пара слов о плагине;
  • Про базу банков, и почему их 49, а не 50;
  • Про логотипы банков;
  • Про логотипы типов;
  • Несколько моих вопросов к читателям;
Читать дальше →

php-cs-fixer: Пишем свой фиксер

Reading time5 min
Views19K

Качество кода не только в том, как он работает, но и в том как выглядит. То, что единый в рамках кампании code style — это очень важная вещь — в наши дни убеждать уже никого не нужно. Код должен быть не только написан, но и оформлен. В плане оформления PHP кода, утилита php-cs-fixer давно уже стала стандартом. Использовать ее довольно просто, есть куча правил и можно удобно забиндить ее запуск на какую-нибудь комбинацию клавиш в шторме или на pre-commit hook в гите. Все это легко гуглится и подробно разбирается в сотнях статей. А мы сегодня поговорим о другом. Хотя в php-cs-fixer есть большое количество разных фиксеров, но что, если нам понадобится такой, которого там нет? Как написать собственный фиксер?
Читать дальше →

Выделение подпроекта в отдельный репозиторий на github

Reading time3 min
Views19K

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


Итак, что дано:


  • Есть большой репозиторий, содержащий множество папок. Каждая папка – это отдельный проект.

Что необходимо сделать:


  • Одну из папок перенести в отдельный репозиторий с сохранением ее истории коммитов.

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


Я использовал стандартный гитовый filter-branch. За основу я взял следующие статьи:



В этом посте я хочу немного адаптировать процесс для лучшего восприятия.

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

Кроссбраузерная отправка формы с файлом или как переписать весь отправщик несколько раз после тестирования в IE

Reading time7 min
Views16K
Задача: отправка и обработка файлов с помощью FormData и FileReader в форме со всеми возможными полями и пересылкой дополнительных параметров для каждого поля c объединением всех данных формы (кроме файлов и системных полей) в общий массив.

Поддержка: все современные браузеры, IE 10+.

Плагины: jquery-2.1.4

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

CSS-анимация подождет

Reading time5 min
Views18K

Перевод статьи Making Animations Wait от Donovan Hutchinson.


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


Делаем более-менее универсальный калькулятор услуг для сайта

Reading time9 min
Views73K
Беглый анализ открытых данных показывает, что ежедневно в среднем 5 человек оставляют заявки на создание калькулятора на биржах фриланса — а еще несколько сотен интересуются вопросом в поиске. Часто запросы стандартны — и, конечно, на рынке сложился целый набор готовых предложений: от плагинов для конкретных CMS до калькуляторов, которые можно приобрести у студий. Рекорд, обнаруженный нами (см. в первом комментарии) — 24 999 рублей за довольно обычное решение.

Да, рынок есть рынок. Но поскольку мы в основном работаем с людьми, чьи сайты сделаны на конструкторах, у них нет 25 тысяч на один виджет. Вот и возникло желание написать калькулятор, которым они смогли бы пользоваться самостоятельно — и без изучения HTML, JS, JQuery и CSS.



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

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

Adobe бесплатно раздает Creative Suite 2 (или же не раздает?)

Reading time2 min
Views320K
Читайте UPD7, Adobe разместила официальный ответ в своем блоге.

Акция невиданной щедрости от Adobe. Они решили раздать хоть и устаревший, но все же полный Creative Suite второй версии. Доступны версии как под Mac (PowerPC) так и под Windows.

В комплекте:
  • Creative Suite 2
  • Acrobat 3D 1.0 for Windows
  • Acrobat Standard 7.0
  • Acrobat Pro 8.0
  • Audition 3.0
  • GoLive CS2
  • Illustrator CS2
  • InCopy CS2
  • InDesign CS2
  • Photoshop CS2
  • Photoshop Elements 4.0/5.0
  • Adobe Premiere Pro 2.0


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


Скачать можно тут

UPD: Сайт слег, ключи одни и те же для всех. Под катом ключи и ссылки на софт. А так же сообщение от одного из разработчиков, говорящее что данные ключи и установщики могут использоваться только теми у кого уже есть купленная лицензия на CS2.
Читать дальше →

Как я разбирал docx с помощью XSLT

Reading time16 min
Views69K

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

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

Работа с Flexbox в гифках

Reading time4 min
Views39K
Flexbox так и напрашивается на то, чтобы создавать по нему визуальные шпаргалки. Сегодня мы предлагаем вам перевод статьи Скотта Домеса «Как работает Flexbox – в больших, ярких анимированных гифках», своего рода наглядное пособие.



Flexbox обещает избавить нас от недостатков стандартного CSS (таких как вертикальное выравнивание).
Следует признать, что Flexbox действительно справляется с поставленной задачей. Однако освоение этой новой модели может вызвать некоторые затруднения.
Попробуем продемонстрировать, как функционирует Flexbox, позволяя создавать более совершенные макеты страниц.
Читать дальше →

Powershell и кирилица в консольных приложениях (updated)

Reading time6 min
Views153K
В процессе разработки очень часто возникает необходимость запустить из powershell скрипта консольное приложение. Что может быть проще?

#test.ps1
& $PSScriptRoot\ConsoleApp.exe


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

9 нелепых способов открыть .sketch-файл. И один ничего такой

Reading time2 min
Views104K
Итак: требуется открыть .sketch-файл, созданный программой Sketch. Той самой, которая есть только на Mac’ах.

А Mac’a нет. Есть только Windows и этот дурацкий .sketch-файл, который кто-то прислал. И у этого кого-то Mac есть. А у тебя нет. Только Windows.
Читать дальше →

Автоматическая очистка старых драйверов, или выжмем немного места из Windows 7

Reading time6 min
Views233K
В один прекрасный (или печальный, кому как) день мне надоело, что у меня периодически заканчивается место на ноутбуке. Да, я в курсе, что жёсткие диски сейчас дешевы, но это для меня не выход, потому что:
  • У меня SSD, а он всё-таки подороже будет, чем обычные HDD (объём моего текущего SSD — 120 гигов)
  • Ноутбук рабочий, соответственно данные на нём тоже, должны быть шифрованы, всё такое, поэтому самопальный и не утверждённое работодателем носитель втыкать не стоит
  • Я жадный :)

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

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity