
Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud SolutionsЧитать полностью »
Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud SolutionsЧитать полностью »
Работа с UX-дизайнерами и знакомство с их словарным запасом — это почти изучение нового языка. Давайте посмотрим на 41 часто используемый дизайнерский термин. Для лучшего взаимопонимания в команде.
В масштабных культурных концепциях, в таких, как музыка или мода, можно наблюдать явления цикличности. Я почти уверен в том, что когда-нибудь вернётся гранж. Тогда записи в этом стиле станут новыми горячими хитами. Когда-нибудь наши дети вполне могут счесть совершенно улётными причёски в стиле «Frosted tips».
Когда я смотрю на некоторые современные тренды веба, я думаю о том, что, возможно, цикличность проявляется и здесь. Я задаюсь вопросом о том, готовы ли мы снова воспринять идеи раннего веба.
Пожалуй, стоит уточнить, что я говорю тут не о дизайне. Боюсь, что феномен dancing-baby.gif ушёл навсегда. Я, скорее, имею в виду более широкие идеи из прошлого, которые недавно обрели вторую жизнь. И мне, кстати, это нравится.
Читать полностью »
Во Vuex есть одна популярная практика — не использовать mapState
и mapMutations
. Вообще. Вместо это мы сразу же при создании нового значения в store делаем для него геттер, а для каждой мутации – экшен.
Что-то наподобие:
export default new Vuex.Store({
state: {
// 1
count: 0
},
getters: {
// 1
count: (state) => state.count
},
mutations: {
// 2
increment(state) {
state.count++;
}
},
actions: {
// 2
increment({ commit }) {
commit('increment');
}
}
});
Холивара не избежать. Это уже доказала вот эта статья. Опять в интернете кто-то не прав, и я должен доказать почему. И я докажу.
Привет! Представляю вашему вниманию перевод статьи «Creating A VR Audio/Visual Experience On the Web With A-Frame and Tone.js» автора Sean Sullivan.
A-Frame — это фреймворк для создания виртуальной реальности в вебе. Используя лишь ссылку, любой человек с VR-шлемом или поддерживающим VR смартфоном может погрузиться в 3D пространство. Tone.js — это JavaScript библиотека для создания звуков. Давайте взглянем, что будет, если их совместить.
Читать полностью »
Небольшая история о неадекватном заказчике и нахождении уязвимости на сайте за 1 минуту.
Не ожидал, что именно эта история станет моей первой статьей на Хабре. Пишу пока горячо!
Все что Вы прочитаете далее — это не призыв к действию или попытка кого — либо скомпрометировать.
Читать полностью »
Мы долго готовили обновление Smartcalls – визуального редактора для исходящих звонков – и вот оно случилось. Сегодня под катом расскажем про UI/UX-изменения и залезем под капот демо-режима, чтобы показать, как мы приручали JointJS.Читать полностью »
Если вы пытаетесь разобраться, какой из этих двух замечательных фреймворков выбрать, читайте мнение сторонника Vue по этому вопросу, которое я перевел и дополнил.
Переведено при поддержке облачной платформы Mail.ru Cloud Solutions.
Читать полностью »
Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.
А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Сегодня я расскажу, как попал в контрибьюторы Angular. Оказалось, это совсем не сложно и весьма увлекательно! Получилась драма с четырьмя актами и одной моралью. Вот, как всё было.