Как стать автором
Обновить
2
0

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

Отправить сообщение

5 библиотек для Vue.js, без которых мне не обойтись

Время на прочтение10 мин
Количество просмотров32K
Опытные разработчики знают о том, что иногда, пытаясь сэкономить время и решить какие-то задачи своего проекта с помощью пакета, созданного кем-то другим, можно, в итоге, потратить больше времени, чем было сэкономлено. Библиотеки, жёстко регламентирующие реализацию неких механизмов и не позволяющие решать с их помощью необычные задачи, выходящие за рамки того, что кажется правильным их авторам, заставляют нас, буквально сразу же после их установки, жалеть о том, что мы вообще решили их попробовать.



Хотя со мной такое случалось довольно часто, у меня, всё же, есть небольшой список любимых библиотек, которые я использовал во множестве проектов, и которые за долгое время доказали свою крайнюю полезность. Я испытал множество подходов к решению тех задач, которые решают эти библиотеки. На мой выбор повлияло удобство работы с библиотекой, разнообразие её возможностей, хороший внешний вид того, что получается при её применении. В итоге у меня и появился тот список, которым я хочу с вами поделиться.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+41
Комментарии26

Opium.Fill — стандартизация цветовой схемы глазами программиста

Время на прочтение11 мин
Количество просмотров14K
Синее лицо, из глаз растут грибы

Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту.

В общем, попробую объяснить, как дизайнеры используют цвет в UI и как всё это можно «типизировать», не вгоняя дизайнеров в жёсткие рамки. Приведу примеры реализации на React JS (для разработчика) и в Figma (для дизайнера). Привязки к React и Figma у схемы нет, просто мне в них привычнее.

В схеме нет ничего хитрого и уникального (может, только название). Все идеи висят в воздухе. Можно воспринимать её как мой best practice по работе с цветом в приложениях. Opium.Fill — это общие принципы, совмещённые с любовью давать всему подряд имена.

Систему можно использовать совместно с Material Design.

Статья написана для front-end разработчика и немного для дизайнера.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Что происходит в «Пиковой даме» Пушкина и во что они играют?

Время на прочтение16 мин
Количество просмотров79K


Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную в свете игру в карты с элементами философских вопросов. Попадание в тогдашнюю аудиторию стопроцентное благодаря невероятно простому порогу входа (31 страница текста итого), очень узнаваемым персонажам, невероятной куче пасхалок, сарказму и актуальной теме.

А предыстория такая. Пока мы со школьными группами осенью ездили по Пскову, зарулили в театр. Он во Пскове неожиданно крутой. Ставили как раз Пушкина. Проблема в том, что дети не поняли сюжет и ещё минут 15 обсуждали после спектакля, что же это такое было и кто выиграл или проиграл. Вроде, очевидно, что Германна где-то прокатили, но вот где и как?

Поэтому мы сейчас поговорим про пасхалки «Пиковой дамы», как Пушкин вьехал сапогом в зубы понтёру и немного про математику. Кстати, Александр Сергеевич был тем ещё кутилой, что не совсем вяжется с образом, который дают на литературе в школе. И поскольку вы сейчас, скорее всего, дома, предлагаю прикоснуться к прекрасному.
Читать дальше →
Всего голосов 171: ↑167 и ↓4+211
Комментарии69

23 непростых вопроса для JavaScript-собеседования

Время на прочтение15 мин
Количество просмотров70K
Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предназначенных для тех, кто хочет превратиться из джуниора в сеньора, для тех, кто стремится успешно пройти собеседование в сфере фронтенд-разработки и получить интересное предложение от работодателя.


Читать дальше →
Всего голосов 50: ↑30 и ↓20+23
Комментарии72

5 дел, которые можно сделать для того, чтобы подготовиться к приходу Vue 3.0

Время на прочтение5 мин
Количество просмотров17K
В 2019 году популярность фреймворка Vue невероятно сильно выросла. Количество еженедельных загрузок Vue удвоилось: в прошлом году это было 600 тысяч, а теперь это 1.2 миллиона. Долгожданная третья версия Vue, следующая итерация фреймворка, должна выйти где-то в первом квартале 2020 года.

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



Здесь я собрал некоторые советы, которые пригодятся тем, кто хочет подготовиться к появлению Vue 3.0. Надеюсь, что тот, кто последует этим советам, сможет очень быстро освоиться в новых условиях.
Читать дальше →
Всего голосов 29: ↑25 и ↓4+36
Комментарии17

Создание красивых процедурных зданий с помощью Blueprint

Время на прочтение6 мин
Количество просмотров10K

Введение


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

Это здание было создано всего из одного модуля, автоматически скопированного в Construction Blueprint. Идея заключается в том, чтобы материал не требовал практически никакого ввода данных вручную. Для всего здания используется только один материал (за исключением окон). Его функции используют для управления рандомизацией цвета вершин и позиции пикселей в мировом пространстве.


