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

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

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

1000 и 1 нюанс. UX-проектирование и тестирование сложного функционала или почему не нужно спешить делать дизайн

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

Привет! В этом посте мы расскажем, как команда «Спортмастера» проектировала новую корзину сайта и процесс оформления заказа для нашего мобильного приложения. 

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

Меня зовут Андрей Кононов, я UX-эксперт Sportmaster Lab, а под катом — наш путь, советы и чеклист из 7 пунктов для тех, кто тоже занимается UX-тестированием.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize

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

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

В этой статье я решил сделать краткий обзор функциональности Visualize, Mock Servers и Flow.

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

Введение в SVG-анимации для верстальщиков

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


Время идет, технологии меняются, набитые шишки копятся, настала пора обновить материалы по SVG-анимациям. Тем более, что тема для многих фронтендеров все еще остается странной и запутанной. В этой статье мы рассмотрим SVG-анимации с разных сторон, посмотрим на актуальное состояние дел, возможности и сопутствующие инструменты. Мы не будем разбирать каждое свойство и каждый хак. Слишком большой объем материала получится. Для этого есть MDN и ему подобные сайты. Задача текущей статьи — дать общее представление о том, что бывает, и от чего можно оттолкнуться, если вы решили изучать эту тему, а у вас полная каша в голове.

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

Функция Reactive во Vue: как это работает

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

После jQuery я попробовал AngularJS и был очарован его возможностями. Несколько строк в AngularJS заменяли кучу спегетти-кода в jQuery. Это было похоже на магию. Сейчас все современные Frontend-фреймворки так или иначе обеспечивают реактивность, и это уже никого не удивляет. Тем не менее далеко не все разработчики понимают, как это работает.

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии12

Неубиваемый P2P-интернет

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


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

Например, в апреле 2022 года запустилась пиринговая сеть Lantern. Также недавно разработана децентрализованная платформа Locutus для запуска любых P2P-приложений (от создателя легендарной пиринговой сети Freenet). Это далеко не полный список новых пиринговых проектов, созданных в последнее время для помощи людям, испытывающим затруднения в работе интернета.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии18

Бессерверные базы данных: путь в будущее?

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


Бессерверные сервисы облачных вычислений появились в 2014 году с AWS Lambda, которая позволяла запускать код без выделения серверов или управления ими. AWS Lambda — пример функции как услуги (FaaS), где результат обработки событий не зависит от состояния памяти сервера и содержимого локальной файловой системы. Такие эластичные вычисления позволяли быстро наращивать и высвобождать ресурсы процессоров, памяти и средств хранения без необходимости что-то планировать и предпринимать меры для обработки пиковых нагрузок.


За AWS Lambda быстро последовали решения от Microsoft Azure и Google Cloud. Позже облачные провайдеры начали предлагать и другие услуги в бессерверной форме. Это последний, новый взгляд на облачные сервисы, и на практике бессерверные архитектуры за счет возможностей масштабирования часто обходятся в разы дешевле, чем постоянные серверы, предназначенные для выполнения тех же нагрузок.


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


Итак, Serverless. Крупным планом.


Читать дальше →
Всего голосов 15: ↑13 и ↓2+22
Комментарии22

Оконные функции SQL простым языком с примерами

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

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом

Читать далее
Всего голосов 49: ↑46 и ↓3+58
Комментарии16

Почему не работают стримеры, и как раскрутить свою игру?

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

Доброго времени суток! В этой статье, хочу рассказать о нашем проекте, подсветить проблемы и подискутировать на волнующие темы со знающими хабровчанами. Прошу не расценивать как Гайд по раскрутке, скорее наоборот.

Что у меня за волнующие темы? Да собственно одна есть, самая важная, которая беспокоит всю команду - привлечение игроков. Для игры нашего жанра (MMO RolePlay), количество игроков является неким парадоксом. Чем больше игроков, тем интереснее играть, тем быстрее растет онлайн. И обратная ситуация - мало игроков, играть не так интересно, онлайн падает. Получается: чтобы повысить онлайн, нужен интересный контент, а чтобы был интересный контент, нужно повысить онлайн :)

Речь пойдет об игре GTA5 и о нашем проекте Divine RolePlay

Читать далее
Всего голосов 9: ↑7 и ↓2+8
Комментарии43

Профилируем php на бою

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

Привет Хабр! Последняя статья про инструменты для профилирования php датируется аж  2018 годом. Но все перечисленные решения разработаны много лет назад и имеют недостатки: древний интерфейс btp (аналог pinba), оверхед xhprof и необходимость ручного запуска phpspy на stage.

Я тимлид в рекомендательном сервисе Zoon и перед моей командой стояла цель найти инструменты, которые профилируют весь код на проде 24/7 и хранят данные. Инструменты, с которыми могут работать рядовые разработчики, без доступа к проду. Инструменты, которые позволяют находить "бутылочные горлышки" за 30 секунд.

В конце 2021 года показался свет в конце туннеля, в виде системы на основе семплирующего eBFP профайлера: prodfiler

С какими трудностями мы столкнулись при настройке и что вышло в итоге - под катом.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии2

Псс, парень… индекс нужен?

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

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

Мы научили наш сервис визуализации планов PostgreSQL отвечать на эти вопросы, и под катом расскажем, чем именно он руководствуется в своих рекомендациях.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии24

«Сделайте хорошо, плохо не делайте»: зачем нужны подробные требования и как их писать

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

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

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

Меня зовут Александра Хорошкова, я менеджер проектов по коммуникациям в SuperJob, и в этой статье я хочу поделиться своими способами подготовки требований. Если их описание — обязательная часть разработки, то и путь лежит через пять стадий принятия неизбежного. Давайте рассмотрим их подробнее и разберемся, зачем нужны требования, какими они бывают, и как можно быстро и качественно их составить. 

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Конвергенция в многомодульном приложении

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии7

Разработка архитектуры для чайников. Часть 3

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

Event system architecture (EDA)

Ещё одна из популярных архитектур — Event system architecture (EDA), что в переводе на русский означает “архитектура на основе событий”. Суть данной архитектуры состоит в том, что приложение работает с событиями (эвентами), которые генерируются пользователем или другими системами.

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии10

Как мы ускорили выполнение запросов PostgreSQL в 100 раз

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

Существует великое множество статей об оптимизации PostgreSQL — эта «кроличья нора» весьма глубока. Когда несколько лет назад я начал разрабатывать бэкэнд аналитического сервиса, у меня уже был опыт работы с другими СУБД, такими как MySQL и SQL Server. Тем не менее, раньше мне не приходилось так фокусироваться на производительности. В прошлых проектах, над которыми я работал, либо не было жестких требований к времени обработки (DS/ML), либо не требовалось обрабатывать много строк одновременно (обыкновенные веб-приложения). Однако в этот раз мои запросы:

состояли из 3-10 JOIN-ов по коррелирующим запросам;

уielded от 10 до 1,000,000 строк;

должны были выполняться в течение времени, определенного UX-ом;

не могли быть hinted — пока Cloud SQL, управляемый PostgreSQL в Google Cloud, не стал поддерживать pg_hint_plan в конце 2021 года;

запрещали прямой доступ к серверному процессу, чтобы, например, хакнуть некоторые perf — потому что PostgreSQL был managed.

Получение целого миллиона строк в одном API endpoint сигнализирует о проблеме в алгоритме или архитектуре. Конечно, все можно переписать и перепроектировать, но за это нужно платить.

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

Читать далее
Всего голосов 27: ↑24 и ↓3+24
Комментарии2

Советы по разработке игр от создателя Civilization Сида Мейера

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

В своей книге «Сид Мейер: Жизнь в мире компьютерных игр» знаменитый разработчик рассказывает о ключевых моментах карьеры, много шутит и через всю книгу дает советы и лайфхаки по разработке игр. А в этой статье основные из них — перевод под катом.

Читать далее
Всего голосов 63: ↑63 и ↓0+63
Комментарии27

Основы Postman для самых маленьких

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

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

Расскажу, как с его помощью создавать простейшие автотесты и уменьшать объем рутины с помощью переменных.

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии7

Как мы научились понимать продажи в колл-центре, или С чего начать ML-проект, если непонятно ничего

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

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

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

Меня зовут Настя, я DS Team Lead в компании Домклик. В мае этого года мы запускали data science в команде «Речевые сервисы». За полгода реализовали несколько успешных проектов, об одном из них пойдет речь.

Читать далее
Всего голосов 52: ↑52 и ↓0+52
Комментарии10

Прокси-метрики в E-commerce. Часть 2

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

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

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

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

Ethereum, смарт-контракты

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

Обзор устройства смарт-контрактов эфириума, а также протоколов fungible и non-fungible токенов

Читать далее
Всего голосов 38: ↑35 и ↓3+35
Комментарии9

История разработки фасетного поиска средствами PHP

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

Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.

Если ваша первая реакция: «Почему не на Sphinx/ElasticSearch/etc?», не торопитесь с выводами. Воспринимайте изложенное как интересный исследовательский опыт в области возможностей языка и его оптимизаций.

Спойлер: пришлось даже написать порт на GoLang, чтобы лучше понять пути оптимизации кода.

Читать далее
Всего голосов 51: ↑50 и ↓1+57
Комментарии6

Информация

В рейтинге
5 387-й
Зарегистрирован
Активность