Pull to refresh
3
0.1
Олег Бубнов @bubn0ff

Frontend-developer

Send message

Дорогая, что-то пошло не так. Гид по пустым состояниям и ошибкам + шаблоны на все случаи

Level of difficultyEasy
Reading time11 min
Views40K

Всем привет! Меня зовут Кира Калимулина, я руководитель группы UX-редактуры в Ozon. Я занимаюсь всеми интерфейсными текстами в приложении и на сайте. 

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

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

Что же случилось?

Геометрия объектной модели документа: исчерпывающее руководство

Reading time12 min
Views5.6K



Я не считаю, что DHTML — cool, просто картинка хорошая)


Привет, друзья!


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


Знаете ли вы, что кроме интерфейсов, определенных спецификациями объектной модели документа (Document Object Model, DOM) и объектной модели каскадных таблиц стилей (Cascading Style Sheets (CSS) Object Model, CSSOM), существует также набор свойств и методов, определяемых в модуле отображения CSSOM (CSSOM View Module)? Этот интерфейс предназначен для определения и манипулирования геометрией элементов DOM.

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

Чек-лист вёрстки

Reading time7 min
Views82K

Это статья — список полезных мелочей. Весь текст поделен на две части. Первая рассказывает про простые элементы (текст, кнопки, изображения, формы и другие), вторая часть про производительность, масштабируемость, безопасность и доступность.

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

Использование абсолютных путей в Create React App с помощью Craco

Level of difficultyEasy
Reading time2 min
Views4.9K

Create React App (CRA) является мощным инструментом для быстрого создания и разработки React приложений. Однако, в некоторых случаях, работа с относительными путями может стать неудобной и затруднить поддержку кода. В этой статье мы рассмотрим, как использовать абсолютные пути с помощью Craco в Create React App, чтобы упростить работу с модулями и компонентами.

Что такое Craco?

Craco (Create React App Configuration Override) - это инструмент, который позволяет нам переопределить конфигурацию Create React App без необходимости эжектировать проект. Он предоставляет гибкую возможность настройки Webpack и Babel, что позволяет нам вносить изменения в сборку и разработку нашего приложения без необходимости вносить изменения в саму структуру проекта.

Читать далее

Антирекламный щит рядового пользователя: Яндекс без дзена, YouTube без рекламы, Хабр без баннера

Reading time7 min
Views139K

Контроль над содержимым web должен принадлежать в т.ч. рядовому пользователю, а не только маркетологам. Юзер сам в состоянии определять, что для него является пагубной рекламой, а что полезным контентом. Если пользователь считает, что новости или дзен Яндекса - это своего рода реклама, то он может ограничить себя от „вредоносного для него контента“ совершенно законно в „касание“ и без красноглазия. Решение — под катом.

Под кат

Вёрстка писем: 60 полезных ресурсов, руководств и исследований

Reading time3 min
Views113K


В нашем блоге на Хабре мы часто пишем о создании почтовых рассылок — верстке HTML и CSS, работе с plain-text сообщениями и описываем интересные эксперименты. Сегодня мы представляем вашему вниманию список из 60 полезных ресурсов, туториалов и исследований о работе с email.
Читать дальше →

Вёрстка писем почти без боли

Reading time8 min
Views23K

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

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

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

Читать далее

ECMAScript 2015, 2016, 2017, 2018, 2019, 2020, 2021

Level of difficultyHard
Reading time13 min
Views21K

ES3, ES5, ES6, ES7, ES8, ES2015, ES2016, ES2017, ES2018, ES2019, ECMAScript 2015, ECMAScript 2016, ECMAScript 2017, ECMAScript 2018, ECMAScript 2019 — как разобраться во всем этом?

Подробно поговорим про историю создания и развития стандарта JavaScript

Читать далее

Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports

Level of difficultyEasy
Reading time14 min
Views15K

Существует множество библиотек для настройки алиасов в Node.js, таких как alias-hq и tsconfig-paths. Однако однажды, изучая документацию Node.js, я обнаружил возможность настройки алиасов без использования сторонних библиотек. Более того, данный подход позволяет использовать алиасы без сборки кода. Знакомо ли вам поле imports в package.json? В этой статье мы рассмотрим, что такое Node.js Subpath Imports, узнаем о тонкостях настройки и разберемся с поддержкой в актуальных инструментах разработки.

Читать далее

Интересные трюки JS, HTML и CSS, #2

Level of difficultyEasy
Reading time6 min
Views11K


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

Предыдущая часть здесь.

В этом выпуске — DevTools для мобильных браузеров, CSS-антистресс для Booking.com (на КДПВ), единственная защита от фингерпринтинга (спойлер: это браузер Tor, он же Firefox) и др.
Читать дальше →

Как развить навыки стратегического мышления

Level of difficultyEasy
Reading time8 min
Views20K

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

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

Еще я был уверен, что, как только буду готов к подъему на следующую ступень карьерной лестницы, начальник отправит меня на особые курсы по развитию стратегического мышления, где я смогу освоить его, а затем отточить до совершенства. Да, вы имеете полное право считать меня наивным юнцом. Но именно таким был когда-то корпоративный мир. С тех пор многое изменилось – но далеко не всё. Важность стратегического мышления никуда не улетучилась – напротив, с каждым годом его роль только растет.

Читать далее

Мои любимые вопросы о CSS с ответами. Версия 2023 года

Level of difficultyMedium
Reading time7 min
Views16K

В 2020 году я поделился списком моих любимых вопросов о CSS, который стал довольно популярным, судя по просмотрам. Спустя 3 года CSS изменился, и я решил дополнить список, добавив вопросы про гриды, пользовательские свойства (CSS-переменные), новые селекторы и свойства.

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

React: как сделать динамический суффикс в <input />, который будет двигаться вместе с набранным текстом

Level of difficultyEasy
Reading time6 min
Views7.9K

В этой статье вы узнаете как с помощью react можно сделать input с двигающимся суффиксом, который идет сразу после значения ввода

Читать далее

Трудности маскирования текстового поля

Level of difficultyEasy
Reading time6 min
Views13K

Один античный оратор говорил, что всем людям свойственно ошибаться. Прошло много веков, а человек продолжает совершать ошибки каждый день. Даже беглое заполнение формы на сайте не обходится без опечаток. 

Хороший UI/UX помогает пользователю избежать большинства таких проблем. Инструментов контроля огромное количество, сегодня расскажу про один их них — создание маски для поля ввода силами Javascript.

Читать далее

Знакомьтесь, <details>

Reading time3 min
Views67K

Я хочу рассказать о замечательном элементе <details> и показать несколько примеров его использования, от простых до безумных.

ESLint. Анатомия правил линтинга: разбираем структуру, создаём собственное правило для React-приложения

Level of difficultyMedium
Reading time13 min
Views25K

Всем привет! Меня зовут Анастасия Щедрина, я технический лидер по фронтенду проекта размещения объявлений в компании Домклик. Сегодня я расскажу вам немного о том, как устроены правила в ESLint, и покажу на примере, как можно разработать собственные.

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

Читать далее

Zod: Типизация и валидация Вашего .env (Vite + React и не только)

Level of difficultyHard
Reading time15 min
Views13K

Нередко в проектах необходимо заводить переменные окружения (environment variables). Существует много способов сделать это. Например, указать переменную "inline", как MY_VAR="my value" node index.js или обозначить источник командой source. Некоторые фреймворки имеют даже целые отдельные пакеты для формирования переменных окружения (прим. nest.js). Но чаще всего за годы работы в сфере фронтенд-разработки мне приходилось работать со способом с содержанием .env файлов в проекте, которые имеют простейший синтаксис вида KEY=VALUE.

Проблема в том, что использование env-переменных не гарантирует нам наличие значения и не дает понимание о его типе данных.

Читать далее

Проблемы накапливаются. Софт тормозит. Везде некомпетентность и хаос

Level of difficultyEasy
Reading time6 min
Views54K


Закон Старджона гласит: «Ничто не может всегда идти правильно». Рано или поздно всё ломается.

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

Взять недавний случай с багом в Windows Defender, который вызывал тормоза Windows. Крайне показательная история. Да, этот баг обнаружили, но в кодовой базе остались такие же. Мы этого не знаем наверняка, но вполне логично предположить, что количество скрытых багов растёт пропорционально кодовой базе. Поэтому софт всё больше тормозит со временем. Это естественный процесс, почти как закон природы.
Читать дальше →

Почему мы выбрасываем исправные гаджеты?

Reading time10 min
Views15K


Ничто из процессов в обществе не сбивает с толку так сильно, как обращение с вещами, которые являются неотъемлемой частью нашей жизни. Удивительно, почему мы постоянно выбрасываем старые, но вполне исправные и функциональные предметы и технику. И это происходит сегодня во всём мире, во всех странах достаточно развитого капитализма. Но почему?
Читать дальше →

Information

Rating
4,269-th
Location
Россия
Registered
Activity