Единственный модуль — всё, что нам нужно


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

Описываемый в этом туториале материал:

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

Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Как упаковать VueJS + NodeJS + MongoDB приложение в Docker

Время на прочтение3 мин
Количество просмотров28K
New-Project-1
Как можно понять из предыдущей статьи, я работала с разными проектами. Первые дни в новой команде обычно проходят одинаково: бэкендер подсаживается ко мне и выполняет магические действия по установке и деплою приложения. Докер незаменим для фронтендеров, т.к. бэкенд зачастую написан на широком спектре стеков PHP/Java/Python/C# и фронту не надо каждый раз отвлекать бэка, чтобы все установить и развернуть. Только в одном месте я видела связку Docker-Jenkins с прозрачным деплоем, логами, прикрученными автотестами.

Про докер написано много подробных статей. В этой статьей речь пойдет о развертывании Single Page Application с использованием VueJS/Vue Router, серверная часть в виде RESTful API c NodeJS, а в качестве базы данных используется MongoDB. Для описания и запуска нескольких приложений-контейнеров используется Docker Compose.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии20

[в закладки] PDF- и ePUB-версия руководства по React

Время на прочтение3 мин
Количество просмотров45K
Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что не выпустили все части одним большим куском — исправляемся!



Для новых читателей нашего блога — два бонуса внутри.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии9

Оптимизация Unity UI

Время на прочтение10 мин
Количество просмотров32K

image


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

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии11

Как собеседовать работодателя?

Время на прочтение4 мин
Количество просмотров47K
У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер.

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

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

Читать дальше →
Всего голосов 85: ↑77 и ↓8+69
Комментарии63

Прокачка проекта от Soft Launch до $1 млн выручки в месяц

Время на прочтение11 мин
Количество просмотров16K


Привет, Хабр! Я руковожу отделом закупки трафика для мобильных и десктопных проектов в Mail.ru Group. Сегодня в этом посте я подробно расскажу про трафик для игр. Он написан по мотивам моего доклада на конференции The Big Deal. Но сначала немного о себе. Я работал с огромным количеством проектов по различным маркетинговым задачам, последние полтора года работаю исключительно с мобильными приложениями. За это время успел поработать с несколькими десятками приложений, большинство из которых в soft launch, часть из них выпущена в global, а несколько «раскачали» более чем на $1 млн оборота в месяц. За время работы у меня сформировалось некое видение, как с точки зрения трафика проекта проанализировать метрики и понять, может ли ваш проект расти, развиваться и пропускать через себя огромный объем трафика.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии3

Продвижение вашей инди-игры: самые важные нюансы, о которых никто не знает

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


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


Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Комментарии6

14 советов по написанию чистого React-кода. Часть 1

Время на прочтение12 мин
Количество просмотров30K
Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что способно либо «завалить» собеседование, либо помочь его успешно пройти. Работодатели, принимая кадровые решения, смотрят на код, написанный их потенциальными сотрудниками. Код, который пишет программист, должен быть понятен не только машинам, но и людям.



В материале, первую часть перевода которого мы публикуем сегодня, представлены советы по написанию чистого кода React-приложений. Актуальность этих советов тем выше, чем больше размер проекта, в котором применяются изложенные в них принципы. В маленьких проектах, вероятно, можно обойтись и без применения этих принципов. Принимая решение о том, что нужно в каждой конкретной ситуации, стоит руководствоваться здравым смыслом.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии27

Аккордеон, faq, спойлер и другие раскрывающиеся виджеты

Время на прочтение7 мин
Количество просмотров82K
Аккордеон и faq

Создать аккордеон, faq, спойлер и подобное, можно при помощи Div и JavaScript.
Но лучше: Details и Summary

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

  1. Людям с ограниченными возможностями проще будет пользоваться вашим сайтом! Их софт (скринридеры и подобное) прекрасно понимает html5 теги и будет правильно обрабатывать их и правильно информировать людей о содержимом.
  2. Улучшится связанность текста, и поисковики смогут более качественно индексировать сайт, так как будут лучше понимать, как связаны между собой видимый и скрытый текст.
  3. Будет доступно управление элементами с клавиатуры и других устройств.
  4. Уменьшается количество javascript кода, который нужно подгружать, что увеличивает скорость загрузки страницы, скорость обработки и корректность.
  5. Улучшаются показатели в Lighthouse, Google PageSpeed и других подобных инструментах.
  6. Работает при выключенном javascript.
Всего голосов 38: ↑37 и ↓1+36
Комментарии17

Создаю глобальную базу знаний по элементам питания

Время на прочтение2 мин
Количество просмотров28K
Тестирую элементы питания на профессиональном оборудовании. Цель охватить большую часть рынка элементов питания Европы и России.

На данный момент протестированы более 230 аккумуляторов и батареек. Сделано более 1000 тестов. Израсходовано 4 ящика батареек и несколько месяцев жизни.

Результатом проделанной работы стала база знаний по аккумуляторам и батарейкам. Под катом рассказываю почему я решил создать базу знаний и как это было сделано.


Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии81

Шейдеры 3D-игр для начинающих: эффекты

Время на прочтение18 мин
Количество просмотров14K
[Первая часть]

Разобравшись с основами, в этой части статьи мы реализуем такие эффекты, как контуры объектов, bloom, SSAO, размытие, глубина резкости, пикселизация и другие.

Контуры



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

Diffuse материала


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

uniform struct
  { vec4 diffuse
  ;
  } p3d_Material;

out vec4 fragColor;

void main() {
  vec3 diffuseColor = p3d_Material.diffuse.rgb;
  fragColor = vec4(diffuseColor, 1);
}

Здесь показан небольшой фрагментный шейдер, который рендерит диффузный цвет материала геометрии в текстуру буфера кадров. Эта текстура диффузного цвета из буфера кадров будет входящей текстурой для шейдера контуров.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии5

Побеждаем прокрастинацию игровой зависимостью

Время на прочтение3 мин
Количество просмотров28K
Всем вам, безусловно, знакомо явление прокрастинации. Психологическая неспособность покинуть зону комфорта и начать заниматься каким-то делом здесь и сейчас съела немало человеко-часов представителей самых разных профессий. Под её влиянием, не занимаясь ни делом, ни отдыхом, а только каким-нибудь бесцельным занятием вроде сёрфинга сети, мы зарабатываем только лишний стресс. Это история о том, как одна случайная идея позволила мне не только избавиться от этой проблемы, но и повысить свою продуктивность до уровня, о котором я раньше мог только мечтать.

Существует категория проектов, которым прокрастинация наносит, пожалуй, наибольший возможный урон. Речь, конечно же, о собственных проектах, ещё не приносящих, либо вовсе не подразумевающих прибыли. Когда у тебя нет ни дедлайна, ни дохода, ни какой-либо обязанности перед кем-либо, очень легко отложить работу на потом, да так к ней толком и не притрагиваться. Именно таким проектом для меня стала моя попытка удариться в инди-геймдев.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии45

Как стать разработчиком игр, если ты риелтор

Время на прочтение2 мин
Количество просмотров43K
Добрый день, Хабр.

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

image

Вы тепло приняли этот пост и это дало мне хороший толчок в нужном направлении. За эти два года я попробовал и научился многому: работал с 3D моделями, знакомился с C++, рисовал текстуры, записывал звуки, писал тексты и диз-доки, но самое главное – я нашел для себя подходящую среду разработки, а именно — божественный Unreal Engine 4.

Я не решался ничего писать до тех пор, пока не смогу сделать что-то, что сможет порадовать хотя бы меня. И, думаю, мне это удалось. Довольно приятно видеть тот большой и тернистый путь, который был пройден, чтобы, начав с картинки в начале статьи, дойти до того, что под катом ;)
Читать дальше →
Всего голосов 101: ↑97 и ↓4+93
Комментарии150

Генератор подземелий на основе узлов графа

Время на прочтение11 мин
Количество просмотров28K
image

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

Введение


Алгоритм был написан как часть работы на получение степени бакалавра и основан на статье Ma et al (2014). Целью работы было ускорение алгоритма и дополнение его новыми функциями. Я вполне доволен результатом, потому что мы сделали алгоритм достаточно быстрым, чтобы использовать его во время выполнения игры. После завершения бакалаврской работы мы решили превратить её в статью и отправить на конференцию Game-ON 2018.

Алгоритм


Для создания уровня игры алгоритм получает в качестве входных данных набор полигональных строительных блоков и граф связности уровня (топологию уровня). Узлы графа обозначают комнаты, а рёбра определяют связи между ними. Цель алгоритма — назначить каждому узлу графа форму и расположение комнаты таким образом, чтобы никакие две формы комнат не пересекались, и каждая пара соседних комнат могла соединяться дверьми.
Всего голосов 51: ↑51 и ↓0+51
Комментарии11

19 идей для Node.js-разработчиков, которые стремятся вырасти над собой в 2019 году

Время на прочтение16 мин
Количество просмотров38K
Автор материала, перевод которого мы публикуем, собрал 19 идей, которые могут оказаться полезными для тех Node.js-разработчиков, которые хотят повысить свой профессиональный уровень в 2019 году. Мир JavaScript огромен, поэтому освоить всё то, о чём пойдёт здесь речь, попросту нереально. Вряд ли найдётся кто-то, кто владеет всем этим в совершенстве. Однако кое-что в этом обзоре вполне может пригодиться именно вам.


Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии11
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность